[oe-commits] Enrico Scholz : package.bbclass: support dangling path components

git at git.openembedded.org git at git.openembedded.org
Tue Feb 12 16:38:01 UTC 2013


Module: openembedded-core.git
Branch: master-next
Commit: 579369b0fb27fad6d628746a50b9b798078500f6
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=579369b0fb27fad6d628746a50b9b798078500f6

Author: Enrico Scholz <enrico.scholz at sigma-chemnitz.de>
Date:   Mon Feb 11 20:21:53 2013 +0100

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 at linuxfoundation.org>

---

 meta/classes/package.bbclass |    8 ++------
 1 files 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 = {}





More information about the Openembedded-commits mailing list