Here's a patch series for unpacker.eclass that does the following:

- add tests for unpacking various file formats
- fix handling broken/invalid `.zst` and `.7z` files
- use lowercase suffixes everywhere consistently
- add support for `.lz4` and `.lzo`
- add support for on-the-fly unpacking of the image archive from `.gpkg.tar`
- use parallel xz decompression (by @thesamesam)
- support lbzip2 if available
- fix handling `.deb` that use GNU ar format
- unpack `.deb` on-the-fly (i.e. without temporary files)

Also available as PR: https://github.com/gentoo/gentoo/pull/27431

Please review.

Michał Górny (14):
  eclass/tests: Add tests for unpacker.eclass
  unpacker.eclass: Remove `-f` from zstd arguments
  unpacker.eclass: Fix unpack_7z to respect the exit status
  unpacker.eclass: Remove support for EAPI 5
  unpacker.eclass: Use bash substitution instead of tr for lowercase
  unpacker.eclass: Use lowercase in unpacker_src_uri_depends
  unpacker.eclass: Remove uppercase RAR/LHA variants
  unpacker.eclass: Move decompressor recognition into a function
  unpacker.eclass: Add support for .lz4 and .lzo compression
  unpacker.eclass: Add on-the-fly .gpkg.tar unpacking support
  sys-kernel/gentoo-kernel-bin: Use unpacker.eclass for .gpkg.tar
  unpacker.eclass: Support lbzip2 as parallel bz2 decompressor
  unpacker.eclass: Fix handling GNU ar archives in hand-weaved impl
  unpacker.eclass: Unpack .deb packages on-the-fly as well

Sam James (1):
  unpacker.eclass: decompress xz in parallel

 eclass/tests/tests-common.sh                  |   7 +
 eclass/tests/unpacker.sh                      | 291 ++++++++++++++++++
 eclass/unpacker.eclass                        | 179 +++++++----
 .../gentoo-kernel-bin-5.19.11.ebuild          |  17 +-
 4 files changed, 428 insertions(+), 66 deletions(-)
 create mode 100755 eclass/tests/unpacker.sh


Reply via email to