>>>>> On Sat, 06 Dec 2014, Zac Medico wrote:

> The PMS people should be *very* interested in any changes to unpack
> behavior like this. It supports behavior that will lead to failures for
> older versions of portage and other package managers.

Some remarks:

- The upstream deb2targz program supports only data.tar.gz. Only the
  Gentoo version has been patched up to support other file types.

- There is only a single package in the tree with a dependency on
  app-arch/deb2targz, and this only on AIX [1]. So on most users'
  systems deb2targz will not be installed, and "ar x" will be used for
  unpacking.

- Paludis and Pkgcore unconditionally use "ar x" for unpacking.

- PMS says [2]:

     deb packages (*.deb). Ebuilds must ensure that the deb2targz
     program is installed on those platforms where the GNU binutils
     ar program is not available and the installed ar program is
     incompatible with GNU archives. Otherwise, ebuilds must ensure
     that GNU binutils is installed.

  One could conclude that GNU binutils ar should be used on platforms
  where it is available. deb2targz should be used only where ar is
  incompatible with the GNU version.

So in any case, this is a problem of Portage only. I'd suggest to
change the logic in unpack() as follows:

    if <ar is GNU>; then
        ar x ...
    elif <deb2targz installed>; then
        deb2targz ...
    else
        ar x ...
    fi

And then the deb2targz case could be patched as proposed. After all,
it is only a fallback that should be compatible with "ar x"
extraction.

Ulrich

[1] http://qa-reports.gentoo.org/output/genrdeps/dindex/app-arch/deb2targz
[2] http://dev.gentoo.org/~ulm/pms/5/pms.html#x1-14100011.3.3.13

Attachment: pgph26utPMmUN.pgp
Description: PGP signature

Reply via email to