siggen.py: set 'runtaskdeps' correctly
authorKevin Tian <kevin.tian@intel.com>
Mon, 22 Nov 2010 12:52:27 +0000 (20:52 +0800)
committerRichard Purdie <rpurdie@linux.intel.com>
Mon, 6 Dec 2010 01:15:39 +0000 (01:15 +0000)
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>
bitbake/lib/bb/siggen.py

index 5c53a86..9e956ee 100644 (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])
-
-
-
-
-