Patchwork insane bbclass: extend RPATH check to cover sysroots as well

login
register
mail settings
Submitter Koen Kooi
Date Jan. 19, 2011, 7:21 p.m.
Message ID <1295464913-2642-1-git-send-email-koen@openembedded.org>
Download mbox | patch
Permalink /patch/323/
State Accepted
Headers show

Comments

Koen Kooi - Jan. 19, 2011, 7:21 p.m.
* Having rpath to sysroot is just as bad as one to workdir

Based on insane.bbclass from yocto

Signed-off-by: Koen Kooi <koen@openembedded.org>
---
 classes/insane.bbclass |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)
Philip Balister - Jan. 19, 2011, 7:35 p.m.
On 01/19/2011 11:21 AM, Koen Kooi wrote:
> * Having rpath to sysroot is just as bad as one to workdir

When you do a build with this, how many recipes have issues?

Philip


>
> Based on insane.bbclass from yocto
>
> Signed-off-by: Koen Kooi<koen@openembedded.org>
> ---
>   classes/insane.bbclass |   11 ++++++-----
>   1 files changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/classes/insane.bbclass b/classes/insane.bbclass
> index 677db27..50752b5 100644
> --- a/classes/insane.bbclass
> +++ b/classes/insane.bbclass
> @@ -160,20 +160,21 @@ def package_qa_check_rpath(file,name,d, elf):
>       import bb, os
>       sane = True
>       scanelf = os.path.join(bb.data.getVar('STAGING_BINDIR_NATIVE',d,True),'scanelf')
> -    bad_dir = bb.data.getVar('TMPDIR', d, True) + "/work"
> +    bad_dirs = [bb.data.getVar('TMPDIR', d, True) + "/work", bb.data.getVar('STAGING_DIR_TARGET', d, True)]
>       bad_dir_test = bb.data.getVar('TMPDIR', d, True)
>       if not os.path.exists(scanelf):
>           bb.fatal("Can not check RPATH, scanelf (part of pax-utils-native) not found")
>
> -    if not bad_dir in bb.data.getVar('WORKDIR', d, True):
> +    if not bad_dirs[0] in bb.data.getVar('WORKDIR', d, True):
>           bb.fatal("This class assumed that WORKDIR is ${TMPDIR}/work... Not doing any check")
>
>       output = os.popen("%s -B -F%%r#F '%s'" % (scanelf,file))
>       txt    = output.readline().split()
>       for line in txt:
> -        if bad_dir in line:
> -            error_msg = "package %s contains bad RPATH %s in file %s" % (name, line, file)
> -            sane = package_qa_handle_error(1, error_msg, name, file, d)
> +        for dir in bad_dirs:
> +            if dir in line:
> +                error_msg = "package %s contains bad RPATH %s in file %s" % (name, line, file)
> +                sane = sane + package_qa_handle_error(1, error_msg, name, file, d)
>
>       return sane
>
Koen Kooi - Jan. 19, 2011, 7:58 p.m.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 19-01-11 20:35, Philip Balister wrote:
> On 01/19/2011 11:21 AM, Koen Kooi wrote:
>> * Having rpath to sysroot is just as bad as one to workdir
> 
> When you do a build with this, how many recipes have issues?

At least udev:

ERROR: QA Issue with udev: package udev contains bad RPATH
/OE/angstrom-setup-scripts/build/tmp-angstrom_2008_1/sysroots/armv7a-angstrom-linux-gnueabi/usr/lib
in file
/OE/angstrom-setup-scripts/build/tmp-angstrom_2008_1/work/armv7a-angstrom-linux-gnueabi/udev-165-r0/packages-split/udev/lib/udev/udev-acl
ERROR: QA Issue with udev: package udev contains bad RPATH
/OE/angstrom-setup-scripts/build/tmp-angstrom_2008_1/sysroots/armv7a-angstrom-linux-gnueabi/usr/lib
in file
/OE/angstrom-setup-scripts/build/tmp-angstrom_2008_1/work/armv7a-angstrom-linux-gnueabi/udev-165-r0/packages-split/udev/lib/udev/hid2hci
ERROR: QA Issue with udev: package udev contains bad RPATH
/OE/angstrom-setup-scripts/build/tmp-angstrom_2008_1/sysroots/armv7a-angstrom-linux-gnueabi/usr/lib
in file
/OE/angstrom-setup-scripts/build/tmp-angstrom_2008_1/work/armv7a-angstrom-linux-gnueabi/udev-165-r0/packages-split/udev/lib/udev/mobile-action-modeswitch

 I'm doing a build from scratch now to see what will fail first.
