summaryrefslogtreecommitdiff
path: root/classes
diff options
context:
space:
mode:
authorPhil Blundell <philb@gnu.org>2004-07-24 14:44:46 +0000
committerPhil Blundell <philb@gnu.org>2004-07-24 14:44:46 +0000
commit060467b6d840ef0c8133e2e73bed4a0fc9f6dbb1 (patch)
tree54168744e67dce67aba01c754b2df1fd719caca0 /classes
parented2c2b3201bae99110b7d9fa648675e6ae3e587e (diff)
Merge bk://openembedded@openembedded.bkbits.net/packages
into workhouse.nexus.co.uk:/home/pb/oe/oe-packages 2004/07/24 15:44:18+01:00 nexus.co.uk!pb normalise symlink paths before trying to look them up. BKrev: 410275deNTlGqGjwld5OA2goFFuOJA
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):