]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commitdiff
classes-global/staging: Exclude do_create_spdx from automatic sysroot extension
authorJoshua Watt <JPEWhacker@gmail.com>
Wed, 3 Jul 2024 13:59:19 +0000 (07:59 -0600)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 13 Jul 2024 22:28:28 +0000 (23:28 +0100)
do_create_spdx is a outlier in that it doesn't need the RSS to be
extended just because it depends on do_populate_sysroot. In fact, it
only depends on do_populate_sysroot so it can see the actual recipes
sysroot, and attempting to extend the sysroot can cause problems for
some recipes (e.g. if a recipe does do_populate_sysroot[noexec] = "1")

As such, explicitly exclude do_create_spdx from extending the sysroot
just because it depends on do_populate_sysroot.

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes-global/staging.bbclass

index 3678a1b4415f02d7c7b97d7aadbf2a81833e2da2..c2213ffa2b4bec18515edd1fef38998157f27892 100644 (file)
@@ -652,10 +652,17 @@ python do_prepare_recipe_sysroot () {
 addtask do_prepare_recipe_sysroot before do_configure after do_fetch
 
 python staging_taskhandler() {
+    EXCLUDED_TASKS = (
+        "do_prepare_recipe_sysroot",
+        "do_create_spdx",
+    )
     bbtasks = e.tasklist
     for task in bbtasks:
+        if task in EXCLUDED_TASKS:
+            continue
+
         deps = d.getVarFlag(task, "depends")
-        if task != 'do_prepare_recipe_sysroot' and (task == "do_configure" or (deps and "populate_sysroot" in deps)):
+        if task == "do_configure" or (deps and "populate_sysroot" in deps):
             d.prependVarFlag(task, "prefuncs", "extend_recipe_sysroot ")
 }
 staging_taskhandler[eventmask] = "bb.event.RecipeTaskPreProcess"