Richard and Scott have fixed a number of those in yocto, so I'll be
working with them and Khem to 'port' those over to OE.

This patch is merely here to have people realize how buggered OE
currently is with stray RPATHs

regards,

Koen


> 
> Philip
> 
> 
>>
>> Based on insane.bbclass from yocto
>>
>> Signed-off-by: Koen Kooi<koen@openembedded.org>
>> ---
>>   classes/insane.bbclass |   11 ++++++-----
>>   1 files changed, 6 insertions(+), 5 deletions(-)
>>
>> diff --git a/classes/insane.bbclass b/classes/insane.bbclass
>> index 677db27..50752b5 100644
>> --- a/classes/insane.bbclass
>> +++ b/classes/insane.bbclass
>> @@ -160,20 +160,21 @@ def package_qa_check_rpath(file,name,d, elf):
>>       import bb, os
>>       sane = True
>>       scanelf =
>> os.path.join(bb.data.getVar('STAGING_BINDIR_NATIVE',d,True),'scanelf')
>> -    bad_dir = bb.data.getVar('TMPDIR', d, True) + "/work"
>> +    bad_dirs = [bb.data.getVar('TMPDIR', d, True) + "/work",
>> bb.data.getVar('STAGING_DIR_TARGET', d, True)]
>>       bad_dir_test = bb.data.getVar('TMPDIR', d, True)
>>       if not os.path.exists(scanelf):
>>           bb.fatal("Can not check RPATH, scanelf (part of
>> pax-utils-native) not found")
>>
>> -    if not bad_dir in bb.data.getVar('WORKDIR', d, True):
>> +    if not bad_dirs[0] in bb.data.getVar('WORKDIR', d, True):
>>           bb.fatal("This class assumed that WORKDIR is
>> ${TMPDIR}/work... Not doing any check")
>>
>>       output = os.popen("%s -B -F%%r#F '%s'" % (scanelf,file))
>>       txt    = output.readline().split()
>>       for line in txt:
>> -        if bad_dir in line:
>> -            error_msg = "package %s contains bad RPATH %s in file %s"
>> % (name, line, file)
>> -            sane = package_qa_handle_error(1, error_msg, name, file, d)
>> +        for dir in bad_dirs:
>> +            if dir in line:
>> +                error_msg = "package %s contains bad RPATH %s in file
>> %s" % (name, line, file)
>> +                sane = sane + package_qa_handle_error(1, error_msg,
>> name, file, d)
>>
>>       return sane
>>

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)

iD8DBQFNN0JLMkyGM64RGpERAlmoAKC4ydMPfud8DpW5RZOEtiB+z+o0DACeO2jb
dmskeJB73C+waA899CHri2w=
=q33T
-----END PGP SIGNATURE-----
Koen Kooi - Jan. 20, 2011, 7:10 a.m.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 19-01-11 20:35, Philip Balister wrote:
> On 01/19/2011 11:21 AM, Koen Kooi wrote:
>> * Having rpath to sysroot is just as bad as one to workdir
> 
> When you do a build with this, how many recipes have issues?

Console-image is clean now :)

