aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
authorEnrico Scholz <enrico.scholz@sigma-chemnitz.de>2013-02-11 20:21:53 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-02-11 22:44:55 +0000
commit579369b0fb27fad6d628746a50b9b798078500f6 (patch)
tree4e89e4c1501eb604465e74b4b9b21e580a6f49f8 /meta/classes
parent273c437813b19577d68fa49ec04ea42154ad70c9 (diff)
downloadopenembedded-core-contrib-579369b0fb27fad6d628746a50b9b798078500f6.tar.gz
package.bbclass: support dangling path components
Commit ec2aab09769f4b6817d74d2175afa2b7c7598750 introduced a regression on packages which contain symlinks with unresolvable path components (e.g. lsof-dbg). While assigning a variable, an exception was raised and the exception handler accessed this variable. Patch deals both with the dangling path components by assuming them as valid directories and by avoiding the broken assignment. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r--meta/classes/package.bbclass8
1 files changed, 2 insertions, 6 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index a74ec8a847..f95fdf7251 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -1000,12 +1000,8 @@ python package_fixsymlinks () {
for path in pkgfiles[pkg]:
rpath = path[len(inst_root):]
pkg_files[pkg].append(rpath)
- try:
- rtarget = oe.path.realpath(path, inst_root, True)
- os.lstat(rtarget)
- except OSError, (err, strerror):
- if err != errno.ENOENT:
- raise
+ rtarget = oe.path.realpath(path, inst_root, True, assume_dir = True)
+ if not os.path.lexists(rtarget):
dangling_links[pkg].append(os.path.normpath(rtarget[len(inst_root):]))
newrdepends = {}