diff options
author | Chris Larson <clarson@mvista.com> | 2010-01-19 13:22:52 -0700 |
---|---|---|
committer | Chris Larson <clarson@mvista.com> | 2010-01-19 13:22:52 -0700 |
commit | 73bf22892797343197a1548c287e274b0c3304a2 (patch) | |
tree | 48603c65d361eda65496cf9bdfc3435fdb7cbb8e | |
parent | 0788436f2de5446fd78213d8d88f612ce49f1b3d (diff) |
amend-recipes.inc: Add. Allows tweaks to be amended to a recipe via a .inc in its FILESPATH
Signed-off-by: Chris Larson <clarson@mvista.com>
-rw-r--r-- | conf/amend-recipes.inc | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/conf/amend-recipes.inc b/conf/amend-recipes.inc new file mode 100644 index 0000000000..bcb93d4e75 --- /dev/null +++ b/conf/amend-recipes.inc @@ -0,0 +1,29 @@ +# 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)]) + + existing = (file for file in amendfiles if os.path.exists(file)) + try: + bb.parse.handle(existing.next(), d, 1) + except StopIteration: + pass +} |