> 
> Philip
> 
> 
>>
>> Based on insane.bbclass from yocto
>>
>> Signed-off-by: Koen Kooi<koen@openembedded.org>
>> ---
>>   classes/insane.bbclass |   11 ++++++-----
>>   1 files changed, 6 insertions(+), 5 deletions(-)
>>
>> diff --git a/classes/insane.bbclass b/classes/insane.bbclass
>> index 677db27..50752b5 100644
>> --- a/classes/insane.bbclass
>> +++ b/classes/insane.bbclass
>> @@ -160,20 +160,21 @@ def package_qa_check_rpath(file,name,d, elf):
>>       import bb, os
>>       sane = True
>>       scanelf =
>> os.path.join(bb.data.getVar('STAGING_BINDIR_NATIVE',d,True),'scanelf')
>> -    bad_dir = bb.data.getVar('TMPDIR', d, True) + "/work"
>> +    bad_dirs = [bb.data.getVar('TMPDIR', d, True) + "/work",
>> bb.data.getVar('STAGING_DIR_TARGET', d, True)]
>>       bad_dir_test = bb.data.getVar('TMPDIR', d, True)
>>       if not os.path.exists(scanelf):
>>           bb.fatal("Can not check RPATH, scanelf (part of
>> pax-utils-native) not found")
>>
>> -    if not bad_dir in bb.data.getVar('WORKDIR', d, True):
>> +    if not bad_dirs[0] in bb.data.getVar('WORKDIR', d, True):
>>           bb.fatal("This class assumed that WORKDIR is
>> ${TMPDIR}/work... Not doing any check")
>>
>>       output = os.popen("%s -B -F%%r#F '%s'" % (scanelf,file))
>>       txt    = output.readline().split()
>>       for line in txt:
>> -        if bad_dir in line:
>> -            error_msg = "package %s contains bad RPATH %s in file %s"
>> % (name, line, file)
>> -            sane = package_qa_handle_error(1, error_msg, name, file, d)
>> +        for dir in bad_dirs:
>> +            if dir in line:
>> +                error_msg = "package %s contains bad RPATH %s in file
>> %s" % (name, line, file)
>> +                sane = sane + package_qa_handle_error(1, error_msg,
>> name, file, d)
>>
>>       return sane
>>

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)

iD8DBQFNN9/tMkyGM64RGpERAn11AJ9sK9ogzEj85I4/K9GQcuVv5H/3fwCggcuh
yC7f8pPrDqqbunzVJtESnAg=
=W2AG
-----END PGP SIGNATURE-----
Koen Kooi - Jan. 25, 2011, 1:41 p.m.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 20-01-11 08:10, Koen Kooi wrote:
> On 19-01-11 20:35, Philip Balister wrote:
>> On 01/19/2011 11:21 AM, Koen Kooi wrote:
>>> * Having rpath to sysroot is just as bad as one to workdir
> 
>> When you do a build with this, how many recipes have issues?
> 
> Console-image is clean now :)

And angstrom-gnome-image as well, so can I get some Acks or tested-bys
please?

> 
> 
>> Philip
> 
> 
>>>
>>> Based on insane.bbclass from yocto
>>>
>>> Signed-off-by: Koen Kooi<koen@openembedded.org>
>>> ---
>>>   classes/insane.bbclass |   11 ++++++-----
>>>   1 files changed, 6 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/classes/insane.bbclass b/classes/insane.bbclass
>>> index 677db27..50752b5 100644
>>> --- a/classes/insane.bbclass
>>> +++ b/classes/insane.bbclass
>>> @@ -160,20 +160,21 @@ def package_qa_check_rpath(file,name,d, elf):
>>>       import bb, os
>>>       sane = True
>>>       scanelf =
>>> os.path.join(bb.data.getVar('STAGING_BINDIR_NATIVE',d,True),'scanelf')
>>> -    bad_dir = bb.data.getVar('TMPDIR', d, True) + "/work"
>>> +    bad_dirs = [bb.data.getVar('TMPDIR', d, True) + "/work",
>>> bb.data.getVar('STAGING_DIR_TARGET', d, True)]
>>>       bad_dir_test = bb.data.getVar('TMPDIR', d, True)
>>>       if not os.path.exists(scanelf):
>>>           bb.fatal("Can not check RPATH, scanelf (part of
>>> pax-utils-native) not found")
>>>
>>> -    if not bad_dir in bb.data.getVar('WORKDIR', d, True):
>>> +    if not bad_dirs[0] in bb.data.getVar('WORKDIR', d, True):
>>>           bb.fatal("This class assumed that WORKDIR is
>>> ${TMPDIR}/work... Not doing any check")
>>>
>>>       output = os.popen("%s -B -F%%r#F '%s'" % (scanelf,file))
>>>       txt    = output.readline().split()
>>>       for line in txt:
>>> -        if bad_dir in line:
>>> -            error_msg = "package %s contains bad RPATH %s in file %s"
>>> % (name, line, file)
>>> -            sane = package_qa_handle_error(1, error_msg, name, file, d)
>>> +        for dir in bad_dirs:
>>> +            if dir in line:
>>> +                error_msg = "package %s contains bad RPATH %s in file
>>> %s" % (name, line, file)
>>> +                sane = sane + package_qa_handle_error(1, error_msg,
>>> name, file, d)
>>>
>>>       return sane
>>>
> 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)

