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.

(From OE-Core rev: cd5e0a32184d98beb8d81e6b5527166d3ca4fb3c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2017-04-10 19:59:33 +01:00
parent 684eefd7a3
commit 177d4be3c1
1 changed files with 5 additions and 0 deletions

View File

@ -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