summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/siggen.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/siggen.py')
-rw-r--r--bitbake/lib/bb/siggen.py39
1 files changed, 19 insertions, 20 deletions
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py
index e57f1ffe69..6b73843c67 100644
--- a/bitbake/lib/bb/siggen.py
+++ b/bitbake/lib/bb/siggen.py
@@ -335,8 +335,8 @@ class SignatureGeneratorBasic(SignatureGenerator):
335 self.unihash_cache.copyfile(targetdir) 335 self.unihash_cache.copyfile(targetdir)
336 336
337 def dump_sigtask(self, fn, task, stampbase, runtime): 337 def dump_sigtask(self, fn, task, stampbase, runtime):
338
339 tid = fn + ":" + task 338 tid = fn + ":" + task
339 mc = bb.runqueue.mc_from_tid(fn)
340 referencestamp = stampbase 340 referencestamp = stampbase
341 if isinstance(runtime, str) and runtime.startswith("customfile"): 341 if isinstance(runtime, str) and runtime.startswith("customfile"):
342 sigfile = stampbase 342 sigfile = stampbase
@@ -353,16 +353,27 @@ class SignatureGeneratorBasic(SignatureGenerator):
353 data['task'] = task 353 data['task'] = task
354 data['basehash_ignore_vars'] = self.basehash_ignore_vars 354 data['basehash_ignore_vars'] = self.basehash_ignore_vars
355 data['taskhash_ignore_tasks'] = self.taskhash_ignore_tasks 355 data['taskhash_ignore_tasks'] = self.taskhash_ignore_tasks
356 data['taskdeps'] = self.taskdeps[fn][task] 356 if hasattr(self, "datacaches"):
357 data['taskdeps'] = self.datacaches[mc].siggen_taskdeps[fn][task]
358 else:
359 data['taskdeps'] = self.taskdeps[fn][task]
357 data['basehash'] = self.basehash[tid] 360 data['basehash'] = self.basehash[tid]
358 data['gendeps'] = {} 361 data['gendeps'] = {}
359 data['varvals'] = {} 362 data['varvals'] = {}
360 data['varvals'][task] = self.lookupcache[fn][task] 363 if hasattr(self, "datacaches"):
361 for dep in self.taskdeps[fn][task]: 364 data['varvals'][task] = self.datacaches[mc].siggen_varvals[fn][task]
362 if dep in self.basehash_ignore_vars: 365 for dep in self.datacaches[mc].siggen_taskdeps[fn][task]:
363 continue 366 if dep in self.basehash_ignore_vars:
364 data['gendeps'][dep] = self.gendeps[fn][dep] 367 continue
365 data['varvals'][dep] = self.lookupcache[fn][dep] 368 data['gendeps'][dep] = self.datacaches[mc].siggen_gendeps[fn][dep]
369 data['varvals'][dep] = self.datacaches[mc].siggen_varvals[fn][dep]
370 else:
371 data['varvals'][task] = self.lookupcache[fn][task]
372 for dep in self.taskdeps[fn][task]:
373 if dep in self.basehash_ignore_vars:
374 continue
375 data['gendeps'][dep] = self.gendeps[fn][dep]
376 data['varvals'][dep] = self.lookupcache[fn][dep]
366 377
367 if runtime and tid in self.taskhash: 378 if runtime and tid in self.taskhash:
368 data['runtaskdeps'] = self.runtaskdeps[tid] 379 data['runtaskdeps'] = self.runtaskdeps[tid]
@@ -409,18 +420,6 @@ class SignatureGeneratorBasic(SignatureGenerator):
409 pass 420 pass
410 raise err 421 raise err
411 422
412 def dump_sigfn(self, fn, dataCaches, options):
413 if fn in self.taskdeps:
414 for task in self.taskdeps[fn]:
415 tid = fn + ":" + task
416 mc = bb.runqueue.mc_from_tid(tid)
417 if tid not in self.taskhash:
418 continue
419 if dataCaches[mc].basetaskhash[tid] != self.basehash[tid]:
420 bb.error("Bitbake's cached basehash does not match the one we just generated (%s)!" % tid)
421 bb.error("The mismatched hashes were %s and %s" % (dataCaches[mc].basetaskhash[tid], self.basehash[tid]))
422 self.dump_sigtask(fn, task, dataCaches[mc].stamp[fn], True)
423
424class SignatureGeneratorBasicHash(SignatureGeneratorBasic): 423class SignatureGeneratorBasicHash(SignatureGeneratorBasic):
425 name = "basichash" 424 name = "basichash"
426 425