summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSaul Wold <sgw@linux.intel.com>2012-12-11 17:40:57 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-12-13 15:27:38 +0000
commit50327f2bba9f479dd209cdc54646b9d551e84c59 (patch)
tree2ecc22680e5076403161b6746829128bedd0282d
parenta24a5e5c9ede4275f7188935a9410b84d406ed19 (diff)
downloadopenembedded-core-50327f2bba9f479dd209cdc54646b9d551e84c59.tar.gz
openembedded-core-50327f2bba9f479dd209cdc54646b9d551e84c59.tar.bz2
openembedded-core-50327f2bba9f479dd209cdc54646b9d551e84c59.zip
chrpath: normalize the paths
By normalizing the paths the path comparing code works correct to generate the right RPATH even when there is a A/../A in TMPDIR [YOCTO #3408] Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/chrpath.bbclass5
1 files changed, 3 insertions, 2 deletions
diff --git a/meta/classes/chrpath.bbclass b/meta/classes/chrpath.bbclass
index 4a6e697380..82329d1de3 100644
--- a/meta/classes/chrpath.bbclass
+++ b/meta/classes/chrpath.bbclass
@@ -6,8 +6,8 @@ def process_dir (directory, d):
import stat
cmd = d.expand('${CHRPATH_BIN}')
- tmpdir = d.getVar('TMPDIR')
- basedir = d.expand('${base_prefix}')
+ tmpdir = os.path.normpath(d.getVar('TMPDIR'))
+ basedir = os.path.normpath(d.expand('${base_prefix}'))
#bb.debug("Checking %s for binaries to process" % directory)
if not os.path.exists(directory):
@@ -49,6 +49,7 @@ def process_dir (directory, d):
new_rpaths = []
for rpath in rpaths:
# If rpath is already dynamic copy it to new_rpath and continue
+ rpath = os.path.normpath(rpath)
if rpath.find("$ORIGIN") != -1:
new_rpaths.append(rpath.strip())
continue