From b32fbfc85b14059f0bfdeeffe2c52f8d3c20f276 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 11 Apr 2017 00:20:01 +0100 Subject: 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 a separate function before the extend_recipe_sysroot prefunc else we'd wipe out the sysroot we just created. This allows fetcher do_populate_sysroot dependencies to work correctly again. I did try various other approaches and a seperate function with cleandirs was the cleanest way to add this without code duplication or too much complexity. Signed-off-by: Richard Purdie --- meta/classes/staging.bbclass | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass index 27fcd1efa9..8bdb437a1f 100644 --- a/meta/classes/staging.bbclass +++ b/meta/classes/staging.bbclass @@ -639,7 +639,12 @@ python do_prepare_recipe_sysroot () { addtask do_prepare_recipe_sysroot before do_configure after do_fetch # Clean out the recipe specific sysroots before do_fetch -do_fetch[cleandirs] += "${RECIPE_SYSROOT} ${RECIPE_SYSROOT_NATIVE}" +# (use a prefunc so we can order before extend_recipe_sysroot if it gets added) +python clean_recipe_sysroot() { + return +} +clean_recipe_sysroot[cleandirs] += "${RECIPE_SYSROOT} ${RECIPE_SYSROOT_NATIVE}" +do_fetch[prefuncs] += "clean_recipe_sysroot" python staging_taskhandler() { bbtasks = e.tasklist -- cgit 1.2.3-korg