From a6631eed6fc70b305e769998d6f22f345e37decc Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Fri, 1 Sep 2017 15:18:15 +0100 Subject: 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 --- meta/classes/staging.bbclass | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'meta/classes/staging.bbclass') diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass index eb06f398ac..a774088393 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] -- cgit v1.2.3-54-g00ecf