diff options
author | Phil Blundell <philb@gnu.org> | 2004-07-24 14:44:46 +0000 |
---|---|---|
committer | Phil Blundell <philb@gnu.org> | 2004-07-24 14:44:46 +0000 |
commit | 060467b6d840ef0c8133e2e73bed4a0fc9f6dbb1 (patch) | |
tree | 54168744e67dce67aba01c754b2df1fd719caca0 /classes | |
parent | ed2c2b3201bae99110b7d9fa648675e6ae3e587e (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.oeclass | 14 |
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): |