]> code.ossystems Code Review - openembedded-core.git/commitdiff
siggen.py: fix the wrong usage on BB_TASKHASH_WHITELIST
authorKevin Tian <kevin.tian@intel.com>
Mon, 22 Nov 2010 16:35:03 +0000 (00:35 +0800)
committerRichard Purdie <rpurdie@linux.intel.com>
Tue, 7 Dec 2010 12:45:08 +0000 (12:45 +0000)
BB_TASKHASH_WHITELIST is expected to filter out native tasks from the
dependency list for target recipe's checksum. However current code
actually implements the opposite. All native sstate packages end up
to have empty task dependency while target sstate packages still have
native tasks counted into the checksum.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
bitbake/lib/bb/siggen.py

index 9e956ee91f43e720144a15f3fe3397cb154a99f8..391020a9ed82c280d533f9790f4f9a76fb08c5a5 100644 (file)
@@ -108,11 +108,15 @@ class SignatureGeneratorBasic(SignatureGenerator):
         data = dataCache.basetaskhash[k]
         self.runtaskdeps[k] = []
         for dep in sorted(deps):
-            if self.twl and self.twl.search(dataCache.pkg_fn[fn]):
-                #bb.note("Skipping %s" % dep)
-                continue
+            # We only manipulate the dependencies for packages not in the whitelist
+            if self.twl and not self.twl.search(dataCache.pkg_fn[fn]):
+                # then process the actual dependencies
+                dep_fn = re.search("(?P<fn>.*)\..*", dep).group('fn')
+                if self.twl.search(dataCache.pkg_fn[dep_fn]):
+                    #bb.note("Skipping %s" % dep)
+                    continue
             if dep not in self.taskhash:
-                 bb.fatal("%s is not in taskhash, caller isn't calling in dependency order?", dep)
+                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()