]> code.ossystems Code Review - openembedded-core.git/commitdiff
staging: Fix a logic error which caused dependency removal
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 1 Sep 2017 14:18:15 +0000 (15:18 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 11 Sep 2017 21:15:51 +0000 (22:15 +0100)
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>
(cherry picked from commit a6631eed6fc70b305e769998d6f22f345e37decc)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
meta/classes/staging.bbclass

index 286d7b7e9eb80237606a3e06e0c945e354bf2c36..a90cf43c941463f44acd0b8c2ed98e0ffc9350b8 100644 (file)
@@ -497,8 +497,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)
@@ -514,11 +514,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]