[OE-core] [PATCH V2] chrpath.bbclass: Account for case when ORIGIN is in RPATH

Khem Raj raj.khem at gmail.com
Thu Aug 16 03:15:46 UTC 2012


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 at gmail.com>
---
 meta/classes/chrpath.bbclass |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta/classes/chrpath.bbclass b/meta/classes/chrpath.bbclass
index 10b5ca0..861d369 100644
--- a/meta/classes/chrpath.bbclass
+++ b/meta/classes/chrpath.bbclass
@@ -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("%s" % (rpath.strip()))
                     continue
                 # If the rpath shares a root with base_prefix determine a new dynamic rpath from the
                 # base_prefix shared root
-- 
1.7.9.5





More information about the Openembedded-core mailing list