siggen.py: set 'runtaskdeps' correctly

Now 'runtaskdeps' is assigned before taskhash whitelist is filtered out, and thus
always contains original task dependencies. This causes problem to diagnose sstate
related problem. So fix it by appending filtered dep to 'runtaskdeps' in the fly.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
This commit is contained in:
Kevin Tian 2010-11-22 20:52:27 +08:00 committed by Richard Purdie
parent a0033b622e
commit ccd590bf9d
1 changed files with 2 additions and 6 deletions

View File

@ -106,7 +106,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
def get_taskhash(self, fn, task, deps, dataCache):
k = fn + "." + task
data = dataCache.basetaskhash[k]
self.runtaskdeps[k] = deps
self.runtaskdeps[k] = []
for dep in sorted(deps):
if self.twl and self.twl.search(dataCache.pkg_fn[fn]):
#bb.note("Skipping %s" % dep)
@ -114,6 +114,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
if dep not in self.taskhash:
bb.fatal("%s is not in taskhash, caller isn't calling in dependency order?", dep)
data = data + self.taskhash[dep]
self.runtaskdeps[k].append(dep)
h = hashlib.md5(data).hexdigest()
self.taskhash[k] = h
#d.setVar("BB_TASKHASH_task-%s" % task, taskhash[task])
@ -258,8 +259,3 @@ def dump_sigfile(a):
if 'runtaskhashes' in a_data:
for dep in a_data['runtaskhashes']:
print "Hash for dependent task %s is %s" % (dep, a_data['runtaskhashes'][dep])