chrpath.bbclass: Account for case when ORIGIN is in RPATH

This fixes a case when RPATH embedded in program have one of
its path already relative to ORIGIN. We were losing that path
if such a path existed. This patch appends it to the new edited
rpath being created when we see it.

so RPATH like below

(RPATH)              Library rpath:
[$ORIGIN/../lib/amd64/jli:$ORIGIN/../jre/lib/amd64/jli]

would end up being empty

but after this patch its kept intact

(From OE-Core rev: 43600df0d4efc976a9451163dd334b4763937932)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Khem Raj 2012-08-15 20:15:46 -07:00 committed by Richard Purdie
parent b0b92d7916
commit 650227eea3
1 changed files with 2 additions and 1 deletions

View File

@ -48,8 +48,9 @@ def process_dir (directory, d):
rpaths = curr_rpath.split(":")
new_rpaths = []
for rpath in rpaths:
# If rpath is already dynamic continue
# If rpath is already dynamic copy it to new_rpath and continue
if rpath.find("$ORIGIN") != -1:
new_rpaths.append(rpath.strip())
continue
# If the rpath shares a root with base_prefix determine a new dynamic rpath from the
# base_prefix shared root