From 1dd31a830941878f848f1237a92906cee875cdfc Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Sat, 26 Sep 2020 12:00:49 +0100 Subject: staging: Ensure cleaned dependencies are added Most recipe-sysroot dependencies are handled by these prefuncs. "configure" is special with a decidated task, prepare_recipe_sysroot which runs beforehand. do_prepare_recipe_sysroot does not have to be run before/after fetch/unpack/patch, they're independent tasks. If fetch/unpack/patch have sysroot dependencies and those tasks rerun, stale items from the sysroot could be uninstalled and since prepare_recipe_sysroot doesn't re-run, they could be missing by the time configure runs. Fix this by adding the prefunc for do_configure which would ensure the sysroot is in a good state. This issue can be reproduced by modifying do_unpack and watching binutils-native and vulkan-headers failing due to missing makeinfo or ninja. (From OE-Core rev: 5de83bbd7c55a63cbee88a3fb983c0889036a248) Signed-off-by: Richard Purdie --- meta/classes/staging.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'meta/classes/staging.bbclass') diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass index de3a19815a..f0a619b35b 100644 --- a/meta/classes/staging.bbclass +++ b/meta/classes/staging.bbclass @@ -614,7 +614,7 @@ python staging_taskhandler() { bbtasks = e.tasklist for task in bbtasks: deps = d.getVarFlag(task, "depends") - if deps and "populate_sysroot" in deps: + if task == "do_configure" or (deps and "populate_sysroot" in deps): d.appendVarFlag(task, "prefuncs", " extend_recipe_sysroot") } staging_taskhandler[eventmask] = "bb.event.RecipeTaskPreProcess" -- cgit v1.2.3-54-g00ecf