iD8DBQFNPtMWMkyGM64RGpERAoWvAKC2+GgE7rmeUXUClmBBlAx5WB1dNgCgjGlf
IkvPXdAoZ6J072F/YSctiyE=
=Pndr
-----END PGP SIGNATURE-----
Martin Jansa - Jan. 25, 2011, 2:38 p.m.
On Tue, Jan 25, 2011 at 02:41:42PM +0100, Koen Kooi wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> On 20-01-11 08:10, Koen Kooi wrote:
> > On 19-01-11 20:35, Philip Balister wrote:
> >> On 01/19/2011 11:21 AM, Koen Kooi wrote:
> >>> * Having rpath to sysroot is just as bad as one to workdir
> > 
> >> When you do a build with this, how many recipes have issues?
> > 
> > Console-image is clean now :)
> 
> And angstrom-gnome-image as well, so can I get some Acks or tested-bys
> please?

Acked-by: Martin Jansa <Martin.Jansa@gmail.com>

Regards,
Frans Meulenbroeks - Jan. 25, 2011, 2:40 p.m.
2011/1/25 Koen Kooi <k.kooi@student.utwente.nl>:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 20-01-11 08:10, Koen Kooi wrote:
>> On 19-01-11 20:35, Philip Balister wrote:
>>> On 01/19/2011 11:21 AM, Koen Kooi wrote:
>>>> * Having rpath to sysroot is just as bad as one to workdir
>>
>>> When you do a build with this, how many recipes have issues?
>>
>> Console-image is clean now :)
>
> And angstrom-gnome-image as well, so can I get some Acks or tested-bys
> please?

NAK, I feel other distro's like shr and minimal should be given some
time to test this too. (and fix their issues)
Will try to set something up tonight or tomorrow.

Frans
>
>>
>>
>>> Philip
>>
>>
>>>>
>>>> Based on insane.bbclass from yocto
>>>>
>>>> Signed-off-by: Koen Kooi<koen@openembedded.org>
>>>> ---
>>>>   classes/insane.bbclass |   11 ++++++-----
>>>>   1 files changed, 6 insertions(+), 5 deletions(-)
>>>>
>>>> diff --git a/classes/insane.bbclass b/classes/insane.bbclass
>>>> index 677db27..50752b5 100644
>>>> --- a/classes/insane.bbclass
>>>> +++ b/classes/insane.bbclass
>>>> @@ -160,20 +160,21 @@ def package_qa_check_rpath(file,name,d, elf):
>>>>       import bb, os
>>>>       sane = True
>>>>       scanelf =
>>>> os.path.join(bb.data.getVar('STAGING_BINDIR_NATIVE',d,True),'scanelf')
>>>> -    bad_dir = bb.data.getVar('TMPDIR', d, True) + "/work"
>>>> +    bad_dirs = [bb.data.getVar('TMPDIR', d, True) + "/work",
>>>> bb.data.getVar('STAGING_DIR_TARGET', d, True)]
>>>>       bad_dir_test = bb.data.getVar('TMPDIR', d, True)
>>>>       if not os.path.exists(scanelf):
>>>>           bb.fatal("Can not check RPATH, scanelf (part of
>>>> pax-utils-native) not found")
>>>>
>>>> -    if not bad_dir in bb.data.getVar('WORKDIR', d, True):
>>>> +    if not bad_dirs[0] in bb.data.getVar('WORKDIR', d, True):
>>>>           bb.fatal("This class assumed that WORKDIR is
>>>> ${TMPDIR}/work... Not doing any check")
>>>>
>>>>       output = os.popen("%s -B -F%%r#F '%s'" % (scanelf,file))
>>>>       txt    = output.readline().split()
>>>>       for line in txt:
>>>> -        if bad_dir in line:
>>>> -            error_msg = "package %s contains bad RPATH %s in file %s"
>>>> % (name, line, file)
>>>> -            sane = package_qa_handle_error(1, error_msg, name, file, d)
>>>> +        for dir in bad_dirs:
>>>> +            if dir in line:
>>>> +                error_msg = "package %s contains bad RPATH %s in file
>>>> %s" % (name, line, file)
>>>> +                sane = sane + package_qa_handle_error(1, error_msg,
>>>> name, file, d)
>>>>
>>>>       return sane
>>>>
>>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.5 (Darwin)
>
> iD8DBQFNPtMWMkyGM64RGpERAoWvAKC2+GgE7rmeUXUClmBBlAx5WB1dNgCgjGlf
> IkvPXdAoZ6J072F/YSctiyE=
> =Pndr
> -----END PGP SIGNATURE-----
>
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>
Koen Kooi - Jan. 25, 2011, 2:50 p.m.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 25-01-11 15:40, Frans Meulenbroeks wrote:
> 2011/1/25 Koen Kooi <k.kooi@student.utwente.nl>:
> On 20-01-11 08:10, Koen Kooi wrote:
>>>> On 19-01-11 20:35, Philip Balister wrote:
>>>>> On 01/19/2011 11:21 AM, Koen Kooi wrote:
>>>>>> * Having rpath to sysroot is just as bad as one to workdir
>>>>
>>>>> When you do a build with this, how many recipes have issues?
>>>>
>>>> Console-image is clean now :)
> 
> And angstrom-gnome-image as well, so can I get some Acks or tested-bys
> please?
> 
>> NAK, I feel other distro's like shr and minimal should be given some
>> time to test this too.

