[oe-commits] Chris Larson : amend-recipes.inc: Add. Allows tweaks to be amended to a recipe via a .inc in its FILESPATH

git version control git at git.openembedded.org
Tue Jan 19 20:35:23 UTC 2010


Module: openembedded.git
Branch: org.openembedded.dev
Commit: 73bf22892797343197a1548c287e274b0c3304a2
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=73bf22892797343197a1548c287e274b0c3304a2

Author: Chris Larson <clarson at mvista.com>
Date:   Tue Jan 19 13:22:52 2010 -0700

amend-recipes.inc: Add. Allows tweaks to be amended to a recipe via a .inc in its FILESPATH

Signed-off-by: Chris Larson <clarson at mvista.com>

---

 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 0000000..bcb93d4
--- /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
+}





More information about the Openembedded-commits mailing list