summaryrefslogtreecommitdiff
path: root/meta/classes/chrpath.bbclass
diff options
context:
space:
mode:
authorMatt Cowell <matt.cowell@nsn.com>2014-04-17 14:23:13 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-05-11 12:24:21 +0100
commit753cfcadd8cc683e69b6707b823dc49dfb34ab0b (patch)
tree066d03526f8ea979ddaa5e169fc401f06455ba3b /meta/classes/chrpath.bbclass
parent510e64d90d3ef2f9757bfa148e8cc09e4834051d (diff)
downloadopenembedded-core-753cfcadd8cc683e69b6707b823dc49dfb34ab0b.tar.gz
openembedded-core-753cfcadd8cc683e69b6707b823dc49dfb34ab0b.tar.bz2
openembedded-core-753cfcadd8cc683e69b6707b823dc49dfb34ab0b.zip
chrpath: properly handle rootdir with '..' in path
When there is a '..' in the rootdir path, rootdir will not be a substring of fpath. This causes an incorrect rpath of the difference between the workdir and the sysroot to be computed, which is incorrect. Normalizing basedir fixes this issue. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/chrpath.bbclass')
-rw-r--r--meta/classes/chrpath.bbclass1
1 files changed, 1 insertions, 0 deletions
diff --git a/meta/classes/chrpath.bbclass b/meta/classes/chrpath.bbclass
index 7bdb1b9938..7765020e98 100644
--- a/meta/classes/chrpath.bbclass
+++ b/meta/classes/chrpath.bbclass
@@ -61,6 +61,7 @@ def process_file_darwin(cmd, fpath, rootdir, baseprefix, tmpdir, d):
def process_dir (rootdir, directory, d):
import stat
+ rootdir = os.path.normpath(rootdir)
cmd = d.expand('${CHRPATH_BIN}')
tmpdir = os.path.normpath(d.getVar('TMPDIR'))
baseprefix = os.path.normpath(d.expand('${base_prefix}'))