chrpath.bbclass: Ensure we only process tmpdir in paths which actually contain that path

Without this change, a path to "/lib/xxx" or "/usr/lib/xxx" would also
attempt to be remapped to be relative to $ORIGIN which makes no sense.

(From OE-Core rev: 73e2c12534856f14c1a94fb51874e9ba1655f07b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2012-08-17 16:37:47 +00:00
parent e31d484042
commit b0b92d7916
1 changed files with 4 additions and 2 deletions

View File

@ -60,10 +60,12 @@ def process_dir (directory, d):
# NOTE: This will not work reliably for cross packages, particularly in the case
# where your TMPDIR is a short path (i.e. /usr/poky) as chrpath cannot insert an
# rpath longer than that which is already set.
else:
elif rpath.find(tmpdir) != -1:
depth = fpath.rpartition(tmpdir)[2].count('/')
libpath = rpath.partition(tmpdir)[2].strip()
else:
new_rpaths.append(rpath.strip())
continue
base = "$ORIGIN"
while depth > 1:
base += "/.."