[oe-commits] [openembedded-core] 16/19: staging: Fix sysroot problem with populate_sysroot dependencies on do_fetch

git at git.openembedded.org git at git.openembedded.org
Tue Apr 11 17:11:51 UTC 2017


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master
in repository openembedded-core.

commit b32fbfc85b14059f0bfdeeffe2c52f8d3c20f276
Author: Richard Purdie <richard.purdie at linuxfoundation.org>
AuthorDate: Tue Apr 11 00:20:01 2017 +0100

    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 at linuxfoundation.org>
---
 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 27fcd1e..8bdb437 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

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list