]> code.ossystems Code Review - openembedded-core.git/commitdiff
relocatable.bbclass: Account for case when ORIGIN is in RPATH
authorScott Garman <scott.a.garman@intel.com>
Tue, 4 Sep 2012 23:19:51 +0000 (16:19 -0700)
committerScott Garman <scott.a.garman@intel.com>
Mon, 24 Sep 2012 16:51:11 +0000 (09:51 -0700)
This patch was backported from OE-Core rev:
43600df0d4efc976a9451163dd334b4763937932

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

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
meta/classes/relocatable.bbclass

index 072f533f4f2b2d08a1f0c74ba3fb0084eaec1ecf..7bbfe32d9ff737dee394fe2c35ea43253e8be289 100644 (file)
@@ -50,8 +50,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