aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2013-04-22 18:31:10 +0000
committerMike Frysinger <vapier@gentoo.org>2013-04-22 18:31:10 +0000
commit40e4ac19b120136f69885aa7dc34208d44fdd3cc (patch)
treef51b15109e128117059cf4ff7a3649d196ae079f /lddtree.py
parentscanmacho: fix up signed warnings with newer gcc (diff)
downloadpax-utils-40e4ac19b120136f69885aa7dc34208d44fdd3cc.tar.gz
pax-utils-40e4ac19b120136f69885aa7dc34208d44fdd3cc.tar.bz2
pax-utils-40e4ac19b120136f69885aa7dc34208d44fdd3cc.zip
lddtree.py: fix $ORIGIN handling when using --root so the root does not get double prefixed
Diffstat (limited to 'lddtree.py')
-rwxr-xr-xlddtree.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/lddtree.py b/lddtree.py
index f48bcbf..1480e07 100755
--- a/lddtree.py
+++ b/lddtree.py
@@ -3,7 +3,7 @@
# Copyright 2012-2013 Mike Frysinger <vapier@gentoo.org>
# Use of this source code is governed by a BSD-style license (BSD-3)
# pylint: disable=C0301
-# $Header: /var/cvsroot/gentoo-projects/pax-utils/lddtree.py,v 1.39 2013/04/07 19:20:09 vapier Exp $
+# $Header: /var/cvsroot/gentoo-projects/pax-utils/lddtree.py,v 1.40 2013/04/22 18:31:10 vapier Exp $
# TODO: Handle symlinks.
@@ -131,9 +131,11 @@ def ParseLdPaths(str_ldpaths, root='', path=None):
if ldpath == '':
# The ldso treats "" paths as $PWD.
ldpath = os.getcwd()
- else:
+ elif '$ORIGIN' in ldpath:
ldpath = ldpath.replace('$ORIGIN', os.path.dirname(path))
- ldpaths.append(normpath(root + ldpath))
+ else:
+ ldpath = root + ldpath
+ ldpaths.append(normpath(ldpath))
return dedupe(ldpaths)
@@ -374,7 +376,7 @@ def _NormalizePath(option, _opt, value, parser):
def _ShowVersion(_option, _opt, _value, _parser):
- d = '$Id: lddtree.py,v 1.39 2013/04/07 19:20:09 vapier Exp $'.split()
+ d = '$Id: lddtree.py,v 1.40 2013/04/22 18:31:10 vapier Exp $'.split()
print('%s-%s %s %s' % (d[1].split('.')[0], d[2], d[3], d[4]))
sys.exit(0)