diff options
| author | joshua Watt <JPEWhacker@gmail.com> | 2024-05-01 10:16:57 -0600 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-05-08 14:51:43 +0100 |
| commit | 8364aa5baa69adb04db33fc0d4c399c0fa7ec0cb (patch) | |
| tree | aa35d87ed08e6f8cae69929136fc91f0b38f3923 /bitbake/lib | |
| parent | 9925db0c4f23cc82dd2f44aabc462a4ec09567d0 (diff) | |
| download | poky-8364aa5baa69adb04db33fc0d4c399c0fa7ec0cb.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: a313b4f07727e8187526157ba039911c3f73dd46)
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib')
| -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 bc7e18175d..6b43f303d5 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py | |||
| @@ -1290,7 +1290,7 @@ class RunQueueData: | |||
| 1290 | return len(self.runtaskentries) | 1290 | return len(self.runtaskentries) |
| 1291 | 1291 | ||
| 1292 | def prepare_task_hash(self, tid): | 1292 | def prepare_task_hash(self, tid): |
| 1293 | bb.parse.siggen.prep_taskhash(tid, self.runtaskentries[tid].depends, self.dataCaches) | 1293 | self.runtaskentries[tid].taskhash_deps = bb.parse.siggen.prep_taskhash(tid, self.runtaskentries[tid].depends, self.dataCaches) |
| 1294 | self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(tid, self.runtaskentries[tid].depends, self.dataCaches) | 1294 | self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(tid, self.runtaskentries[tid].depends, self.dataCaches) |
| 1295 | self.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(tid) | 1295 | self.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(tid) |
| 1296 | 1296 | ||
| @@ -2445,7 +2445,8 @@ class RunQueueExecute: | |||
| 2445 | unihash = self.rqdata.runtaskentries[task].unihash | 2445 | unihash = self.rqdata.runtaskentries[task].unihash |
| 2446 | deps = self.filtermcdeps(task, mc, deps) | 2446 | deps = self.filtermcdeps(task, mc, deps) |
| 2447 | hashfn = self.rqdata.dataCaches[mc].hashfn[taskfn] | 2447 | hashfn = self.rqdata.dataCaches[mc].hashfn[taskfn] |
| 2448 | taskdepdata_cache[task] = [pn, taskname, fn, deps, provides, taskhash, unihash, hashfn] | 2448 | taskhash_deps = self.rqdata.runtaskentries[task].taskhash_deps |
| 2449 | taskdepdata_cache[task] = [pn, taskname, fn, deps, provides, taskhash, unihash, hashfn, taskhash_deps] | ||
| 2449 | 2450 | ||
| 2450 | self.taskdepdata_cache = taskdepdata_cache | 2451 | self.taskdepdata_cache = taskdepdata_cache |
| 2451 | 2452 | ||
| @@ -2812,7 +2813,8 @@ class RunQueueExecute: | |||
| 2812 | taskhash = self.rqdata.runtaskentries[revdep].hash | 2813 | taskhash = self.rqdata.runtaskentries[revdep].hash |
| 2813 | unihash = self.rqdata.runtaskentries[revdep].unihash | 2814 | unihash = self.rqdata.runtaskentries[revdep].unihash |
| 2814 | hashfn = self.rqdata.dataCaches[mc].hashfn[taskfn] | 2815 | hashfn = self.rqdata.dataCaches[mc].hashfn[taskfn] |
| 2815 | taskdepdata[revdep] = [pn, taskname, fn, deps, provides, taskhash, unihash, hashfn] | 2816 | taskhash_deps = self.rqdata.runtaskentries[revdep].taskhash_deps |
| 2817 | taskdepdata[revdep] = [pn, taskname, fn, deps, provides, taskhash, unihash, hashfn, taskhash_deps] | ||
| 2816 | for revdep2 in deps: | 2818 | for revdep2 in deps: |
| 2817 | if revdep2 not in taskdepdata: | 2819 | if revdep2 not in taskdepdata: |
| 2818 | additional.append(revdep2) | 2820 | 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 | ||
