| Submitter | Khem Raj |
|---|---|
| Date | Aug. 16, 2012, 3:15 a.m. |
| Message ID | <1345086946-3715-1-git-send-email-raj.khem@gmail.com> |
| Download | mbox | patch |
| Permalink | /patch/34685/ |
| State | New |
| Headers | show |
Comments
On Wed, Aug 15, 2012 at 08:15:46PM -0700, Khem Raj wrote: > 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> > --- > 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 Hi Khem, just notice my solution some months ago http://patches.openembedded.org/patch/24461/ Bye Henning
On Thu, 2012-08-16 at 08:44 +0200, Henning Heinold wrote: > On Wed, Aug 15, 2012 at 08:15:46PM -0700, Khem Raj wrote: > > 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> > > --- > > 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 > > Hi Khem, > > just notice my solution some months ago > > http://patches.openembedded.org/patch/24461/ I merged a version of this which simply does: new_rpaths.append(rpath.strip()) since that is neater than using regexps. Cheers, Richard
Patch
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
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> --- meta/classes/chrpath.bbclass | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)