Patchwork point prelink.conf to ${IMAGE_ROOTFS}

login
register
mail settings
Submitter Nathan West
Date July 17, 2012, 10:16 p.m.
Message ID <CACFtY++ekHacLd5VLvfEabKxkdTFxSzfa6oU+aRbS5br_PzDxA@mail.gmail.com>
Download mbox | patch
Permalink /patch/32321/
State New
Headers show

Comments

Nathan West - July 17, 2012, 10:16 p.m.
Hopefully I do this right. First time patching (ever! this is exciting :-) )

The --root option doesn't work and isn't documented anywhere I could find,
and without the ${IMAGE_ROOTFS} before the config file it was point to my
native /etc/prelink.conf (which doesn't exist and probably would be useful
if it did)

Be gentle if I screwed up!
-Nathan



---
 meta/classes/image-prelink.bbclass |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

  if [ "$dummy_prelink_conf" = "true" ]; then
Saul Wold - July 18, 2012, 12:48 a.m.
On 07/17/2012 03:16 PM, Nathan West wrote:
> Hopefully I do this right. First time patching (ever! this is exciting :-) )
>
Welcome to the wonderful world of patching!

> The --root option doesn't work and isn't documented anywhere I could
> find, and without the ${IMAGE_ROOTFS} before the config file it was
> point to my native /etc/prelink.conf (which doesn't exist and probably
> would be useful if it did)
>
Which prelink are you using, it's possible you did not look at the 
correct one.

There should be a tmp/sysroot/x86_64-linux/usr/sbin/prelink (if you are 
building on a 64bit machine, otherwise i586-linux), that's the prelink 
binary and a --help to that will show the --root option.

It should not be using your host's /etc/prelink.conf, but the sysroot 
version.

The --root option should take care of it as it's described as follows:

      --root=ROOT_PATH       Prefix all paths with ROOT_PATH

So, the next question is what's going on to cause it to use your host's 
prelinker instead of the native version that should be build as part of 
the native tools?


> Be gentle if I screwed up!
No worries.
> -Nathan
>

Hope that was not too painful, let see how we can help you accomplish 
what you are trying to do.

Sau!