Martin has already Acked it, fwiw
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)

iD8DBQFNPuMoMkyGM64RGpERAqb6AJ4kMGJ1alDw/I5JZQ4ktQ8R6tT3+wCfQgDJ
DW0T7/k96XHQKeqGGS+5WXQ=
=QlxQ
-----END PGP SIGNATURE-----
Frans Meulenbroeks - Jan. 25, 2011, 3:31 p.m.
2011/1/25 Koen Kooi <k.kooi@student.utwente.nl>:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 25-01-11 15:40, Frans Meulenbroeks wrote:
>> 2011/1/25 Koen Kooi <k.kooi@student.utwente.nl>:
>> On 20-01-11 08:10, Koen Kooi wrote:
>>>>> On 19-01-11 20:35, Philip Balister wrote:
>>>>>> On 01/19/2011 11:21 AM, Koen Kooi wrote:
>>>>>>> * Having rpath to sysroot is just as bad as one to workdir
>>>>>
>>>>>> When you do a build with this, how many recipes have issues?
>>>>>
>>>>> Console-image is clean now :)
>>
>> And angstrom-gnome-image as well, so can I get some Acks or tested-bys
>> please?
>>
>>> NAK, I feel other distro's like shr and minimal should be given some
>>> time to test this too.
>
> Martin has already Acked it, fwiw tr

Yeah, saw it. Came in at my site just after I pressed send, but
timewise it seems to be 2 minutes earlier.
I'll try to kick off a minimal build this evening (can't do that from
here) and report the results (that'll probably be tomorrow because the
build takes some time). Note that I am not an official minimal
maintainer though, so I cannot ack on behalf of minimal, I can only
give a tested-by

Not sure if other distro's need to have a say too. The only other ones
that seem to have activity are kaeilos (which follows angstrom fairly
closely) and slugos.

