diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-04-11 00:20:01 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-04-11 18:09:20 +0100 |
commit | b32fbfc85b14059f0bfdeeffe2c52f8d3c20f276 (patch) | |
tree | fa274ac87bd89a172a4dcf03304ae44151b1d6bc | |
parent | 8c52a530ba2beb438aa47956bcec3777a1eafe5f (diff) | |
download | openembedded-core-contrib-b32fbfc85b14059f0bfdeeffe2c52f8d3c20f276.tar.gz |
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 <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/staging.bbclass | 7 |
1 files changed, 6 insertions, 1 deletions
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 |