From 39f3e183c1eb49c482b8631b2770d6f7dffa0fb3 Mon Sep 17 00:00:00 2001 From: Jose Quaresma Date: Fri, 11 Nov 2022 18:05:45 +0000 Subject: [PATCH] sstatesig: skip the rm_work task signature We can skip the rm_work task signature to avoid running the task when we remove some tasks from the dependencie chain. The inject_rm_work handler on the rm_work bbclass triggers the rm_work task running for any signature change in the dependencie chain of the task do_build of each recipe. i.e INHERIT:remove = "create-spdx" will trigger the do_rm_work when we collect the sstate cache with INHERIT = "create-spdx" (From OE-Core rev: ad52bb4643eb8063ff4db6bcb86b9a593ad6ce7d) Signed-off-by: Jose Quaresma Signed-off-by: Alexandre Belloni (cherry picked from commit 292305700e39d0ebd64763f5032c39ace5005fad) Signed-off-by: Steve Sakoman Signed-off-by: Richard Purdie --- meta/lib/oe/sstatesig.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py index de65244932..f5a77bea27 100644 --- a/meta/lib/oe/sstatesig.py +++ b/meta/lib/oe/sstatesig.py @@ -30,6 +30,12 @@ def sstate_rundepfilter(siggen, fn, recipename, task, dep, depname, dataCaches): depmc, _, deptaskname, depmcfn = bb.runqueue.split_tid_mcfn(dep) mc, _ = bb.runqueue.split_mc(fn) + # We can skip the rm_work task signature to avoid running the task + # when we remove some tasks from the dependencie chain + # i.e INHERIT:remove = "create-spdx" will trigger the do_rm_work + if task == "do_rm_work": + return False + # Keep all dependencies between SPDX tasks in the signature. SPDX documents # are linked together by hashes, which means if a dependent document changes, # all downstream documents must be re-written (even if they are "safe"