@@ -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"
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> --- meta/classes-global/staging.bbclass | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)