Frans
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.5 (Darwin)
>
> iD8DBQFNPuMoMkyGM64RGpERAqb6AJ4kMGJ1alDw/I5JZQ4ktQ8R6tT3+wCfQgDJ
> DW0T7/k96XHQKeqGGS+5WXQ=
> =QlxQ
> -----END PGP SIGNATURE-----
>
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>
Martin Jansa - Jan. 25, 2011, 4:12 p.m.
On Tue, Jan 25, 2011 at 03:50:16PM +0100, Koen Kooi wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> On 25-01-11 15:40, Frans Meulenbroeks wrote:
> > 2011/1/25 Koen Kooi <k.kooi@student.utwente.nl>:
> > On 20-01-11 08:10, Koen Kooi wrote:
> >>>> On 19-01-11 20:35, Philip Balister wrote:
> >>>>> On 01/19/2011 11:21 AM, Koen Kooi wrote:
> >>>>>> * Having rpath to sysroot is just as bad as one to workdir
> >>>>
> >>>>> When you do a build with this, how many recipes have issues?
> >>>>
> >>>> Console-image is clean now :)
> > 
> > And angstrom-gnome-image as well, so can I get some Acks or tested-bys
> > please?
> > 
> >> NAK, I feel other distro's like shr and minimal should be given some
> >> time to test this too.
> 
> Martin has already Acked it, fwiw

Yes, I think that if it says something it's broken then it's broken and
needs to be fixed, haven't seen any false positives with it, that's why
I Acked it.
Frans Meulenbroeks - Jan. 25, 2011, 10:21 p.m.
2011/1/25 Frans Meulenbroeks <fransmeulenbroeks@gmail.com>:
> 2011/1/25 Koen Kooi <k.kooi@student.utwente.nl>:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> On 25-01-11 15:40, Frans Meulenbroeks wrote:
>>> 2011/1/25 Koen Kooi <k.kooi@student.utwente.nl>:
>>> On 20-01-11 08:10, Koen Kooi wrote:
>>>>>> On 19-01-11 20:35, Philip Balister wrote:
>>>>>>> On 01/19/2011 11:21 AM, Koen Kooi wrote:
>>>>>>>> * Having rpath to sysroot is just as bad as one to workdir
>>>>>>
>>>>>>> When you do a build with this, how many recipes have issues?
>>>>>>
>>>>>> Console-image is clean now :)
>>>
>>> And angstrom-gnome-image as well, so can I get some Acks or tested-bys
>>> please?
>>>
>>>> NAK, I feel other distro's like shr and minimal should be given some
>>>> time to test this too.
>>
>> Martin has already Acked it, fwiw tr
>
> Yeah, saw it. Came in at my site just after I pressed send, but
> timewise it seems to be 2 minutes earlier.
> I'll try to kick off a minimal build this evening (can't do that from
> here) and report the results (that'll probably be tomorrow because the
> build takes some time). Note that I am not an official minimal
> maintainer though, so I cannot ack on behalf of minimal, I can only
> give a tested-by
>
> Not sure if other distro's need to have a say too. The only other ones
> that seem to have activity are kaeilos (which follows angstrom fairly
> closely) and slugos.
>
> Frans

Wrt the test: bumped into a few issues with tzcode/tzdata geing out of
date and the git pull needed to push the patches (so I could use them
on the autobuilder) triggered a rebuild of gcc, so didn't get to
starting the test yet.
Will retry tomorrow. Frans.
Frans Meulenbroeks - Jan. 26, 2011, 6:20 p.m.
2011/1/25 Koen Kooi <k.kooi@student.utwente.nl>:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 20-01-11 08:10, Koen Kooi wrote:
>> On 19-01-11 20:35, Philip Balister wrote:
>>> On 01/19/2011 11:21 AM, Koen Kooi wrote:
>>>> * Having rpath to sysroot is just as bad as one to workdir
>>
>>> When you do a build with this, how many recipes have issues?
>>
>> Console-image is clean now :)
>
> And angstrom-gnome-image as well, so can I get some Acks or tested-bys
> please?

Wanted to start testing but apparently this was already pushed 4 days
ago by Khem.
http://cgit.openembedded.org/cgit.cgi/openembedded/commit/classes/insane.bbclass?id=6aa31074adaccffcfd3080e8390065ab5abda2a6

