• [gentoo-dev] [PATCH 15/15] unpacker.eclass: Unpack .deb packages on-the

    From =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?@21:1/5 to All on Sun Sep 25 20:30:02 2022
    Signed-off-by: Michał Górny <mgorny@gentoo.org>
    ---
    eclass/unpacker.eclass | 60 +++++++++++++++++++++++-------------------
    1 file changed, 33 insertions(+), 27 deletions(-)

    diff --git a/eclass/unpacker.eclass b/eclass/unpacker.eclass
    index 100f11428622..3d23151b636e 100644
    --- a/eclass/unpacker.eclass
    +++ b/eclass/unpacker.eclass
    @@ -273,33 +273,39 @@ unpack_deb() {

    unpack_banner "${deb}"

    - # on AIX ar doesn't work out as their ar used a different format
    - # from what GNU ar (and thus what .deb files) produce
    - if [[ -n ${EPREFIX} ]] ; then
    - {
    - read # global header
    - [[ ${REPLY} = "!<arch>" ]] || die "${deb} does not seem to be a deb archive"
    - local f timestamp uid gid mode size magic
    - while read f timestamp uid gid mode size magic ; do
    - [[ -n ${f} && -n ${size} ]] || continue # ignore empty lines
    - # GNU ar uses / as filename terminator (and .deb permits that)
    - f=${f%/}
    - if [[ ${f} = "data.tar"* ]] ; then
    - head -c "${size}" > "${f}"
    - else
    - head -c "${size}" > /dev/null # trash it