diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-09-26 12:00:49 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-09-30 15:01:51 +0100 |
commit | 1dd31a830941878f848f1237a92906cee875cdfc (patch) | |
tree | df503e557550feaa442bd2a78e7a63722f2cbb4a /meta/classes | |
parent | 65b9ceee4a2ec0bef9d7cc4248dde3d59c2009a2 (diff) | |
download | poky-1dd31a830941878f848f1237a92906cee875cdfc.tar.gz |
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 <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/staging.bbclass | 2 |
1 files changed, 1 insertions, 1 deletions
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() { | |||
614 | bbtasks = e.tasklist | 614 | bbtasks = e.tasklist |
615 | for task in bbtasks: | 615 | for task in bbtasks: |
616 | deps = d.getVarFlag(task, "depends") | 616 | deps = d.getVarFlag(task, "depends") |
617 | if deps and "populate_sysroot" in deps: | 617 | if task == "do_configure" or (deps and "populate_sysroot" in deps): |
618 | d.appendVarFlag(task, "prefuncs", " extend_recipe_sysroot") | 618 | d.appendVarFlag(task, "prefuncs", " extend_recipe_sysroot") |
619 | } | 619 | } |
620 | staging_taskhandler[eventmask] = "bb.event.RecipeTaskPreProcess" | 620 | staging_taskhandler[eventmask] = "bb.event.RecipeTaskPreProcess" |