[OE-core] [PATCH 2/2] package.bbclass: support dangling path components

Enrico Scholz enrico.scholz at sigma-chemnitz.de
Mon Feb 11 19:21:53 UTC 2013


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.
---
 meta/classes/package.bbclass | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index a74ec8a..f95fdf7 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 = {}
-- 
1.7.11.7





More information about the Openembedded-core mailing list