[bitbake-devel] [PATCH] siggen.py: Pass the datacache to signature generator classes

Richard Purdie richard.purdie at linuxfoundation.org
Wed Feb 22 22:50:02 UTC 2012


The dataCache exposes much useful information to the singature generation code
for example its possible to figure out whether kernel dependencies are
important or not based on the RRECOMMENDS values.

We therefore pass this information to the handler and trust it to handle
any API changes in the dataCache structure.

For backwards compatibility, OE-Core is already updated to handle
the extra argument when it appears.

Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py
index 3a9e132..975ae41 100644
--- a/bitbake/lib/bb/siggen.py
+++ b/bitbake/lib/bb/siggen.py
@@ -135,7 +135,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
         for task in taskdeps:
             d.setVar("BB_BASEHASH_task-%s" % task, self.basehash[fn + "." + task])
 
-    def rundep_check(self, fn, recipename, task, dep, depname):
+    def rundep_check(self, fn, recipename, task, dep, depname, dataCache):
         # Return True if we should keep the dependency, False to drop it
         # We only manipulate the dependencies for packages not in the whitelist
         if self.twl and not self.twl.search(recipename):
@@ -151,7 +151,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
         recipename = dataCache.pkg_fn[fn]
         for dep in sorted(deps, key=clean_basepath):
             depname = dataCache.pkg_fn[self.pkgnameextract.search(dep).group('fn')]
-            if not self.rundep_check(fn, recipename, task, dep, depname):
+            if not self.rundep_check(fn, recipename, task, dep, depname, dataCache):
                 continue
             if dep not in self.taskhash:
                 bb.fatal("%s is not in taskhash, caller isn't calling in dependency order?", dep)






More information about the bitbake-devel mailing list