[Reproducible-builds] Bug#829738: tar: --no-recursion option is ignored when creating archives

Aurelien Jarno aurel32 at debian.org
Tue Jul 5 17:13:58 UTC 2016

Package: tar
Version: 1.29-1
Severity: important

Recent versions of tar ignore the --no-recursion option when creating an
archive. Here is a small example, where the file 'b' appears twice in
the created tar:

$ mkdir a
$ touch a/b
$ find a -print0 | tar -c --null -T - --no-recursion -f test.tar
$ tar tvf test.tar
drwxr-xr-x aurel32/aurel32   0 2016-07-05 16:15 a/
-rw-r--r-- aurel32/aurel32   0 2016-07-05 16:15 a/b
-rw-r--r-- aurel32/aurel32   0 2016-07-05 16:15 a/b

It seems to have been introduced by the following change in version

   * patch from upstream to fix --files-from and recursive extract,
     closes: #800380

As this is the recommended way to create a tarball by the reproducible
build team, this causes a lot of space waste in the debian archive and
on the users disks. Note that this way of creating archive is also
described in the tar documentation:


-- System Information:
Debian Release: stretch/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.6.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages tar depends on:
ii  libacl1      2.2.52-3
ii  libc6        2.23-1
ii  libselinux1  2.5-3

tar recommends no packages.

Versions of packages tar suggests:
ii  bzip2        1.0.6-8
pn  ncompress    <none>
pn  tar-scripts  <none>
ii  xz-utils     5.1.1alpha+20120614-2.1

-- no debconf information

More information about the Reproducible-builds mailing list