From 09ff53d9270b09818d6478ddac768af807a55c3c Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Fri, 22 Jan 2010 10:00:20 -0700 Subject: Lets rename conf/amend-recipes.inc to amend.bbclass, for consistency Signed-off-by: Chris Larson --- classes/amend.bbclass | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 classes/amend.bbclass (limited to 'classes') diff --git a/classes/amend.bbclass b/classes/amend.bbclass new file mode 100644 index 0000000000..bcb93d4e75 --- /dev/null +++ b/classes/amend.bbclass @@ -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 +} -- cgit v1.2.3