>
>
> ---
>   meta/classes/image-prelink.bbclass |    2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta/classes/image-prelink.bbclass
> b/meta/classes/image-prelink.bbclass
> index 53ef47e..2d62f03 100644
> --- a/meta/classes/image-prelink.bbclass
> +++ b/meta/classes/image-prelink.bbclass
> @@ -21,7 +21,7 @@ prelink_image () {
> fi
> # prelink!
> -${STAGING_DIR_NATIVE}${sbindir_native}/prelink --root ${IMAGE_ROOTFS}
> -amR -N -c ${sysconfdir}/prelink.conf
> +${STAGING_DIR_NATIVE}${sbindir_native}/prelink ${IMAGE_ROOTFS} -amR -N
> -c ${IMAGE_ROOTFS}${sysconfdir}/prelink.conf
> # Remove the prelink.conf if we had to add it.
> if [ "$dummy_prelink_conf" = "true" ]; then
> --
> 1.7.9.5
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
Nathan West - July 18, 2012, 1:26 p.m.
Wow I'm bad at this. Sorry again about that reply only to you!

On Wed, Jul 18, 2012 at 9:24 AM, Nathan West <nate.ewest@gmail.com> wrote:

> Thanks Saul. Sorry about the duplicate there...
>
> I think we are both right somehow... I didn't have this problem using
> vanilla oe-core,
> it only appeared after setting up another oe-core through the angstrom
> setup scripts.
>
> Based on that it appears angstrom setup scripts somehow gave me a
> different version
> of prelink. After looking in the vanilla oe-core sysroots I do in fact see
> the --root option,
> but the angstrom setup scripts sysroots does not have it (I promise I
> checked before
> the patch! :-) )
>
> Anyway it looks like the --root is a problem with angstrom and I will take
> it over there,
> barring some insight from someone on this list.
>
> I do think the config change is still valid though. Starting on line 14 @
>
> http://cgit.openembedded.org/openembedded-core/tree/meta/classes/image-prelink.bbclass#n14
>
> If there isn't one already a config is copied to
> ${IMAGE_ROOTFS}${sysconfdir}, then
> the prelink command leaves out the ${IMAGE_ROOTFS}.
>
> -Nathan
>
>
>
>
> On Tue, Jul 17, 2012 at 8:48 PM, Saul Wold <sgw@linux.intel.com> wrote:
>
>> On 07/17/2012 03:16 PM, Nathan West wrote:
>>
>>> Hopefully I do this right. First time patching (ever! this is exciting
>>> :-) )
>>>
>>>  Welcome to the wonderful world of patching!
>>
>>
>>  The --root option doesn't work and isn't documented anywhere I could
>>> find, and without the ${IMAGE_ROOTFS} before the config file it was
>>> point to my native /etc/prelink.conf (which doesn't exist and probably
>>> would be useful if it did)
>>>
>>>  Which prelink are you using, it's possible you did not look at the
>> correct one.
>>
>> There should be a tmp/sysroot/x86_64-linux/usr/**sbin/prelink (if you
>> are building on a 64bit machine, otherwise i586-linux), that's the prelink
>> binary and a --help to that will show the --root option.
>>
>> It should not be using your host's /etc/prelink.conf, but the sysroot
>> version.
>>
>> The --root option should take care of it as it's described as follows:
>>
>>      --root=ROOT_PATH       Prefix all paths with ROOT_PATH
>>
>> So, the next question is what's going on to cause it to use your host's
>> prelinker instead of the native version that should be build as part of the
>> native tools?
>>
>>
>>
>>  Be gentle if I screwed up!
>>>
>> No worries.
>>
>>> -Nathan
>>>
>>>
>> Hope that was not too painful, let see how we can help you accomplish
>> what you are trying to do.
>>
>> Sau!
>>
>>
>>
>>>
>>> ---
>>>   meta/classes/image-prelink.**bbclass |    2 +-
>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/meta/classes/image-prelink.**bbclass
>>> b/meta/classes/image-prelink.**bbclass
>>> index 53ef47e..2d62f03 100644
>>> --- a/meta/classes/image-prelink.**bbclass
>>> +++ b/meta/classes/image-prelink.**bbclass
>>> @@ -21,7 +21,7 @@ prelink_image () {
>>> fi
>>> # prelink!
>>> -${STAGING_DIR_NATIVE}${**sbindir_native}/prelink --root ${IMAGE_ROOTFS}
>>>
>>> -amR -N -c ${sysconfdir}/prelink.conf
>>> +${STAGING_DIR_NATIVE}${**sbindir_native}/prelink ${IMAGE_ROOTFS} -amR
>>> -N
>>>
>>> -c ${IMAGE_ROOTFS}${sysconfdir}/**prelink.conf
>>> # Remove the prelink.conf if we had to add it.
>>> if [ "$dummy_prelink_conf" = "true" ]; then
>>> --
>>> 1.7.9.5
>>>
>>>
>>> ______________________________**_________________
>>> Openembedded-core mailing list
>>> Openembedded-core@lists.**openembedded.org<Openembedded-core@lists.openembedded.org>
>>> http://lists.linuxtogo.org/**cgi-bin/mailman/listinfo/**
>>> openembedded-core<http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core>
>>>
>>>
>>
>

Patch

diff --git a/meta/classes/image-prelink.bbclass
b/meta/classes/image-prelink.bbclass
index 53ef47e..2d62f03 100644
--- a/meta/classes/image-prelink.bbclass
+++ b/meta/classes/image-prelink.bbclass
@@ -21,7 +21,7 @@  prelink_image () {
  fi

  # prelink!
- ${STAGING_DIR_NATIVE}${sbindir_native}/prelink --root ${IMAGE_ROOTFS}
-amR -N -c ${sysconfdir}/prelink.conf
+ ${STAGING_DIR_NATIVE}${sbindir_native}/prelink ${IMAGE_ROOTFS} -amR -N -c
${IMAGE_ROOTFS}${sysconfdir}/prelink.conf

  # Remove the prelink.conf if we had to add it.