[oe] [PATCH, RFC]: automatically depend xz compressed URIs on xz-native [was: Re: bitbake: staging of binary over symlink breaks sysroot (lzma x xz)]

Bernhard Reutner-Fischer rep.dot.nop at gmail.com
Mon Aug 2 18:20:44 UTC 2010


On Mon, Aug 02, 2010 at 11:13:43AM -0700, Khem Raj wrote:
>On (02/08/10 20:07), Bernhard Reutner-Fischer wrote:
>> On Mon, Aug 02, 2010 at 10:49:10AM -0700, Khem Raj wrote:
>> >On (02/08/10 19:13), Bernhard Reutner-Fischer wrote:
>> >> On Wed, Jul 28, 2010 at 04:32:08PM +0200, Bernhard Reutner-Fischer wrote:
>> >> >On Wed, Jul 28, 2010 at 04:06:13PM +0200, Bernhard Reutner-Fischer wrote:
>> >> >>On Wed, Jul 28, 2010 at 03:39:33PM +0200, Marco Cavallini wrote:
>> >> >>>Stanislav Brabec ha scritto, Il 28/07/2010 11:30:
>> >> 
>> >> comments on the attached RFC patch?
>> >> TIA,
>> >
>> >-snip-
>> >> @@ -420,12 +424,16 @@ python () {
>> >>  
>> >>      # unzip-native should already be staged before unpacking ZIP recipes
>> >>      need_unzip = bb.data.getVar('NEED_UNZIP_FOR_UNPACK', d, 1)
>> >> -    src_uri = bb.data.getVar('SRC_URI', d, 1)
>> >>  
>> >> -    if ".zip" in src_uri or need_unzip == "1":
>> >> +    if ".zip" in srcuri or need_unzip == "1":
>> >>          depends = bb.data.getVarFlag('do_unpack', 'depends', d) or ""
>> >>          depends = depends + " unzip-native:do_populate_sysroot"
>> >>          bb.data.setVarFlag('do_unpack', 'depends', depends, d)
>> >> +    for ext in ['xz']: #['gzip', 'bzip2', 'xz']:
>> >> +        if '.' + ext in srcuri:
>> >> +            depends = bb.data.getVarFlag('do_unpack', 'depends', d) or ""
>> >> +            depends += ' ' + ext + '-native:do_populate_sysroot'
>> >> +            bb.data.setVarFlag('do_unpack', 'depends', depends, d)
>> >
>> >what does above hunk do.
>> 
>> srcuri=proto://some.thing.tar.xz
>> if ".xz" in srcuri then depend do_unpack on '
>> xz-native:do_populate_sysroot'
>> 
>> Re-reading the hunk it should better read:
>>   import re
>>   for (ext,tool) in [('xz','xz')]: # ('gz','gzip'),('bz','bzip2')
>                                     ^
>
>that will turn the rest into comment is that ok ?          

I didn't try the other two, so yes, it's ok.
Feedback on doing the same for bzip2 is welcome but keep in
mind that you _need_ gzip (or busybox with gz decompressor) on the host
to unpack bzip2.tar.gz.

>
>>     rex = re.compile('.*\.' + ext + '$')
>>     if rex.match(srcuri):
>>       depends = bb.data.getVarFlag('do_unpack', 'depends', d) or ""
>>       depends += ' ' + tool + '-native:do_populate_sysroot'
>>       bb.data.setVarFlag('do_unpack', 'depends', depends, d)
>> 
>> >in general approach looks ok to me. It would be nice that while you are at
>> >it other packages which are needed early like git etc can use this approach
>> >as well.
>> 
>> Agree. One step at a time, let's first handle the unpackers though, k?
>> 
>
>yes however I wanted to keep this in notice.




More information about the Openembedded-devel mailing list