# Allows tweaks to be amended to a recipe via a .inc in its FILESPATH # # Simply drop amend.inc into an appropriate place in a recipe's FILESPATH and # it'll be parsed in after the recipe itself is. # # Copyright (c) 2009 MontaVista Software, Inc. All rights reserved. # # Released under the MIT license (see LICENSE.MIT for the terms) python () { import bb, os filespath = d.getVar("FILESPATH", 1).split(":") amendfiles = [os.path.join(fpath, "amend.inc") for fpath in filespath] # Adding all amend.incs that can exist to the __depends, to ensure that # creating one of them invalidates the bitbake cache. Note that it # requires a fix in bitbake. Without the bitbake fix, the cache will be # completely invalidated on every bitbake execution. depends = d.getVar("__depends", 0) or [] d.setVar("__depends", depends + [(file, 0) for file in amendfiles if not os.path.exists(file)]) # Make sure we don't parse the same amend.inc file more than once, if # there are duplicates in FILESPATH seen = set() for file in amendfiles: if os.path.exists(file): if file not in seen: bb.parse.handle(file, d, 1) seen.add(file) }