[gnome-continuous-yocto/gnomeostree-3.28-rocko: 7045/8267] rm_work: Improve handling for addto_recipe_sysroot



commit 35e3cb3012d79f62da03f0e1dc592ee45759edea
Author: Richard Purdie <richard purdie linuxfoundation org>
Date:   Sun Jul 30 15:59:34 2017 +0100

    rm_work: Improve handling for addto_recipe_sysroot
    
    Rather than requiring each user to handle this individually, handle
    addto_recipe_sysroot in the core class. As well as preserving the
    sysroot directory, this also ensures the stamp is preserved rather
    than rerunning the task every time as currently happens.
    
    (From OE-Core rev: bf8b9858d9ccce27173d13938a83d249294cc473)
    
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 meta/classes/rm_work.bbclass                       |   32 ++++++++++++-------
 .../qemu/qemu-helper-native_1.0.bb                 |    1 -
 .../systemtap/systemtap-native_git.bb              |    1 -
 3 files changed, 20 insertions(+), 14 deletions(-)
---
diff --git a/meta/classes/rm_work.bbclass b/meta/classes/rm_work.bbclass
index badeaeb..2a4e808 100644
--- a/meta/classes/rm_work.bbclass
+++ b/meta/classes/rm_work.bbclass
@@ -35,22 +35,12 @@ do_rm_work () {
         fi
     done
 
-    cd ${WORKDIR}
-    for dir in *
-    do
-        # Retain only logs and other files in temp, safely ignore
-        # failures of removing pseudo folers on NFS2/3 server.
-        if [ $dir = 'pseudo' ]; then
-            rm -rf $dir 2> /dev/null || true
-        elif ! echo '${RM_WORK_EXCLUDE_ITEMS}' | grep -q -w "$dir"; then
-            rm -rf $dir
-        fi
-    done
-
     # Need to add pseudo back or subsqeuent work in this workdir
     # might fail since setscene may not rerun to recreate it
     mkdir -p ${WORKDIR}/pseudo/
 
+    excludes='${RM_WORK_EXCLUDE_ITEMS}'
+
     # Change normal stamps into setscene stamps as they better reflect the
     # fact WORKDIR is now empty
     # Also leave noexec stamps since setscene stamps don't cover them
@@ -79,6 +69,12 @@ do_rm_work () {
                 i=dummy
                 break
                 ;;
+            *do_addto_recipe_sysroot*)
+                # Preserve recipe-sysroot-native if do_addto_recipe_sysroot has been used
+                excludes="$excludes recipe-sysroot-native"
+                i=dummy
+                break
+                ;;
             # We remove do_package entirely, including any
             # sstate version since otherwise we'd need to leave 'plaindirs' around
             # such as 'packages' and 'packages-split' and these can be large. No end
@@ -101,6 +97,18 @@ do_rm_work () {
         done
         rm -f $i
     done
+
+    cd ${WORKDIR}
+    for dir in *
+    do
+        # Retain only logs and other files in temp, safely ignore
+        # failures of removing pseudo folers on NFS2/3 server.
+        if [ $dir = 'pseudo' ]; then
+            rm -rf $dir 2> /dev/null || true
+        elif ! echo "$excludes" | grep -q -w "$dir"; then
+            rm -rf $dir
+        fi
+    done
 }
 do_rm_work_all () {
     :
diff --git a/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb 
b/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb
index 27d5315..d86b155 100644
--- a/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb
+++ b/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb
@@ -20,6 +20,5 @@ do_install() {
        install tunctl ${D}${bindir}/
 }
 
-RM_WORK_EXCLUDE_ITEMS += "recipe-sysroot-native"
 DEPENDS += "qemu-native"
 addtask addto_recipe_sysroot after do_populate_sysroot before do_build
diff --git a/meta/recipes-kernel/systemtap/systemtap-native_git.bb 
b/meta/recipes-kernel/systemtap/systemtap-native_git.bb
index c3da77c..19cc1cf 100644
--- a/meta/recipes-kernel/systemtap/systemtap-native_git.bb
+++ b/meta/recipes-kernel/systemtap/systemtap-native_git.bb
@@ -3,5 +3,4 @@ require systemtap_git.bb
 
 inherit native
 
-RM_WORK_EXCLUDE_ITEMS += "recipe-sysroot-native"
 addtask addto_recipe_sysroot after do_populate_sysroot before do_build


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]