diff options
Diffstat (limited to 'bitbake/lib/bb/siggen.py')
-rw-r--r-- | bitbake/lib/bb/siggen.py | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py index 9b2f658a46..0862cff78a 100644 --- a/bitbake/lib/bb/siggen.py +++ b/bitbake/lib/bb/siggen.py | |||
@@ -144,8 +144,9 @@ class SignatureGeneratorBasic(SignatureGenerator): | |||
144 | 144 | ||
145 | def finalise(self, fn, d, variant): | 145 | def finalise(self, fn, d, variant): |
146 | 146 | ||
147 | if variant: | 147 | mc = d.getVar("__BBMULTICONFIG", False) or "" |
148 | fn = "virtual:" + variant + ":" + fn | 148 | if variant or mc: |
149 | fn = bb.cache.realfn2virtual(fn, variant, mc) | ||
149 | 150 | ||
150 | try: | 151 | try: |
151 | taskdeps = self._build_data(fn, d) | 152 | taskdeps = self._build_data(fn, d) |
@@ -300,16 +301,18 @@ class SignatureGeneratorBasic(SignatureGenerator): | |||
300 | bb.error("Taskhash mismatch %s versus %s for %s" % (computed_taskhash, self.taskhash[k], k)) | 301 | bb.error("Taskhash mismatch %s versus %s for %s" % (computed_taskhash, self.taskhash[k], k)) |
301 | 302 | ||
302 | 303 | ||
303 | def dump_sigs(self, dataCache, options): | 304 | def dump_sigs(self, dataCaches, options): |
304 | for fn in self.taskdeps: | 305 | for fn in self.taskdeps: |
305 | for task in self.taskdeps[fn]: | 306 | for task in self.taskdeps[fn]: |
307 | tid = fn + ":" + task | ||
308 | (mc, _, _) = bb.runqueue.split_tid(tid) | ||
306 | k = fn + "." + task | 309 | k = fn + "." + task |
307 | if k not in self.taskhash: | 310 | if k not in self.taskhash: |
308 | continue | 311 | continue |
309 | if dataCache.basetaskhash[k] != self.basehash[k]: | 312 | if dataCaches[mc].basetaskhash[k] != self.basehash[k]: |
310 | bb.error("Bitbake's cached basehash does not match the one we just generated (%s)!" % k) | 313 | bb.error("Bitbake's cached basehash does not match the one we just generated (%s)!" % k) |
311 | bb.error("The mismatched hashes were %s and %s" % (dataCache.basetaskhash[k], self.basehash[k])) | 314 | bb.error("The mismatched hashes were %s and %s" % (dataCaches[mc].basetaskhash[k], self.basehash[k])) |
312 | self.dump_sigtask(fn, task, dataCache.stamp[fn], True) | 315 | self.dump_sigtask(fn, task, dataCaches[mc].stamp[fn], True) |
313 | 316 | ||
314 | class SignatureGeneratorBasicHash(SignatureGeneratorBasic): | 317 | class SignatureGeneratorBasicHash(SignatureGeneratorBasic): |
315 | name = "basichash" | 318 | name = "basichash" |