Re: [docs] [yocto] How to unpack a .tgz archive in a .zip file?


Michael Opdenacker
 

Hi Quentin,

Thanks for the advice!

On 1/11/22 7:46 PM, Quentin Schulz wrote:
Hi Michael,

On January 11, 2022 11:38:06 AM GMT+01:00, Michael Opdenacker <michael.opdenacker@...> wrote:
Hello

I'm working on adding the wiki guidelines for dealing with pre-compiled
libraries
(https://wiki.yoctoproject.org/wiki/TipsAndTricks/Packaging_Prebuilt_Libraries#Versioned_Libraries)
into the main documentation.

I'm trying to test the example recipe, but the latest pre-compiled
versions of libft4422.so are now available in
https://ftdichip.com/wp-content/uploads/2021/01/libft4222-linux-1.4.4.44.zip,
which actually contains a .tgz file!

I know that's absurd, but how would you handle this case? Through a
custom "do_unpack" task in the recipe?
IMO that makes it unsuitable for the docs as we strive to have "simple" examples and having some custom unpack task seems a bit too much to me. Anyway, just my 2ยข and I don't have any other prebuilt lib to suggest as replacement right now.

Right, I was thinking of leaving this aside, and just working with a
local archive instead, as fetching the files is not the primary concern
here.


Back to the topic:
I think you could have an :append for do_unpack and probably call oe_unpack ( https://github.com/openembedded/openembedded/blob/fabd8e6d07d3cd0cc93c2a0fc804f8c8f316c649/classes/base.bbclass#L158) on this specific file (after it's been unzipped), or even call unpack_file from the OE libs directly ( https://github.com/openembedded/openembedded/blob/fabd8e6d07d3cd0cc93c2a0fc804f8c8f316c649/lib/oe/unpack.py#L50) like oe_unpack is doing. Be aware though that since it is a Python task, your :append shall be Python code too.

Maybe there's another way but I don't see it right now.

Many thanks. It's good to have this idea at least documented in the
mailing list archives. That's good for my own understanding too. I
didn't think about appends.
Thanks again
Michael.

--
Michael Opdenacker, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

Join yocto@lists.yoctoproject.org to automatically receive all group messages.