summaryrefslogtreecommitdiffstats
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:45:25 +0000
commitd518019d6ccb0ffebe7e21b973eb4f9aa5241dec (patch)
treea1294ddcb1501f2c9803724c4ea80e8060fa73cd
parent00a2411470b989ca80bc2a6de08d105bc400dae5 (diff)
downloadpoky-d518019d6ccb0ffebe7e21b973eb4f9aa5241dec.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. (From OE-Core rev: 579369b0fb27fad6d628746a50b9b798078500f6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-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 () {
1000 for path in pkgfiles[pkg]: 1000 for path in pkgfiles[pkg]:
1001 rpath = path[len(inst_root):] 1001 rpath = path[len(inst_root):]
1002 pkg_files[pkg].append(rpath) 1002 pkg_files[pkg].append(rpath)
1003 try: 1003 rtarget = oe.path.realpath(path, inst_root, True, assume_dir = True)
1004 rtarget = oe.path.realpath(path, inst_root, True) 1004 if not os.path.lexists(rtarget):
1005 os.lstat(rtarget)
1006 except OSError, (err, strerror):
1007 if err != errno.ENOENT:
1008 raise
1009 dangling_links[pkg].append(os.path.normpath(rtarget[len(inst_root):])) 1005 dangling_links[pkg].append(os.path.normpath(rtarget[len(inst_root):]))
1010 1006
1011 newrdepends = {} 1007 newrdepends = {}