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:10:18 +0100 |
commit | 283a9b3883083e45bbdaf0488a3c6c76c5b197d7 (patch) | |
tree | 9b71409d66ff0d8163ba197cee70aab2d475a53c /meta/classes/staging.bbclass | |
parent | ca22ef73d03ec5140493f29d1fe0cb6c0400c307 (diff) | |
download | openembedded-core-contrib-283a9b3883083e45bbdaf0488a3c6c76c5b197d7.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.
(From OE-Core rev: b32fbfc85b14059f0bfdeeffe2c52f8d3c20f276)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/staging.bbclass')
-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 |