siggen.py: Pass the datacache to signature generator classes

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.

(Bitbake rev: 4ebc25155d5f96a7f63de22b52b18d045eb4dec7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2012-02-22 22:50:02 +00:00
parent d8b3718303
commit 4a1c163b55
1 changed files with 2 additions and 2 deletions

View File

@ -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)