Frans
>
>>
>>
>>> Philip
>>
>>
>>>>
>>>> Based on insane.bbclass from yocto
>>>>
>>>> Signed-off-by: Koen Kooi<koen@openembedded.org>
>>>> ---
>>>>   classes/insane.bbclass |   11 ++++++-----
>>>>   1 files changed, 6 insertions(+), 5 deletions(-)
>>>>
>>>> diff --git a/classes/insane.bbclass b/classes/insane.bbclass
>>>> index 677db27..50752b5 100644
>>>> --- a/classes/insane.bbclass
>>>> +++ b/classes/insane.bbclass
>>>> @@ -160,20 +160,21 @@ def package_qa_check_rpath(file,name,d, elf):
>>>>       import bb, os
>>>>       sane = True
>>>>       scanelf =
>>>> os.path.join(bb.data.getVar('STAGING_BINDIR_NATIVE',d,True),'scanelf')
>>>> -    bad_dir = bb.data.getVar('TMPDIR', d, True) + "/work"
>>>> +    bad_dirs = [bb.data.getVar('TMPDIR', d, True) + "/work",
>>>> bb.data.getVar('STAGING_DIR_TARGET', d, True)]
>>>>       bad_dir_test = bb.data.getVar('TMPDIR', d, True)
>>>>       if not os.path.exists(scanelf):
>>>>           bb.fatal("Can not check RPATH, scanelf (part of
>>>> pax-utils-native) not found")
>>>>
>>>> -    if not bad_dir in bb.data.getVar('WORKDIR', d, True):
>>>> +    if not bad_dirs[0] in bb.data.getVar('WORKDIR', d, True):
>>>>           bb.fatal("This class assumed that WORKDIR is
>>>> ${TMPDIR}/work... Not doing any check")
>>>>
>>>>       output = os.popen("%s -B -F%%r#F '%s'" % (scanelf,file))
>>>>       txt    = output.readline().split()
>>>>       for line in txt:
>>>> -        if bad_dir in line:
>>>> -            error_msg = "package %s contains bad RPATH %s in file %s"
>>>> % (name, line, file)
>>>> -            sane = package_qa_handle_error(1, error_msg, name, file, d)
>>>> +        for dir in bad_dirs:
>>>> +            if dir in line:
>>>> +                error_msg = "package %s contains bad RPATH %s in file
>>>> %s" % (name, line, file)
>>>> +                sane = sane + package_qa_handle_error(1, error_msg,
>>>> name, file, d)
>>>>
>>>>       return sane
>>>>
>>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.5 (Darwin)
>
> iD8DBQFNPtMWMkyGM64RGpERAoWvAKC2+GgE7rmeUXUClmBBlAx5WB1dNgCgjGlf
> IkvPXdAoZ6J072F/YSctiyE=
> =Pndr
> -----END PGP SIGNATURE-----
>
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>

Patch

diff --git a/classes/insane.bbclass b/classes/insane.bbclass
index 677db27..50752b5 100644
--- a/classes/insane.bbclass
+++ b/classes/insane.bbclass
@@ -160,20 +160,21 @@  def package_qa_check_rpath(file,name,d, elf):
     import bb, os
     sane = True
     scanelf = os.path.join(bb.data.getVar('STAGING_BINDIR_NATIVE',d,True),'scanelf')
-    bad_dir = bb.data.getVar('TMPDIR', d, True) + "/work"
+    bad_dirs = [bb.data.getVar('TMPDIR', d, True) + "/work", bb.data.getVar('STAGING_DIR_TARGET', d, True)]
     bad_dir_test = bb.data.getVar('TMPDIR', d, True)
     if not os.path.exists(scanelf):
         bb.fatal("Can not check RPATH, scanelf (part of pax-utils-native) not found")
 
-    if not bad_dir in bb.data.getVar('WORKDIR', d, True):
+    if not bad_dirs[0] in bb.data.getVar('WORKDIR', d, True):
         bb.fatal("This class assumed that WORKDIR is ${TMPDIR}/work... Not doing any check")
 
     output = os.popen("%s -B -F%%r#F '%s'" % (scanelf,file))
     txt    = output.readline().split()
     for line in txt:
-        if bad_dir in line:
-            error_msg = "package %s contains bad RPATH %s in file %s" % (name, line, file)
-            sane = package_qa_handle_error(1, error_msg, name, file, d)
+        for dir in bad_dirs:
+            if dir in line:
+                error_msg = "package %s contains bad RPATH %s in file %s" % (name, line, file)
+                sane = sane + package_qa_handle_error(1, error_msg, name, file, d)
 
     return sane