From: Chris Larson Date: Tue, 19 Jan 2010 20:22:52 +0000 (-0700) Subject: amend-recipes.inc: Add. Allows tweaks to be amended to a recipe via a .inc in its... X-Git-Tag: Release-2010-05/1~822 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=73bf22892797343197a1548c287e274b0c3304a2;p=openembedded.git amend-recipes.inc: Add. Allows tweaks to be amended to a recipe via a .inc in its FILESPATH Signed-off-by: Chris Larson --- 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 +}