[gnome-continuous-yocto/gnomeostree-3.28-rocko: 7509/8267] staging: Fix a logic error which caused dependency removal



commit a6631eed6fc70b305e769998d6f22f345e37decc
Author: Richard Purdie <richard purdie linuxfoundation org>
Date:   Fri Sep 1 15:18:15 2017 +0100

    staging: Fix a logic error which caused dependency removal
    
    There was a logic error in the dependency cleanup code which meant
    it would remove dependencies which other tasks still depended upon.
    Fix the path names so the comparisions work as intended.
    
    This fixes dependencies accidentally disappearing from sysroots
    under certain reconfiguration situations.
    
    (From OE-Core rev: 1634fe5148b3501f2c1b75cf7fb704a2ef60424e)
    
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 meta/classes/staging.bbclass |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)
---
diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass
index eb06f39..a774088 100644
--- a/meta/classes/staging.bbclass
+++ b/meta/classes/staging.bbclass
@@ -416,8 +416,8 @@ python extend_recipe_sysroot() {
             for l in f:
                 l = l.strip()
                 if l not in installed:
-                    l = depdir + "/" + l
-                    if not os.path.exists(l):
+                    fl = depdir + "/" + l
+                    if not os.path.exists(fl):
                         # Was likely already uninstalled
                         continue
                     potential.append(l)
@@ -433,11 +433,12 @@ python extend_recipe_sysroot() {
                         if l in potential:
                             potential.remove(l)
         for l in potential:
+            fl = depdir + "/" + l
             bb.note("Task %s no longer depends on %s, removing from sysroot" % (mytaskname, l))
-            lnk = os.readlink(l)
+            lnk = os.readlink(fl)
             sstate_clean_manifest(depdir + "/" + lnk, d, workdir)
-            os.unlink(l)
-            os.unlink(l + ".complete")
+            os.unlink(fl)
+            os.unlink(fl + ".complete")
 
     for dep in configuredeps:
         c = setscenedeps[dep][0]


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