diff options
author | joshua Watt <JPEWhacker@gmail.com> | 2024-05-01 10:16:57 -0600 |
---|---|---|
committer | Steve Sakoman <steve@sakoman.com> | 2024-06-06 06:53:49 -0700 |
commit | fa23d0fc6d7adca5c8a38169f4477755ee33bdbf (patch) | |
tree | bb1b123ff11c97b06d333ff1b529d22581296214 /bitbake | |
parent | fb60467f0e51f405997c545dd8ddf7c6c818e2f3 (diff) | |
download | poky-fa23d0fc6d7adca5c8a38169f4477755ee33bdbf.tar.gz |
bitbake: siggen/runqueue: Report which dependencies affect the taskhash
Report which task dependencies in BB_TASKDEPDATA are included in the
taskhash. This allows tasks to identify which tasks dependencies may
change without the task re-running. Knowing this information is
important for tasks that want to transfer information from dependencies
(such as SPDX)
(Bitbake rev: 853423661779023763a87462b623b6e9ff2798b2)
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Diffstat (limited to 'bitbake')
-rw-r--r-- | bitbake/lib/bb/runqueue.py | 8 | ||||
-rw-r--r-- | bitbake/lib/bb/siggen.py | 2 |
2 files changed, 6 insertions, 4 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index 85c3581f9d..84a6f4172c 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py | |||
@@ -1302,7 +1302,7 @@ class RunQueueData: | |||
1302 | return len(self.runtaskentries) | 1302 | return len(self.runtaskentries) |
1303 | 1303 | ||
1304 | def prepare_task_hash(self, tid): | 1304 | def prepare_task_hash(self, tid): |
1305 | bb.parse.siggen.prep_taskhash(tid, self.runtaskentries[tid].depends, self.dataCaches) | 1305 | self.runtaskentries[tid].taskhash_deps = bb.parse.siggen.prep_taskhash(tid, self.runtaskentries[tid].depends, self.dataCaches) |
1306 | self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(tid, self.runtaskentries[tid].depends, self.dataCaches) | 1306 | self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(tid, self.runtaskentries[tid].depends, self.dataCaches) |
1307 | self.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(tid) | 1307 | self.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(tid) |
1308 | 1308 | ||
@@ -2457,7 +2457,8 @@ class RunQueueExecute: | |||
2457 | unihash = self.rqdata.runtaskentries[task].unihash | 2457 | unihash = self.rqdata.runtaskentries[task].unihash |
2458 | deps = self.filtermcdeps(task, mc, deps) | 2458 | deps = self.filtermcdeps(task, mc, deps) |
2459 | hashfn = self.rqdata.dataCaches[mc].hashfn[taskfn] | 2459 | hashfn = self.rqdata.dataCaches[mc].hashfn[taskfn] |
2460 | taskdepdata_cache[task] = [pn, taskname, fn, deps, provides, taskhash, unihash, hashfn] | 2460 | taskhash_deps = self.rqdata.runtaskentries[task].taskhash_deps |
2461 | taskdepdata_cache[task] = [pn, taskname, fn, deps, provides, taskhash, unihash, hashfn, taskhash_deps] | ||
2461 | 2462 | ||
2462 | self.taskdepdata_cache = taskdepdata_cache | 2463 | self.taskdepdata_cache = taskdepdata_cache |
2463 | 2464 | ||
@@ -2836,7 +2837,8 @@ class RunQueueExecute: | |||
2836 | taskhash = self.rqdata.runtaskentries[revdep].hash | 2837 | taskhash = self.rqdata.runtaskentries[revdep].hash |
2837 | unihash = self.rqdata.runtaskentries[revdep].unihash | 2838 | unihash = self.rqdata.runtaskentries[revdep].unihash |
2838 | hashfn = self.rqdata.dataCaches[mc].hashfn[taskfn] | 2839 | hashfn = self.rqdata.dataCaches[mc].hashfn[taskfn] |
2839 | taskdepdata[revdep] = [pn, taskname, fn, deps, provides, taskhash, unihash, hashfn] | 2840 | taskhash_deps = self.rqdata.runtaskentries[revdep].taskhash_deps |
2841 | taskdepdata[revdep] = [pn, taskname, fn, deps, provides, taskhash, unihash, hashfn, taskhash_deps] | ||
2840 | for revdep2 in deps: | 2842 | for revdep2 in deps: |
2841 | if revdep2 not in taskdepdata: | 2843 | if revdep2 not in taskdepdata: |
2842 | additional.append(revdep2) | 2844 | additional.append(revdep2) |
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py index 8ab08ec961..03dfda6f3c 100644 --- a/bitbake/lib/bb/siggen.py +++ b/bitbake/lib/bb/siggen.py | |||
@@ -381,7 +381,7 @@ class SignatureGeneratorBasic(SignatureGenerator): | |||
381 | self.taints[tid] = taint | 381 | self.taints[tid] = taint |
382 | logger.warning("%s is tainted from a forced run" % tid) | 382 | logger.warning("%s is tainted from a forced run" % tid) |
383 | 383 | ||
384 | return | 384 | return set(dep for _, dep in self.runtaskdeps[tid]) |
385 | 385 | ||
386 | def get_taskhash(self, tid, deps, dataCaches): | 386 | def get_taskhash(self, tid, deps, dataCaches): |
387 | 387 | ||