summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Larson <clarson@mvista.com>2010-01-19 13:22:52 -0700
committerChris Larson <clarson@mvista.com>2010-01-19 13:22:52 -0700
commit73bf22892797343197a1548c287e274b0c3304a2 (patch)
tree48603c65d361eda65496cf9bdfc3435fdb7cbb8e
parent0788436f2de5446fd78213d8d88f612ce49f1b3d (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.inc29
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
+}