[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