aboutsummaryrefslogtreecommitdiff
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:13:20 +0100
commit31d1054e8eee7a0368f1ba2ad2634891536ff566 (patch)
tree1ebda09edcda4d00062f3c47ec6878a0d5e1ab72
parent6afd5cb344f0c7eb415dc1731bade1af4dd600f0 (diff)
downloadopenembedded-core-31d1054e8eee7a0368f1ba2ad2634891536ff566.zip
openembedded-core-31d1054e8eee7a0368f1ba2ad2634891536ff566.tar.gz
openembedded-core-31d1054e8eee7a0368f1ba2ad2634891536ff566.tar.bz2
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 286d7b7..a90cf43 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]