path: root/meta/classes/staging.bbclass
diff options
authorRichard Purdie <>2017-04-10 19:59:33 +0100
committerRichard Purdie <>2017-04-10 20:10:14 +0100
commitcd5e0a32184d98beb8d81e6b5527166d3ca4fb3c (patch)
tree4f0059dab2600c51068b32423a53f5928d700c70 /meta/classes/staging.bbclass
parent809b23c829f352c0eae455ea89f53e2a9ee87f06 (diff)
staging: Fix sysroot problem with populate_sysroot dependencies on do_fetch
Dependencies on svn:// urls were failing as the cleandirs on do_fetch was destroying any sysroot setup by the extend_recipe_sysroot function. Add code so that if the task do_fetch, we move the cleandirs to the extend_recipe_sysroot task else we'd wipe out the sysroot we just created. This allows fetcher do_populate_sysroot dependencies to work correctly again. Signed-off-by: Richard Purdie <>
Diffstat (limited to 'meta/classes/staging.bbclass')
1 files changed, 5 insertions, 0 deletions
diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass
index 27fcd1efa9..c50abd0551 100644
--- a/meta/classes/staging.bbclass
+++ b/meta/classes/staging.bbclass
@@ -647,6 +647,11 @@ python staging_taskhandler() {
deps = d.getVarFlag(task, "depends")
if deps and "populate_sysroot" in deps:
d.appendVarFlag(task, "prefuncs", " extend_recipe_sysroot")
+ # If this is do_fetch, we need to move the cleandirs above to the extend_recipe_sysroot task
+ # else we'd wipe out the sysroot we just created.
+ if task == "do_fetch":
+ d.setVarFlag("extend_recipe_sysroot", "cleandirs", d.getVarFlag(task, "cleandirs"))
+ d.delVarFlag(task, "cleandirs")
staging_taskhandler[eventmask] = "bb.event.RecipeTaskPreProcess"
addhandler staging_taskhandler