]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
chrpath.bbclass: Account for case when ORIGIN is in RPATH
authorKhem Raj <raj.khem@gmail.com>
Thu, 16 Aug 2012 03:15:46 +0000 (20:15 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 17 Aug 2012 16:45:12 +0000 (17:45 +0100)
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>
meta/classes/chrpath.bbclass

index 659db31cb88b7d3acf3b23881fac5d86a67a5644..4a6e6973809809b0476a37955e5d3eee9dbb736d 100644 (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