From: Richard Purdie Date: Mon, 10 Apr 2017 18:59:33 +0000 (+0100) Subject: staging: Fix sysroot problem with populate_sysroot dependencies on do_fetch X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~21692 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cd5e0a32184d98beb8d81e6b5527166d3ca4fb3c;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git 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 --- diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass index 27fcd1efa90..c50abd05519 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