summaryrefslogtreecommitdiff
path: root/classes
diff options
context:
space:
mode:
Diffstat (limited to 'classes')
-rw-r--r--classes/package.oeclass14
1 files changed, 10 insertions, 4 deletions
diff --git a/classes/package.oeclass b/classes/package.oeclass
index 96c58145d5..207269f80b 100644
--- a/classes/package.oeclass
+++ b/classes/package.oeclass
@@ -217,19 +217,25 @@ python populate_packages () {
target = os.readlink(path)
if target[0] != '/':
target = os.path.join(root[len(inst_root):], target)
- dangling_links[pkg].append(target)
+ dangling_links[pkg].append(os.path.normpath(target))
for pkg in packages.split():
+ rdepends = explode_deps(oe.data.getVar('RDEPENDS_' + pkg, d, 1) or oe.data.getVar('RDEPENDS', d, 1) or "")
for l in dangling_links[pkg]:
+ found = False
oe.debug(1, "%s contains dangling link %s" % (pkg, l))
for p in packages.split():
for f in pkg_files[p]:
if f == l:
+ found = True
oe.debug(1, "target found in %s" % p)
- rdepends = explode_deps(oe.data.getVar('RDEPENDS_' + pkg, d, 1) or oe.data.getVar('RDEPENDS', d, 1) or "")
- rdepends.append(oe.data.getVar('PKG_' + p, d, 1) or p)
- oe.data.setVar('RDEPENDS_' + pkg, " " + " ".join(rdepends), d)
+ dp = oe.data.getVar('PKG_' + p, d, 1) or p
+ if not dp in rdepends:
+ rdepends.append(dp)
break
+ if found == False:
+ oe.note("%s contains dangling symlink to %s" % (pkg, l))
+ oe.data.setVar('RDEPENDS_' + pkg, " " + " ".join(rdepends), d)
def write_if_exists(f, pkg, var):
def encode(str):