aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2017-09-01 15:18:15 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-09-11 22:15:51 +0100
commit3969c068bc9557b405a5ad61c10c402ec93bd932 (patch)
tree1ebda09edcda4d00062f3c47ec6878a0d5e1ab72
parent970d4df7336e5102ac61e66689e977fb2e41a1aa (diff)
downloadopenembedded-core-contrib-3969c068bc9557b405a5ad61c10c402ec93bd932.tar.gz
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> (cherry picked from commit a6631eed6fc70b305e769998d6f22f345e37decc) Signed-off-by: Armin Kuster <akuster808@gmail.com>
-rw-r--r--meta/classes/staging.bbclass11
1 files changed, 6 insertions, 5 deletions
diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass
index 286d7b7e9e..a90cf43c94 100644
--- a/meta/classes/staging.bbclass
+++ b/meta/classes/staging.bbclass
@@ -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]