From patchwork Mon Feb 11 19:21:53 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [2/2] package.bbclass: support dangling path components Date: Mon, 11 Feb 2013 19:21:53 -0000 From: Enrico Scholz X-Patchwork-Id: 44463 Message-Id: <1360610513-29322-2-git-send-email-enrico.scholz@sigma-chemnitz.de> To: openembedded-core@lists.openembedded.org Cc: Enrico Scholz 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 = {}