diff options
authorScott Garman <>2012-09-04 23:19:51 (GMT)
committerRichard Purdie <>2012-09-28 15:53:10 (GMT)
commit825c647f6571e14969f645a41650e54a86350090 (patch)
parent16b6bc42886ec6f7f8e73389098d0613a828ecac (diff)
relocatable.bbclass: Account for case when ORIGIN is in RPATH
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 (From OE-Core rev: 9ebb327ae17d1a765fd1499546ccf9076bb93234) Signed-off-by: Khem Raj <> Signed-off-by: Richard Purdie <> Signed-off-by: Scott Garman <> Signed-off-by: Richard Purdie <>
1 files changed, 2 insertions, 1 deletions
diff --git a/meta/classes/relocatable.bbclass b/meta/classes/relocatable.bbclass
index 072f533..7bbfe32 100644
--- a/meta/classes/relocatable.bbclass
+++ b/meta/classes/relocatable.bbclass
@@ -50,8 +50,9 @@ def process_dir (directory, d):
50 rpaths = curr_rpath.split(":") 50 rpaths = curr_rpath.split(":")
51 new_rpaths = [] 51 new_rpaths = []
52 for rpath in rpaths: 52 for rpath in rpaths:
53 # If rpath is already dynamic continue 53 # If rpath is already dynamic copy it to new_rpath and continue
54 if rpath.find("$ORIGIN") != -1: 54 if rpath.find("$ORIGIN") != -1:
55 new_rpaths.append(rpath.strip())
55 continue 56 continue
56 # If the rpath shares a root with base_prefix determine a new dynamic rpath from the 57 # If the rpath shares a root with base_prefix determine a new dynamic rpath from the
57 # base_prefix shared root 58 # base_prefix shared root