From patchwork Wed Feb 22 22:50:02 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [bitbake-devel] siggen.py: Pass the datacache to signature generator classes Date: Wed, 22 Feb 2012 22:50:02 -0000 From: Richard Purdie X-Patchwork-Id: 21597 Message-Id: <1329951002.32110.31.camel@ted> To: bitbake-devel 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 --- 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)