aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2019-09-25 22:47:06 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-09-27 13:27:14 +0100
commit419a7840b8627278db694029c25df00214d01d96 (patch)
treed8fc25a124064da31e77729bbd7ce86ec72ccf92
parent4205a3ef23834f317642bba155d67cd772176fb6 (diff)
downloadbitbake-419a7840b8627278db694029c25df00214d01d96.tar.gz
siggen/runqueue: Fix signature mismatch issues
We need to set the setscene tasklist before we call into the taskhash/unihash code else the behaviour is inconsistent. Avoid reporting hashes for non setscene tasks since we'd never query that. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/runqueue.py3
-rw-r--r--lib/bb/siggen.py6
2 files changed, 7 insertions, 2 deletions
diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py
index 65169931f..29bfd65e0 100644
--- a/lib/bb/runqueue.py
+++ b/lib/bb/runqueue.py
@@ -1162,6 +1162,8 @@ class RunQueueData:
self.init_progress_reporter.next_stage()
+ bb.parse.siggen.set_setscene_tasks(self.runq_setscene_tids)
+
# Iterate over the task list and call into the siggen code
dealtwith = set()
todeal = set(self.runtaskentries)
@@ -1173,7 +1175,6 @@ class RunQueueData:
self.prepare_task_hash(tid)
bb.parse.siggen.writeout_file_checksum_cache()
- bb.parse.siggen.set_setscene_tasks(self.runq_setscene_tids)
#self.dump_data()
return len(self.runtaskentries)
diff --git a/lib/bb/siggen.py b/lib/bb/siggen.py
index 71fa01822..6207cbca3 100644
--- a/lib/bb/siggen.py
+++ b/lib/bb/siggen.py
@@ -455,7 +455,11 @@ class SignatureGeneratorUniHashMixIn(object):
report_taskdata = d.getVar('SSTATE_HASHEQUIV_REPORT_TASKDATA') == '1'
tempdir = d.getVar('T')
fn = d.getVar('BB_FILENAME')
- key = fn + ':do_' + task + ':' + taskhash
+ tid = fn + ':do_' + task
+ key = tid + ':' + taskhash
+
+ if self.setscenetasks and tid not in self.setscenetasks:
+ return
# Sanity checks
cache_unihash = self.unitaskhashes.get(key, None)