Raspbian Package Auto-Building

Build log for tar (1.34+dfsg-1+deb11u1) on armhf

tar1.34+dfsg-1+deb11u1armhf → 2024-02-10 22:34:05

sbuild (Debian sbuild) 0.72.0 (25 Oct 2016) on mb-lxc-02

+==============================================================================+
| tar 1.34+dfsg-1+deb11u1 (armhf)              Sat, 10 Feb 2024 22:24:54 +0000 |
+==============================================================================+

Package: tar
Version: 1.34+dfsg-1+deb11u1
Source Version: 1.34+dfsg-1+deb11u1
Distribution: bullseye-staging
Machine Architecture: armhf
Host Architecture: armhf
Build Architecture: armhf

I: NOTICE: Log filtering will replace 'var/lib/schroot/mount/bullseye-staging-armhf-sbuild-d4b2014a-7b33-4ae6-b175-35f089c33491' with '<<CHROOT>>'

+------------------------------------------------------------------------------+
| Update chroot                                                                |
+------------------------------------------------------------------------------+

Get:1 http://172.17.4.1/private bullseye-staging InRelease [11.3 kB]
Get:2 http://172.17.4.1/private bullseye-staging/main Sources [12.2 MB]
Get:3 http://172.17.4.1/private bullseye-staging/main armhf Packages [13.2 MB]
Fetched 25.5 MB in 9s (2848 kB/s)
Reading package lists...
W: No sandbox user '_apt' on the system, can not drop privileges

+------------------------------------------------------------------------------+
| Fetch source files                                                           |
+------------------------------------------------------------------------------+


Check APT
---------

Checking available source versions...

Download source files with APT
------------------------------

Reading package lists...
NOTICE: 'tar' packaging is maintained in the 'Git' version control system at:
https://salsa.debian.org/debian/tar.git
Please use:
git clone https://salsa.debian.org/debian/tar.git
to retrieve the latest (possibly unreleased) updates to the package.
Need to get 2004 kB of source archives.
Get:1 http://172.17.4.1/private bullseye-staging/main tar 1.34+dfsg-1+deb11u1 (dsc) [2177 B]
Get:2 http://172.17.4.1/private bullseye-staging/main tar 1.34+dfsg-1+deb11u1 (tar) [1982 kB]
Get:3 http://172.17.4.1/private bullseye-staging/main tar 1.34+dfsg-1+deb11u1 (diff) [20.3 kB]
Fetched 2004 kB in 0s (4016 kB/s)
Download complete and in download only mode
I: NOTICE: Log filtering will replace 'build/tar-K1z3Kq/tar-1.34+dfsg' with '<<PKGBUILDDIR>>'
I: NOTICE: Log filtering will replace 'build/tar-K1z3Kq' with '<<BUILDDIR>>'

+------------------------------------------------------------------------------+
| Install build-essential                                                      |
+------------------------------------------------------------------------------+


Setup apt archive
-----------------

Merged Build-Depends: build-essential, fakeroot
Filtered Build-Depends: build-essential, fakeroot
dpkg-deb: building package 'sbuild-build-depends-core-dummy' in '/<<BUILDDIR>>/resolver-7qoYHq/apt_archive/sbuild-build-depends-core-dummy.deb'.
dpkg-scanpackages: warning: Packages in archive but missing from override file:
dpkg-scanpackages: warning:   sbuild-build-depends-core-dummy
dpkg-scanpackages: info: Wrote 1 entries to output Packages file.
gpg: keybox '/<<BUILDDIR>>/resolver-7qoYHq/gpg/pubring.kbx' created
gpg: /<<BUILDDIR>>/resolver-7qoYHq/gpg/trustdb.gpg: trustdb created
gpg: key 37145E60F90AF620: public key "Sbuild Signer (Sbuild Build Dependency Archive Key) <buildd-tools-devel@lists.alioth.debian.org>" imported
gpg: Total number processed: 1
gpg:               imported: 1
gpg: key 37145E60F90AF620: "Sbuild Signer (Sbuild Build Dependency Archive Key) <buildd-tools-devel@lists.alioth.debian.org>" not changed
gpg: key 37145E60F90AF620: secret key imported
gpg: Total number processed: 1
gpg:              unchanged: 1
gpg:       secret keys read: 1
gpg:   secret keys imported: 1
gpg: using "Sbuild Signer" as default secret key for signing
Ign:1 copy:/<<BUILDDIR>>/resolver-7qoYHq/apt_archive ./ InRelease
Get:2 copy:/<<BUILDDIR>>/resolver-7qoYHq/apt_archive ./ Release [957 B]
Get:3 copy:/<<BUILDDIR>>/resolver-7qoYHq/apt_archive ./ Release.gpg [370 B]
Get:4 copy:/<<BUILDDIR>>/resolver-7qoYHq/apt_archive ./ Sources [349 B]
Get:5 copy:/<<BUILDDIR>>/resolver-7qoYHq/apt_archive ./ Packages [433 B]
Fetched 2109 B in 0s (11.0 kB/s)
Reading package lists...
W: No sandbox user '_apt' on the system, can not drop privileges
Reading package lists...

Install core build dependencies (apt-based resolver)
----------------------------------------------------

Installing build dependencies
Reading package lists...
Building dependency tree...
Reading state information...
The following packages were automatically installed and are no longer required:
  bsdextrautils libnss-nis libnss-nisplus libpam-cap netbase sensible-utils
Use 'apt autoremove' to remove them.
The following NEW packages will be installed:
  sbuild-build-depends-core-dummy
0 upgraded, 1 newly installed, 0 to remove and 71 not upgraded.
Need to get 852 B of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 copy:/<<BUILDDIR>>/resolver-7qoYHq/apt_archive ./ sbuild-build-depends-core-dummy 0.invalid.0 [852 B]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 852 B in 0s (71.7 kB/s)
Selecting previously unselected package sbuild-build-depends-core-dummy.
(Reading database ... 12565 files and directories currently installed.)
Preparing to unpack .../sbuild-build-depends-core-dummy_0.invalid.0_armhf.deb ...
Unpacking sbuild-build-depends-core-dummy (0.invalid.0) ...
Setting up sbuild-build-depends-core-dummy (0.invalid.0) ...
W: No sandbox user '_apt' on the system, can not drop privileges

+------------------------------------------------------------------------------+
| Check architectures                                                          |
+------------------------------------------------------------------------------+

Arch check ok (armhf included in any)

+------------------------------------------------------------------------------+
| Install package build dependencies                                           |
+------------------------------------------------------------------------------+


Setup apt archive
-----------------

Merged Build-Depends: debhelper (>> 10), gettext, autoconf, automake, autopoint, bison, libacl1-dev, libselinux1-dev
Filtered Build-Depends: debhelper (>> 10), gettext, autoconf, automake, autopoint, bison, libacl1-dev, libselinux1-dev
dpkg-deb: building package 'sbuild-build-depends-tar-dummy' in '/<<BUILDDIR>>/resolver-7qoYHq/apt_archive/sbuild-build-depends-tar-dummy.deb'.
dpkg-scanpackages: warning: Packages in archive but missing from override file:
dpkg-scanpackages: warning:   sbuild-build-depends-core-dummy sbuild-build-depends-tar-dummy
dpkg-scanpackages: info: Wrote 2 entries to output Packages file.
gpg: using "Sbuild Signer" as default secret key for signing
Ign:1 copy:/<<BUILDDIR>>/resolver-7qoYHq/apt_archive ./ InRelease
Get:2 copy:/<<BUILDDIR>>/resolver-7qoYHq/apt_archive ./ Release [963 B]
Get:3 copy:/<<BUILDDIR>>/resolver-7qoYHq/apt_archive ./ Release.gpg [370 B]
Get:4 copy:/<<BUILDDIR>>/resolver-7qoYHq/apt_archive ./ Sources [534 B]
Get:5 copy:/<<BUILDDIR>>/resolver-7qoYHq/apt_archive ./ Packages [610 B]
Fetched 2477 B in 0s (12.8 kB/s)
Reading package lists...
W: No sandbox user '_apt' on the system, can not drop privileges
Reading package lists...

Install tar build dependencies (apt-based resolver)
---------------------------------------------------

Installing build dependencies
Reading package lists...
Building dependency tree...
Reading state information...
The following packages were automatically installed and are no longer required:
  libnss-nis libnss-nisplus libpam-cap netbase
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
  autoconf automake autopoint autotools-dev bison debhelper dh-autoreconf
  dh-strip-nondeterminism dwz file gettext gettext-base groff-base
  intltool-debian libacl1-dev libarchive-zip-perl libattr1-dev
  libdebhelper-perl libelf1 libfile-stripnondeterminism-perl libicu67
  libmagic-mgc libmagic1 libpcre2-16-0 libpcre2-32-0 libpcre2-8-0 libpcre2-dev
  libpcre2-posix2 libpipeline1 libselinux1-dev libsepol1-dev libsigsegv2
  libsub-override-perl libtool libuchardet0 libxml2 m4 man-db po-debconf
Suggested packages:
  autoconf-archive gnu-standards autoconf-doc bison-doc dh-make gettext-doc
  libasprintf-dev libgettextpo-dev groff libtool-doc gfortran
  | fortran95-compiler gcj-jdk m4-doc apparmor less www-browser
  libmail-box-perl
Recommended packages:
  curl | wget | lynx libarchive-cpio-perl libltdl-dev libmail-sendmail-perl
The following NEW packages will be installed:
  autoconf automake autopoint autotools-dev bison debhelper dh-autoreconf
  dh-strip-nondeterminism dwz file gettext gettext-base groff-base
  intltool-debian libacl1-dev libarchive-zip-perl libattr1-dev
  libdebhelper-perl libelf1 libfile-stripnondeterminism-perl libicu67
  libmagic-mgc libmagic1 libpcre2-16-0 libpcre2-32-0 libpcre2-dev
  libpcre2-posix2 libpipeline1 libselinux1-dev libsepol1-dev libsigsegv2
  libsub-override-perl libtool libuchardet0 libxml2 m4 man-db po-debconf
  sbuild-build-depends-tar-dummy
The following packages will be upgraded:
  libpcre2-8-0
1 upgraded, 39 newly installed, 0 to remove and 70 not upgraded.
Need to get 20.3 MB of archives.
After this operation, 72.8 MB of additional disk space will be used.
Get:1 copy:/<<BUILDDIR>>/resolver-7qoYHq/apt_archive ./ sbuild-build-depends-tar-dummy 0.invalid.0 [896 B]
Get:2 http://172.17.4.1/private bullseye-staging/main armhf libuchardet0 armhf 0.0.7-1 [65.0 kB]
Get:3 http://172.17.4.1/private bullseye-staging/main armhf groff-base armhf 1.22.4-6 [793 kB]
Get:4 http://172.17.4.1/private bullseye-staging/main armhf libpipeline1 armhf 1.5.3-1 [29.9 kB]
Get:5 http://172.17.4.1/private bullseye-staging/main armhf man-db armhf 2.9.4-2 [1307 kB]
Get:6 http://172.17.4.1/private bullseye-staging/main armhf libpcre2-8-0 armhf 10.36-2+deb11u1 [210 kB]
Get:7 http://172.17.4.1/private bullseye-staging/main armhf libmagic-mgc armhf 1:5.39-3+deb11u1 [273 kB]
Get:8 http://172.17.4.1/private bullseye-staging/main armhf libmagic1 armhf 1:5.39-3+deb11u1 [119 kB]
Get:9 http://172.17.4.1/private bullseye-staging/main armhf file armhf 1:5.39-3+deb11u1 [68.1 kB]
Get:10 http://172.17.4.1/private bullseye-staging/main armhf gettext-base armhf 0.21-4 [171 kB]
Get:11 http://172.17.4.1/private bullseye-staging/main armhf libsigsegv2 armhf 2.13-1 [34.3 kB]
Get:12 http://172.17.4.1/private bullseye-staging/main armhf m4 armhf 1.4.18-5 [186 kB]
Get:13 http://172.17.4.1/private bullseye-staging/main armhf autoconf all 2.69-14 [313 kB]
Get:14 http://172.17.4.1/private bullseye-staging/main armhf autotools-dev all 20180224.1+nmu1 [77.1 kB]
Get:15 http://172.17.4.1/private bullseye-staging/main armhf automake all 1:1.16.3-2 [814 kB]
Get:16 http://172.17.4.1/private bullseye-staging/main armhf autopoint all 0.21-4 [510 kB]
Get:17 http://172.17.4.1/private bullseye-staging/main armhf bison armhf 2:3.7.5+dfsg-1 [1047 kB]
Get:18 http://172.17.4.1/private bullseye-staging/main armhf libdebhelper-perl all 13.3.4 [189 kB]
Get:19 http://172.17.4.1/private bullseye-staging/main armhf libtool all 2.4.6-15 [513 kB]
Get:20 http://172.17.4.1/private bullseye-staging/main armhf dh-autoreconf all 20 [17.1 kB]
Get:21 http://172.17.4.1/private bullseye-staging/main armhf libarchive-zip-perl all 1.68-1 [104 kB]
Get:22 http://172.17.4.1/private bullseye-staging/main armhf libsub-override-perl all 0.09-2 [10.2 kB]
Get:23 http://172.17.4.1/private bullseye-staging/main armhf libfile-stripnondeterminism-perl all 1.12.0-1 [26.3 kB]
Get:24 http://172.17.4.1/private bullseye-staging/main armhf dh-strip-nondeterminism all 1.12.0-1 [15.4 kB]
Get:25 http://172.17.4.1/private bullseye-staging/main armhf libelf1 armhf 0.183-1 [161 kB]
Get:26 http://172.17.4.1/private bullseye-staging/main armhf dwz armhf 0.13+20210201-1 [164 kB]
Get:27 http://172.17.4.1/private bullseye-staging/main armhf libicu67 armhf 67.1-7 [8291 kB]
Get:28 http://172.17.4.1/private bullseye-staging/main armhf libxml2 armhf 2.9.10+dfsg-6.7+deb11u4 [581 kB]
Get:29 http://172.17.4.1/private bullseye-staging/main armhf gettext armhf 0.21-4 [1215 kB]
Get:30 http://172.17.4.1/private bullseye-staging/main armhf intltool-debian all 0.35.0+20060710.5 [26.8 kB]
Get:31 http://172.17.4.1/private bullseye-staging/main armhf po-debconf all 1.0.21+nmu1 [248 kB]
Get:32 http://172.17.4.1/private bullseye-staging/main armhf debhelper all 13.3.4 [1049 kB]
Get:33 http://172.17.4.1/private bullseye-staging/main armhf libattr1-dev armhf 1:2.4.48-6 [34.0 kB]
Get:34 http://172.17.4.1/private bullseye-staging/main armhf libacl1-dev armhf 2.2.53-10 [89.9 kB]
Get:35 http://172.17.4.1/private bullseye-staging/main armhf libpcre2-16-0 armhf 10.36-2+deb11u1 [198 kB]
Get:36 http://172.17.4.1/private bullseye-staging/main armhf libpcre2-32-0 armhf 10.36-2+deb11u1 [188 kB]
Get:37 http://172.17.4.1/private bullseye-staging/main armhf libpcre2-posix2 armhf 10.36-2+deb11u1 [48.7 kB]
Get:38 http://172.17.4.1/private bullseye-staging/main armhf libpcre2-dev armhf 10.36-2+deb11u1 [627 kB]
Get:39 http://172.17.4.1/private bullseye-staging/main armhf libsepol1-dev armhf 3.1-1 [308 kB]
Get:40 http://172.17.4.1/private bullseye-staging/main armhf libselinux1-dev armhf 3.1-3 [156 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 20.3 MB in 2s (9144 kB/s)
Selecting previously unselected package libuchardet0:armhf.
(Reading database ... 12565 files and directories currently installed.)
Preparing to unpack .../libuchardet0_0.0.7-1_armhf.deb ...
Unpacking libuchardet0:armhf (0.0.7-1) ...
Selecting previously unselected package groff-base.
Preparing to unpack .../groff-base_1.22.4-6_armhf.deb ...
Unpacking groff-base (1.22.4-6) ...
Selecting previously unselected package libpipeline1:armhf.
Preparing to unpack .../libpipeline1_1.5.3-1_armhf.deb ...
Unpacking libpipeline1:armhf (1.5.3-1) ...
Selecting previously unselected package man-db.
Preparing to unpack .../man-db_2.9.4-2_armhf.deb ...
Unpacking man-db (2.9.4-2) ...
Preparing to unpack .../libpcre2-8-0_10.36-2+deb11u1_armhf.deb ...
Unpacking libpcre2-8-0:armhf (10.36-2+deb11u1) over (10.36-2) ...
Setting up libpcre2-8-0:armhf (10.36-2+deb11u1) ...
Selecting previously unselected package libmagic-mgc.
(Reading database ... 13107 files and directories currently installed.)
Preparing to unpack .../00-libmagic-mgc_1%3a5.39-3+deb11u1_armhf.deb ...
Unpacking libmagic-mgc (1:5.39-3+deb11u1) ...
Selecting previously unselected package libmagic1:armhf.
Preparing to unpack .../01-libmagic1_1%3a5.39-3+deb11u1_armhf.deb ...
Unpacking libmagic1:armhf (1:5.39-3+deb11u1) ...
Selecting previously unselected package file.
Preparing to unpack .../02-file_1%3a5.39-3+deb11u1_armhf.deb ...
Unpacking file (1:5.39-3+deb11u1) ...
Selecting previously unselected package gettext-base.
Preparing to unpack .../03-gettext-base_0.21-4_armhf.deb ...
Unpacking gettext-base (0.21-4) ...
Selecting previously unselected package libsigsegv2:armhf.
Preparing to unpack .../04-libsigsegv2_2.13-1_armhf.deb ...
Unpacking libsigsegv2:armhf (2.13-1) ...
Selecting previously unselected package m4.
Preparing to unpack .../05-m4_1.4.18-5_armhf.deb ...
Unpacking m4 (1.4.18-5) ...
Selecting previously unselected package autoconf.
Preparing to unpack .../06-autoconf_2.69-14_all.deb ...
Unpacking autoconf (2.69-14) ...
Selecting previously unselected package autotools-dev.
Preparing to unpack .../07-autotools-dev_20180224.1+nmu1_all.deb ...
Unpacking autotools-dev (20180224.1+nmu1) ...
Selecting previously unselected package automake.
Preparing to unpack .../08-automake_1%3a1.16.3-2_all.deb ...
Unpacking automake (1:1.16.3-2) ...
Selecting previously unselected package autopoint.
Preparing to unpack .../09-autopoint_0.21-4_all.deb ...
Unpacking autopoint (0.21-4) ...
Selecting previously unselected package bison.
Preparing to unpack .../10-bison_2%3a3.7.5+dfsg-1_armhf.deb ...
Unpacking bison (2:3.7.5+dfsg-1) ...
Selecting previously unselected package libdebhelper-perl.
Preparing to unpack .../11-libdebhelper-perl_13.3.4_all.deb ...
Unpacking libdebhelper-perl (13.3.4) ...
Selecting previously unselected package libtool.
Preparing to unpack .../12-libtool_2.4.6-15_all.deb ...
Unpacking libtool (2.4.6-15) ...
Selecting previously unselected package dh-autoreconf.
Preparing to unpack .../13-dh-autoreconf_20_all.deb ...
Unpacking dh-autoreconf (20) ...
Selecting previously unselected package libarchive-zip-perl.
Preparing to unpack .../14-libarchive-zip-perl_1.68-1_all.deb ...
Unpacking libarchive-zip-perl (1.68-1) ...
Selecting previously unselected package libsub-override-perl.
Preparing to unpack .../15-libsub-override-perl_0.09-2_all.deb ...
Unpacking libsub-override-perl (0.09-2) ...
Selecting previously unselected package libfile-stripnondeterminism-perl.
Preparing to unpack .../16-libfile-stripnondeterminism-perl_1.12.0-1_all.deb ...
Unpacking libfile-stripnondeterminism-perl (1.12.0-1) ...
Selecting previously unselected package dh-strip-nondeterminism.
Preparing to unpack .../17-dh-strip-nondeterminism_1.12.0-1_all.deb ...
Unpacking dh-strip-nondeterminism (1.12.0-1) ...
Selecting previously unselected package libelf1:armhf.
Preparing to unpack .../18-libelf1_0.183-1_armhf.deb ...
Unpacking libelf1:armhf (0.183-1) ...
Selecting previously unselected package dwz.
Preparing to unpack .../19-dwz_0.13+20210201-1_armhf.deb ...
Unpacking dwz (0.13+20210201-1) ...
Selecting previously unselected package libicu67:armhf.
Preparing to unpack .../20-libicu67_67.1-7_armhf.deb ...
Unpacking libicu67:armhf (67.1-7) ...
Selecting previously unselected package libxml2:armhf.
Preparing to unpack .../21-libxml2_2.9.10+dfsg-6.7+deb11u4_armhf.deb ...
Unpacking libxml2:armhf (2.9.10+dfsg-6.7+deb11u4) ...
Selecting previously unselected package gettext.
Preparing to unpack .../22-gettext_0.21-4_armhf.deb ...
Unpacking gettext (0.21-4) ...
Selecting previously unselected package intltool-debian.
Preparing to unpack .../23-intltool-debian_0.35.0+20060710.5_all.deb ...
Unpacking intltool-debian (0.35.0+20060710.5) ...
Selecting previously unselected package po-debconf.
Preparing to unpack .../24-po-debconf_1.0.21+nmu1_all.deb ...
Unpacking po-debconf (1.0.21+nmu1) ...
Selecting previously unselected package debhelper.
Preparing to unpack .../25-debhelper_13.3.4_all.deb ...
Unpacking debhelper (13.3.4) ...
Selecting previously unselected package libattr1-dev:armhf.
Preparing to unpack .../26-libattr1-dev_1%3a2.4.48-6_armhf.deb ...
Unpacking libattr1-dev:armhf (1:2.4.48-6) ...
Selecting previously unselected package libacl1-dev:armhf.
Preparing to unpack .../27-libacl1-dev_2.2.53-10_armhf.deb ...
Unpacking libacl1-dev:armhf (2.2.53-10) ...
Selecting previously unselected package libpcre2-16-0:armhf.
Preparing to unpack .../28-libpcre2-16-0_10.36-2+deb11u1_armhf.deb ...
Unpacking libpcre2-16-0:armhf (10.36-2+deb11u1) ...
Selecting previously unselected package libpcre2-32-0:armhf.
Preparing to unpack .../29-libpcre2-32-0_10.36-2+deb11u1_armhf.deb ...
Unpacking libpcre2-32-0:armhf (10.36-2+deb11u1) ...
Selecting previously unselected package libpcre2-posix2:armhf.
Preparing to unpack .../30-libpcre2-posix2_10.36-2+deb11u1_armhf.deb ...
Unpacking libpcre2-posix2:armhf (10.36-2+deb11u1) ...
Selecting previously unselected package libpcre2-dev:armhf.
Preparing to unpack .../31-libpcre2-dev_10.36-2+deb11u1_armhf.deb ...
Unpacking libpcre2-dev:armhf (10.36-2+deb11u1) ...
Selecting previously unselected package libsepol1-dev:armhf.
Preparing to unpack .../32-libsepol1-dev_3.1-1_armhf.deb ...
Unpacking libsepol1-dev:armhf (3.1-1) ...
Selecting previously unselected package libselinux1-dev:armhf.
Preparing to unpack .../33-libselinux1-dev_3.1-3_armhf.deb ...
Unpacking libselinux1-dev:armhf (3.1-3) ...
Selecting previously unselected package sbuild-build-depends-tar-dummy.
Preparing to unpack .../34-sbuild-build-depends-tar-dummy_0.invalid.0_armhf.deb ...
Unpacking sbuild-build-depends-tar-dummy (0.invalid.0) ...
Setting up libpipeline1:armhf (1.5.3-1) ...
Setting up libattr1-dev:armhf (1:2.4.48-6) ...
Setting up libicu67:armhf (67.1-7) ...
Setting up libmagic-mgc (1:5.39-3+deb11u1) ...
Setting up libarchive-zip-perl (1.68-1) ...
Setting up libdebhelper-perl (13.3.4) ...
Setting up libmagic1:armhf (1:5.39-3+deb11u1) ...
Setting up libsepol1-dev:armhf (3.1-1) ...
Setting up gettext-base (0.21-4) ...
Setting up file (1:5.39-3+deb11u1) ...
Setting up libpcre2-16-0:armhf (10.36-2+deb11u1) ...
Setting up autotools-dev (20180224.1+nmu1) ...
Setting up libpcre2-32-0:armhf (10.36-2+deb11u1) ...
Setting up libsigsegv2:armhf (2.13-1) ...
Setting up autopoint (0.21-4) ...
Setting up libpcre2-posix2:armhf (10.36-2+deb11u1) ...
Setting up libuchardet0:armhf (0.0.7-1) ...
Setting up libsub-override-perl (0.09-2) ...
Setting up libelf1:armhf (0.183-1) ...
Setting up libxml2:armhf (2.9.10+dfsg-6.7+deb11u4) ...
Setting up libacl1-dev:armhf (2.2.53-10) ...
Setting up libfile-stripnondeterminism-perl (1.12.0-1) ...
Setting up gettext (0.21-4) ...
Setting up libpcre2-dev:armhf (10.36-2+deb11u1) ...
Setting up libtool (2.4.6-15) ...
Setting up libselinux1-dev:armhf (3.1-3) ...
Setting up m4 (1.4.18-5) ...
Setting up intltool-debian (0.35.0+20060710.5) ...
Setting up autoconf (2.69-14) ...
Setting up dh-strip-nondeterminism (1.12.0-1) ...
Setting up dwz (0.13+20210201-1) ...
Setting up groff-base (1.22.4-6) ...
Setting up bison (2:3.7.5+dfsg-1) ...
update-alternatives: using /usr/bin/bison.yacc to provide /usr/bin/yacc (yacc) in auto mode
Setting up automake (1:1.16.3-2) ...
update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode
Setting up po-debconf (1.0.21+nmu1) ...
Setting up man-db (2.9.4-2) ...
Not building database; man-db/auto-update is not 'true'.
Setting up dh-autoreconf (20) ...
Setting up debhelper (13.3.4) ...
Setting up sbuild-build-depends-tar-dummy (0.invalid.0) ...
Processing triggers for libc-bin (2.31-13+rpi1) ...
W: No sandbox user '_apt' on the system, can not drop privileges

+------------------------------------------------------------------------------+
| Build environment                                                            |
+------------------------------------------------------------------------------+

Kernel: Linux 4.15.0-187-generic armhf (armv8l)
Toolchain package versions: binutils_2.35.2-2+rpi1 dpkg-dev_1.20.9+rpi1 g++-10_10.2.1-6+rpi1 gcc-10_10.2.1-6+rpi1 libc6-dev_2.31-13+rpi1 libstdc++-10-dev_10.2.1-6+rpi1 libstdc++6_10.2.1-6+rpi1 linux-libc-dev_5.10.46-4+rpi1
Package versions: adduser_3.118 apt_2.2.4 autoconf_2.69-14 automake_1:1.16.3-2 autopoint_0.21-4 autotools-dev_20180224.1+nmu1 base-files_11.1+rpi1 base-passwd_3.5.51 bash_5.1-2 binutils_2.35.2-2+rpi1 binutils-arm-linux-gnueabihf_2.35.2-2+rpi1 binutils-common_2.35.2-2+rpi1 bison_2:3.7.5+dfsg-1 bsdextrautils_2.36.1-8 bsdutils_1:2.36.1-8 build-essential_12.9 bzip2_1.0.8-4 coreutils_8.32-4 cpp_4:10.2.1-1+rpi1 cpp-10_10.2.1-6+rpi1 dash_0.5.11+git20200708+dd9ef66-5 debconf_1.5.77 debhelper_13.3.4 debianutils_4.11.2 dh-autoreconf_20 dh-strip-nondeterminism_1.12.0-1 diffutils_1:3.7-5 dirmngr_2.2.27-2 dpkg_1.20.9+rpi1 dpkg-dev_1.20.9+rpi1 dwz_0.13+20210201-1 e2fsprogs_1.46.2-2 fakeroot_1.25.3-1.1 fdisk_2.36.1-8 file_1:5.39-3+deb11u1 findutils_4.8.0-1 g++_4:10.2.1-1+rpi1 g++-10_10.2.1-6+rpi1 gcc_4:10.2.1-1+rpi1 gcc-10_10.2.1-6+rpi1 gcc-10-base_10.2.1-6+rpi1 gettext_0.21-4 gettext-base_0.21-4 gnupg_2.2.27-2 gnupg-l10n_2.2.27-2 gnupg-utils_2.2.27-2 gpg_2.2.27-2 gpg-agent_2.2.27-2 gpg-wks-client_2.2.27-2 gpg-wks-server_2.2.27-2 gpgconf_2.2.27-2 gpgsm_2.2.27-2 gpgv_2.2.27-2 grep_3.6-1 groff-base_1.22.4-6 gzip_1.10-4 hostname_3.23 init-system-helpers_1.60 intltool-debian_0.35.0+20060710.5 iputils-ping_3:20210202-1 libacl1_2.2.53-10 libacl1-dev_2.2.53-10 libapt-pkg6.0_2.2.4 libarchive-zip-perl_1.68-1 libasan6_10.2.1-6+rpi1 libassuan0_2.5.3-7.1 libatomic1_10.2.1-6+rpi1 libattr1_1:2.4.48-6 libattr1-dev_1:2.4.48-6 libaudit-common_1:3.0-2 libaudit1_1:3.0-2 libbinutils_2.35.2-2+rpi1 libblkid1_2.36.1-8 libbz2-1.0_1.0.8-4 libc-bin_2.31-13+rpi1 libc-dev-bin_2.31-13+rpi1 libc6_2.31-13+rpi1 libc6-dev_2.31-13+rpi1 libcap-ng0_0.7.9-2.2+b1 libcap2_1:2.44-1 libcap2-bin_1:2.44-1 libcc1-0_10.2.1-6+rpi1 libcom-err2_1.46.2-2 libcrypt-dev_1:4.4.18-4 libcrypt1_1:4.4.18-4 libctf-nobfd0_2.35.2-2+rpi1 libctf0_2.35.2-2+rpi1 libdb5.3_5.3.28+dfsg1-0.8 libdebconfclient0_0.260 libdebhelper-perl_13.3.4 libdpkg-perl_1.20.9+rpi1 libelf1_0.183-1 libext2fs2_1.46.2-2 libfakeroot_1.25.3-1.1 libfdisk1_2.36.1-8 libffi7_3.3-6 libfile-stripnondeterminism-perl_1.12.0-1 libgcc-10-dev_10.2.1-6+rpi1 libgcc-s1_10.2.1-6+rpi1 libgcrypt20_1.8.7-6 libgdbm-compat4_1.19-2 libgdbm6_1.19-2 libgmp10_2:6.2.1+dfsg-1 libgnutls30_3.7.1-5 libgomp1_10.2.1-6+rpi1 libgpg-error0_1.38-2 libgssapi-krb5-2_1.18.3-6 libhogweed6_3.7.3-1 libicu67_67.1-7 libidn2-0_2.3.0-5 libisl23_0.23-1 libk5crypto3_1.18.3-6 libkeyutils1_1.6.1-2 libkrb5-3_1.18.3-6 libkrb5support0_1.18.3-6 libksba8_1.5.0-3 libldap-2.4-2_2.4.57+dfsg-3 libldap-common_2.4.57+dfsg-3 liblz4-1_1.9.3-2 liblzma5_5.2.5-2 libmagic-mgc_1:5.39-3+deb11u1 libmagic1_1:5.39-3+deb11u1 libmount1_2.36.1-8 libmpc3_1.2.0-1 libmpfr6_4.1.0-3 libncursesw6_6.2+20201114-2 libnettle8_3.7.3-1 libnpth0_1.6-3 libnsl-dev_1.3.0-2 libnsl2_1.3.0-2 libnss-nis_3.1-4 libnss-nisplus_1.3-4 libp11-kit0_0.23.22-1 libpam-cap_1:2.44-1 libpam-modules_1.4.0-9 libpam-modules-bin_1.4.0-9 libpam-runtime_1.4.0-9 libpam0g_1.4.0-9 libpcre2-16-0_10.36-2+deb11u1 libpcre2-32-0_10.36-2+deb11u1 libpcre2-8-0_10.36-2+deb11u1 libpcre2-dev_10.36-2+deb11u1 libpcre2-posix2_10.36-2+deb11u1 libpcre3_2:8.39-13 libperl5.32_5.32.1-4+deb11u1 libpipeline1_1.5.3-1 libreadline8_8.1-1 libsasl2-2_2.1.27+dfsg-2.1 libsasl2-modules-db_2.1.27+dfsg-2.1 libseccomp2_2.5.1-1+rpi1 libselinux1_3.1-3 libselinux1-dev_3.1-3 libsemanage-common_3.1-1 libsemanage1_3.1-1+b1 libsepol1_3.1-1 libsepol1-dev_3.1-1 libsigsegv2_2.13-1 libsmartcols1_2.36.1-8 libsqlite3-0_3.34.1-3 libss2_1.46.2-2 libssl1.1_1.1.1k-1+deb11u1 libstdc++-10-dev_10.2.1-6+rpi1 libstdc++6_10.2.1-6+rpi1 libsub-override-perl_0.09-2 libsystemd0_247.3-6+rpi1 libtasn1-6_4.16.0-2 libtinfo6_6.2+20201114-2 libtirpc-common_1.3.1-1 libtirpc-dev_1.3.1-1 libtirpc3_1.3.1-1 libtool_2.4.6-15 libubsan1_10.2.1-6+rpi1 libuchardet0_0.0.7-1 libudev1_247.3-6+rpi1 libunistring2_0.9.10-4 libuuid1_2.36.1-8 libxml2_2.9.10+dfsg-6.7+deb11u4 libxxhash0_0.8.0-2+rpi1 libzstd1_1.4.8+dfsg-2.1+rpi1 linux-libc-dev_5.10.46-4+rpi1 login_1:4.8.1-1 logsave_1.46.2-2 lsb-base_11.1.0+rpi1 m4_1.4.18-5 make_4.3-4.1 man-db_2.9.4-2 mawk_1.3.4.20200120-2 mount_2.36.1-8 ncurses-base_6.2+20201114-2 ncurses-bin_6.2+20201114-2 netbase_6.3 passwd_1:4.8.1-1 patch_2.7.6-7 perl_5.32.1-4+deb11u1 perl-base_5.32.1-4+deb11u1 perl-modules-5.32_5.32.1-4+deb11u1 pinentry-curses_1.1.0-4 po-debconf_1.0.21+nmu1 raspbian-archive-keyring_20120528.2 readline-common_8.1-1 sbuild-build-depends-core-dummy_0.invalid.0 sbuild-build-depends-tar-dummy_0.invalid.0 sed_4.7-1 sensible-utils_0.0.14 sysvinit-utils_2.96-7 tar_1.34+dfsg-1 tzdata_2021a-1 util-linux_2.36.1-8 xz-utils_5.2.5-2 zlib1g_1:1.2.11.dfsg-2

+------------------------------------------------------------------------------+
| Build                                                                        |
+------------------------------------------------------------------------------+


Unpack source
-------------

gpgv: unknown type of key resource 'trustedkeys.kbx'
gpgv: keyblock resource '/tmp/dpkg-verify-sig.Ej5rqp1W/trustedkeys.kbx': General error
gpgv: Signature made Sat Jan 20 10:09:06 2024 UTC
gpgv:                using RSA key 4644409808C171E05531DDEE054CB8F31343CF44
gpgv:                issuer "carnil@debian.org"
gpgv: Can't check signature: No public key
dpkg-source: warning: failed to verify signature on ./tar_1.34+dfsg-1+deb11u1.dsc
dpkg-source: info: extracting tar in /<<BUILDDIR>>/tar-1.34+dfsg
dpkg-source: info: unpacking tar_1.34+dfsg.orig.tar.xz
dpkg-source: info: unpacking tar_1.34+dfsg-1+deb11u1.debian.tar.xz
dpkg-source: info: using patch list from debian/patches/series
dpkg-source: info: applying gcc-10-warnings.diff
dpkg-source: info: applying pristine-tar.diff
dpkg-source: info: applying listed03-linux-only
dpkg-source: info: applying oldgnu-unknown-mode-bits.patch
dpkg-source: info: applying proper_it_translation.patch
dpkg-source: info: applying Fix-boundary-checking-in-base-256-decoder.patch
dpkg-source: info: applying Fix-handling-of-extended-header-prefixes.patch

Check disk space
----------------

Sufficient free space for build

User Environment
----------------

APT_CONFIG=/var/lib/sbuild/apt.conf
DEB_BUILD_OPTIONS=parallel=4
HOME=/sbuild-nonexistent
LC_ALL=POSIX
LOGNAME=buildd
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
SCHROOT_ALIAS_NAME=bullseye-staging-armhf-sbuild
SCHROOT_CHROOT_NAME=bullseye-staging-armhf-sbuild
SCHROOT_COMMAND=env
SCHROOT_GID=112
SCHROOT_GROUP=buildd
SCHROOT_SESSION_ID=bullseye-staging-armhf-sbuild-d4b2014a-7b33-4ae6-b175-35f089c33491
SCHROOT_UID=107
SCHROOT_USER=buildd
SHELL=/bin/sh
USER=buildd

dpkg-buildpackage
-----------------

dpkg-buildpackage: info: source package tar
dpkg-buildpackage: info: source version 1.34+dfsg-1+deb11u1
dpkg-buildpackage: info: source distribution bullseye
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture armhf
 fakeroot debian/rules clean
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
[ ! -f Makefile ] || /usr/bin/make distclean
dh_clean
 debian/rules build-arch
dh_testdir
cp -f /usr/share/misc/config.sub build-aux/config.sub
cp -f /usr/share/misc/config.guess build-aux/config.guess
autoreconf --force -v --install
autoreconf: Entering directory `.'
autoreconf: running: autopoint --force
Copying file build-aux/config.rpath
Copying file m4/glibc2.m4
Copying file m4/glibc21.m4
Copying file m4/iconv.m4
Copying file m4/intdiv0.m4
Copying file m4/intl.m4
Copying file m4/intldir.m4
Copying file m4/intmax.m4
Copying file m4/inttypes-pri.m4
Copying file m4/lcmessage.m4
Copying file m4/lock.m4
Copying file m4/longdouble.m4
Copying file m4/longlong.m4
Copying file m4/printf-posix.m4
Copying file m4/uintmax_t.m4
Copying file m4/ulonglong.m4
Copying file po/Makefile.in.in
Copying file po/Makevars.template
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/bin/autoconf --force
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
autoreconf: Leaving directory `.'
RSH="/usr/bin/rsh" CPPFLAGS="`dpkg-buildflags --get CPPFLAGS`" CFLAGS="`dpkg-buildflags --get CFLAGS` -Wall -Wno-analyzer-null-argument" LDFLAGS="`dpkg-buildflags --get LDFLAGS`" ./configure \
	--prefix=/usr \
	--libexecdir=/usr/sbin \
	--enable-backup-scripts \
	--with-lzma=xz \
	--disable-silent-rules \
	
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '107' is supported by ustar format... yes
checking whether GID '112' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether make supports nested variables... (cached) yes
checking whether make supports the include directive... yes (GNU style)
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether the compiler is clang... no
checking for compiler option needed when checking for declarations... none
checking dependency style of gcc... gcc3
checking for ranlib... ranlib
checking for bison... bison -y
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for wchar.h... yes
checking for minix/config.h... no
checking for fcntl.h... yes
checking for linux/fd.h... yes
checking for memory.h... (cached) yes
checking for net/errno.h... no
checking for sgtty.h... yes
checking for string.h... (cached) yes
checking for sys/param.h... yes
checking for sys/device.h... no
checking for sys/gentape.h... no
checking for sys/inet.h... no
checking for sys/io/trioctl.h... no
checking for sys/mtio.h... yes
checking for sys/time.h... yes
checking for sys/tprintf.h... no
checking for sys/tape.h... no
checking for unistd.h... (cached) yes
checking for locale.h... yes
checking for sys/types.h... (cached) yes
checking for features.h... yes
checking for linewrap.h... no
checking for sys/socket.h... yes
checking for dirent.h... yes
checking for fnmatch.h... yes
checking for stdio_ext.h... yes
checking for sys/stat.h... (cached) yes
checking for getopt.h... yes
checking for sys/cdefs.h... yes
checking for threads.h... yes
checking for limits.h... yes
checking for inttypes.h... (cached) yes
checking for stdint.h... (cached) yes
checking for crtdefs.h... no
checking for wctype.h... yes
checking for langinfo.h... yes
checking for xlocale.h... no
checking for sys/mman.h... yes
checking for priv.h... no
checking for malloc.h... yes
checking for selinux/selinux.h... yes
checking for strings.h... (cached) yes
checking for sys/random.h... yes
checking for sysexits.h... yes
checking for utime.h... yes
checking for netdb.h... yes
checking for sys/wait.h... yes
checking for pwd.h... yes
checking for grp.h... yes
checking whether it is safe to define __EXTENSIONS__... yes
checking whether _XOPEN_SOURCE should be defined... no
checking build system type... armv8l-unknown-linux-gnueabihf
checking host system type... armv8l-unknown-linux-gnueabihf
checking for Minix Amsterdam compiler... no
checking for ar... ar
checking for _LARGEFILE_SOURCE value needed for large files... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... 64
checking for special C compiler options needed for large files... (cached) no
checking for _FILE_OFFSET_BITS value needed for large files... (cached) 64
checking for inline... inline
checking for sys/buf.h... no
checking sys/mkdev.h usability... no
checking sys/mkdev.h presence... no
checking for sys/mkdev.h... no
checking sys/sysmacros.h usability... yes
checking sys/sysmacros.h presence... yes
checking for sys/sysmacros.h... yes
checking for st_fstype string in struct stat... no
checking sys/acl.h usability... yes
checking sys/acl.h presence... yes
checking for sys/acl.h... yes
checking for library containing acl_get_file... -lacl
checking for library containing acl_get_fd... none required
checking for library containing acl_set_file... none required
checking for library containing acl_set_fd... none required
checking for library containing acl_to_text... none required
checking for library containing acl_from_text... none required
checking for library containing acl_delete_def_file... none required
checking for library containing acl_free... none required
checking for mode_t... yes
checking for pid_t... yes
checking for off_t... yes
checking for uid_t in sys/types.h... yes
checking for major_t... no
checking for minor_t... no
checking for dev_t... yes
checking for ino_t... yes
checking for ssize_t... yes
checking for fchmod... yes
checking for flockfile... yes
checking for funlockfile... yes
checking for pathconf... yes
checking for btowc... yes
checking for canonicalize_file_name... yes
checking for faccessat... yes
checking for realpath... yes
checking for readlinkat... yes
checking for chown... yes
checking for fchown... yes
checking for _set_invalid_parameter_handler... no
checking for fchdir... yes
checking for fdopendir... yes
checking for fchmodat... yes
checking for lchmod... no
checking for fcntl... yes
checking for symlink... yes
checking for mempcpy... yes
checking for fnmatch... yes
checking for mbsrtowcs... yes
checking for fstatat... yes
checking for futimens... yes
checking for getdelim... yes
checking for getdtablesize... yes
checking for getprogname... no
checking for getexecname... no
checking for getrandom... yes
checking for gettimeofday... yes
checking for isblank... yes
checking for iswcntrl... yes
checking for iswblank... yes
checking for lstat... yes
checking for link... yes
checking for readlink... yes
checking for openat... yes
checking for linkat... yes
checking for mbsinit... yes
checking for mbrtowc... yes
checking for mprotect... yes
checking for mkdirat... yes
checking for mkfifoat... yes
checking for mknodat... yes
checking for mknod... yes
checking for nl_langinfo... yes
checking for pipe... yes
checking for iswctype... yes
checking for renameat... yes
checking for renameat2... yes
checking for setenv... yes
checking for sleep... yes
checking for snprintf... yes
checking for strndup... yes
checking for strtoimax... yes
checking for strtoumax... yes
checking for symlinkat... yes
checking for localtime_r... yes
checking for timegm... yes
checking for unlinkat... yes
checking for futimes... yes
checking for futimesat... yes
checking for utimensat... yes
checking for lutimes... yes
checking for vasnprintf... no
checking for wcrtomb... yes
checking for wcwidth... yes
checking for wmempcpy... yes
checking for mkfifo... yes
checking for setlocale... yes
checking for fsync... yes
checking for size_t... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for C/C++ restrict keyword... __restrict__
checking whether clearerr_unlocked is declared... yes
checking whether feof_unlocked is declared... yes
checking whether ferror_unlocked is declared... yes
checking whether fflush_unlocked is declared... yes
checking whether fgets_unlocked is declared... yes
checking whether fputc_unlocked is declared... yes
checking whether fputs_unlocked is declared... yes
checking whether fread_unlocked is declared... yes
checking whether fwrite_unlocked is declared... yes
checking whether getc_unlocked is declared... yes
checking whether getchar_unlocked is declared... yes
checking whether putc_unlocked is declared... yes
checking whether putchar_unlocked is declared... yes
checking whether strerror_r is declared... yes
checking for strerror_r... yes
checking whether strerror_r returns char *... yes
checking for d_ino member in directory struct... yes
checking for long file names... yes
checking whether <wchar.h> uses 'inline' correctly... yes
checking for nl_langinfo and CODESET... yes
checking for a traditional french locale... none
checking whether lstat correctly handles trailing slash... yes
checking whether // is distinct from /... no
checking whether realpath works... yes
checking for getcwd... yes
checking for unistd.h... (cached) yes
checking for working chown... yes
checking whether chown dereferences symlinks... yes
checking whether chown honors trailing slash... yes
checking whether chown always updates ctime... yes
checking whether the preprocessor supports include_next... yes
checking whether source code line length is unlimited... yes
checking if environ is properly declared... yes
checking for complete errno.h... yes
checking type of array argument to getgroups... gid_t
checking whether fchdir is declared... yes
checking for working fcntl.h... yes
checking for promoted mode_t type... mode_t
checking for mbstate_t... yes
checking whether stdin defaults to large file offsets... yes
checking whether fseeko is declared... yes
checking for fseeko... yes
checking whether stat file-mode macros are broken... no
checking for nlink_t... yes
checking whether getcwd (NULL, 0) allocates memory for result... yes
checking for getcwd with POSIX signature... yes
checking whether getcwd is declared... yes
checking whether getdelim is declared... yes
checking whether getdtablesize is declared... yes
checking whether getline is declared... yes
checking for getopt.h... (cached) yes
checking for getopt_long_only... yes
checking whether getopt is POSIX compatible... yes
checking for working GNU getopt function... yes
checking for working GNU getopt_long function... yes
checking for struct timeval... yes
checking for wide-enough struct timeval.tv_sec member... yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking whether POSIX threads API is available... yes
checking whether setlocale (LC_ALL, NULL) is multithread-safe... yes
checking whether setlocale (category, NULL) is multithread-safe... yes
checking whether limits.h has LLONG_MAX, WORD_BIT, ULLONG_WIDTH etc.... yes
checking for wint_t... yes
checking whether wint_t is large enough... yes
checking whether the compiler produces multi-arch binaries... no
checking whether stdint.h conforms to C99... yes
checking whether stdint.h works without ISO C predefines... yes
checking whether stdint.h has UINTMAX_WIDTH etc.... yes
checking whether iswcntrl works... yes
checking for towlower... yes
checking for wctype_t... yes
checking for wctrans_t... yes
checking for a traditional japanese locale... none
checking for a french Unicode locale... none
checking for a transitional chinese locale... none
checking for O_CLOEXEC... yes
checking for wchar_t... yes
checking for good max_align_t... yes
checking whether NULL can be used in arbitrary expressions... yes
checking whether locale.h defines locale_t... yes
checking whether malloc, realloc, calloc are POSIX compliant... yes
checking for GNU libc compatible malloc... yes
checking for mmap... yes
checking for MAP_ANONYMOUS... yes
checking whether memchr works... yes
checking whether memrchr is declared... yes
checking whether <limits.h> defines MIN and MAX... no
checking whether <sys/param.h> defines MIN and MAX... yes
checking whether time_t is signed... yes
checking whether alarm is declared... yes
checking for working mktime... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for struct tm.tm_zone... yes
checking for struct tm.tm_gmtoff... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for compound literals... yes
checking for library containing setfilecon... -lselinux
checking whether setenv is declared... yes
checking search.h usability... yes
checking search.h presence... yes
checking for search.h... yes
checking for tsearch... yes
checking for sigset_t... yes
checking whether snprintf returns a byte count as in C99... yes
checking whether snprintf is declared... yes
checking whether fcloseall is declared... yes
checking whether ecvt is declared... yes
checking whether fcvt is declared... yes
checking whether gcvt is declared... yes
checking whether strdup is declared... yes
checking whether strerror(0) succeeds... yes
checking whether strndup is declared... yes
checking whether strnlen is declared... yes
checking whether strtoimax is declared... yes
checking whether strtoumax is declared... yes
checking for struct timespec in <time.h>... yes
checking for TIME_UTC in <time.h>... yes
checking whether execvpe is declared... yes
checking whether unsetenv is declared... yes
checking whether the utimes function works... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for intmax_t... yes
checking where to find the exponent in a 'double'... word 1 bit 20
checking whether snprintf truncates the result as in C99... yes
checking for snprintf... (cached) yes
checking for strnlen... yes
checking for wcslen... yes
checking for wcsnlen... yes
checking for mbrtowc... (cached) yes
checking for wcrtomb... (cached) yes
checking whether _snprintf is declared... no
checking whether vsnprintf is declared... yes
checking for sys/acl.h... (cached) yes
checking for library containing acl_get_file... (cached) -lacl
checking for acl_get_file... yes
checking for acl_get_fd... yes
checking for acl_set_file... yes
checking for acl_set_fd... yes
checking for acl_free... yes
checking for acl_from_mode... yes
checking for acl_from_text... yes
checking for acl_delete_def_file... yes
checking for acl_extended_file... yes
checking for acl_delete_fd_np... no
checking for acl_delete_file_np... no
checking for acl_copy_ext_native... no
checking for acl_create_entry_np... no
checking for acl_to_short_text... no
checking for acl_free_text... no
checking for working acl_get_file... yes
checking acl/libacl.h usability... yes
checking acl/libacl.h presence... yes
checking for acl/libacl.h... yes
checking for acl_entries... yes
checking for ACL_FIRST_ENTRY... yes
checking for ACL_TYPE_EXTENDED... no
checking for alloca as a compiler built-in... yes
checking whether program_invocation_name is declared... yes
checking whether program_invocation_short_name is declared... yes
checking whether program_invocation_name is defined... yes
checking whether program_invocation_short_name is defined... yes
checking whether btowc(0) is correct... yes
checking whether btowc(EOF) is correct... guessing yes
checking for __builtin_expect... yes
checking whether this system supports file names of any length... no
checking for library containing clock_gettime... none required
checking for clock_gettime... yes
checking for clock_settime... yes
checking for closedir... yes
checking for d_ino member in directory struct... (cached) yes
checking for dirfd... yes
checking whether dirfd is declared... yes
checking whether dirfd is a macro... no
checking whether // is distinct from /... (cached) no
checking whether dup works... yes
checking whether dup2 works... yes
checking for error_at_line... yes
checking for euidaccess... yes
checking whether fchmodat+AT_SYMLINK_NOFOLLOW works on non-symlinks... no
checking for fchownat... yes
checking whether fchownat works with AT_SYMLINK_NOFOLLOW... yes
checking whether fchownat works with an empty file name... yes
checking whether fcntl handles F_DUPFD correctly... yes
checking whether fcntl understands F_DUPFD_CLOEXEC... needs runtime check
checking whether fdopendir is declared... yes
checking whether fdopendir works... yes
checking for getxattr with XATTR_NAME_POSIX_ACL macros... yes
checking for struct stat.st_blocks... yes
checking for flexible array member... yes
checking whether conversion from 'int' to 'long double' works... yes
checking for working GNU fnmatch... yes
checking whether fopen recognizes a trailing slash... yes
checking whether fopen supports the mode character 'x'... yes
checking whether fopen supports the mode character 'e'... yes
checking for __fpending... yes
checking whether __fpending is declared... yes
checking whether free is known to preserve errno... no
checking for fseeko... (cached) yes
checking whether fstatat (..., 0) works... yes
checking whether futimens works... yes
checking whether getcwd handles long file names properly... yes
checking for getpagesize... yes
checking whether getcwd succeeds when 4k < cwd_length < 16k... yes
checking for working getdelim function... yes
checking whether getdtablesize works... yes
checking for getgroups... yes
checking for working getgroups... yes
checking whether getgroups handles negative values... yes
checking for getline... yes
checking for working getline function... yes
checking for getpagesize... (cached) yes
checking whether getpagesize is declared... yes
checking whether program_invocation_name is declared... (cached) yes
checking whether program_invocation_short_name is declared... (cached) yes
checking whether __argv is declared... no
checking whether getrandom is compatible with its GNU+BSD signature... yes
checking for gettimeofday with POSIX signature... yes
checking for group_member... yes
checking whether INT32_MAX < INTMAX_MAX... yes
checking whether INT64_MAX == LONG_MAX... no
checking whether UINT32_MAX < UINTMAX_MAX... yes
checking whether UINT64_MAX == ULONG_MAX... no
checking whether iswblank is declared... yes
checking whether iswdigit is ISO C compliant... guessing yes
checking whether iswxdigit is ISO C compliant... guessing yes
checking whether langinfo.h defines CODESET... yes
checking whether langinfo.h defines T_FMT_AMPM... yes
checking whether langinfo.h defines ALTMON_1... yes
checking whether langinfo.h defines ERA... yes
checking whether langinfo.h defines YESEXPR... yes
checking for lchown... yes
checking whether the compiler supports the __inline keyword... yes
checking whether link obeys POSIX... yes
checking for __xpg4... no
checking whether link(2) dereferences a symlink... no
checking whether linkat() can link symlinks... yes
checking whether linkat handles trailing slash correctly... yes
checking whether locale.h conforms to POSIX:2001... yes
checking whether struct lconv is properly defined... yes
checking whether lseek detects pipes... yes
checking for GNU libc compatible malloc... (cached) yes
checking whether mbrtowc handles incomplete characters... guessing yes
checking whether mbrtowc works as well as mbtowc... guessing yes
checking whether mbrtowc handles a NULL pwc argument... guessing yes
checking whether mbrtowc handles a NULL string argument... guessing yes
checking whether mbrtowc has a correct return value... guessing yes
checking whether mbrtowc returns 0 when parsing a NUL character... guessing yes
checking whether mbrtowc stores incomplete characters... guessing no
checking whether mbrtowc works on empty input... yes
checking whether the C locale is free of encoding errors... no
checking whether mbrtowc handles incomplete characters... (cached) guessing yes
checking whether mbrtowc works as well as mbtowc... (cached) guessing yes
checking whether mbrtowc handles incomplete characters... (cached) guessing yes
checking whether mbrtowc works as well as mbtowc... (cached) guessing yes
checking whether mbsrtowcs works... guessing yes
checking for mbtowc... yes
checking for mempcpy... (cached) yes
checking for memrchr... yes
checking whether mkdir handles trailing slash... yes
checking whether mkdir handles trailing dot... yes
checking for mkdtemp... yes
checking for mkfifo... yes
checking whether mkfifo rejects trailing slashes... yes
checking whether mkfifoat rejects trailing slashes... yes
checking whether mknod can create fifo without root privileges... yes
checking for __mktime_internal... no
checking whether YESEXPR works... yes
checking for obstacks that work with any size object... no
checking whether open recognizes a trailing slash... yes
checking for opendir... yes
checking for bison... bison
checking for bison 2.4 or newer... 3.7.5, ok
checking for struct tm.tm_zone... (cached) yes
checking for getppriv... no
checking whether program_invocation_name is declared... (cached) yes
checking whether program_invocation_short_name is declared... (cached) yes
checking for raise... yes
checking for rawmemchr... yes
checking for readdir... yes
checking whether readlink signature is correct... yes
checking whether readlink handles trailing slash correctly... yes
checking whether readlink truncates results correctly... yes
checking whether readlinkat signature is correct... yes
checking for working re_compile_pattern... no
checking libintl.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking whether isblank is declared... yes
checking whether rename honors trailing slash on destination... yes
checking whether rename honors trailing slash on source... yes
checking whether rename manages hard links correctly... yes
checking whether rename manages existing destinations correctly... yes
checking linux/fs.h usability... yes
checking linux/fs.h presence... yes
checking for linux/fs.h... yes
checking for linux/fs.h... (cached) yes
checking for rewinddir... yes
checking whether rmdir works... yes
checking for rpmatch... yes
checking selinux/flask.h usability... no
checking selinux/flask.h presence... no
checking for selinux/flask.h... no
checking for selinux/selinux.h... (cached) yes
checking selinux/context.h usability... yes
checking selinux/context.h presence... yes
checking for selinux/context.h... yes
checking selinux/label.h usability... yes
checking selinux/label.h presence... yes
checking for selinux/label.h... yes
checking whether setenv validates arguments... yes
checking whether setlocale (LC_ALL, NULL) is multithread-safe... (cached) yes
checking whether setlocale (category, NULL) is multithread-safe... (cached) yes
checking for volatile sig_atomic_t... yes
checking for sighandler_t... yes
checking for stdint.h... (cached) yes
checking for SIZE_MAX... yes
checking whether sleep is declared... yes
checking for working sleep... yes
checking for snprintf... (cached) yes
checking whether snprintf respects a size of 1... yes
checking whether printf supports POSIX/XSI format strings with positions... yes
checking for ssize_t... (cached) yes
checking whether stat handles trailing slashes on files... yes
checking for struct stat.st_atim.tv_nsec... yes
checking whether struct stat.st_atim is of type struct timespec... yes
checking for struct stat.st_birthtimespec.tv_nsec... no
checking for struct stat.st_birthtimensec... no
checking for struct stat.st_birthtim.tv_nsec... no
checking for working stdalign.h... yes
checking for va_copy... yes
checking for good max_align_t... (cached) yes
checking whether NULL can be used in arbitrary expressions... (cached) yes
checking which flavor of printf attribute matches inttypes macros... system
checking for stpcpy... yes
checking for strcasecmp... yes
checking for strncasecmp... yes
checking whether strncasecmp is declared... yes
checking for strchrnul... yes
checking whether strchrnul works... yes
checking for working strerror function... yes
checking for working strndup... yes
checking for working strnlen... yes
checking whether strtoimax works... yes
checking for strtol... yes
checking for strtoll... yes
checking for strtoul... yes
checking for strtoull... yes
checking whether symlink handles trailing slash correctly... yes
checking whether symlinkat handles trailing slash correctly... yes
checking for nlink_t... (cached) yes
checking whether localtime_r is declared... yes
checking whether localtime_r is compatible with its POSIX signature... yes
checking whether localtime works even near extrema... yes
checking for timezone_t... no
checking whether unlink honors trailing slashes... yes
checking whether unlink of a parent directory fails as it should... guessing yes
checking for unsetenv... yes
checking for unsetenv() return type... int
checking whether unsetenv obeys POSIX... yes
checking for utime... yes
checking whether utime handles trailing slashes on files... yes
checking whether utimensat works... yes
checking for ptrdiff_t... yes
checking for vasprintf... yes
checking for vsnprintf... yes
checking whether snprintf respects a size of 1... (cached) yes
checking whether printf supports POSIX/XSI format strings with positions... (cached) yes
checking whether wcsdup is declared... yes
checking whether mbrtowc handles incomplete characters... (cached) guessing yes
checking whether mbrtowc works as well as mbtowc... (cached) guessing yes
checking whether wcrtomb works in the C locale... yes
checking whether wcrtomb return value is correct... guessing yes
checking whether iswcntrl works... (cached) yes
checking for towlower... (cached) yes
checking for wctype_t... (cached) yes
checking for wctrans_t... (cached) yes
checking whether wcwidth is declared... yes
checking whether wcwidth works reasonably in UTF-8 locales... yes
checking for wmemchr... yes
checking for stdint.h... (cached) yes
checking whether time.h and sys/time.h may both be included... yes
checking for struct stat.st_blksize... yes
checking for library containing setsockopt... none required
checking for library containing setsockopt... (cached) none required
checking for sys/mtio.h... (cached) yes
checking which ioctl field to test for reversed bytes... mt_type
checking whether to build rmt... yes
checking for remote tape header files... yes
checking for sys/buf.h... (cached) no
checking for struct stat.st_blksize... (cached) yes
checking for library containing gethostbyname... none required
checking sys/xattr.h usability... yes
checking sys/xattr.h presence... yes
checking for sys/xattr.h... yes
checking for library containing getxattr... none required
checking for library containing fgetxattr... none required
checking for library containing lgetxattr... none required
checking for library containing setxattr... none required
checking for library containing fsetxattr... none required
checking for library containing lsetxattr... none required
checking for library containing listxattr... none required
checking for library containing flistxattr... none required
checking for library containing llistxattr... none required
checking whether getgrgid is declared... yes
checking whether getpwuid is declared... yes
checking whether time is declared... yes
checking for waitpid... yes
checking for remote shell... /usr/bin/rsh
checking for default archive format... GNU
checking for default archive... -
checking for default blocking... 20
checking for default quoting style... escape
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking 32-bit host C ABI... yes
checking for ELF binary format... yes
checking for the common suffixes of directories in the library search path... lib,lib,lib
checking for iconv... yes
checking for iconv declaration... 
         extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
checking iconv.h usability... yes
checking iconv.h presence... yes
checking for iconv.h... yes
checking for iconv_t... yes
checking for a sed that does not truncate output... /bin/sed
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyPreferredLanguages... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating tests/Makefile
config.status: creating tests/atlocal
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating gnu/Makefile
config.status: creating lib/Makefile
config.status: creating po/Makefile.in
config.status: creating scripts/Makefile
config.status: creating rmt/Makefile
config.status: creating src/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
config.status: executing tests/atconfig commands
touch configure-stamp
dh_testdir
RSH="/usr/bin/rsh" CPPFLAGS="`dpkg-buildflags --get CPPFLAGS`" CFLAGS="`dpkg-buildflags --get CFLAGS` -Wall -Wno-analyzer-null-argument" \
	LDFLAGS="`dpkg-buildflags --get LDFLAGS`" /usr/bin/make  -j4 --jobserver-auth=3,4
make[1]: warning: -j4 forced in submake: resetting jobserver mode.
make[1]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg'
/usr/bin/make  all-recursive
make[2]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg'
Making all in doc
make[3]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/doc'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/doc'
Making all in gnu
make[3]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/gnu'
rm -f alloca.h-t alloca.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''HAVE_ALLOCA_H''@|1|g' < ./alloca.in.h; \
} > alloca.h-t && \
mv -f alloca.h-t alloca.h
rm -f configmake.h-t && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  echo '#if HAVE_WINSOCK2_H'; \
  echo '# include <winsock2.h> /* avoid mingw pollution on DATADIR */'; \
  echo '#endif'; \
  echo '#define PREFIX "/usr"'; \
  echo '#define EXEC_PREFIX "/usr"'; \
  echo '#define BINDIR "/usr/bin"'; \
  echo '#define SBINDIR "/usr/sbin"'; \
  echo '#define LIBEXECDIR "/usr/sbin"'; \
  echo '#define DATAROOTDIR "/usr/share"'; \
  echo '#define DATADIR "/usr/share"'; \
  echo '#define SYSCONFDIR "/usr/etc"'; \
  echo '#define SHAREDSTATEDIR "/usr/com"'; \
  echo '#define LOCALSTATEDIR "/usr/var"'; \
  echo '#define RUNSTATEDIR "/usr/var/run"'; \
  echo '#define INCLUDEDIR "/usr/include"'; \
  echo '#define OLDINCLUDEDIR "/usr/include"'; \
  echo '#define DOCDIR "/usr/share/doc/tar"'; \
  echo '#define INFODIR "/usr/share/info"'; \
  echo '#define HTMLDIR "/usr/share/doc/tar"'; \
  echo '#define DVIDIR "/usr/share/doc/tar"'; \
  echo '#define PDFDIR "/usr/share/doc/tar"'; \
  echo '#define PSDIR "/usr/share/doc/tar"'; \
  echo '#define LIBDIR "/usr/lib"'; \
  echo '#define LISPDIR "/usr/share/emacs/site-lisp"'; \
  echo '#define LOCALEDIR "/usr/share/locale"'; \
  echo '#define MANDIR "/usr/share/man"'; \
  echo '#define MANEXT ""'; \
  echo '#define PKGDATADIR "/usr/share/tar"'; \
  echo '#define PKGINCLUDEDIR "/usr/include/tar"'; \
  echo '#define PKGLIBDIR "/usr/lib/tar"'; \
  echo '#define PKGLIBEXECDIR "/usr/sbin/tar"'; \
} | sed '/""/d' > configmake.h-t && \
mv -f configmake.h-t configmake.h
rm -f ctype.h-t ctype.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_CTYPE_H''@|<ctype.h>|g' \
      -e 's/@''GNULIB_ISBLANK''@/1/g' \
      -e 's/@''HAVE_ISBLANK''@/1/g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \
      < ./ctype.in.h; \
} > ctype.h-t && \
mv ctype.h-t ctype.h
rm -f dirent.h-t dirent.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''HAVE_DIRENT_H''@|1|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_DIRENT_H''@|<dirent.h>|g' \
      -e 's/@''GNULIB_OPENDIR''@/1/g' \
      -e 's/@''GNULIB_READDIR''@/1/g' \
      -e 's/@''GNULIB_REWINDDIR''@/1/g' \
      -e 's/@''GNULIB_CLOSEDIR''@/1/g' \
      -e 's/@''GNULIB_DIRFD''@/1/g' \
      -e 's/@''GNULIB_FDOPENDIR''@/1/g' \
      -e 's/@''GNULIB_SCANDIR''@/0/g' \
      -e 's/@''GNULIB_ALPHASORT''@/0/g' \
      -e 's/@''HAVE_OPENDIR''@/1/g' \
      -e 's/@''HAVE_READDIR''@/1/g' \
      -e 's/@''HAVE_REWINDDIR''@/1/g' \
      -e 's/@''HAVE_CLOSEDIR''@/1/g' \
      -e 's|@''HAVE_DECL_DIRFD''@|1|g' \
      -e 's|@''HAVE_DECL_FDOPENDIR''@|1|g' \
      -e 's|@''HAVE_FDOPENDIR''@|1|g' \
      -e 's|@''HAVE_SCANDIR''@|1|g' \
      -e 's|@''HAVE_ALPHASORT''@|1|g' \
      -e 's|@''REPLACE_OPENDIR''@|0|g' \
      -e 's|@''REPLACE_CLOSEDIR''@|0|g' \
      -e 's|@''REPLACE_DIRFD''@|0|g' \
      -e 's|@''REPLACE_FDOPENDIR''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \
      < ./dirent.in.h; \
} > dirent.h-t && \
mv dirent.h-t dirent.h
rm -f fcntl.h-t fcntl.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_FCNTL_H''@|<fcntl.h>|g' \
      -e 's/@''GNULIB_CREAT''@/0/g' \
      -e 's/@''GNULIB_FCNTL''@/1/g' \
      -e 's/@''GNULIB_NONBLOCKING''@/0/g' \
      -e 's/@''GNULIB_OPEN''@/1/g' \
      -e 's/@''GNULIB_OPENAT''@/1/g' \
      -e 's/@''GNULIB_MDA_CREAT''@/1/g' \
      -e 's/@''GNULIB_MDA_OPEN''@/1/g' \
      -e 's|@''HAVE_FCNTL''@|1|g' \
      -e 's|@''HAVE_OPENAT''@|1|g' \
      -e 's|@''REPLACE_CREAT''@|0|g' \
      -e 's|@''REPLACE_FCNTL''@|1|g' \
      -e 's|@''REPLACE_OPEN''@|0|g' \
      -e 's|@''REPLACE_OPENAT''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \
      < ./fcntl.in.h; \
} > fcntl.h-t && \
mv fcntl.h-t fcntl.h
rm -f getopt.h-t getopt.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''HAVE_GETOPT_H''@|1|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_GETOPT_H''@|<getopt.h>|g' \
      -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \
      < ./getopt.in.h; \
} > getopt.h-t && \
mv -f getopt.h-t getopt.h
rm -f getopt-cdefs.h-t getopt-cdefs.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
          sed -e 's|@''HAVE_SYS_CDEFS_H''@|1|g' \
      < ./getopt-cdefs.in.h; \
} > getopt-cdefs.h-t && \
mv -f getopt-cdefs.h-t getopt-cdefs.h
rm -f inttypes.h-t inttypes.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's/@''HAVE_INTTYPES_H''@/1/g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_INTTYPES_H''@|<inttypes.h>|g' \
      -e 's/@''APPLE_UNIVERSAL_BUILD''@/0/g' \
      -e 's/@''PRIPTR_PREFIX''@/""/g' \
      -e 's/@''GNULIB_IMAXABS''@/0/g' \
      -e 's/@''GNULIB_IMAXDIV''@/0/g' \
      -e 's/@''GNULIB_STRTOIMAX''@/1/g' \
      -e 's/@''GNULIB_STRTOUMAX''@/1/g' \
      -e 's/@''HAVE_DECL_IMAXABS''@/1/g' \
      -e 's/@''HAVE_DECL_IMAXDIV''@/1/g' \
      -e 's/@''HAVE_DECL_STRTOIMAX''@/1/g' \
      -e 's/@''HAVE_DECL_STRTOUMAX''@/1/g' \
      -e 's/@''HAVE_IMAXDIV_T''@/1/g' \
      -e 's/@''REPLACE_STRTOIMAX''@/0/g' \
      -e 's/@''REPLACE_STRTOUMAX''@/0/g' \
      -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/1/g' \
      -e 's/@''INT64_MAX_EQ_LONG_MAX''@/0/g' \
      -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/1/g' \
      -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/0/g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \
      < ./inttypes.in.h; \
} > inttypes.h-t && \
mv inttypes.h-t inttypes.h
rm -f langinfo.h-t langinfo.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''HAVE_LANGINFO_H''@|1|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_LANGINFO_H''@|<langinfo.h>|g' \
      -e 's/@''GNULIB_NL_LANGINFO''@/1/g' \
      -e 's|@''HAVE_LANGINFO_CODESET''@|1|g' \
      -e 's|@''HAVE_LANGINFO_T_FMT_AMPM''@|1|g' \
      -e 's|@''HAVE_LANGINFO_ALTMON''@|1|g' \
      -e 's|@''HAVE_LANGINFO_ERA''@|1|g' \
      -e 's|@''HAVE_LANGINFO_YESEXPR''@|1|g' \
      -e 's|@''HAVE_NL_LANGINFO''@|1|g' \
      -e 's|@''REPLACE_NL_LANGINFO''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \
      < ./langinfo.in.h; \
} > langinfo.h-t && \
mv langinfo.h-t langinfo.h
rm -f limits.h-t limits.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_LIMITS_H''@|<limits.h>|g' \
      < ./limits.in.h; \
} > limits.h-t && \
mv limits.h-t limits.h
rm -f locale.h-t locale.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_LOCALE_H''@|<locale.h>|g' \
      -e 's/@''GNULIB_LOCALECONV''@/1/g' \
      -e 's/@''GNULIB_SETLOCALE''@/0/g' \
      -e 's/@''GNULIB_SETLOCALE_NULL''@/1/g' \
      -e 's/@''GNULIB_DUPLOCALE''@/0/g' \
      -e 's/@''GNULIB_LOCALENAME''@/0/g' \
      -e 's|@''HAVE_NEWLOCALE''@|1|g' \
      -e 's|@''HAVE_DUPLOCALE''@|1|g' \
      -e 's|@''HAVE_FREELOCALE''@|1|g' \
      -e 's|@''HAVE_XLOCALE_H''@|0|g' \
      -e 's|@''REPLACE_LOCALECONV''@|0|g' \
      -e 's|@''REPLACE_SETLOCALE''@|0|g' \
      -e 's|@''REPLACE_NEWLOCALE''@|0|g' \
      -e 's|@''REPLACE_DUPLOCALE''@|0|g' \
      -e 's|@''REPLACE_FREELOCALE''@|0|g' \
      -e 's|@''REPLACE_STRUCT_LCONV''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \
      < ./locale.in.h; \
} > locale.h-t && \
mv locale.h-t locale.h
/bin/mkdir -p selinux
rm -f signal.h-t signal.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_SIGNAL_H''@|<signal.h>|g' \
      -e 's/@''GNULIB_PTHREAD_SIGMASK''@/0/g' \
      -e 's/@''GNULIB_RAISE''@/1/g' \
      -e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/0/g' \
      -e 's/@''GNULIB_SIGPROCMASK''@/0/g' \
      -e 's/@''GNULIB_SIGACTION''@/0/g' \
      -e 's|@''HAVE_POSIX_SIGNALBLOCKING''@|1|g' \
      -e 's|@''HAVE_PTHREAD_SIGMASK''@|1|g' \
      -e 's|@''HAVE_RAISE''@|1|g' \
      -e 's|@''HAVE_SIGSET_T''@|1|g' \
      -e 's|@''HAVE_SIGINFO_T''@|1|g' \
      -e 's|@''HAVE_SIGACTION''@|1|g' \
      -e 's|@''HAVE_STRUCT_SIGACTION_SA_SIGACTION''@|1|g' \
      -e 's|@''HAVE_TYPE_VOLATILE_SIG_ATOMIC_T''@|1|g' \
      -e 's|@''HAVE_SIGHANDLER_T''@|1|g' \
      -e 's|@''REPLACE_PTHREAD_SIGMASK''@|0|g' \
      -e 's|@''REPLACE_RAISE''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \
      < ./signal.in.h; \
} > signal.h-t && \
mv signal.h-t signal.h
rm -f selinux/selinux.h-t selinux/selinux.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_SELINUX_SELINUX_H''@|<selinux/selinux.h>|g' \
      -e '/definition of _GL_UNUSED_PARAMETER/r ./unused-parameter.h' \
      < ./se-selinux.in.h; \
} > selinux/selinux.h-t && \
chmod a-x selinux/selinux.h-t && \
mv selinux/selinux.h-t selinux/selinux.h
rm -f stdio.h-t stdio.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_STDIO_H''@|<stdio.h>|g' \
      -e 's/@''GNULIB_DPRINTF''@/0/g' \
      -e 's/@''GNULIB_FCLOSE''@/0/g' \
      -e 's/@''GNULIB_FDOPEN''@/0/g' \
      -e 's/@''GNULIB_FFLUSH''@/0/g' \
      -e 's/@''GNULIB_FGETC''@/1/g' \
      -e 's/@''GNULIB_FGETS''@/1/g' \
      -e 's/@''GNULIB_FOPEN''@/1/g' \
      -e 's/@''GNULIB_FPRINTF''@/1/g' \
      -e 's/@''GNULIB_FPRINTF_POSIX''@/0/g' \
      -e 's/@''GNULIB_FPURGE''@/0/g' \
      -e 's/@''GNULIB_FPUTC''@/1/g' \
      -e 's/@''GNULIB_FPUTS''@/1/g' \
      -e 's/@''GNULIB_FREAD''@/1/g' \
      -e 's/@''GNULIB_FREOPEN''@/0/g' \
      -e 's/@''GNULIB_FSCANF''@/1/g' \
      -e 's/@''GNULIB_FSEEK''@/1/g' \
      -e 's/@''GNULIB_FSEEKO''@/1/g' \
      -e 's/@''GNULIB_FTELL''@/0/g' \
      -e 's/@''GNULIB_FTELLO''@/0/g' \
      -e 's/@''GNULIB_FWRITE''@/1/g' \
      -e 's/@''GNULIB_GETC''@/1/g' \
      -e 's/@''GNULIB_GETCHAR''@/1/g' \
      -e 's/@''GNULIB_GETDELIM''@/1/g' \
      -e 's/@''GNULIB_GETLINE''@/1/g' \
      -e 's/@''GNULIB_OBSTACK_PRINTF''@/0/g' \
      -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/0/g' \
      -e 's/@''GNULIB_PCLOSE''@/0/g' \
      -e 's/@''GNULIB_PERROR''@/0/g' \
      -e 's/@''GNULIB_POPEN''@/0/g' \
      -e 's/@''GNULIB_PRINTF''@/1/g' \
      -e 's/@''GNULIB_PRINTF_POSIX''@/0/g' \
      -e 's/@''GNULIB_PUTC''@/1/g' \
      -e 's/@''GNULIB_PUTCHAR''@/1/g' \
      -e 's/@''GNULIB_PUTS''@/1/g' \
      -e 's/@''GNULIB_REMOVE''@/0/g' \
      -e 's/@''GNULIB_RENAME''@/1/g' \
      -e 's/@''GNULIB_RENAMEAT''@/1/g' \
      -e 's/@''GNULIB_SCANF''@/1/g' \
      -e 's/@''GNULIB_SNPRINTF''@/1/g' \
      -e 's/@''GNULIB_SPRINTF_POSIX''@/0/g' \
      -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/0/g' \
      -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/0/g' \
      -e 's/@''GNULIB_TMPFILE''@/0/g' \
      -e 's/@''GNULIB_VASPRINTF''@/1/g' \
      -e 's/@''GNULIB_VDPRINTF''@/0/g' \
      -e 's/@''GNULIB_VFPRINTF''@/1/g' \
      -e 's/@''GNULIB_VFPRINTF_POSIX''@/0/g' \
      -e 's/@''GNULIB_VFSCANF''@/0/g' \
      -e 's/@''GNULIB_VSCANF''@/0/g' \
      -e 's/@''GNULIB_VPRINTF''@/1/g' \
      -e 's/@''GNULIB_VPRINTF_POSIX''@/0/g' \
      -e 's/@''GNULIB_VSNPRINTF''@/1/g' \
      -e 's/@''GNULIB_VSPRINTF_POSIX''@/0/g' \
      -e 's/@''GNULIB_MDA_FCLOSEALL''@/1/g' \
      -e 's/@''GNULIB_MDA_FDOPEN''@/1/g' \
      -e 's/@''GNULIB_MDA_FILENO''@/1/g' \
      -e 's/@''GNULIB_MDA_GETW''@/1/g' \
      -e 's/@''GNULIB_MDA_PUTW''@/1/g' \
      -e 's/@''GNULIB_MDA_TEMPNAM''@/1/g' \
      < ./stdio.in.h | \
  sed -e 's|@''HAVE_DECL_FCLOSEALL''@|1|g' \
      -e 's|@''HAVE_DECL_FPURGE''@|1|g' \
      -e 's|@''HAVE_DECL_FSEEKO''@|1|g' \
      -e 's|@''HAVE_DECL_FTELLO''@|1|g' \
      -e 's|@''HAVE_DECL_GETDELIM''@|1|g' \
      -e 's|@''HAVE_DECL_GETLINE''@|1|g' \
      -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|1|g' \
      -e 's|@''HAVE_DECL_SNPRINTF''@|1|g' \
      -e 's|@''HAVE_DECL_VSNPRINTF''@|1|g' \
      -e 's|@''HAVE_DPRINTF''@|1|g' \
      -e 's|@''HAVE_FSEEKO''@|1|g' \
      -e 's|@''HAVE_FTELLO''@|1|g' \
      -e 's|@''HAVE_PCLOSE''@|1|g' \
      -e 's|@''HAVE_POPEN''@|1|g' \
      -e 's|@''HAVE_RENAMEAT''@|1|g' \
      -e 's|@''HAVE_VASPRINTF''@|1|g' \
      -e 's|@''HAVE_VDPRINTF''@|1|g' \
      -e 's|@''REPLACE_DPRINTF''@|0|g' \
      -e 's|@''REPLACE_FCLOSE''@|0|g' \
      -e 's|@''REPLACE_FDOPEN''@|0|g' \
      -e 's|@''REPLACE_FFLUSH''@|0|g' \
      -e 's|@''REPLACE_FOPEN''@|0|g' \
      -e 's|@''REPLACE_FPRINTF''@|0|g' \
      -e 's|@''REPLACE_FPURGE''@|0|g' \
      -e 's|@''REPLACE_FREOPEN''@|0|g' \
      -e 's|@''REPLACE_FSEEK''@|0|g' \
      -e 's|@''REPLACE_FSEEKO''@|0|g' \
      -e 's|@''REPLACE_FTELL''@|0|g' \
      -e 's|@''REPLACE_FTELLO''@|0|g' \
      -e 's|@''REPLACE_GETDELIM''@|0|g' \
      -e 's|@''REPLACE_GETLINE''@|0|g' \
      -e 's|@''REPLACE_OBSTACK_PRINTF''@|0|g' \
      -e 's|@''REPLACE_PERROR''@|0|g' \
      -e 's|@''REPLACE_POPEN''@|0|g' \
      -e 's|@''REPLACE_PRINTF''@|0|g' \
      -e 's|@''REPLACE_REMOVE''@|0|g' \
      -e 's|@''REPLACE_RENAME''@|0|g' \
      -e 's|@''REPLACE_RENAMEAT''@|0|g' \
      -e 's|@''REPLACE_SNPRINTF''@|0|g' \
      -e 's|@''REPLACE_SPRINTF''@|0|g' \
      -e 's|@''REPLACE_STDIO_READ_FUNCS''@|0|g' \
      -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|0|g' \
      -e 's|@''REPLACE_TMPFILE''@|0|g' \
      -e 's|@''REPLACE_VASPRINTF''@|0|g' \
      -e 's|@''REPLACE_VDPRINTF''@|0|g' \
      -e 's|@''REPLACE_VFPRINTF''@|0|g' \
      -e 's|@''REPLACE_VPRINTF''@|0|g' \
      -e 's|@''REPLACE_VSNPRINTF''@|0|g' \
      -e 's|@''REPLACE_VSPRINTF''@|0|g' \
      -e 's|@''ASM_SYMBOL_PREFIX''@||g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h'; \
} > stdio.h-t && \
mv stdio.h-t stdio.h
rm -f stdlib.h-t stdlib.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_STDLIB_H''@|<stdlib.h>|g' \
      -e 's/@''GNULIB__EXIT''@/0/g' \
      -e 's/@''GNULIB_ALIGNED_ALLOC''@/0/g' \
      -e 's/@''GNULIB_ATOLL''@/0/g' \
      -e 's/@''GNULIB_CALLOC_POSIX''@/0/g' \
      -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/1/g' \
      -e 's/@''GNULIB_FREE_POSIX''@/1/g' \
      -e 's/@''GNULIB_GETLOADAVG''@/0/g' \
      -e 's/@''GNULIB_GETSUBOPT''@/0/g' \
      -e 's/@''GNULIB_GRANTPT''@/0/g' \
      -e 's/@''GNULIB_MALLOC_POSIX''@/1/g' \
      -e 's/@''GNULIB_MBTOWC''@/1/g' \
      -e 's/@''GNULIB_MKDTEMP''@/1/g' \
      -e 's/@''GNULIB_MKOSTEMP''@/0/g' \
      -e 's/@''GNULIB_MKOSTEMPS''@/0/g' \
      -e 's/@''GNULIB_MKSTEMP''@/0/g' \
      -e 's/@''GNULIB_MKSTEMPS''@/0/g' \
      -e 's/@''GNULIB_POSIX_MEMALIGN''@/0/g' \
      -e 's/@''GNULIB_POSIX_OPENPT''@/0/g' \
      -e 's/@''GNULIB_PTSNAME''@/0/g' \
      -e 's/@''GNULIB_PTSNAME_R''@/0/g' \
      -e 's/@''GNULIB_PUTENV''@/0/g' \
      -e 's/@''GNULIB_QSORT_R''@/0/g' \
      -e 's/@''GNULIB_RANDOM''@/0/g' \
      -e 's/@''GNULIB_RANDOM_R''@/0/g' \
      -e 's/@''GNULIB_REALLOC_POSIX''@/1/g' \
      -e 's/@''GNULIB_REALLOCARRAY''@/0/g' \
      -e 's/@''GNULIB_REALPATH''@/1/g' \
      -e 's/@''GNULIB_RPMATCH''@/1/g' \
      -e 's/@''GNULIB_SECURE_GETENV''@/0/g' \
      -e 's/@''GNULIB_SETENV''@/1/g' \
      -e 's/@''GNULIB_STRTOD''@/0/g' \
      -e 's/@''GNULIB_STRTOLD''@/0/g' \
      -e 's/@''GNULIB_STRTOLL''@/1/g' \
      -e 's/@''GNULIB_STRTOULL''@/1/g' \
      -e 's/@''GNULIB_SYSTEM_POSIX''@/0/g' \
      -e 's/@''GNULIB_UNLOCKPT''@/0/g' \
      -e 's/@''GNULIB_UNSETENV''@/1/g' \
      -e 's/@''GNULIB_WCTOMB''@/0/g' \
      -e 's/@''GNULIB_MDA_ECVT''@/1/g' \
      -e 's/@''GNULIB_MDA_FCVT''@/1/g' \
      -e 's/@''GNULIB_MDA_GCVT''@/1/g' \
      -e 's/@''GNULIB_MDA_MKTEMP''@/1/g' \
      -e 's/@''GNULIB_MDA_PUTENV''@/1/g' \
      < ./stdlib.in.h | \
  sed -e 's|@''HAVE__EXIT''@|1|g' \
      -e 's|@''HAVE_ALIGNED_ALLOC''@|1|g' \
      -e 's|@''HAVE_ATOLL''@|1|g' \
      -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|1|g' \
      -e 's|@''HAVE_DECL_ECVT''@|1|g' \
      -e 's|@''HAVE_DECL_FCVT''@|1|g' \
      -e 's|@''HAVE_DECL_GCVT''@|1|g' \
      -e 's|@''HAVE_DECL_GETLOADAVG''@|1|g' \
      -e 's|@''HAVE_GETSUBOPT''@|1|g' \
      -e 's|@''HAVE_GRANTPT''@|1|g' \
      -e 's|@''HAVE_INITSTATE''@|1|g' \
      -e 's|@''HAVE_DECL_INITSTATE''@|1|g' \
      -e 's|@''HAVE_MBTOWC''@|1|g' \
      -e 's|@''HAVE_MKDTEMP''@|1|g' \
      -e 's|@''HAVE_MKOSTEMP''@|1|g' \
      -e 's|@''HAVE_MKOSTEMPS''@|1|g' \
      -e 's|@''HAVE_MKSTEMP''@|1|g' \
      -e 's|@''HAVE_MKSTEMPS''@|1|g' \
      -e 's|@''HAVE_POSIX_MEMALIGN''@|1|g' \
      -e 's|@''HAVE_POSIX_OPENPT''@|1|g' \
      -e 's|@''HAVE_PTSNAME''@|1|g' \
      -e 's|@''HAVE_PTSNAME_R''@|1|g' \
      -e 's|@''HAVE_QSORT_R''@|1|g' \
      -e 's|@''HAVE_RANDOM''@|1|g' \
      -e 's|@''HAVE_RANDOM_H''@|1|g' \
      -e 's|@''HAVE_RANDOM_R''@|1|g' \
      -e 's|@''HAVE_REALLOCARRAY''@|1|g' \
      -e 's|@''HAVE_REALPATH''@|1|g' \
      -e 's|@''HAVE_RPMATCH''@|1|g' \
      -e 's|@''HAVE_SECURE_GETENV''@|1|g' \
      -e 's|@''HAVE_DECL_SETENV''@|1|g' \
      -e 's|@''HAVE_SETSTATE''@|1|g' \
      -e 's|@''HAVE_DECL_SETSTATE''@|1|g' \
      -e 's|@''HAVE_STRTOD''@|1|g' \
      -e 's|@''HAVE_STRTOLD''@|1|g' \
      -e 's|@''HAVE_STRTOLL''@|1|g' \
      -e 's|@''HAVE_STRTOULL''@|1|g' \
      -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|1|g' \
      -e 's|@''HAVE_SYS_LOADAVG_H''@|0|g' \
      -e 's|@''HAVE_UNLOCKPT''@|1|g' \
      -e 's|@''HAVE_DECL_UNSETENV''@|1|g' \
      -e 's|@''REPLACE_ALIGNED_ALLOC''@|0|g' \
      -e 's|@''REPLACE_CALLOC''@|0|g' \
      -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|0|g' \
      -e 's|@''REPLACE_FREE''@|1|g' \
      -e 's|@''REPLACE_INITSTATE''@|0|g' \
      -e 's|@''REPLACE_MALLOC''@|0|g' \
      -e 's|@''REPLACE_MBTOWC''@|0|g' \
      -e 's|@''REPLACE_MKSTEMP''@|0|g' \
      -e 's|@''REPLACE_POSIX_MEMALIGN''@|0|g' \
      -e 's|@''REPLACE_PTSNAME''@|0|g' \
      -e 's|@''REPLACE_PTSNAME_R''@|0|g' \
      -e 's|@''REPLACE_PUTENV''@|0|g' \
      -e 's|@''REPLACE_QSORT_R''@|0|g' \
      -e 's|@''REPLACE_RANDOM''@|0|g' \
      -e 's|@''REPLACE_RANDOM_R''@|0|g' \
      -e 's|@''REPLACE_REALLOC''@|0|g' \
      -e 's|@''REPLACE_REALPATH''@|0|g' \
      -e 's|@''REPLACE_SETENV''@|0|g' \
      -e 's|@''REPLACE_SETSTATE''@|0|g' \
      -e 's|@''REPLACE_STRTOD''@|0|g' \
      -e 's|@''REPLACE_STRTOLD''@|0|g' \
      -e 's|@''REPLACE_UNSETENV''@|0|g' \
      -e 's|@''REPLACE_WCTOMB''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _Noreturn/r ./_Noreturn.h' \
      -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h'; \
} > stdlib.h-t && \
mv stdlib.h-t stdlib.h
rm -f string.h-t string.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_STRING_H''@|<string.h>|g' \
      -e 's/@''GNULIB_EXPLICIT_BZERO''@/0/g' \
      -e 's/@''GNULIB_FFSL''@/0/g' \
      -e 's/@''GNULIB_FFSLL''@/0/g' \
      -e 's/@''GNULIB_MBSLEN''@/0/g' \
      -e 's/@''GNULIB_MBSNLEN''@/0/g' \
      -e 's/@''GNULIB_MBSCHR''@/0/g' \
      -e 's/@''GNULIB_MBSRCHR''@/0/g' \
      -e 's/@''GNULIB_MBSSTR''@/0/g' \
      -e 's/@''GNULIB_MBSCASECMP''@/1/g' \
      -e 's/@''GNULIB_MBSNCASECMP''@/0/g' \
      -e 's/@''GNULIB_MBSPCASECMP''@/0/g' \
      -e 's/@''GNULIB_MBSCASESTR''@/0/g' \
      -e 's/@''GNULIB_MBSCSPN''@/0/g' \
      -e 's/@''GNULIB_MBSPBRK''@/0/g' \
      -e 's/@''GNULIB_MBSSPN''@/0/g' \
      -e 's/@''GNULIB_MBSSEP''@/0/g' \
      -e 's/@''GNULIB_MBSTOK_R''@/0/g' \
      -e 's/@''GNULIB_MEMCHR''@/1/g' \
      -e 's/@''GNULIB_MEMMEM''@/0/g' \
      -e 's/@''GNULIB_MEMPCPY''@/1/g' \
      -e 's/@''GNULIB_MEMRCHR''@/1/g' \
      -e 's/@''GNULIB_RAWMEMCHR''@/1/g' \
      -e 's/@''GNULIB_STPCPY''@/1/g' \
      -e 's/@''GNULIB_STPNCPY''@/0/g' \
      -e 's/@''GNULIB_STRCHRNUL''@/1/g' \
      -e 's/@''GNULIB_STRDUP''@/1/g' \
      -e 's/@''GNULIB_STRNCAT''@/0/g' \
      -e 's/@''GNULIB_STRNDUP''@/1/g' \
      -e 's/@''GNULIB_STRNLEN''@/1/g' \
      -e 's/@''GNULIB_STRPBRK''@/0/g' \
      -e 's/@''GNULIB_STRSEP''@/0/g' \
      -e 's/@''GNULIB_STRSTR''@/0/g' \
      -e 's/@''GNULIB_STRCASESTR''@/0/g' \
      -e 's/@''GNULIB_STRTOK_R''@/0/g' \
      -e 's/@''GNULIB_STRERROR''@/1/g' \
      -e 's/@''GNULIB_STRERROR_R''@/0/g' \
      -e 's/@''GNULIB_STRERRORNAME_NP''@/0/g' \
      -e 's/@''GNULIB_SIGABBREV_NP''@/0/g' \
      -e 's/@''GNULIB_SIGDESCR_NP''@/0/g' \
      -e 's/@''GNULIB_STRSIGNAL''@/0/g' \
      -e 's/@''GNULIB_STRVERSCMP''@/0/g' \
      -e 's/@''GNULIB_MDA_MEMCCPY''@/1/g' \
      -e 's/@''GNULIB_MDA_STRDUP''@/1/g' \
      < ./string.in.h | \
  sed -e 's|@''HAVE_EXPLICIT_BZERO''@|1|g' \
      -e 's|@''HAVE_FFSL''@|1|g' \
      -e 's|@''HAVE_FFSLL''@|1|g' \
      -e 's|@''HAVE_MBSLEN''@|0|g' \
      -e 's|@''HAVE_DECL_MEMMEM''@|1|g' \
      -e 's|@''HAVE_MEMPCPY''@|1|g' \
      -e 's|@''HAVE_DECL_MEMRCHR''@|1|g' \
      -e 's|@''HAVE_RAWMEMCHR''@|1|g' \
      -e 's|@''HAVE_STPCPY''@|1|g' \
      -e 's|@''HAVE_STPNCPY''@|1|g' \
      -e 's|@''HAVE_STRCHRNUL''@|1|g' \
      -e 's|@''HAVE_DECL_STRDUP''@|1|g' \
      -e 's|@''HAVE_DECL_STRNDUP''@|1|g' \
      -e 's|@''HAVE_DECL_STRNLEN''@|1|g' \
      -e 's|@''HAVE_STRPBRK''@|1|g' \
      -e 's|@''HAVE_STRSEP''@|1|g' \
      -e 's|@''HAVE_STRCASESTR''@|1|g' \
      -e 's|@''HAVE_DECL_STRTOK_R''@|1|g' \
      -e 's|@''HAVE_DECL_STRERROR_R''@|1|g' \
      -e 's|@''HAVE_STRERRORNAME_NP''@|1|g' \
      -e 's|@''HAVE_SIGABBREV_NP''@|1|g' \
      -e 's|@''HAVE_SIGDESCR_NP''@|1|g' \
      -e 's|@''HAVE_DECL_STRSIGNAL''@|1|g' \
      -e 's|@''HAVE_STRVERSCMP''@|1|g' \
      -e 's|@''REPLACE_FFSLL''@|0|g' \
      -e 's|@''REPLACE_MEMCHR''@|0|g' \
      -e 's|@''REPLACE_MEMMEM''@|0|g' \
      -e 's|@''REPLACE_STPNCPY''@|0|g' \
      -e 's|@''REPLACE_STRCHRNUL''@|0|g' \
      -e 's|@''REPLACE_STRDUP''@|0|g' \
      -e 's|@''REPLACE_STRNCAT''@|0|g' \
      -e 's|@''REPLACE_STRNDUP''@|0|g' \
      -e 's|@''REPLACE_STRNLEN''@|0|g' \
      -e 's|@''REPLACE_STRSTR''@|0|g' \
      -e 's|@''REPLACE_STRCASESTR''@|0|g' \
      -e 's|@''REPLACE_STRTOK_R''@|0|g' \
      -e 's|@''REPLACE_STRERROR''@|0|g' \
      -e 's|@''REPLACE_STRERROR_R''@|0|g' \
      -e 's|@''REPLACE_STRERRORNAME_NP''@|0|g' \
      -e 's|@''REPLACE_STRSIGNAL''@|0|g' \
      -e 's|@''UNDEFINE_STRTOK_R''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h'; \
      < ./string.in.h; \
} > string.h-t && \
mv string.h-t string.h
rm -f strings.h-t strings.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''HAVE_STRINGS_H''@|1|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_STRINGS_H''@|<strings.h>|g' \
      -e 's/@''GNULIB_FFS''@/0/g' \
      -e 's|@''HAVE_FFS''@|1|g' \
      -e 's|@''HAVE_STRCASECMP''@|1|g' \
      -e 's|@''HAVE_DECL_STRNCASECMP''@|1|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \
      < ./strings.in.h; \
} > strings.h-t && \
mv strings.h-t strings.h
/bin/mkdir -p sys
rm -f sys/random.h-t sys/random.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_SYS_RANDOM_H''@|<sys/random.h>|g' \
      -e 's|@''HAVE_SYS_RANDOM_H''@|1|g' \
      -e 's/@''GNULIB_GETRANDOM''@/1/g' \
      -e 's/@''HAVE_GETRANDOM''@/1/g' \
      -e 's/@''REPLACE_GETRANDOM''@/0/g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \
      < ./sys_random.in.h; \
} > sys/random.h-t && \
mv -f sys/random.h-t sys/random.h
/bin/mkdir -p sys
rm -f sys/stat.h-t sys/stat.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_SYS_STAT_H''@|<sys/stat.h>|g' \
      -e 's|@''WINDOWS_64_BIT_ST_SIZE''@|0|g' \
      -e 's|@''WINDOWS_STAT_TIMESPEC''@|0|g' \
      -e 's/@''GNULIB_FCHMODAT''@/1/g' \
      -e 's/@''GNULIB_FSTAT''@/1/g' \
      -e 's/@''GNULIB_FSTATAT''@/1/g' \
      -e 's/@''GNULIB_FUTIMENS''@/1/g' \
      -e 's/@''GNULIB_GETUMASK''@/0/g' \
      -e 's/@''GNULIB_LCHMOD''@/1/g' \
      -e 's/@''GNULIB_LSTAT''@/1/g' \
      -e 's/@''GNULIB_MKDIR''@/1/g' \
      -e 's/@''GNULIB_MKDIRAT''@/1/g' \
      -e 's/@''GNULIB_MKFIFO''@/1/g' \
      -e 's/@''GNULIB_MKFIFOAT''@/1/g' \
      -e 's/@''GNULIB_MKNOD''@/1/g' \
      -e 's/@''GNULIB_MKNODAT''@/1/g' \
      -e 's/@''GNULIB_STAT''@/1/g' \
      -e 's/@''GNULIB_UTIMENSAT''@/1/g' \
      -e 's/@''GNULIB_OVERRIDES_STRUCT_STAT''@/0/g' \
      -e 's/@''GNULIB_MDA_CHMOD''@/1/g' \
      -e 's/@''GNULIB_MDA_MKDIR''@/1/g' \
      -e 's/@''GNULIB_MDA_UMASK''@/1/g' \
      -e 's|@''HAVE_FCHMODAT''@|1|g' \
      -e 's|@''HAVE_FSTATAT''@|1|g' \
      -e 's|@''HAVE_FUTIMENS''@|1|g' \
      -e 's|@''HAVE_GETUMASK''@|1|g' \
      -e 's|@''HAVE_LCHMOD''@|0|g' \
      -e 's|@''HAVE_LSTAT''@|1|g' \
      -e 's|@''HAVE_MKDIRAT''@|1|g' \
      -e 's|@''HAVE_MKFIFO''@|1|g' \
      -e 's|@''HAVE_MKFIFOAT''@|1|g' \
      -e 's|@''HAVE_MKNOD''@|1|g' \
      -e 's|@''HAVE_MKNODAT''@|1|g' \
      -e 's|@''HAVE_UTIMENSAT''@|1|g' \
      -e 's|@''REPLACE_FCHMODAT''@|1|g' \
      -e 's|@''REPLACE_FSTAT''@|0|g' \
      -e 's|@''REPLACE_FSTATAT''@|0|g' \
      -e 's|@''REPLACE_FUTIMENS''@|0|g' \
      -e 's|@''REPLACE_LSTAT''@|0|g' \
      -e 's|@''REPLACE_MKDIR''@|0|g' \
      -e 's|@''REPLACE_MKFIFO''@|0|g' \
      -e 's|@''REPLACE_MKFIFOAT''@|0|g' \
      -e 's|@''REPLACE_MKNOD''@|0|g' \
      -e 's|@''REPLACE_MKNODAT''@|0|g' \
      -e 's|@''REPLACE_STAT''@|0|g' \
      -e 's|@''REPLACE_UTIMENSAT''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \
      < ./sys_stat.in.h; \
} > sys/stat.h-t && \
mv sys/stat.h-t sys/stat.h
/bin/mkdir -p sys
/bin/mkdir -p sys
rm -f sys/time.h-t sys/time.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's/@''HAVE_SYS_TIME_H''@/1/g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_SYS_TIME_H''@|<sys/time.h>|g' \
      -e 's/@''GNULIB_GETTIMEOFDAY''@/1/g' \
      -e 's|@''HAVE_WINSOCK2_H''@|0|g' \
      -e 's/@''HAVE_GETTIMEOFDAY''@/1/g' \
      -e 's/@''HAVE_STRUCT_TIMEVAL''@/1/g' \
      -e 's/@''REPLACE_GETTIMEOFDAY''@/0/g' \
      -e 's/@''REPLACE_STRUCT_TIMEVAL''@/0/g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \
      < ./sys_time.in.h; \
} > sys/time.h-t && \
mv sys/time.h-t sys/time.h
rm -f sys/types.h-t sys/types.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_SYS_TYPES_H''@|<sys/types.h>|g' \
      -e 's|@''WINDOWS_64_BIT_OFF_T''@|0|g' \
      -e 's|@''WINDOWS_STAT_INODES''@|0|g' \
      < ./sys_types.in.h; \
} > sys/types.h-t && \
mv sys/types.h-t sys/types.h
rm -f time.h-t time.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_TIME_H''@|<time.h>|g' \
      -e 's/@''GNULIB_CTIME''@/0/g' \
      -e 's/@''GNULIB_LOCALTIME''@/0/g' \
      -e 's/@''GNULIB_MKTIME''@/1/g' \
      -e 's/@''GNULIB_NANOSLEEP''@/0/g' \
      -e 's/@''GNULIB_STRFTIME''@/0/g' \
      -e 's/@''GNULIB_STRPTIME''@/0/g' \
      -e 's/@''GNULIB_TIMEGM''@/1/g' \
      -e 's/@''GNULIB_TIMESPEC_GET''@/0/g' \
      -e 's/@''GNULIB_TIME_R''@/1/g' \
      -e 's/@''GNULIB_TIME_RZ''@/1/g' \
      -e 's/@''GNULIB_TZSET''@/1/g' \
      -e 's/@''GNULIB_MDA_TZSET''@/1/g' \
      -e 's|@''HAVE_DECL_LOCALTIME_R''@|1|g' \
      -e 's|@''HAVE_NANOSLEEP''@|1|g' \
      -e 's|@''HAVE_STRPTIME''@|1|g' \
      -e 's|@''HAVE_TIMEGM''@|1|g' \
      -e 's|@''HAVE_TIMESPEC_GET''@|1|g' \
      -e 's|@''HAVE_TIMEZONE_T''@|0|g' \
      -e 's|@''REPLACE_CTIME''@|GNULIB_PORTCHECK|g' \
      -e 's|@''REPLACE_GMTIME''@|0|g' \
      -e 's|@''REPLACE_LOCALTIME''@|0|g' \
      -e 's|@''REPLACE_LOCALTIME_R''@|0|g' \
      -e 's|@''REPLACE_MKTIME''@|0|g' \
      -e 's|@''REPLACE_NANOSLEEP''@|GNULIB_PORTCHECK|g' \
      -e 's|@''REPLACE_STRFTIME''@|GNULIB_PORTCHECK|g' \
      -e 's|@''REPLACE_TIMEGM''@|0|g' \
      -e 's|@''REPLACE_TZSET''@|0|g' \
      -e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|0|g' \
      -e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|0|g' \
      -e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|1|g' \
      -e 's|@''UNISTD_H_DEFINES_STRUCT_TIMESPEC''@|0|g' \
      -e 's|@''TIME_H_DEFINES_TIME_UTC''@|1|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \
      < ./time.in.h; \
} > time.h-t && \
mv time.h-t time.h
rm -f unistd.h-t unistd.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''HAVE_UNISTD_H''@|1|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_UNISTD_H''@|<unistd.h>|g' \
      -e 's|@''WINDOWS_64_BIT_OFF_T''@|0|g' \
      -e 's/@''GNULIB_ACCESS''@/0/g' \
      -e 's/@''GNULIB_CHDIR''@/1/g' \
      -e 's/@''GNULIB_CHOWN''@/1/g' \
      -e 's/@''GNULIB_CLOSE''@/1/g' \
      -e 's/@''GNULIB_COPY_FILE_RANGE''@/0/g' \
      -e 's/@''GNULIB_DUP''@/1/g' \
      -e 's/@''GNULIB_DUP2''@/1/g' \
      -e 's/@''GNULIB_DUP3''@/0/g' \
      -e 's/@''GNULIB_ENVIRON''@/1/g' \
      -e 's/@''GNULIB_EUIDACCESS''@/1/g' \
      -e 's/@''GNULIB_EXECL''@/0/g' \
      -e 's/@''GNULIB_EXECLE''@/0/g' \
      -e 's/@''GNULIB_EXECLP''@/0/g' \
      -e 's/@''GNULIB_EXECV''@/0/g' \
      -e 's/@''GNULIB_EXECVE''@/0/g' \
      -e 's/@''GNULIB_EXECVP''@/0/g' \
      -e 's/@''GNULIB_EXECVPE''@/0/g' \
      -e 's/@''GNULIB_FACCESSAT''@/1/g' \
      -e 's/@''GNULIB_FCHDIR''@/1/g' \
      -e 's/@''GNULIB_FCHOWNAT''@/1/g' \
      -e 's/@''GNULIB_FDATASYNC''@/0/g' \
      -e 's/@''GNULIB_FSYNC''@/0/g' \
      -e 's/@''GNULIB_FTRUNCATE''@/0/g' \
      -e 's/@''GNULIB_GETCWD''@/1/g' \
      -e 's/@''GNULIB_GETDOMAINNAME''@/0/g' \
      -e 's/@''GNULIB_GETDTABLESIZE''@/1/g' \
      -e 's/@''GNULIB_GETENTROPY''@/0/g' \
      -e 's/@''GNULIB_GETGROUPS''@/1/g' \
      -e 's/@''GNULIB_GETHOSTNAME''@/0/g' \
      -e 's/@''GNULIB_GETLOGIN''@/0/g' \
      -e 's/@''GNULIB_GETLOGIN_R''@/0/g' \
      -e 's/@''GNULIB_GETOPT_POSIX''@/1/g' \
      -e 's/@''GNULIB_GETPAGESIZE''@/1/g' \
      -e 's/@''GNULIB_GETPASS''@/0/g' \
      -e 's/@''GNULIB_GETUSERSHELL''@/0/g' \
      -e 's/@''GNULIB_GROUP_MEMBER''@/1/g' \
      -e 's/@''GNULIB_ISATTY''@/0/g' \
      -e 's/@''GNULIB_LCHOWN''@/1/g' \
      -e 's/@''GNULIB_LINK''@/1/g' \
      -e 's/@''GNULIB_LINKAT''@/1/g' \
      -e 's/@''GNULIB_LSEEK''@/1/g' \
      -e 's/@''GNULIB_PIPE''@/1/g' \
      -e 's/@''GNULIB_PIPE2''@/0/g' \
      -e 's/@''GNULIB_PREAD''@/0/g' \
      -e 's/@''GNULIB_PWRITE''@/0/g' \
      -e 's/@''GNULIB_READ''@/1/g' \
      -e 's/@''GNULIB_READLINK''@/1/g' \
      -e 's/@''GNULIB_READLINKAT''@/1/g' \
      -e 's/@''GNULIB_RMDIR''@/1/g' \
      -e 's/@''GNULIB_SETHOSTNAME''@/0/g' \
      -e 's/@''GNULIB_SLEEP''@/1/g' \
      -e 's/@''GNULIB_SYMLINK''@/1/g' \
      -e 's/@''GNULIB_SYMLINKAT''@/1/g' \
      -e 's/@''GNULIB_TRUNCATE''@/0/g' \
      -e 's/@''GNULIB_TTYNAME_R''@/0/g' \
      -e 's/@''GNULIB_UNISTD_H_GETOPT''@/01/g' \
      -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/0/g' \
      -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/0/g' \
      -e 's/@''GNULIB_UNLINK''@/1/g' \
      -e 's/@''GNULIB_UNLINKAT''@/1/g' \
      -e 's/@''GNULIB_USLEEP''@/0/g' \
      -e 's/@''GNULIB_WRITE''@/1/g' \
      -e 's/@''GNULIB_MDA_ACCESS''@/1/g' \
      -e 's/@''GNULIB_MDA_CHDIR''@/1/g' \
      -e 's/@''GNULIB_MDA_CLOSE''@/1/g' \
      -e 's/@''GNULIB_MDA_DUP''@/1/g' \
      -e 's/@''GNULIB_MDA_DUP2''@/1/g' \
      -e 's/@''GNULIB_MDA_EXECL''@/1/g' \
      -e 's/@''GNULIB_MDA_EXECLE''@/1/g' \
      -e 's/@''GNULIB_MDA_EXECLP''@/1/g' \
      -e 's/@''GNULIB_MDA_EXECV''@/1/g' \
      -e 's/@''GNULIB_MDA_EXECVE''@/1/g' \
      -e 's/@''GNULIB_MDA_EXECVP''@/1/g' \
      -e 's/@''GNULIB_MDA_EXECVPE''@/1/g' \
      -e 's/@''GNULIB_MDA_GETCWD''@/1/g' \
      -e 's/@''GNULIB_MDA_GETPID''@/1/g' \
      -e 's/@''GNULIB_MDA_ISATTY''@/1/g' \
      -e 's/@''GNULIB_MDA_LSEEK''@/1/g' \
      -e 's/@''GNULIB_MDA_READ''@/1/g' \
      -e 's/@''GNULIB_MDA_RMDIR''@/1/g' \
      -e 's/@''GNULIB_MDA_SWAB''@/1/g' \
      -e 's/@''GNULIB_MDA_UNLINK''@/1/g' \
      -e 's/@''GNULIB_MDA_WRITE''@/1/g' \
      < ./unistd.in.h | \
  sed -e 's|@''HAVE_CHOWN''@|1|g' \
      -e 's|@''HAVE_COPY_FILE_RANGE''@|1|g' \
      -e 's|@''HAVE_DUP3''@|1|g' \
      -e 's|@''HAVE_EUIDACCESS''@|1|g' \
      -e 's|@''HAVE_EXECVPE''@|1|g' \
      -e 's|@''HAVE_FACCESSAT''@|1|g' \
      -e 's|@''HAVE_FCHDIR''@|1|g' \
      -e 's|@''HAVE_FCHOWNAT''@|1|g' \
      -e 's|@''HAVE_FDATASYNC''@|1|g' \
      -e 's|@''HAVE_FSYNC''@|1|g' \
      -e 's|@''HAVE_FTRUNCATE''@|1|g' \
      -e 's|@''HAVE_GETDTABLESIZE''@|1|g' \
      -e 's|@''HAVE_GETENTROPY''@|1|g' \
      -e 's|@''HAVE_GETGROUPS''@|1|g' \
      -e 's|@''HAVE_GETHOSTNAME''@|1|g' \
      -e 's|@''HAVE_GETPAGESIZE''@|1|g' \
      -e 's|@''HAVE_GETPASS''@|1|g' \
      -e 's|@''HAVE_GROUP_MEMBER''@|1|g' \
      -e 's|@''HAVE_LCHOWN''@|1|g' \
      -e 's|@''HAVE_LINK''@|1|g' \
      -e 's|@''HAVE_LINKAT''@|1|g' \
      -e 's|@''HAVE_PIPE''@|1|g' \
      -e 's|@''HAVE_PIPE2''@|1|g' \
      -e 's|@''HAVE_PREAD''@|1|g' \
      -e 's|@''HAVE_PWRITE''@|1|g' \
      -e 's|@''HAVE_READLINK''@|1|g' \
      -e 's|@''HAVE_READLINKAT''@|1|g' \
      -e 's|@''HAVE_SETHOSTNAME''@|1|g' \
      -e 's|@''HAVE_SLEEP''@|1|g' \
      -e 's|@''HAVE_SYMLINK''@|1|g' \
      -e 's|@''HAVE_SYMLINKAT''@|1|g' \
      -e 's|@''HAVE_UNLINKAT''@|1|g' \
      -e 's|@''HAVE_USLEEP''@|1|g' \
      -e 's|@''HAVE_DECL_ENVIRON''@|1|g' \
      -e 's|@''HAVE_DECL_EXECVPE''@|1|g' \
      -e 's|@''HAVE_DECL_FCHDIR''@|1|g' \
      -e 's|@''HAVE_DECL_FDATASYNC''@|1|g' \
      -e 's|@''HAVE_DECL_GETDOMAINNAME''@|1|g' \
      -e 's|@''HAVE_DECL_GETLOGIN''@|1|g' \
      -e 's|@''HAVE_DECL_GETLOGIN_R''@|1|g' \
      -e 's|@''HAVE_DECL_GETPAGESIZE''@|1|g' \
      -e 's|@''HAVE_DECL_GETUSERSHELL''@|1|g' \
      -e 's|@''HAVE_DECL_SETHOSTNAME''@|1|g' \
      -e 's|@''HAVE_DECL_TRUNCATE''@|1|g' \
      -e 's|@''HAVE_DECL_TTYNAME_R''@|1|g' \
      -e 's|@''HAVE_OS_H''@|0|g' \
      -e 's|@''HAVE_SYS_PARAM_H''@|0|g' \
  | \
  sed -e 's|@''REPLACE_ACCESS''@|0|g' \
      -e 's|@''REPLACE_CHOWN''@|0|g' \
      -e 's|@''REPLACE_CLOSE''@|0|g' \
      -e 's|@''REPLACE_DUP''@|0|g' \
      -e 's|@''REPLACE_DUP2''@|0|g' \
      -e 's|@''REPLACE_EXECL''@|0|g' \
      -e 's|@''REPLACE_EXECLE''@|0|g' \
      -e 's|@''REPLACE_EXECLP''@|0|g' \
      -e 's|@''REPLACE_EXECV''@|0|g' \
      -e 's|@''REPLACE_EXECVE''@|0|g' \
      -e 's|@''REPLACE_EXECVP''@|0|g' \
      -e 's|@''REPLACE_EXECVPE''@|0|g' \
      -e 's|@''REPLACE_FACCESSAT''@|0|g' \
      -e 's|@''REPLACE_FCHOWNAT''@|0|g' \
      -e 's|@''REPLACE_FTRUNCATE''@|0|g' \
      -e 's|@''REPLACE_GETCWD''@|0|g' \
      -e 's|@''REPLACE_GETDOMAINNAME''@|0|g' \
      -e 's|@''REPLACE_GETDTABLESIZE''@|0|g' \
      -e 's|@''REPLACE_GETLOGIN_R''@|0|g' \
      -e 's|@''REPLACE_GETGROUPS''@|0|g' \
      -e 's|@''REPLACE_GETPAGESIZE''@|0|g' \
      -e 's|@''REPLACE_GETPASS''@|0|g' \
      -e 's|@''REPLACE_ISATTY''@|0|g' \
      -e 's|@''REPLACE_LCHOWN''@|0|g' \
      -e 's|@''REPLACE_LINK''@|0|g' \
      -e 's|@''REPLACE_LINKAT''@|0|g' \
      -e 's|@''REPLACE_LSEEK''@|0|g' \
      -e 's|@''REPLACE_PREAD''@|0|g' \
      -e 's|@''REPLACE_PWRITE''@|0|g' \
      -e 's|@''REPLACE_READ''@|0|g' \
      -e 's|@''REPLACE_READLINK''@|0|g' \
      -e 's|@''REPLACE_READLINKAT''@|0|g' \
      -e 's|@''REPLACE_RMDIR''@|0|g' \
      -e 's|@''REPLACE_SLEEP''@|0|g' \
      -e 's|@''REPLACE_SYMLINK''@|0|g' \
      -e 's|@''REPLACE_SYMLINKAT''@|0|g' \
      -e 's|@''REPLACE_TRUNCATE''@|0|g' \
      -e 's|@''REPLACE_TTYNAME_R''@|0|g' \
      -e 's|@''REPLACE_UNLINK''@|0|g' \
      -e 's|@''REPLACE_UNLINKAT''@|0|g' \
      -e 's|@''REPLACE_USLEEP''@|0|g' \
      -e 's|@''REPLACE_WRITE''@|0|g' \
      -e 's|@''UNISTD_H_HAVE_SYS_RANDOM_H''@|1|g' \
      -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|0|g' \
      -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h'; \
} > unistd.h-t && \
mv unistd.h-t unistd.h
rm -f unitypes.h-t unitypes.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  cat ./unitypes.in.h; \
} > unitypes.h-t && \
mv -f unitypes.h-t unitypes.h
rm -f uniwidth.h-t uniwidth.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  cat ./uniwidth.in.h; \
} > uniwidth.h-t && \
mv -f uniwidth.h-t uniwidth.h
rm -f utime.h-t utime.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's/@''HAVE_UTIME_H''@/1/g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_UTIME_H''@|<utime.h>|g' \
      -e 's/@''GNULIB_UTIME''@/1/g' \
      -e 's/@''GNULIB_MDA_UTIME''@/1/g' \
      -e 's|@''HAVE_UTIME''@|1|g' \
      -e 's|@''REPLACE_UTIME''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \
      < ./utime.in.h; \
} > utime.h-t && \
mv utime.h-t utime.h
rm -f wchar.h-t wchar.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''HAVE_FEATURES_H''@|1|g' \
      -e 's|@''NEXT_WCHAR_H''@|<wchar.h>|g' \
      -e 's|@''HAVE_WCHAR_H''@|1|g' \
      -e 's/@''HAVE_CRTDEFS_H''@/0/g' \
      -e 's/@''GNULIB_OVERRIDES_WINT_T''@/0/g' \
      -e 's/@''GNULIB_BTOWC''@/1/g' \
      -e 's/@''GNULIB_WCTOB''@/0/g' \
      -e 's/@''GNULIB_MBSINIT''@/1/g' \
      -e 's/@''GNULIB_MBRTOWC''@/1/g' \
      -e 's/@''GNULIB_MBRLEN''@/0/g' \
      -e 's/@''GNULIB_MBSRTOWCS''@/1/g' \
      -e 's/@''GNULIB_MBSNRTOWCS''@/0/g' \
      -e 's/@''GNULIB_WCRTOMB''@/1/g' \
      -e 's/@''GNULIB_WCSRTOMBS''@/0/g' \
      -e 's/@''GNULIB_WCSNRTOMBS''@/0/g' \
      -e 's/@''GNULIB_WCWIDTH''@/1/g' \
      -e 's/@''GNULIB_WMEMCHR''@/1/g' \
      -e 's/@''GNULIB_WMEMCMP''@/0/g' \
      -e 's/@''GNULIB_WMEMCPY''@/0/g' \
      -e 's/@''GNULIB_WMEMMOVE''@/0/g' \
      -e 's/@''GNULIB_WMEMPCPY''@/1/g' \
      -e 's/@''GNULIB_WMEMSET''@/0/g' \
      -e 's/@''GNULIB_WCSLEN''@/0/g' \
      -e 's/@''GNULIB_WCSNLEN''@/0/g' \
      -e 's/@''GNULIB_WCSCPY''@/0/g' \
      -e 's/@''GNULIB_WCPCPY''@/0/g' \
      -e 's/@''GNULIB_WCSNCPY''@/0/g' \
      -e 's/@''GNULIB_WCPNCPY''@/0/g' \
      -e 's/@''GNULIB_WCSCAT''@/0/g' \
      -e 's/@''GNULIB_WCSNCAT''@/0/g' \
      -e 's/@''GNULIB_WCSCMP''@/0/g' \
      -e 's/@''GNULIB_WCSNCMP''@/0/g' \
      -e 's/@''GNULIB_WCSCASECMP''@/0/g' \
      -e 's/@''GNULIB_WCSNCASECMP''@/0/g' \
      -e 's/@''GNULIB_WCSCOLL''@/0/g' \
      -e 's/@''GNULIB_WCSXFRM''@/0/g' \
      -e 's/@''GNULIB_WCSDUP''@/0/g' \
      -e 's/@''GNULIB_WCSCHR''@/0/g' \
      -e 's/@''GNULIB_WCSRCHR''@/0/g' \
      -e 's/@''GNULIB_WCSCSPN''@/0/g' \
      -e 's/@''GNULIB_WCSSPN''@/0/g' \
      -e 's/@''GNULIB_WCSPBRK''@/0/g' \
      -e 's/@''GNULIB_WCSSTR''@/0/g' \
      -e 's/@''GNULIB_WCSTOK''@/0/g' \
      -e 's/@''GNULIB_WCSWIDTH''@/0/g' \
      -e 's/@''GNULIB_WCSFTIME''@/0/g' \
      -e 's/@''GNULIB_MDA_WCSDUP''@/1/g' \
      < ./wchar.in.h | \
  sed -e 's|@''HAVE_WINT_T''@|1|g' \
      -e 's|@''HAVE_BTOWC''@|1|g' \
      -e 's|@''HAVE_MBSINIT''@|1|g' \
      -e 's|@''HAVE_MBRTOWC''@|1|g' \
      -e 's|@''HAVE_MBRLEN''@|1|g' \
      -e 's|@''HAVE_MBSRTOWCS''@|1|g' \
      -e 's|@''HAVE_MBSNRTOWCS''@|1|g' \
      -e 's|@''HAVE_WCRTOMB''@|1|g' \
      -e 's|@''HAVE_WCSRTOMBS''@|1|g' \
      -e 's|@''HAVE_WCSNRTOMBS''@|1|g' \
      -e 's|@''HAVE_WMEMCHR''@|1|g' \
      -e 's|@''HAVE_WMEMCMP''@|1|g' \
      -e 's|@''HAVE_WMEMCPY''@|1|g' \
      -e 's|@''HAVE_WMEMMOVE''@|1|g' \
      -e 's|@''HAVE_WMEMPCPY''@|1|g' \
      -e 's|@''HAVE_WMEMSET''@|1|g' \
      -e 's|@''HAVE_WCSLEN''@|1|g' \
      -e 's|@''HAVE_WCSNLEN''@|1|g' \
      -e 's|@''HAVE_WCSCPY''@|1|g' \
      -e 's|@''HAVE_WCPCPY''@|1|g' \
      -e 's|@''HAVE_WCSNCPY''@|1|g' \
      -e 's|@''HAVE_WCPNCPY''@|1|g' \
      -e 's|@''HAVE_WCSCAT''@|1|g' \
      -e 's|@''HAVE_WCSNCAT''@|1|g' \
      -e 's|@''HAVE_WCSCMP''@|1|g' \
      -e 's|@''HAVE_WCSNCMP''@|1|g' \
      -e 's|@''HAVE_WCSCASECMP''@|1|g' \
      -e 's|@''HAVE_WCSNCASECMP''@|1|g' \
      -e 's|@''HAVE_WCSCOLL''@|1|g' \
      -e 's|@''HAVE_WCSXFRM''@|1|g' \
      -e 's|@''HAVE_WCSDUP''@|1|g' \
      -e 's|@''HAVE_WCSCHR''@|1|g' \
      -e 's|@''HAVE_WCSRCHR''@|1|g' \
      -e 's|@''HAVE_WCSCSPN''@|1|g' \
      -e 's|@''HAVE_WCSSPN''@|1|g' \
      -e 's|@''HAVE_WCSPBRK''@|1|g' \
      -e 's|@''HAVE_WCSSTR''@|1|g' \
      -e 's|@''HAVE_WCSTOK''@|1|g' \
      -e 's|@''HAVE_WCSWIDTH''@|1|g' \
      -e 's|@''HAVE_WCSFTIME''@|1|g' \
      -e 's|@''HAVE_DECL_WCTOB''@|1|g' \
      -e 's|@''HAVE_DECL_WCSDUP''@|1|g' \
      -e 's|@''HAVE_DECL_WCWIDTH''@|1|g' \
  | \
  sed -e 's|@''REPLACE_MBSTATE_T''@|0|g' \
      -e 's|@''REPLACE_BTOWC''@|0|g' \
      -e 's|@''REPLACE_WCTOB''@|0|g' \
      -e 's|@''REPLACE_MBSINIT''@|0|g' \
      -e 's|@''REPLACE_MBRTOWC''@|1|g' \
      -e 's|@''REPLACE_MBRLEN''@|0|g' \
      -e 's|@''REPLACE_MBSRTOWCS''@|0|g' \
      -e 's|@''REPLACE_MBSNRTOWCS''@|0|g' \
      -e 's|@''REPLACE_WCRTOMB''@|0|g' \
      -e 's|@''REPLACE_WCSRTOMBS''@|0|g' \
      -e 's|@''REPLACE_WCSNRTOMBS''@|0|g' \
      -e 's|@''REPLACE_WCWIDTH''@|0|g' \
      -e 's|@''REPLACE_WCSWIDTH''@|0|g' \
      -e 's|@''REPLACE_WCSFTIME''@|0|g' \
      -e 's|@''REPLACE_WCSTOK''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h'; \
} > wchar.h-t && \
mv wchar.h-t wchar.h
rm -f wctype.h-t wctype.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's/@''HAVE_WCTYPE_H''@/1/g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_WCTYPE_H''@|<wctype.h>|g' \
      -e 's/@''HAVE_CRTDEFS_H''@/0/g' \
      -e 's/@''GNULIB_OVERRIDES_WINT_T''@/0/g' \
      -e 's/@''GNULIB_ISWBLANK''@/1/g' \
      -e 's/@''GNULIB_ISWDIGIT''@/1/g' \
      -e 's/@''GNULIB_ISWXDIGIT''@/1/g' \
      -e 's/@''GNULIB_WCTYPE''@/0/g' \
      -e 's/@''GNULIB_ISWCTYPE''@/0/g' \
      -e 's/@''GNULIB_WCTRANS''@/0/g' \
      -e 's/@''GNULIB_TOWCTRANS''@/0/g' \
      -e 's/@''HAVE_ISWBLANK''@/1/g' \
      -e 's/@''HAVE_ISWCNTRL''@/1/g' \
      -e 's/@''HAVE_WCTYPE_T''@/1/g' \
      -e 's/@''HAVE_WCTRANS_T''@/1/g' \
      -e 's/@''HAVE_WINT_T''@/1/g' \
      -e 's/@''REPLACE_ISWBLANK''@/0/g' \
      -e 's/@''REPLACE_ISWDIGIT''@/0/g' \
      -e 's/@''REPLACE_ISWXDIGIT''@/0/g' \
      -e 's/@''REPLACE_ISWCNTRL''@/0/g' \
      -e 's/@''REPLACE_TOWLOWER''@/0/g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \
      < ./wctype.in.h; \
} > wctype.h-t && \
mv wctype.h-t wctype.h
/usr/bin/make  all-recursive
make[4]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/gnu'
make[5]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/gnu'
depbase=`echo acl-errno-valid.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT acl-errno-valid.o -MD -MP -MF $depbase.Tpo -c -o acl-errno-valid.o acl-errno-valid.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo acl-internal.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT acl-internal.o -MD -MP -MF $depbase.Tpo -c -o acl-internal.o acl-internal.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo get-permissions.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT get-permissions.o -MD -MP -MF $depbase.Tpo -c -o get-permissions.o get-permissions.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo set-permissions.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT set-permissions.o -MD -MP -MF $depbase.Tpo -c -o set-permissions.o set-permissions.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo allocator.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT allocator.o -MD -MP -MF $depbase.Tpo -c -o allocator.o allocator.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo areadlink.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT areadlink.o -MD -MP -MF $depbase.Tpo -c -o areadlink.o areadlink.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo areadlink-with-size.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT areadlink-with-size.o -MD -MP -MF $depbase.Tpo -c -o areadlink-with-size.o areadlink-with-size.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo areadlinkat.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT areadlinkat.o -MD -MP -MF $depbase.Tpo -c -o areadlinkat.o areadlinkat.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo areadlinkat-with-size.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT areadlinkat-with-size.o -MD -MP -MF $depbase.Tpo -c -o areadlinkat-with-size.o areadlinkat-with-size.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo argmatch.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT argmatch.o -MD -MP -MF $depbase.Tpo -c -o argmatch.o argmatch.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo argp-ba.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT argp-ba.o -MD -MP -MF $depbase.Tpo -c -o argp-ba.o argp-ba.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo argp-eexst.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT argp-eexst.o -MD -MP -MF $depbase.Tpo -c -o argp-eexst.o argp-eexst.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo argp-fmtstream.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT argp-fmtstream.o -MD -MP -MF $depbase.Tpo -c -o argp-fmtstream.o argp-fmtstream.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo argp-fs-xinl.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT argp-fs-xinl.o -MD -MP -MF $depbase.Tpo -c -o argp-fs-xinl.o argp-fs-xinl.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo argp-help.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT argp-help.o -MD -MP -MF $depbase.Tpo -c -o argp-help.o argp-help.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo argp-parse.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT argp-parse.o -MD -MP -MF $depbase.Tpo -c -o argp-parse.o argp-parse.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo argp-pin.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT argp-pin.o -MD -MP -MF $depbase.Tpo -c -o argp-pin.o argp-pin.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo argp-pv.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT argp-pv.o -MD -MP -MF $depbase.Tpo -c -o argp-pv.o argp-pv.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo argp-pvh.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT argp-pvh.o -MD -MP -MF $depbase.Tpo -c -o argp-pvh.o argp-pvh.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo argp-xinl.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT argp-xinl.o -MD -MP -MF $depbase.Tpo -c -o argp-xinl.o argp-xinl.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo argp-version-etc.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT argp-version-etc.o -MD -MP -MF $depbase.Tpo -c -o argp-version-etc.o argp-version-etc.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo openat-proc.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT openat-proc.o -MD -MP -MF $depbase.Tpo -c -o openat-proc.o openat-proc.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo backupfile.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT backupfile.o -MD -MP -MF $depbase.Tpo -c -o backupfile.o backupfile.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo backup-find.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT backup-find.o -MD -MP -MF $depbase.Tpo -c -o backup-find.o backup-find.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo basename-lgpl.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT basename-lgpl.o -MD -MP -MF $depbase.Tpo -c -o basename-lgpl.o basename-lgpl.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo bitrotate.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT bitrotate.o -MD -MP -MF $depbase.Tpo -c -o bitrotate.o bitrotate.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo c-ctype.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT c-ctype.o -MD -MP -MF $depbase.Tpo -c -o c-ctype.o c-ctype.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo c-strcasecmp.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT c-strcasecmp.o -MD -MP -MF $depbase.Tpo -c -o c-strcasecmp.o c-strcasecmp.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo c-strncasecmp.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT c-strncasecmp.o -MD -MP -MF $depbase.Tpo -c -o c-strncasecmp.o c-strncasecmp.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo careadlinkat.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT careadlinkat.o -MD -MP -MF $depbase.Tpo -c -o careadlinkat.o careadlinkat.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo cloexec.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT cloexec.o -MD -MP -MF $depbase.Tpo -c -o cloexec.o cloexec.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo close-stream.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT close-stream.o -MD -MP -MF $depbase.Tpo -c -o close-stream.o close-stream.c &&\
mv -f $depbase.Tpo $depbase.Po
careadlinkat.c: In function 'careadlinkat':
careadlinkat.c:184:5: warning: #warning "GCC might issue a bogus -Wreturn-local-addr warning here." [-Wcpp]
  184 |    #warning "GCC might issue a bogus -Wreturn-local-addr warning here."
      |     ^~~~~~~
careadlinkat.c:185:5: warning: #warning "See <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93644>." [-Wcpp]
  185 |    #warning "See <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93644>."
      |     ^~~~~~~
careadlinkat.c:188:10: warning: function may return address of local variable [-Wreturn-local-addr]
  188 |   return readlink_stk (fd, filename, buffer, buffer_size, alloc,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  189 |                        preadlinkat, stack_buf);
      |                        ~~~~~~~~~~~~~~~~~~~~~~~
careadlinkat.c:187:8: note: declared here
  187 |   char stack_buf[STACK_BUF_SIZE];
      |        ^~~~~~~~~
depbase=`echo closeout.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT closeout.o -MD -MP -MF $depbase.Tpo -c -o closeout.o closeout.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo opendir-safer.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT opendir-safer.o -MD -MP -MF $depbase.Tpo -c -o opendir-safer.o opendir-safer.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo dirname.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT dirname.o -MD -MP -MF $depbase.Tpo -c -o dirname.o dirname.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo basename.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT basename.o -MD -MP -MF $depbase.Tpo -c -o basename.o basename.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo dirname-lgpl.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT dirname-lgpl.o -MD -MP -MF $depbase.Tpo -c -o dirname-lgpl.o dirname-lgpl.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo stripslash.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT stripslash.o -MD -MP -MF $depbase.Tpo -c -o stripslash.o stripslash.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo exclude.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT exclude.o -MD -MP -MF $depbase.Tpo -c -o exclude.o exclude.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo exitfail.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT exitfail.o -MD -MP -MF $depbase.Tpo -c -o exitfail.o exitfail.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo creat-safer.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT creat-safer.o -MD -MP -MF $depbase.Tpo -c -o creat-safer.o creat-safer.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo open-safer.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT open-safer.o -MD -MP -MF $depbase.Tpo -c -o open-safer.o open-safer.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo fd-hook.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT fd-hook.o -MD -MP -MF $depbase.Tpo -c -o fd-hook.o fd-hook.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo fd-safer-flag.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT fd-safer-flag.o -MD -MP -MF $depbase.Tpo -c -o fd-safer-flag.o fd-safer-flag.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo dup-safer-flag.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT dup-safer-flag.o -MD -MP -MF $depbase.Tpo -c -o dup-safer-flag.o dup-safer-flag.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo fdutimensat.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT fdutimensat.o -MD -MP -MF $depbase.Tpo -c -o fdutimensat.o fdutimensat.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo file-has-acl.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT file-has-acl.o -MD -MP -MF $depbase.Tpo -c -o file-has-acl.o file-has-acl.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo filenamecat-lgpl.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT filenamecat-lgpl.o -MD -MP -MF $depbase.Tpo -c -o filenamecat-lgpl.o filenamecat-lgpl.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo fprintftime.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT fprintftime.o -MD -MP -MF $depbase.Tpo -c -o fprintftime.o fprintftime.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo full-write.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT full-write.o -MD -MP -MF $depbase.Tpo -c -o full-write.o full-write.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo getprogname.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT getprogname.o -MD -MP -MF $depbase.Tpo -c -o getprogname.o getprogname.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo gettime.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT gettime.o -MD -MP -MF $depbase.Tpo -c -o gettime.o gettime.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo hard-locale.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT hard-locale.o -MD -MP -MF $depbase.Tpo -c -o hard-locale.o hard-locale.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo hash.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT hash.o -MD -MP -MF $depbase.Tpo -c -o hash.o hash.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo human.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT human.o -MD -MP -MF $depbase.Tpo -c -o human.o human.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo imaxtostr.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT imaxtostr.o -MD -MP -MF $depbase.Tpo -c -o imaxtostr.o imaxtostr.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo inttostr.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT inttostr.o -MD -MP -MF $depbase.Tpo -c -o inttostr.o inttostr.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo offtostr.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT offtostr.o -MD -MP -MF $depbase.Tpo -c -o offtostr.o offtostr.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo uinttostr.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT uinttostr.o -MD -MP -MF $depbase.Tpo -c -o uinttostr.o uinttostr.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo umaxtostr.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT umaxtostr.o -MD -MP -MF $depbase.Tpo -c -o umaxtostr.o umaxtostr.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo localcharset.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT localcharset.o -MD -MP -MF $depbase.Tpo -c -o localcharset.o localcharset.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo malloca.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT malloca.o -MD -MP -MF $depbase.Tpo -c -o malloca.o malloca.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo mbchar.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT mbchar.o -MD -MP -MF $depbase.Tpo -c -o mbchar.o mbchar.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo mbscasecmp.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT mbscasecmp.o -MD -MP -MF $depbase.Tpo -c -o mbscasecmp.o mbscasecmp.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo mbuiter.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT mbuiter.o -MD -MP -MF $depbase.Tpo -c -o mbuiter.o mbuiter.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo modechange.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT modechange.o -MD -MP -MF $depbase.Tpo -c -o modechange.o modechange.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo nstrftime.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT nstrftime.o -MD -MP -MF $depbase.Tpo -c -o nstrftime.o nstrftime.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo openat-die.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT openat-die.o -MD -MP -MF $depbase.Tpo -c -o openat-die.o openat-die.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo openat-safer.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT openat-safer.o -MD -MP -MF $depbase.Tpo -c -o openat-safer.o openat-safer.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo opendirat.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT opendirat.o -MD -MP -MF $depbase.Tpo -c -o opendirat.o opendirat.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo parse-datetime.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT parse-datetime.o -MD -MP -MF $depbase.Tpo -c -o parse-datetime.o parse-datetime.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo priv-set.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT priv-set.o -MD -MP -MF $depbase.Tpo -c -o priv-set.o priv-set.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo progname.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT progname.o -MD -MP -MF $depbase.Tpo -c -o progname.o progname.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo quotearg.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT quotearg.o -MD -MP -MF $depbase.Tpo -c -o quotearg.o quotearg.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo renameatu.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT renameatu.o -MD -MP -MF $depbase.Tpo -c -o renameatu.o renameatu.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo safe-read.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT safe-read.o -MD -MP -MF $depbase.Tpo -c -o safe-read.o safe-read.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo safe-write.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT safe-write.o -MD -MP -MF $depbase.Tpo -c -o safe-write.o safe-write.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo save-cwd.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT save-cwd.o -MD -MP -MF $depbase.Tpo -c -o save-cwd.o save-cwd.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo savedir.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT savedir.o -MD -MP -MF $depbase.Tpo -c -o savedir.o savedir.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo selinux-at.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT selinux-at.o -MD -MP -MF $depbase.Tpo -c -o selinux-at.o selinux-at.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo se-context.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT se-context.o -MD -MP -MF $depbase.Tpo -c -o se-context.o se-context.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo se-label.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT se-label.o -MD -MP -MF $depbase.Tpo -c -o se-label.o se-label.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo se-selinux.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT se-selinux.o -MD -MP -MF $depbase.Tpo -c -o se-selinux.o se-selinux.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo setlocale_null.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT setlocale_null.o -MD -MP -MF $depbase.Tpo -c -o setlocale_null.o setlocale_null.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo stat-time.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT stat-time.o -MD -MP -MF $depbase.Tpo -c -o stat-time.o stat-time.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo statat.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT statat.o -MD -MP -MF $depbase.Tpo -c -o statat.o statat.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo stdopen.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT stdopen.o -MD -MP -MF $depbase.Tpo -c -o stdopen.o stdopen.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo strnlen1.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT strnlen1.o -MD -MP -MF $depbase.Tpo -c -o strnlen1.o strnlen1.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo tempname.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT tempname.o -MD -MP -MF $depbase.Tpo -c -o tempname.o tempname.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo timespec.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT timespec.o -MD -MP -MF $depbase.Tpo -c -o timespec.o timespec.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo timespec-sub.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT timespec-sub.o -MD -MP -MF $depbase.Tpo -c -o timespec-sub.o timespec-sub.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo unistd.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT unistd.o -MD -MP -MF $depbase.Tpo -c -o unistd.o unistd.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo dup-safer.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT dup-safer.o -MD -MP -MF $depbase.Tpo -c -o dup-safer.o dup-safer.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo fd-safer.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT fd-safer.o -MD -MP -MF $depbase.Tpo -c -o fd-safer.o fd-safer.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo pipe-safer.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT pipe-safer.o -MD -MP -MF $depbase.Tpo -c -o pipe-safer.o pipe-safer.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo unlinkdir.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT unlinkdir.o -MD -MP -MF $depbase.Tpo -c -o unlinkdir.o unlinkdir.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo utimens.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT utimens.o -MD -MP -MF $depbase.Tpo -c -o utimens.o utimens.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo version-etc.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT version-etc.o -MD -MP -MF $depbase.Tpo -c -o version-etc.o version-etc.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo version-etc-fsf.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT version-etc-fsf.o -MD -MP -MF $depbase.Tpo -c -o version-etc-fsf.o version-etc-fsf.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo wctype-h.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT wctype-h.o -MD -MP -MF $depbase.Tpo -c -o wctype-h.o wctype-h.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo xmalloc.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT xmalloc.o -MD -MP -MF $depbase.Tpo -c -o xmalloc.o xmalloc.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo xalloc-die.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT xalloc-die.o -MD -MP -MF $depbase.Tpo -c -o xalloc-die.o xalloc-die.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo xgetcwd.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT xgetcwd.o -MD -MP -MF $depbase.Tpo -c -o xgetcwd.o xgetcwd.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo xsize.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT xsize.o -MD -MP -MF $depbase.Tpo -c -o xsize.o xsize.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo xstrndup.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT xstrndup.o -MD -MP -MF $depbase.Tpo -c -o xstrndup.o xstrndup.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo xstrtol.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT xstrtol.o -MD -MP -MF $depbase.Tpo -c -o xstrtol.o xstrtol.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo xstrtoul.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT xstrtoul.o -MD -MP -MF $depbase.Tpo -c -o xstrtoul.o xstrtoul.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo xstrtoumax.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT xstrtoumax.o -MD -MP -MF $depbase.Tpo -c -o xstrtoumax.o xstrtoumax.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo xvasprintf.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT xvasprintf.o -MD -MP -MF $depbase.Tpo -c -o xvasprintf.o xvasprintf.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo xasprintf.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT xasprintf.o -MD -MP -MF $depbase.Tpo -c -o xasprintf.o xasprintf.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo asnprintf.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT asnprintf.o -MD -MP -MF $depbase.Tpo -c -o asnprintf.o asnprintf.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo chdir-long.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT chdir-long.o -MD -MP -MF $depbase.Tpo -c -o chdir-long.o chdir-long.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo fchmodat.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT fchmodat.o -MD -MP -MF $depbase.Tpo -c -o fchmodat.o fchmodat.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo fcntl.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT fcntl.o -MD -MP -MF $depbase.Tpo -c -o fcntl.o fcntl.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo free.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT free.o -MD -MP -MF $depbase.Tpo -c -o free.o free.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo getfilecon.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT getfilecon.o -MD -MP -MF $depbase.Tpo -c -o getfilecon.o getfilecon.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo getopt.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT getopt.o -MD -MP -MF $depbase.Tpo -c -o getopt.o getopt.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo getopt1.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT getopt1.o -MD -MP -MF $depbase.Tpo -c -o getopt1.o getopt1.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo lchmod.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT lchmod.o -MD -MP -MF $depbase.Tpo -c -o lchmod.o lchmod.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo mbrtowc.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT mbrtowc.o -MD -MP -MF $depbase.Tpo -c -o mbrtowc.o mbrtowc.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo mktime.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT mktime.o -MD -MP -MF $depbase.Tpo -c -o mktime.o mktime.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo obstack.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT obstack.o -MD -MP -MF $depbase.Tpo -c -o obstack.o obstack.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo printf-args.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT printf-args.o -MD -MP -MF $depbase.Tpo -c -o printf-args.o printf-args.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo printf-parse.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT printf-parse.o -MD -MP -MF $depbase.Tpo -c -o printf-parse.o printf-parse.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo regex.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT regex.o -MD -MP -MF $depbase.Tpo -c -o regex.o regex.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo time_rz.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT time_rz.o -MD -MP -MF $depbase.Tpo -c -o time_rz.o time_rz.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo vasnprintf.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT vasnprintf.o -MD -MP -MF $depbase.Tpo -c -o vasnprintf.o vasnprintf.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo malloc/scratch_buffer_dupfree.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT malloc/scratch_buffer_dupfree.o -MD -MP -MF $depbase.Tpo -c -o malloc/scratch_buffer_dupfree.o malloc/scratch_buffer_dupfree.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo malloc/scratch_buffer_grow.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT malloc/scratch_buffer_grow.o -MD -MP -MF $depbase.Tpo -c -o malloc/scratch_buffer_grow.o malloc/scratch_buffer_grow.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo malloc/scratch_buffer_grow_preserve.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT malloc/scratch_buffer_grow_preserve.o -MD -MP -MF $depbase.Tpo -c -o malloc/scratch_buffer_grow_preserve.o malloc/scratch_buffer_grow_preserve.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo malloc/scratch_buffer_set_array_size.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT malloc/scratch_buffer_set_array_size.o -MD -MP -MF $depbase.Tpo -c -o malloc/scratch_buffer_set_array_size.o malloc/scratch_buffer_set_array_size.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo uniwidth/width.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT uniwidth/width.o -MD -MP -MF $depbase.Tpo -c -o uniwidth/width.o uniwidth/width.c &&\
mv -f $depbase.Tpo $depbase.Po
rm -f libgnu.a
ar cr libgnu.a acl-errno-valid.o acl-internal.o get-permissions.o set-permissions.o allocator.o areadlink.o areadlink-with-size.o areadlinkat.o areadlinkat-with-size.o argmatch.o argp-ba.o argp-eexst.o argp-fmtstream.o argp-fs-xinl.o argp-help.o argp-parse.o argp-pin.o argp-pv.o argp-pvh.o argp-xinl.o argp-version-etc.o openat-proc.o backupfile.o backup-find.o basename-lgpl.o bitrotate.o c-ctype.o c-strcasecmp.o c-strncasecmp.o careadlinkat.o cloexec.o close-stream.o closeout.o opendir-safer.o dirname.o basename.o dirname-lgpl.o stripslash.o exclude.o exitfail.o creat-safer.o open-safer.o fd-hook.o fd-safer-flag.o dup-safer-flag.o fdutimensat.o file-has-acl.o filenamecat-lgpl.o fprintftime.o full-write.o getprogname.o gettime.o hard-locale.o hash.o human.o imaxtostr.o inttostr.o offtostr.o uinttostr.o umaxtostr.o localcharset.o malloca.o mbchar.o mbscasecmp.o mbuiter.o modechange.o nstrftime.o openat-die.o openat-safer.o opendirat.o parse-datetime.o priv-set.o progname.o quotearg.o renameatu.o safe-read.o safe-write.o save-cwd.o savedir.o malloc/scratch_buffer_dupfree.o malloc/scratch_buffer_grow.o malloc/scratch_buffer_grow_preserve.o malloc/scratch_buffer_set_array_size.o selinux-at.o se-context.o se-label.o se-selinux.o setlocale_null.o stat-time.o statat.o stdopen.o strnlen1.o tempname.o timespec.o timespec-sub.o unistd.o dup-safer.o fd-safer.o pipe-safer.o uniwidth/width.o unlinkdir.o utimens.o version-etc.o version-etc-fsf.o wctype-h.o xmalloc.o xalloc-die.o xgetcwd.o xsize.o xstrndup.o xstrtol.o xstrtoul.o xstrtoumax.o xvasprintf.o xasprintf.o asnprintf.o chdir-long.o fchmodat.o fcntl.o free.o getfilecon.o getopt.o getopt1.o lchmod.o mbrtowc.o mktime.o obstack.o printf-args.o printf-parse.o regex.o time_rz.o vasnprintf.o 
ranlib libgnu.a
make[5]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/gnu'
make[4]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/gnu'
make[3]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/gnu'
Making all in lib
make[3]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/lib'
rm -f rmt-command.h-t rmt-command.h
echo "#ifndef DEFAULT_RMT_COMMAND" >> rmt-command.h-t
echo "# define DEFAULT_RMT_COMMAND \"/usr/sbin/`echo rmt | sed 's,x,x,'`\"" >> rmt-command.h-t
echo "#endif" >> rmt-command.h-t
mv rmt-command.h-t rmt-command.h
/usr/bin/make  all-am
make[4]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/lib'
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT paxerror.o -MD -MP -MF .deps/paxerror.Tpo -c -o paxerror.o paxerror.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT paxexit-status.o -MD -MP -MF .deps/paxexit-status.Tpo -c -o paxexit-status.o paxexit-status.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT paxnames.o -MD -MP -MF .deps/paxnames.Tpo -c -o paxnames.o paxnames.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT rtapelib.o -MD -MP -MF .deps/rtapelib.Tpo -c -o rtapelib.o rtapelib.c
mv -f .deps/paxexit-status.Tpo .deps/paxexit-status.Po
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT wordsplit.o -MD -MP -MF .deps/wordsplit.Tpo -c -o wordsplit.o wordsplit.c
mv -f .deps/paxnames.Tpo .deps/paxnames.Po
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT xattr-at.o -MD -MP -MF .deps/xattr-at.Tpo -c -o xattr-at.o xattr-at.c
mv -f .deps/paxerror.Tpo .deps/paxerror.Po
mv -f .deps/xattr-at.Tpo .deps/xattr-at.Po
mv -f .deps/rtapelib.Tpo .deps/rtapelib.Po
mv -f .deps/wordsplit.Tpo .deps/wordsplit.Po
rm -f libtar.a
ar cr libtar.a paxerror.o paxexit-status.o paxnames.o rtapelib.o wordsplit.o xattr-at.o 
ranlib libtar.a
make[4]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/lib'
make[3]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/lib'
Making all in rmt
make[3]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/rmt'
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT rmt.o -MD -MP -MF .deps/rmt.Tpo -c -o rmt.o rmt.c
mv -f .deps/rmt.Tpo .deps/rmt.Po
gcc  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument  -Wl,-z,relro -o rmt rmt.o ../gnu/libgnu.a   -lacl 
make[3]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/rmt'
Making all in src
make[3]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/src'
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT buffer.o -MD -MP -MF .deps/buffer.Tpo -c -o buffer.o buffer.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT checkpoint.o -MD -MP -MF .deps/checkpoint.Tpo -c -o checkpoint.o checkpoint.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT compare.o -MD -MP -MF .deps/compare.Tpo -c -o compare.o compare.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT create.o -MD -MP -MF .deps/create.Tpo -c -o create.o create.c
mv -f .deps/compare.Tpo .deps/compare.Po
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT delete.o -MD -MP -MF .deps/delete.Tpo -c -o delete.o delete.c
mv -f .deps/checkpoint.Tpo .deps/checkpoint.Po
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT exit.o -MD -MP -MF .deps/exit.Tpo -c -o exit.o exit.c
mv -f .deps/exit.Tpo .deps/exit.Po
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT exclist.o -MD -MP -MF .deps/exclist.Tpo -c -o exclist.o exclist.c
mv -f .deps/delete.Tpo .deps/delete.Po
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT extract.o -MD -MP -MF .deps/extract.Tpo -c -o extract.o extract.c
mv -f .deps/exclist.Tpo .deps/exclist.Po
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT xheader.o -MD -MP -MF .deps/xheader.Tpo -c -o xheader.o xheader.c
mv -f .deps/create.Tpo .deps/create.Po
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT incremen.o -MD -MP -MF .deps/incremen.Tpo -c -o incremen.o incremen.c
mv -f .deps/buffer.Tpo .deps/buffer.Po
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT list.o -MD -MP -MF .deps/list.Tpo -c -o list.o list.c
mv -f .deps/extract.Tpo .deps/extract.Po
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT map.o -MD -MP -MF .deps/map.Tpo -c -o map.o map.c
mv -f .deps/map.Tpo .deps/map.Po
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT misc.o -MD -MP -MF .deps/misc.Tpo -c -o misc.o misc.c
mv -f .deps/xheader.Tpo .deps/xheader.Po
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT names.o -MD -MP -MF .deps/names.Tpo -c -o names.o names.c
mv -f .deps/list.Tpo .deps/list.Po
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT sparse.o -MD -MP -MF .deps/sparse.Tpo -c -o sparse.o sparse.c
mv -f .deps/incremen.Tpo .deps/incremen.Po
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT suffix.o -MD -MP -MF .deps/suffix.Tpo -c -o suffix.o suffix.c
mv -f .deps/misc.Tpo .deps/misc.Po
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT system.o -MD -MP -MF .deps/system.Tpo -c -o system.o system.c
mv -f .deps/suffix.Tpo .deps/suffix.Po
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT tar.o -MD -MP -MF .deps/tar.Tpo -c -o tar.o tar.c
mv -f .deps/names.Tpo .deps/names.Po
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT transform.o -MD -MP -MF .deps/transform.Tpo -c -o transform.o transform.c
mv -f .deps/sparse.Tpo .deps/sparse.Po
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT unlink.o -MD -MP -MF .deps/unlink.Tpo -c -o unlink.o unlink.c
mv -f .deps/system.Tpo .deps/system.Po
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT update.o -MD -MP -MF .deps/update.Tpo -c -o update.o update.c
mv -f .deps/unlink.Tpo .deps/unlink.Po
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT utf8.o -MD -MP -MF .deps/utf8.Tpo -c -o utf8.o utf8.c
mv -f .deps/update.Tpo .deps/update.Po
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT warning.o -MD -MP -MF .deps/warning.Tpo -c -o warning.o warning.c
mv -f .deps/transform.Tpo .deps/transform.Po
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT xattrs.o -MD -MP -MF .deps/xattrs.Tpo -c -o xattrs.o xattrs.c
mv -f .deps/warning.Tpo .deps/warning.Po
mv -f .deps/utf8.Tpo .deps/utf8.Po
mv -f .deps/tar.Tpo .deps/tar.Po
mv -f .deps/xattrs.Tpo .deps/xattrs.Po
gcc   -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument  -Wl,-z,relro -o tar buffer.o checkpoint.o compare.o create.o delete.o exit.o exclist.o extract.o xheader.o incremen.o list.o map.o misc.o names.o sparse.o suffix.o system.o tar.o transform.o unlink.o update.o utf8.o warning.o xattrs.o -lacl  ../lib/libtar.a ../gnu/libgnu.a     -lselinux -lacl 
make[3]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/src'
Making all in scripts
make[3]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/scripts'
sed "s,\@libexecdir\@,/usr/sbin,; s,\@sysconfdir\@,/usr/etc,; s,\@PACKAGE_NAME\@,GNU tar,; s,\@VERSION\@,1.34,; s,\@PACKAGE_BUGREPORT\@,bug-tar@gnu.org,; s,\@DATE_FORMAT_OK\@,,;/^#ELSE_DATE_FORMAT_OK/,/^#ENDIF_DATE_FORMAT_OK/d;/^#IF_DATE_FORMAT_OK/d" backup.sh.in > backup.sh
sed "s,\@libexecdir\@,/usr/sbin,; s,\@sysconfdir\@,/usr/etc,; s,\@PACKAGE_NAME\@,GNU tar,; s,\@VERSION\@,1.34,; s,\@PACKAGE_BUGREPORT\@,bug-tar@gnu.org,; s,\@DATE_FORMAT_OK\@,,;/^#ELSE_DATE_FORMAT_OK/,/^#ENDIF_DATE_FORMAT_OK/d;/^#IF_DATE_FORMAT_OK/d" dump-remind.in > dump-remind
sed "s,\@libexecdir\@,/usr/sbin,; s,\@sysconfdir\@,/usr/etc,; s,\@PACKAGE_NAME\@,GNU tar,; s,\@VERSION\@,1.34,; s,\@PACKAGE_BUGREPORT\@,bug-tar@gnu.org,; s,\@DATE_FORMAT_OK\@,,;/^#ELSE_DATE_FORMAT_OK/,/^#ENDIF_DATE_FORMAT_OK/d;/^#IF_DATE_FORMAT_OK/d" backup.in > backup
sed "s,\@libexecdir\@,/usr/sbin,; s,\@sysconfdir\@,/usr/etc,; s,\@PACKAGE_NAME\@,GNU tar,; s,\@VERSION\@,1.34,; s,\@PACKAGE_BUGREPORT\@,bug-tar@gnu.org,; s,\@DATE_FORMAT_OK\@,,;/^#ELSE_DATE_FORMAT_OK/,/^#ENDIF_DATE_FORMAT_OK/d;/^#IF_DATE_FORMAT_OK/d" restore.in > restore
make[3]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/scripts'
Making all in po
make[3]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/po'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/po'
Making all in tests
make[3]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/tests'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/tests'
make[3]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg'
make[3]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg'
make[2]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg'
make[1]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg'
/usr/bin/make check TESTSUITEFLAGS=-v || { cat tests/testsuite.log; false; }
make[1]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg'
Making check in doc
make[2]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/doc'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/doc'
Making check in gnu
make[2]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/gnu'
/usr/bin/make  check-recursive
make[3]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/gnu'
make[4]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/gnu'
make[4]: Nothing to be done for 'check-am'.
make[4]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/gnu'
make[3]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/gnu'
make[2]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/gnu'
Making check in lib
make[2]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/lib'
/usr/bin/make  check-am
make[3]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/lib'
make[3]: Nothing to be done for 'check-am'.
make[3]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/lib'
make[2]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/lib'
Making check in rmt
make[2]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/rmt'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/rmt'
Making check in src
make[2]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/src'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/src'
Making check in scripts
make[2]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/scripts'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/scripts'
Making check in po
make[2]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/po'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/po'
Making check in tests
make[2]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/tests'
/usr/bin/make  genfile checkseekhole ckmtime
make[3]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/tests'
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../gnu -I../gnu -I../lib -DLOCALEDIR=\"/usr/share/locale\" -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT genfile.o -MD -MP -MF .deps/genfile.Tpo -c -o genfile.o genfile.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../gnu -I../gnu -I../lib -DLOCALEDIR=\"/usr/share/locale\" -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT argcv.o -MD -MP -MF .deps/argcv.Tpo -c -o argcv.o argcv.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../gnu -I../gnu -I../lib -DLOCALEDIR=\"/usr/share/locale\" -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT checkseekhole.o -MD -MP -MF .deps/checkseekhole.Tpo -c -o checkseekhole.o checkseekhole.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../gnu -I../gnu -I../lib -DLOCALEDIR=\"/usr/share/locale\" -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT ckmtime.o -MD -MP -MF .deps/ckmtime.Tpo -c -o ckmtime.o ckmtime.c
mv -f .deps/checkseekhole.Tpo .deps/checkseekhole.Po
gcc  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument  -Wl,-z,relro -o checkseekhole checkseekhole.o ../gnu/libgnu.a    -lacl 
mv -f .deps/ckmtime.Tpo .deps/ckmtime.Po
gcc  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument  -Wl,-z,relro -o ckmtime ckmtime.o ../gnu/libgnu.a    -lacl 
mv -f .deps/argcv.Tpo .deps/argcv.Po
mv -f .deps/genfile.Tpo .deps/genfile.Po
gcc  -g -O2 -ffile-prefix-map=/<<BUILDDIR>>/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument  -Wl,-z,relro -o genfile genfile.o argcv.o ../gnu/libgnu.a    -lacl 
make[3]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/tests'
/usr/bin/make  check-local
make[3]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/tests'
/bin/bash '/<<BUILDDIR>>/tar-1.34+dfsg/build-aux/missing' autom4te --language=autotest -I . testsuite.at -o testsuite.tmp
mv testsuite.tmp testsuite
/bin/bash ./testsuite -v
## ------------------------ ##
## GNU tar 1.34 test suite. ##
## ------------------------ ##
1. version.at:19: testing tar version ...
./version.at:21: tar --version | sed 1q
1. version.at:19:  ok

2. pipe.at:29: testing decompressing from stdin ...
./pipe.at:33:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


mkdir directory
genfile --length 10240 --pattern zeros --file directory/file1
genfile --length 13 --file directory/file2
tar cf archive directory
mv directory orig
cat archive | tar xfv - --warning=no-timestamp | sort
echo "separator"
cmp orig/file1 directory/file1
echo "separator"
cmp orig/file2 directory/file2)
./pipe.at:33:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


mkdir directory
genfile --length 10240 --pattern zeros --file directory/file1
genfile --length 13 --file directory/file2
tar cf archive directory
mv directory orig
cat archive | tar xfv - --warning=no-timestamp | sort
echo "separator"
cmp orig/file1 directory/file1
echo "separator"
cmp orig/file2 directory/file2)
./pipe.at:33:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


mkdir directory
genfile --length 10240 --pattern zeros --file directory/file1
genfile --length 13 --file directory/file2
tar cf archive directory
mv directory orig
cat archive | tar xfv - --warning=no-timestamp | sort
echo "separator"
cmp orig/file1 directory/file1
echo "separator"
cmp orig/file2 directory/file2)
./pipe.at:33:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


mkdir directory
genfile --length 10240 --pattern zeros --file directory/file1
genfile --length 13 --file directory/file2
tar cf archive directory
mv directory orig
cat archive | tar xfv - --warning=no-timestamp | sort
echo "separator"
cmp orig/file1 directory/file1
echo "separator"
cmp orig/file2 directory/file2)
./pipe.at:33:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


mkdir directory
genfile --length 10240 --pattern zeros --file directory/file1
genfile --length 13 --file directory/file2
tar cf archive directory
mv directory orig
cat archive | tar xfv - --warning=no-timestamp | sort
echo "separator"
cmp orig/file1 directory/file1
echo "separator"
cmp orig/file2 directory/file2)
2. pipe.at:29:  ok


Options

3. options.at:24: testing mixing options ...
./options.at:27:
echo > file1
TAR_OPTIONS=--numeric-owner tar chof archive file1
tar tf archive

3. options.at:24:  ok

4. options02.at:26: testing interspersed options ...
./options02.at:29:
echo > file1
tar c file1 -f archive
tar tf archive

4. options02.at:26:  ok

5. options03.at:21: testing TAR_OPTIONS with string arguments ...
./options03.at:31:
echo dir/bar > exclude.list
mkdir dir
genfile --file=dir/foo
genfile --file=dir/bar
TAR_OPTIONS=--exclude-from=exclude.list tar cf arc.tar dir
tar tf arc.tar

5. options03.at:21:  ok


Option compatibility

6. opcomp01.at:21: testing occurrence compatibility ...
./opcomp01.at:24:
tar --occurrence=1 -cf test.tar .

6. opcomp01.at:21:  ok

7. opcomp02.at:21: testing occurrence compatibility ...
./opcomp02.at:24:
tar --occurrence=1 -tf test.tar

7. opcomp02.at:21:  ok

8. opcomp03.at:21: testing --verify compatibility ...
./opcomp03.at:24:
tar -tWf test.tar .

8. opcomp03.at:21:  ok

9. opcomp04.at:21: testing compress option compatibility ...
./opcomp04.at:24:

cat /dev/null | gzip - > /dev/null 2>&1 || exit 77

genfile --file file
tar czf test.tar file
genfile --file newfile
tar rzf test.tar newfile

9. opcomp04.at:21:  ok

10. opcomp05.at:21: testing --pax-option compatibility ...
./opcomp05.at:24:
tar -Hgnu -cf test.tar --pax-option user:=root .

10. opcomp05.at:21:  ok

11. opcomp06.at:21: testing --pax-option compatibility ...
./opcomp06.at:24:


  file=$(TMPDIR=. mktemp fiXXXXXX)

  setfacl -m u:$UID:rwx $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  getfacl $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi

  rm -rf $file

  file=$(TMPDIR=. mktemp fiXXXXXX)
  setfacl -m u:$UID:rwx $file
  err=$( tar --acls -cf /dev/null $file 2>&1 >/dev/null | wc -l )
  if test "$err" != "0"; then
    exit 77
  fi

genfile --file file
tar -cf test.tar --acls -Hgnu file

--- -	2024-02-10 22:29:31.156094033 +0000
+++ /<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/at-groups/11/stderr	2024-02-10 22:29:31.146226697 +0000
@@ -1,3 +1 @@
-tar: --acls can be used only on POSIX archives
-Try 'tar --help' or 'tar --usage' for more information.
 
11. opcomp06.at:21:  skipped (opcomp06.at:24)


Checkpoints

12. defaults.at:16: testing checkpoint defaults ...
./defaults.at:18:
mkdir t
cd t
for i in 0 1 2 3 4 5 6 7 8 9
do
  genfile --length 10240 --file $i
done
TAR_OPTIONS=-Hgnu
export TAR_OPTIONS

tar --checkpoint -c -f ../a.tar .


12. defaults.at:16:  ok

13. interval.at:16: testing checkpoint interval ...
./interval.at:18:
mkdir t
cd t
for i in 0 1 2 3 4 5 6 7 8 9
do
  genfile --length 10240 --file $i
done
TAR_OPTIONS=-Hgnu
export TAR_OPTIONS

tar --checkpoint=2 -c -f ../a.tar .


13. interval.at:16:  ok

14. dot.at:16: testing dot action ...
./dot.at:18:
mkdir t
cd t
for i in 0 1 2 3 4 5 6 7 8 9
do
  genfile --length 10240 --file $i
done
TAR_OPTIONS=-Hgnu
export TAR_OPTIONS

tar --checkpoint-action=dot -c -f ../a.tar .


14. dot.at:16:  ok

15. dot-compat.at:16: testing dot action (compatibility syntax) ...
./dot-compat.at:18:
mkdir t
cd t
for i in 0 1 2 3 4 5 6 7 8 9
do
  genfile --length 10240 --file $i
done
TAR_OPTIONS=-Hgnu
export TAR_OPTIONS

tar --checkpoint=.2 -c -f ../a.tar .


15. dot-compat.at:16:  ok

16. dot-int.at:16: testing dot action and interval ...
./dot-int.at:18:
mkdir t
cd t
for i in 0 1 2 3 4 5 6 7 8 9
do
  genfile --length 10240 --file $i
done
TAR_OPTIONS=-Hgnu
export TAR_OPTIONS

tar --checkpoint-action=dot --checkpoint=2 -c -f ../a.tar .


16. dot-int.at:16:  ok


Compression

17. testsuite.at:242: testing compress: gzip ...
./testsuite.at:242:

cat /dev/null | gzip - > /dev/null 2>&1 || exit 77

unset TAR_OPTIONS

touch empty
set -e
: create with --gzip
tar --gzip -cf k.tar.gz empty
tar tf k.tar.gz


echo testing .gz
tar -acf k2.tar.gz empty
cat k2.tar.gz | gzip -d > k.gz.tar
tar tf k.gz.tar

echo testing .tgz
tar -acf k2.tar.tgz empty
cat k2.tar.tgz | gzip -d > k.tgz.tar
tar tf k.tgz.tar


# Extraction: ensure compressed format is correctly recognized
rm -f empty
tar xf k.tar.gz
test -f empty

17. testsuite.at:242:  ok

18. testsuite.at:243: testing compress: bzip2 ...
./testsuite.at:243:

cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77

unset TAR_OPTIONS

touch empty
set -e
: create with --bzip2
tar --bzip2 -cf k.tar.bz2 empty
tar tf k.tar.bz2


echo testing .bz2
tar -acf k2.tar.bz2 empty
cat k2.tar.bz2 | bzip2 -d > k.bz2.tar
tar tf k.bz2.tar

echo testing .tbz2
tar -acf k2.tar.tbz2 empty
cat k2.tar.tbz2 | bzip2 -d > k.tbz2.tar
tar tf k.tbz2.tar


# Extraction: ensure compressed format is correctly recognized
rm -f empty
tar xf k.tar.bz2
test -f empty

18. testsuite.at:243:  ok

19. testsuite.at:244: testing compress: xz ...
./testsuite.at:244:

cat /dev/null | xz - > /dev/null 2>&1 || exit 77

unset TAR_OPTIONS

touch empty
set -e
: create with --xz
tar --xz -cf k.tar.xz empty
tar tf k.tar.xz


echo testing .xz
tar -acf k2.tar.xz empty
cat k2.tar.xz | xz -d > k.xz.tar
tar tf k.xz.tar

echo testing .txz
tar -acf k2.tar.txz empty
cat k2.tar.txz | xz -d > k.txz.tar
tar tf k.txz.tar


# Extraction: ensure compressed format is correctly recognized
rm -f empty
tar xf k.tar.xz
test -f empty

19. testsuite.at:244:  ok

20. testsuite.at:246: testing compress: lzip ...
./testsuite.at:246:

cat /dev/null | lzip - > /dev/null 2>&1 || exit 77

unset TAR_OPTIONS

touch empty
set -e
: create with --lzip
tar --lzip -cf k.tar.lz empty
tar tf k.tar.lz


echo testing .lz
tar -acf k2.tar.lz empty
cat k2.tar.lz | lzip -d > k.lz.tar
tar tf k.lz.tar


# Extraction: ensure compressed format is correctly recognized
rm -f empty
tar xf k.tar.lz
test -f empty

--- -	2024-02-10 22:29:31.653978048 +0000
+++ /<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/at-groups/20/stdout	2024-02-10 22:29:31.646232558 +0000
@@ -1,4 +1 @@
-empty
-testing .lz
-empty
 
20. testsuite.at:246:  skipped (testsuite.at:246)

21. testsuite.at:247: testing compress: lzop ...
./testsuite.at:247:

cat /dev/null | lzop - > /dev/null 2>&1 || exit 77

unset TAR_OPTIONS

touch empty
set -e
: create with --lzop
tar --lzop -cf k.tar.lzo empty
tar tf k.tar.lzo


echo testing .lzo
tar -acf k2.tar.lzo empty
cat k2.tar.lzo | lzop -d > k.lzo.tar
tar tf k.lzo.tar


# Extraction: ensure compressed format is correctly recognized
rm -f empty
tar xf k.tar.lzo
test -f empty

--- -	2024-02-10 22:29:31.678012030 +0000
+++ /<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/at-groups/21/stdout	2024-02-10 22:29:31.670232839 +0000
@@ -1,4 +1 @@
-empty
-testing .lzo
-empty
 
21. testsuite.at:247:  skipped (testsuite.at:247)

22. testsuite.at:248: testing compress: zstd ...
./testsuite.at:248:

cat /dev/null | zstd - > /dev/null 2>&1 || exit 77

unset TAR_OPTIONS

touch empty
set -e
: create with --zstd
tar --zstd -cf k.tar.zst empty
tar tf k.tar.zst


echo testing .zst
tar -acf k2.tar.zst empty
cat k2.tar.zst | zstd -d > k.zst.tar
tar tf k.zst.tar

echo testing .tzst
tar -acf k2.tar.tzst empty
cat k2.tar.tzst | zstd -d > k.tzst.tar
tar tf k.tzst.tar


# Extraction: ensure compressed format is correctly recognized
rm -f empty
tar xf k.tar.zst
test -f empty

--- -	2024-02-10 22:29:31.702565238 +0000
+++ /<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/at-groups/22/stdout	2024-02-10 22:29:31.694233120 +0000
@@ -1,6 +1 @@
-empty
-testing .zst
-empty
-testing .tzst
-empty
 
22. testsuite.at:248:  skipped (testsuite.at:248)


Positional options

23. positional01.at:21: testing Exclude ...
./positional01.at:24:

test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir dir
> dir/A.a
> dir/B.a
> dir/A.b
tar -cf a.tar --exclude '*.b' dir
echo $?
tar -tf a.tar | sort
tar -cf a.tar dir --exclude '*.b'
echo $?
tar -tf a.tar | sort

23. positional01.at:21:  ok

24. positional02.at:21: testing Directory ...
./positional02.at:24:

test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir dir
> dir/A.a
> dir/B.a
> dir/A.b
tar -cf a.tar -C dir .
echo $?
tar -tf a.tar | sort
tar -cf a.tar . -C dir

24. positional02.at:21:  ok

25. positional03.at:21: testing Several options ...
./positional03.at:24:

test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir t
cd t
mkdir dir
> dir/A.a
> dir/B.a
> dir/A.b
tar -vcf ../a.tar --exclude '*.b' . -C dir --exclude '*.c' | sort

25. positional03.at:21:  ok

26. add-file.at:21: testing The --add-file option ...
./add-file.at:33:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

genfile --file -File
genfile --file foo
genfile --file bar

echo 1:
tar -cvf arc.tar --add-file foo --add-file -File

echo 2:
tar -cvf arc.tar foo --add-file -File bar


cat >input <<'_ATEOF'
foo
--add-file=-File
bar
_ATEOF


echo 3:
tar -cvf arc.tar -T input
)
./add-file.at:33:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --file -File
genfile --file foo
genfile --file bar

echo 1:
tar -cvf arc.tar --add-file foo --add-file -File

echo 2:
tar -cvf arc.tar foo --add-file -File bar


cat >input <<'_ATEOF'
foo
--add-file=-File
bar
_ATEOF


echo 3:
tar -cvf arc.tar -T input
)
./add-file.at:33:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

genfile --file -File
genfile --file foo
genfile --file bar

echo 1:
tar -cvf arc.tar --add-file foo --add-file -File

echo 2:
tar -cvf arc.tar foo --add-file -File bar


cat >input <<'_ATEOF'
foo
--add-file=-File
bar
_ATEOF


echo 3:
tar -cvf arc.tar -T input
)
./add-file.at:33:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile --file -File
genfile --file foo
genfile --file bar

echo 1:
tar -cvf arc.tar --add-file foo --add-file -File

echo 2:
tar -cvf arc.tar foo --add-file -File bar


cat >input <<'_ATEOF'
foo
--add-file=-File
bar
_ATEOF


echo 3:
tar -cvf arc.tar -T input
)
./add-file.at:33:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --file -File
genfile --file foo
genfile --file bar

echo 1:
tar -cvf arc.tar --add-file foo --add-file -File

echo 2:
tar -cvf arc.tar foo --add-file -File bar


cat >input <<'_ATEOF'
foo
--add-file=-File
bar
_ATEOF


echo 3:
tar -cvf arc.tar -T input
)
26. add-file.at:21:  ok


The -T option

27. T-mult.at:21: testing multiple file lists ...
./T-mult.at:24:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

>file1
>file2
>file3
>file4
cat >F1 <<'_ATEOF'
file1
file2
_ATEOF

cat >F2 <<'_ATEOF'
file3
file4
_ATEOF

tar cf archive -T F1 -T F2
tar tf archive
)
27. T-mult.at:21:  ok

28. T-nest.at:21: testing nested file lists ...
./T-nest.at:24:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

>file1
>file2
>file3
>file4
cat >F1 <<'_ATEOF'
file1
-T F2
file2
_ATEOF

cat >F2 <<'_ATEOF'
file3
file4
_ATEOF

tar cf archive -T F1
tar tf archive
)
28. T-nest.at:21:  ok

29. T-rec.at:21: testing recursive file lists ...
./T-rec.at:24:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

>file1
>file2
cat >F1 <<'_ATEOF'
file1
-T F2
_ATEOF

cat >F2 <<'_ATEOF'
file2
-T F1
_ATEOF

tar cf archive -T F1
echo $?
tar tf archive
)
29. T-rec.at:21:  ok

30. T-recurse.at:27: testing files-from & recurse: toggle ...
./T-recurse.at:30:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

mkdir directory1 directory2
touch directory1/file directory2/file

cat >F1 <<'_ATEOF'
--no-recursion
directory1/
--recursion
directory2/
_ATEOF


cat >F2A <<'_ATEOF'
directory1/
_ATEOF


cat >F2B <<'_ATEOF'
directory2/
_ATEOF


a=archive
tar cf "$a" --files-from F1
tar tf "$a"

a=archive2
tar cf "$a" --no-recursion -T F2A --recursion -T F2B
tar tf "$a"
)
./T-recurse.at:30:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

mkdir directory1 directory2
touch directory1/file directory2/file

cat >F1 <<'_ATEOF'
--no-recursion
directory1/
--recursion
directory2/
_ATEOF


cat >F2A <<'_ATEOF'
directory1/
_ATEOF


cat >F2B <<'_ATEOF'
directory2/
_ATEOF


a=archive
tar cf "$a" --files-from F1
tar tf "$a"

a=archive2
tar cf "$a" --no-recursion -T F2A --recursion -T F2B
tar tf "$a"
)
./T-recurse.at:30:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

mkdir directory1 directory2
touch directory1/file directory2/file

cat >F1 <<'_ATEOF'
--no-recursion
directory1/
--recursion
directory2/
_ATEOF


cat >F2A <<'_ATEOF'
directory1/
_ATEOF


cat >F2B <<'_ATEOF'
directory2/
_ATEOF


a=archive
tar cf "$a" --files-from F1
tar tf "$a"

a=archive2
tar cf "$a" --no-recursion -T F2A --recursion -T F2B
tar tf "$a"
)
./T-recurse.at:30:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir directory1 directory2
touch directory1/file directory2/file

cat >F1 <<'_ATEOF'
--no-recursion
directory1/
--recursion
directory2/
_ATEOF


cat >F2A <<'_ATEOF'
directory1/
_ATEOF


cat >F2B <<'_ATEOF'
directory2/
_ATEOF


a=archive
tar cf "$a" --files-from F1
tar tf "$a"

a=archive2
tar cf "$a" --no-recursion -T F2A --recursion -T F2B
tar tf "$a"
)
./T-recurse.at:30:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir directory1 directory2
touch directory1/file directory2/file

cat >F1 <<'_ATEOF'
--no-recursion
directory1/
--recursion
directory2/
_ATEOF


cat >F2A <<'_ATEOF'
directory1/
_ATEOF


cat >F2B <<'_ATEOF'
directory2/
_ATEOF


a=archive
tar cf "$a" --files-from F1
tar tf "$a"

a=archive2
tar cf "$a" --no-recursion -T F2A --recursion -T F2B
tar tf "$a"
)
30. T-recurse.at:27:  ok

31. T-recurse.at:66: testing toggle --recursion (not) from -T ...
./T-recurse.at:69:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

mkdir directory1 directory2
touch directory1/file directory2/file

cat >F1 <<'_ATEOF'
--no-recursion
directory1/
_ATEOF


cat >F2 <<'_ATEOF'
directory2/
_ATEOF


tar cf archive -T F1 --recursion -T F2
tar tf archive

)
./T-recurse.at:69:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

mkdir directory1 directory2
touch directory1/file directory2/file

cat >F1 <<'_ATEOF'
--no-recursion
directory1/
_ATEOF


cat >F2 <<'_ATEOF'
directory2/
_ATEOF


tar cf archive -T F1 --recursion -T F2
tar tf archive

)
./T-recurse.at:69:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

mkdir directory1 directory2
touch directory1/file directory2/file

cat >F1 <<'_ATEOF'
--no-recursion
directory1/
_ATEOF


cat >F2 <<'_ATEOF'
directory2/
_ATEOF


tar cf archive -T F1 --recursion -T F2
tar tf archive

)
./T-recurse.at:69:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir directory1 directory2
touch directory1/file directory2/file

cat >F1 <<'_ATEOF'
--no-recursion
directory1/
_ATEOF


cat >F2 <<'_ATEOF'
directory2/
_ATEOF


tar cf archive -T F1 --recursion -T F2
tar tf archive

)
./T-recurse.at:69:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir directory1 directory2
touch directory1/file directory2/file

cat >F1 <<'_ATEOF'
--no-recursion
directory1/
_ATEOF


cat >F2 <<'_ATEOF'
directory2/
_ATEOF


tar cf archive -T F1 --recursion -T F2
tar tf archive

)
31. T-recurse.at:66:  ok

32. T-cd.at:21: testing -C in file lists ...
./T-cd.at:24:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

>file1
mkdir dir
>dir/file2
>dir/file3
cat >F1 <<'_ATEOF'
file1
-C dir
.
_ATEOF

tar cf archive -T F1
tar tf archive | sort
)
32. T-cd.at:21:  ok

33. T-empty.at:26: testing empty entries ...
./T-empty.at:36:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


genfile --file jeden
genfile --file dwa
genfile --file trzy

tar cfvT archive ../file-list
)
33. T-empty.at:26:  ok

34. T-null.at:21: testing 0-separated file without -0 ...
./T-null.at:24:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


echo jeden > temp
echo dwa >> temp
echo trzy >> temp
cat temp | tr '\n' '\0' > file-list

genfile -f jeden
genfile -f dwa
genfile -f trzy

tar cfTv archive file-list
)
34. T-null.at:21:  ok

35. T-null2.at:17: testing --null enables verbatim reading ...
./T-null2.at:24:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

cat >file-list <<'_ATEOF'
a
-b
--c d
:\\.jpg
_ATEOF


genfile -f a
genfile -f -b
genfile -f '--c d'
genfile -f ':\\.jpg'

cat file-list | tr '\n' '\0' | tar -c -f archive -v --null -T -
)
35. T-null2.at:17:  ok

36. T-zfile.at:26: testing empty file ...
./T-zfile.at:29:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

genfile --length=0 --file empty
genfile --file a
genfile --file b
cat >valid <<'_ATEOF'
a
b
_ATEOF


tar cf archive -T empty -T valid
tar tf archive
echo "=="
tar cf archive -T valid -T empty
tar tf archive
)
36. T-zfile.at:26:  ok

37. T-nonl.at:27: testing entries with missing newlines ...
./T-nonl.at:30:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

genfile --length=0 --file empty
printf c > 1.nonl
printf 'd\ne' > 2.nonl
touch a b c d e
cat >filelist <<'_ATEOF'
a
b
_ATEOF


tar cf archive -T empty -T 1.nonl -T 2.nonl -T filelist
tar tf archive
echo ==
tar cf archive -T 2.nonl -T empty -T filelist -T 1.nonl
tar tf archive
)
37. T-nonl.at:27:  ok

38. T-dir00.at:28: testing recursive extraction from --files-from ...
./T-dir00.at:30:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir dir
genfile -f dir/file1
genfile -f dir/file2
tar cf archive dir
rm -rf dir
echo dir > list
tar xfTv archive list | sort
)
./T-dir00.at:30:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir dir
genfile -f dir/file1
genfile -f dir/file2
tar cf archive dir
rm -rf dir
echo dir > list
tar xfTv archive list | sort
)
./T-dir00.at:30:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir dir
genfile -f dir/file1
genfile -f dir/file2
tar cf archive dir
rm -rf dir
echo dir > list
tar xfTv archive list | sort
)
./T-dir00.at:30:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir dir
genfile -f dir/file1
genfile -f dir/file2
tar cf archive dir
rm -rf dir
echo dir > list
tar xfTv archive list | sort
)
./T-dir00.at:30:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir dir
genfile -f dir/file1
genfile -f dir/file2
tar cf archive dir
rm -rf dir
echo dir > list
tar xfTv archive list | sort
)
38. T-dir00.at:28:  ok

39. T-dir01.at:28: testing trailing slash in --files-from ...
./T-dir01.at:30:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir dir
genfile -f dir/file1
genfile -f dir/file2
tar cf archive dir
rm -rf dir
echo dir/ > list
tar xfTv archive list | sort
)
./T-dir01.at:30:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir dir
genfile -f dir/file1
genfile -f dir/file2
tar cf archive dir
rm -rf dir
echo dir/ > list
tar xfTv archive list | sort
)
./T-dir01.at:30:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir dir
genfile -f dir/file1
genfile -f dir/file2
tar cf archive dir
rm -rf dir
echo dir/ > list
tar xfTv archive list | sort
)
./T-dir01.at:30:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir dir
genfile -f dir/file1
genfile -f dir/file2
tar cf archive dir
rm -rf dir
echo dir/ > list
tar xfTv archive list | sort
)
./T-dir01.at:30:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir dir
genfile -f dir/file1
genfile -f dir/file2
tar cf archive dir
rm -rf dir
echo dir/ > list
tar xfTv archive list | sort
)
39. T-dir01.at:28:  ok


Various options

40. indexfile.at:26: testing tar --index-file=FILE --file=- ...
./indexfile.at:29:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


mkdir directory
genfile --file=directory/a --length=1035

echo "Creating the archive"
tar -c -v -f - --index-file=idx directory > archive

echo "Testing the archive"
tar -tf archive
)
./indexfile.at:29:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


mkdir directory
genfile --file=directory/a --length=1035

echo "Creating the archive"
tar -c -v -f - --index-file=idx directory > archive

echo "Testing the archive"
tar -tf archive
)
./indexfile.at:29:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


mkdir directory
genfile --file=directory/a --length=1035

echo "Creating the archive"
tar -c -v -f - --index-file=idx directory > archive

echo "Testing the archive"
tar -tf archive
)
./indexfile.at:29:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


mkdir directory
genfile --file=directory/a --length=1035

echo "Creating the archive"
tar -c -v -f - --index-file=idx directory > archive

echo "Testing the archive"
tar -tf archive
)
./indexfile.at:29:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


mkdir directory
genfile --file=directory/a --length=1035

echo "Creating the archive"
tar -c -v -f - --index-file=idx directory > archive

echo "Testing the archive"
tar -tf archive
)
40. indexfile.at:26:  ok

41. verbose.at:26: testing tar cvf - ...
./verbose.at:29:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

genfile --file file --length 10240
echo Creating the archive
tar cvf - file > archive
echo Testing the archive
tar tf archive
)
./verbose.at:29:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --file file --length 10240
echo Creating the archive
tar cvf - file > archive
echo Testing the archive
tar tf archive
)
./verbose.at:29:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

genfile --file file --length 10240
echo Creating the archive
tar cvf - file > archive
echo Testing the archive
tar tf archive
)
./verbose.at:29:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile --file file --length 10240
echo Creating the archive
tar cvf - file > archive
echo Testing the archive
tar tf archive
)
./verbose.at:29:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --file file --length 10240
echo Creating the archive
tar cvf - file > archive
echo Testing the archive
tar tf archive
)
41. verbose.at:26:  ok

42. gzip.at:23: testing gzip ...
./gzip.at:28:

cat /dev/null | gzip - > /dev/null 2>&1 || exit 77

tar xfvz /dev/null 2>err
RC=$?
sed -n '/^tar:/p' err >&2
exit $RC

42. gzip.at:23:  ok

43. recurse.at:21: testing recurse ...
./recurse.at:24:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

mkdir directory
touch directory/file
tar --create --file archive --no-recursion directory || exit 1
tar tf archive
)
./recurse.at:24:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

mkdir directory
touch directory/file
tar --create --file archive --no-recursion directory || exit 1
tar tf archive
)
./recurse.at:24:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

mkdir directory
touch directory/file
tar --create --file archive --no-recursion directory || exit 1
tar tf archive
)
./recurse.at:24:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir directory
touch directory/file
tar --create --file archive --no-recursion directory || exit 1
tar tf archive
)
./recurse.at:24:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir directory
touch directory/file
tar --create --file archive --no-recursion directory || exit 1
tar tf archive
)
43. recurse.at:21:  ok

44. recurs02.at:30: testing recurse: toggle ...
./recurs02.at:33:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

mkdir directory1 directory2
touch directory1/file directory2/file
tar --create --file archive \
    --no-recursion directory1 \
    --recursion directory2 || exit 1
tar tf archive
tar cf archive directory1 directory2
tar tf archive \
    --no-recursion directory1 \
    --recursion directory2 || exit 1
)
./recurs02.at:33:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

mkdir directory1 directory2
touch directory1/file directory2/file
tar --create --file archive \
    --no-recursion directory1 \
    --recursion directory2 || exit 1
tar tf archive
tar cf archive directory1 directory2
tar tf archive \
    --no-recursion directory1 \
    --recursion directory2 || exit 1
)
./recurs02.at:33:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

mkdir directory1 directory2
touch directory1/file directory2/file
tar --create --file archive \
    --no-recursion directory1 \
    --recursion directory2 || exit 1
tar tf archive
tar cf archive directory1 directory2
tar tf archive \
    --no-recursion directory1 \
    --recursion directory2 || exit 1
)
./recurs02.at:33:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir directory1 directory2
touch directory1/file directory2/file
tar --create --file archive \
    --no-recursion directory1 \
    --recursion directory2 || exit 1
tar tf archive
tar cf archive directory1 directory2
tar tf archive \
    --no-recursion directory1 \
    --recursion directory2 || exit 1
)
./recurs02.at:33:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir directory1 directory2
touch directory1/file directory2/file
tar --create --file archive \
    --no-recursion directory1 \
    --recursion directory2 || exit 1
tar tf archive
tar cf archive directory1 directory2
tar tf archive \
    --no-recursion directory1 \
    --recursion directory2 || exit 1
)
44. recurs02.at:30:  ok

45. shortrec.at:25: testing short records ...
./shortrec.at:28:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

mkdir directory
(cd directory && touch a b c d e f g h i j k l m n o p q r)
tar -c -b 1 -f - directory | tar -t -f - > /dev/null
tar -c -b 1 -f archive directory
tar -t -f archive > /dev/null
tar -t -f - < archive > /dev/null

rm -r directory
)
./shortrec.at:28:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

mkdir directory
(cd directory && touch a b c d e f g h i j k l m n o p q r)
tar -c -b 1 -f - directory | tar -t -f - > /dev/null
tar -c -b 1 -f archive directory
tar -t -f archive > /dev/null
tar -t -f - < archive > /dev/null

rm -r directory
)
./shortrec.at:28:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

mkdir directory
(cd directory && touch a b c d e f g h i j k l m n o p q r)
tar -c -b 1 -f - directory | tar -t -f - > /dev/null
tar -c -b 1 -f archive directory
tar -t -f archive > /dev/null
tar -t -f - < archive > /dev/null

rm -r directory
)
./shortrec.at:28:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir directory
(cd directory && touch a b c d e f g h i j k l m n o p q r)
tar -c -b 1 -f - directory | tar -t -f - > /dev/null
tar -c -b 1 -f archive directory
tar -t -f archive > /dev/null
tar -t -f - < archive > /dev/null

rm -r directory
)
./shortrec.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir directory
(cd directory && touch a b c d e f g h i j k l m n o p q r)
tar -c -b 1 -f - directory | tar -t -f - > /dev/null
tar -c -b 1 -f archive directory
tar -t -f archive > /dev/null
tar -t -f - < archive > /dev/null

rm -r directory
)
45. shortrec.at:25:  ok

46. numeric.at:18: testing --numeric-owner basic tests ...
./numeric.at:29:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

MYUID=$(id -u) || exit 77
MYGID=$(id -g) || exit 77
MYUSR=$(id -un) || exit 77
MYGRP=$(id -gn) || exit 77

mkdir dir
# Ensure correct group id on BSDs.
chown :$MYGID dir >/dev/null 2>/dev/null
genfile --file dir/file



decho --create
tar --create -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
tar --create -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'


decho --list
tar --list -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
tar --list -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'


decho --diff
tar --diff -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
tar --diff -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'


decho --extract
tar --extract -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
tar --extract -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'

)
./numeric.at:29:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

MYUID=$(id -u) || exit 77
MYGID=$(id -g) || exit 77
MYUSR=$(id -un) || exit 77
MYGRP=$(id -gn) || exit 77

mkdir dir
# Ensure correct group id on BSDs.
chown :$MYGID dir >/dev/null 2>/dev/null
genfile --file dir/file



decho --create
tar --create -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
tar --create -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'


decho --list
tar --list -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
tar --list -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'


decho --diff
tar --diff -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
tar --diff -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'


decho --extract
tar --extract -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
tar --extract -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'

)
./numeric.at:29:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

MYUID=$(id -u) || exit 77
MYGID=$(id -g) || exit 77
MYUSR=$(id -un) || exit 77
MYGRP=$(id -gn) || exit 77

mkdir dir
# Ensure correct group id on BSDs.
chown :$MYGID dir >/dev/null 2>/dev/null
genfile --file dir/file



decho --create
tar --create -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
tar --create -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'


decho --list
tar --list -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
tar --list -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'


decho --diff
tar --diff -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
tar --diff -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'


decho --extract
tar --extract -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
tar --extract -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'

)
./numeric.at:29:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

MYUID=$(id -u) || exit 77
MYGID=$(id -g) || exit 77
MYUSR=$(id -un) || exit 77
MYGRP=$(id -gn) || exit 77

mkdir dir
# Ensure correct group id on BSDs.
chown :$MYGID dir >/dev/null 2>/dev/null
genfile --file dir/file



decho --create
tar --create -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
tar --create -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'


decho --list
tar --list -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
tar --list -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'


decho --diff
tar --diff -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
tar --diff -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'


decho --extract
tar --extract -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}'
tar --extract -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}'

)
46. numeric.at:18:  ok


The --same-order option

47. same-order01.at:26: testing working -C with --same-order ...
./same-order01.at:29:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


genfile -l 1024 -f file1
genfile -l 1024 -f file2
tar cf archive file1 file2

mkdir directory
tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1

ls directory|sort
)
./same-order01.at:29:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


genfile -l 1024 -f file1
genfile -l 1024 -f file2
tar cf archive file1 file2

mkdir directory
tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1

ls directory|sort
)
./same-order01.at:29:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


genfile -l 1024 -f file1
genfile -l 1024 -f file2
tar cf archive file1 file2

mkdir directory
tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1

ls directory|sort
)
./same-order01.at:29:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


genfile -l 1024 -f file1
genfile -l 1024 -f file2
tar cf archive file1 file2

mkdir directory
tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1

ls directory|sort
)
./same-order01.at:29:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


genfile -l 1024 -f file1
genfile -l 1024 -f file2
tar cf archive file1 file2

mkdir directory
tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1

ls directory|sort
)
47. same-order01.at:26:  ok

48. same-order02.at:25: testing multiple -C options ...
./same-order02.at:28:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f file1
genfile -l 1024 -f file2
tar cf archive file1 file2

mkdir en
mkdir to

HERE=`pwd`
tar -xf archive --same-order --warning=no-timestamp \
  -C $HERE/en file1 \
  -C $HERE/to file2 || exit 1

ls en
echo separator
ls to
)
./same-order02.at:28:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f file1
genfile -l 1024 -f file2
tar cf archive file1 file2

mkdir en
mkdir to

HERE=`pwd`
tar -xf archive --same-order --warning=no-timestamp \
  -C $HERE/en file1 \
  -C $HERE/to file2 || exit 1

ls en
echo separator
ls to
)
./same-order02.at:28:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f file1
genfile -l 1024 -f file2
tar cf archive file1 file2

mkdir en
mkdir to

HERE=`pwd`
tar -xf archive --same-order --warning=no-timestamp \
  -C $HERE/en file1 \
  -C $HERE/to file2 || exit 1

ls en
echo separator
ls to
)
./same-order02.at:28:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f file1
genfile -l 1024 -f file2
tar cf archive file1 file2

mkdir en
mkdir to

HERE=`pwd`
tar -xf archive --same-order --warning=no-timestamp \
  -C $HERE/en file1 \
  -C $HERE/to file2 || exit 1

ls en
echo separator
ls to
)
./same-order02.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f file1
genfile -l 1024 -f file2
tar cf archive file1 file2

mkdir en
mkdir to

HERE=`pwd`
tar -xf archive --same-order --warning=no-timestamp \
  -C $HERE/en file1 \
  -C $HERE/to file2 || exit 1

ls en
echo separator
ls to
)
48. same-order02.at:25:  ok


Append

49. append.at:21: testing append ...
./append.at:24:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *
touch file1
          touch file2
          tar cf archive file1
          tar rf archive file2
          tar tf archive)
./append.at:24:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *
touch file1
          touch file2
          tar cf archive file1
          tar rf archive file2
          tar tf archive)
./append.at:24:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *
touch file1
          touch file2
          tar cf archive file1
          tar rf archive file2
          tar tf archive)
./append.at:24:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *
touch file1
          touch file2
          tar cf archive file1
          tar rf archive file2
          tar tf archive)
./append.at:24:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *
touch file1
          touch file2
          tar cf archive file1
          tar rf archive file2
          tar tf archive)
49. append.at:21:  ok

50. append01.at:29: testing appending files with long names ...
./append01.at:34:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX
touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2
tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1
tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2
tar tf archive
)
./append01.at:34:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX
touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2
tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1
tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2
tar tf archive
)
./append01.at:34:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX
touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2
tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1
tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2
tar tf archive
)
./append01.at:34:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX
touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2
tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1
tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2
tar tf archive
)
50. append01.at:29:  ok

51. append02.at:54: testing append vs. create ...
./append02.at:57:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

genfile --file file1
genfile --file file2

# Make sure file timestamps in the archive will not differ
MTIME="--mtime=@0"

# For PAX archives, we need to make sure extended header names are
# reproducible and that their contents won't change with time
if test $TEST_TAR_FORMAT = posix; then
  TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime"
fi

echo Creating archive.1
tar $MTIME -cf archive.1 file1 file2

echo Creating archive.2
tar $MTIME -cf archive.2 -T /dev/null
tar $MTIME -rf archive.2 file1
tar $MTIME -rf archive.2 file2

echo Comparing archives
cmp archive.1 archive.2
)
./append02.at:57:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --file file1
genfile --file file2

# Make sure file timestamps in the archive will not differ
MTIME="--mtime=@0"

# For PAX archives, we need to make sure extended header names are
# reproducible and that their contents won't change with time
if test $TEST_TAR_FORMAT = posix; then
  TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime"
fi

echo Creating archive.1
tar $MTIME -cf archive.1 file1 file2

echo Creating archive.2
tar $MTIME -cf archive.2 -T /dev/null
tar $MTIME -rf archive.2 file1
tar $MTIME -rf archive.2 file2

echo Comparing archives
cmp archive.1 archive.2
)
./append02.at:57:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

genfile --file file1
genfile --file file2

# Make sure file timestamps in the archive will not differ
MTIME="--mtime=@0"

# For PAX archives, we need to make sure extended header names are
# reproducible and that their contents won't change with time
if test $TEST_TAR_FORMAT = posix; then
  TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime"
fi

echo Creating archive.1
tar $MTIME -cf archive.1 file1 file2

echo Creating archive.2
tar $MTIME -cf archive.2 -T /dev/null
tar $MTIME -rf archive.2 file1
tar $MTIME -rf archive.2 file2

echo Comparing archives
cmp archive.1 archive.2
)
./append02.at:57:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile --file file1
genfile --file file2

# Make sure file timestamps in the archive will not differ
MTIME="--mtime=@0"

# For PAX archives, we need to make sure extended header names are
# reproducible and that their contents won't change with time
if test $TEST_TAR_FORMAT = posix; then
  TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime"
fi

echo Creating archive.1
tar $MTIME -cf archive.1 file1 file2

echo Creating archive.2
tar $MTIME -cf archive.2 -T /dev/null
tar $MTIME -rf archive.2 file1
tar $MTIME -rf archive.2 file2

echo Comparing archives
cmp archive.1 archive.2
)
./append02.at:57:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --file file1
genfile --file file2

# Make sure file timestamps in the archive will not differ
MTIME="--mtime=@0"

# For PAX archives, we need to make sure extended header names are
# reproducible and that their contents won't change with time
if test $TEST_TAR_FORMAT = posix; then
  TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime"
fi

echo Creating archive.1
tar $MTIME -cf archive.1 file1 file2

echo Creating archive.2
tar $MTIME -cf archive.2 -T /dev/null
tar $MTIME -rf archive.2 file1
tar $MTIME -rf archive.2 file2

echo Comparing archives
cmp archive.1 archive.2
)
51. append02.at:54:  ok

52. append03.at:21: testing append with name transformation ...
./append03.at:26:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

genfile --file file.1
genfile --file file.2

tar -c -f archive --transform 's/file/plik/' file.*
echo Appending
tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1
echo Testing
tar tf archive
)
./append03.at:26:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --file file.1
genfile --file file.2

tar -c -f archive --transform 's/file/plik/' file.*
echo Appending
tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1
echo Testing
tar tf archive
)
./append03.at:26:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

genfile --file file.1
genfile --file file.2

tar -c -f archive --transform 's/file/plik/' file.*
echo Appending
tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1
echo Testing
tar tf archive
)
./append03.at:26:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile --file file.1
genfile --file file.2

tar -c -f archive --transform 's/file/plik/' file.*
echo Appending
tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1
echo Testing
tar tf archive
)
./append03.at:26:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --file file.1
genfile --file file.2

tar -c -f archive --transform 's/file/plik/' file.*
echo Appending
tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1
echo Testing
tar tf archive
)
52. append03.at:21:  ok

53. append04.at:29: testing append with verify ...
./append04.at:32:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

# Create two empty files:
touch file1 file2

# Create an archive:
tar cpfW archive.tar file1 file2

# Verify created archive by listing its content:
tar -tf archive.tar
echo ==
# Create another empty file:
touch file3

# Append it to the already created archive:
tar rpfW archive.tar file3

# Verify content of the new archive:
tar -tf archive.tar
)
./append04.at:32:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

# Create two empty files:
touch file1 file2

# Create an archive:
tar cpfW archive.tar file1 file2

# Verify created archive by listing its content:
tar -tf archive.tar
echo ==
# Create another empty file:
touch file3

# Append it to the already created archive:
tar rpfW archive.tar file3

# Verify content of the new archive:
tar -tf archive.tar
)
./append04.at:32:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

# Create two empty files:
touch file1 file2

# Create an archive:
tar cpfW archive.tar file1 file2

# Verify created archive by listing its content:
tar -tf archive.tar
echo ==
# Create another empty file:
touch file3

# Append it to the already created archive:
tar rpfW archive.tar file3

# Verify content of the new archive:
tar -tf archive.tar
)
./append04.at:32:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

# Create two empty files:
touch file1 file2

# Create an archive:
tar cpfW archive.tar file1 file2

# Verify created archive by listing its content:
tar -tf archive.tar
echo ==
# Create another empty file:
touch file3

# Append it to the already created archive:
tar rpfW archive.tar file3

# Verify content of the new archive:
tar -tf archive.tar
)
./append04.at:32:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

# Create two empty files:
touch file1 file2

# Create an archive:
tar cpfW archive.tar file1 file2

# Verify created archive by listing its content:
tar -tf archive.tar
echo ==
# Create another empty file:
touch file3

# Append it to the already created archive:
tar rpfW archive.tar file3

# Verify content of the new archive:
tar -tf archive.tar
)
53. append04.at:29:  ok

54. append05.at:32: testing append after changed blocking ...
./append05.at:35:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

for f in a b c d e f g h i
do
  echo $f > $f
done

decho 'creating archive'
tar -cf archive -b1 a b c

tar tf archive

decho 'adding d e f'
tar -vrf archive -b3 d e f
echo ==
tar tf archive

decho 'adding g h i'
tar -vrf archive -b5 g h i

decho 'resulting archive'
tar tf archive
)
./append05.at:35:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

for f in a b c d e f g h i
do
  echo $f > $f
done

decho 'creating archive'
tar -cf archive -b1 a b c

tar tf archive

decho 'adding d e f'
tar -vrf archive -b3 d e f
echo ==
tar tf archive

decho 'adding g h i'
tar -vrf archive -b5 g h i

decho 'resulting archive'
tar tf archive
)
./append05.at:35:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

for f in a b c d e f g h i
do
  echo $f > $f
done

decho 'creating archive'
tar -cf archive -b1 a b c

tar tf archive

decho 'adding d e f'
tar -vrf archive -b3 d e f
echo ==
tar tf archive

decho 'adding g h i'
tar -vrf archive -b5 g h i

decho 'resulting archive'
tar tf archive
)
./append05.at:35:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

for f in a b c d e f g h i
do
  echo $f > $f
done

decho 'creating archive'
tar -cf archive -b1 a b c

tar tf archive

decho 'adding d e f'
tar -vrf archive -b3 d e f
echo ==
tar tf archive

decho 'adding g h i'
tar -vrf archive -b5 g h i

decho 'resulting archive'
tar tf archive
)
./append05.at:35:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

for f in a b c d e f g h i
do
  echo $f > $f
done

decho 'creating archive'
tar -cf archive -b1 a b c

tar tf archive

decho 'adding d e f'
tar -vrf archive -b3 d e f
echo ==
tar tf archive

decho 'adding g h i'
tar -vrf archive -b5 g h i

decho 'resulting archive'
tar tf archive
)
54. append05.at:32:  ok


Transforms

55. xform-h.at:30: testing transforming hard links on create ...
./xform-h.at:39:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

mkdir basedir
echo "hello" > basedir/test
ln basedir/test basedir/test_link


echo "Default transform scope"
tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link
tar tvf archive | sed -n 's/.*test_link link to //p'


echo "Transforming hard links"
tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link
tar tvf archive | sed -n 's/.*test_link link to //p'


echo "Not transforming hard links"
tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link
tar tvf archive | sed -n 's/.*test_link link to //p'

)
./xform-h.at:39:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

mkdir basedir
echo "hello" > basedir/test
ln basedir/test basedir/test_link


echo "Default transform scope"
tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link
tar tvf archive | sed -n 's/.*test_link link to //p'


echo "Transforming hard links"
tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link
tar tvf archive | sed -n 's/.*test_link link to //p'


echo "Not transforming hard links"
tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link
tar tvf archive | sed -n 's/.*test_link link to //p'

)
./xform-h.at:39:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

mkdir basedir
echo "hello" > basedir/test
ln basedir/test basedir/test_link


echo "Default transform scope"
tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link
tar tvf archive | sed -n 's/.*test_link link to //p'


echo "Transforming hard links"
tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link
tar tvf archive | sed -n 's/.*test_link link to //p'


echo "Not transforming hard links"
tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link
tar tvf archive | sed -n 's/.*test_link link to //p'

)
./xform-h.at:39:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir basedir
echo "hello" > basedir/test
ln basedir/test basedir/test_link


echo "Default transform scope"
tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link
tar tvf archive | sed -n 's/.*test_link link to //p'


echo "Transforming hard links"
tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link
tar tvf archive | sed -n 's/.*test_link link to //p'


echo "Not transforming hard links"
tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link
tar tvf archive | sed -n 's/.*test_link link to //p'

)
./xform-h.at:39:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir basedir
echo "hello" > basedir/test
ln basedir/test basedir/test_link


echo "Default transform scope"
tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link
tar tvf archive | sed -n 's/.*test_link link to //p'


echo "Transforming hard links"
tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link
tar tvf archive | sed -n 's/.*test_link link to //p'


echo "Not transforming hard links"
tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link
tar tvf archive | sed -n 's/.*test_link link to //p'

)
55. xform-h.at:30:  ok

56. xform01.at:26: testing transformations and GNU volume labels ...
./xform01.at:29:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --file file
tar -cf archive.tar -V /label/ file
tar tf archive.tar
)
56. xform01.at:26:  ok

57. xform02.at:21: testing transforming escaped delimiters on create ...
./xform02.at:24:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

genfile --file file
tar cvf /dev/null file \
   --transform='s/file/other\/name/' \
   --show-transformed-name
)
./xform02.at:24:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --file file
tar cvf /dev/null file \
   --transform='s/file/other\/name/' \
   --show-transformed-name
)
./xform02.at:24:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

genfile --file file
tar cvf /dev/null file \
   --transform='s/file/other\/name/' \
   --show-transformed-name
)
./xform02.at:24:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile --file file
tar cvf /dev/null file \
   --transform='s/file/other\/name/' \
   --show-transformed-name
)
./xform02.at:24:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --file file
tar cvf /dev/null file \
   --transform='s/file/other\/name/' \
   --show-transformed-name
)
57. xform02.at:21:  ok

58. xform03.at:21: testing transforming hard link targets ...
./xform03.at:24:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

mkdir d
mkdir d/a
genfile --file d/a/b
dir=$(pwd|sed s,^//*,,)/d
tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b 2>err
mkdir t
tar -C t -xf a.tar
find t -type f
)
stderr:
./xform03.at:24: sed "/tar: Removing leading \`\/*\/' from/d" stderr
./xform03.at:24:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

mkdir d
mkdir d/a
genfile --file d/a/b
dir=$(pwd|sed s,^//*,,)/d
tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b 2>err
mkdir t
tar -C t -xf a.tar
find t -type f
)
stderr:
./xform03.at:24: sed "/tar: Removing leading \`\/*\/' from/d" stderr
./xform03.at:24:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

mkdir d
mkdir d/a
genfile --file d/a/b
dir=$(pwd|sed s,^//*,,)/d
tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b 2>err
mkdir t
tar -C t -xf a.tar
find t -type f
)
stderr:
./xform03.at:24: sed "/tar: Removing leading \`\/*\/' from/d" stderr
./xform03.at:24:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir d
mkdir d/a
genfile --file d/a/b
dir=$(pwd|sed s,^//*,,)/d
tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b 2>err
mkdir t
tar -C t -xf a.tar
find t -type f
)
stderr:
./xform03.at:24: sed "/tar: Removing leading \`\/*\/' from/d" stderr
./xform03.at:24:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir d
mkdir d/a
genfile --file d/a/b
dir=$(pwd|sed s,^//*,,)/d
tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b 2>err
mkdir t
tar -C t -xf a.tar
find t -type f
)
stderr:
./xform03.at:24: sed "/tar: Removing leading \`\/*\/' from/d" stderr
58. xform03.at:21:  ok


Exclude

59. exclude.at:23: testing exclude ...
./exclude.at:26:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


mkdir dir
echo blues > dir/blues
echo jazz > dir/jazz
mkdir dir/folk
echo tagfile > dir/folk/tagfile
echo sanjuan > dir/folk/sanjuan
mkdir dir/rock
echo "Signature: 8a477f597d28d172789f06886806bc55" > dir/rock/CACHEDIR.TAG
echo "test" > dir/rock/file

for option in exclude-caches exclude-caches-under exclude-caches-all
do
  echo OPTION $option
  tar -cf archive.tar --$option -v dir 2>err | sort
  cat err
  echo ARCHIVE
  tar tf archive.tar | sort
done

for option in exclude-tag exclude-tag-under exclude-tag-all
do
  echo OPTION $option
  tar -cf archive.tar --${option}=tagfile -v dir 2>err | sort
  cat err
  echo ARCHIVE
  tar tf archive.tar | sort
done
)
59. exclude.at:23:  ok

60. exclude01.at:19: testing exclude wildcards ...
./exclude01.at:22:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


rm -rf testdir
mkdir -p testdir/dir1 testdir/dir2 testdir/dir3
touch testdir/dir1/file1
touch testdir/dir1/\*
touch testdir/dir2/file2
touch testdir/dir2/\*
touch testdir/dir3/file3
touch testdir/dir3/\*

tar cf archive --exclude=testdir/dir1/\* \
               --no-wildcards \
               --exclude=testdir/dir2/\* \
               --wildcards \
               --exclude=testdir/dir3/\* \
               testdir
tar tf archive | sort

echo "NEXT"
tar cf archive testdir
tar t "testdir/dir1/*" -f archive | sort

echo "NEXT"
tar cf archive testdir/dir1
tar t --no-wildcards "testdir/dir1/*" -f archive | sort

echo "NEXT"
tar cf archive testdir
tar t --wildcards "testdir/dir1/*" -f archive | sort

rm -rf testdir
)
./exclude01.at:22:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


rm -rf testdir
mkdir -p testdir/dir1 testdir/dir2 testdir/dir3
touch testdir/dir1/file1
touch testdir/dir1/\*
touch testdir/dir2/file2
touch testdir/dir2/\*
touch testdir/dir3/file3
touch testdir/dir3/\*

tar cf archive --exclude=testdir/dir1/\* \
               --no-wildcards \
               --exclude=testdir/dir2/\* \
               --wildcards \
               --exclude=testdir/dir3/\* \
               testdir
tar tf archive | sort

echo "NEXT"
tar cf archive testdir
tar t "testdir/dir1/*" -f archive | sort

echo "NEXT"
tar cf archive testdir/dir1
tar t --no-wildcards "testdir/dir1/*" -f archive | sort

echo "NEXT"
tar cf archive testdir
tar t --wildcards "testdir/dir1/*" -f archive | sort

rm -rf testdir
)
./exclude01.at:22:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


rm -rf testdir
mkdir -p testdir/dir1 testdir/dir2 testdir/dir3
touch testdir/dir1/file1
touch testdir/dir1/\*
touch testdir/dir2/file2
touch testdir/dir2/\*
touch testdir/dir3/file3
touch testdir/dir3/\*

tar cf archive --exclude=testdir/dir1/\* \
               --no-wildcards \
               --exclude=testdir/dir2/\* \
               --wildcards \
               --exclude=testdir/dir3/\* \
               testdir
tar tf archive | sort

echo "NEXT"
tar cf archive testdir
tar t "testdir/dir1/*" -f archive | sort

echo "NEXT"
tar cf archive testdir/dir1
tar t --no-wildcards "testdir/dir1/*" -f archive | sort

echo "NEXT"
tar cf archive testdir
tar t --wildcards "testdir/dir1/*" -f archive | sort

rm -rf testdir
)
./exclude01.at:22:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


rm -rf testdir
mkdir -p testdir/dir1 testdir/dir2 testdir/dir3
touch testdir/dir1/file1
touch testdir/dir1/\*
touch testdir/dir2/file2
touch testdir/dir2/\*
touch testdir/dir3/file3
touch testdir/dir3/\*

tar cf archive --exclude=testdir/dir1/\* \
               --no-wildcards \
               --exclude=testdir/dir2/\* \
               --wildcards \
               --exclude=testdir/dir3/\* \
               testdir
tar tf archive | sort

echo "NEXT"
tar cf archive testdir
tar t "testdir/dir1/*" -f archive | sort

echo "NEXT"
tar cf archive testdir/dir1
tar t --no-wildcards "testdir/dir1/*" -f archive | sort

echo "NEXT"
tar cf archive testdir
tar t --wildcards "testdir/dir1/*" -f archive | sort

rm -rf testdir
)
./exclude01.at:22:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


rm -rf testdir
mkdir -p testdir/dir1 testdir/dir2 testdir/dir3
touch testdir/dir1/file1
touch testdir/dir1/\*
touch testdir/dir2/file2
touch testdir/dir2/\*
touch testdir/dir3/file3
touch testdir/dir3/\*

tar cf archive --exclude=testdir/dir1/\* \
               --no-wildcards \
               --exclude=testdir/dir2/\* \
               --wildcards \
               --exclude=testdir/dir3/\* \
               testdir
tar tf archive | sort

echo "NEXT"
tar cf archive testdir
tar t "testdir/dir1/*" -f archive | sort

echo "NEXT"
tar cf archive testdir/dir1
tar t --no-wildcards "testdir/dir1/*" -f archive | sort

echo "NEXT"
tar cf archive testdir
tar t --wildcards "testdir/dir1/*" -f archive | sort

rm -rf testdir
)
60. exclude01.at:19:  ok

61. exclude02.at:19: testing exclude: anchoring ...
./exclude02.at:22:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


rm -rf testdir
mkdir -p testdir
touch file1.txt
touch testdir/file1.txt
touch testdir/file2

tar cf archive --exclude="file1.txt" \
               testdir
tar tf archive | sort

echo "SUB 1"
tar cf archive --no-anchored \
               --exclude="file1.txt" \
               testdir
tar tf archive | sort

echo "SUB 2"
tar cf archive --anchored \
               --exclude="file1.txt" \
               testdir
tar tf archive | sort

echo "SUB 3"
tar cf archive testdir file1.txt
tar t "file1.txt" -f archive | sort

echo "SUB 4"
tar t --no-anchored "file1.txt" -f archive | sort

echo "SUB 5"
tar t --anchored "file1.txt" -f archive | sort

rm -rf testdir file1.txt

)
./exclude02.at:22:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


rm -rf testdir
mkdir -p testdir
touch file1.txt
touch testdir/file1.txt
touch testdir/file2

tar cf archive --exclude="file1.txt" \
               testdir
tar tf archive | sort

echo "SUB 1"
tar cf archive --no-anchored \
               --exclude="file1.txt" \
               testdir
tar tf archive | sort

echo "SUB 2"
tar cf archive --anchored \
               --exclude="file1.txt" \
               testdir
tar tf archive | sort

echo "SUB 3"
tar cf archive testdir file1.txt
tar t "file1.txt" -f archive | sort

echo "SUB 4"
tar t --no-anchored "file1.txt" -f archive | sort

echo "SUB 5"
tar t --anchored "file1.txt" -f archive | sort

rm -rf testdir file1.txt

)
./exclude02.at:22:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


rm -rf testdir
mkdir -p testdir
touch file1.txt
touch testdir/file1.txt
touch testdir/file2

tar cf archive --exclude="file1.txt" \
               testdir
tar tf archive | sort

echo "SUB 1"
tar cf archive --no-anchored \
               --exclude="file1.txt" \
               testdir
tar tf archive | sort

echo "SUB 2"
tar cf archive --anchored \
               --exclude="file1.txt" \
               testdir
tar tf archive | sort

echo "SUB 3"
tar cf archive testdir file1.txt
tar t "file1.txt" -f archive | sort

echo "SUB 4"
tar t --no-anchored "file1.txt" -f archive | sort

echo "SUB 5"
tar t --anchored "file1.txt" -f archive | sort

rm -rf testdir file1.txt

)
./exclude02.at:22:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


rm -rf testdir
mkdir -p testdir
touch file1.txt
touch testdir/file1.txt
touch testdir/file2

tar cf archive --exclude="file1.txt" \
               testdir
tar tf archive | sort

echo "SUB 1"
tar cf archive --no-anchored \
               --exclude="file1.txt" \
               testdir
tar tf archive | sort

echo "SUB 2"
tar cf archive --anchored \
               --exclude="file1.txt" \
               testdir
tar tf archive | sort

echo "SUB 3"
tar cf archive testdir file1.txt
tar t "file1.txt" -f archive | sort

echo "SUB 4"
tar t --no-anchored "file1.txt" -f archive | sort

echo "SUB 5"
tar t --anchored "file1.txt" -f archive | sort

rm -rf testdir file1.txt

)
./exclude02.at:22:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


rm -rf testdir
mkdir -p testdir
touch file1.txt
touch testdir/file1.txt
touch testdir/file2

tar cf archive --exclude="file1.txt" \
               testdir
tar tf archive | sort

echo "SUB 1"
tar cf archive --no-anchored \
               --exclude="file1.txt" \
               testdir
tar tf archive | sort

echo "SUB 2"
tar cf archive --anchored \
               --exclude="file1.txt" \
               testdir
tar tf archive | sort

echo "SUB 3"
tar cf archive testdir file1.txt
tar t "file1.txt" -f archive | sort

echo "SUB 4"
tar t --no-anchored "file1.txt" -f archive | sort

echo "SUB 5"
tar t --anchored "file1.txt" -f archive | sort

rm -rf testdir file1.txt

)
61. exclude02.at:19:  ok

62. exclude03.at:19: testing exclude: wildcards match slash ...
./exclude03.at:22:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


rm -rf testdir
mkdir -p testdir/dir1 testdir/dir2 testdir/dir3
touch testdir/\*f\*1
touch testdir/dir1/file1
touch testdir/dir1/\*
touch testdir/dir2/file2
touch testdir/dir2/\*
touch testdir/dir3/file3
touch testdir/dir3/\*

tar cf archive --exclude='testdir*f*1' \
               --no-wildcards-match-slash \
               --exclude='testdir*f*2' \
               --wildcards-match-slash \
               --exclude='testdir*f*3' \
               testdir
tar tf archive | sort

echo "NEXT"
tar cf archive testdir
tar t --wildcards 'testdir/*f*1' -f archive | sort

echo "NEXT"
tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort

echo "NEXT"
tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort

rm -rf testdir

)
./exclude03.at:22:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


rm -rf testdir
mkdir -p testdir/dir1 testdir/dir2 testdir/dir3
touch testdir/\*f\*1
touch testdir/dir1/file1
touch testdir/dir1/\*
touch testdir/dir2/file2
touch testdir/dir2/\*
touch testdir/dir3/file3
touch testdir/dir3/\*

tar cf archive --exclude='testdir*f*1' \
               --no-wildcards-match-slash \
               --exclude='testdir*f*2' \
               --wildcards-match-slash \
               --exclude='testdir*f*3' \
               testdir
tar tf archive | sort

echo "NEXT"
tar cf archive testdir
tar t --wildcards 'testdir/*f*1' -f archive | sort

echo "NEXT"
tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort

echo "NEXT"
tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort

rm -rf testdir

)
./exclude03.at:22:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


rm -rf testdir
mkdir -p testdir/dir1 testdir/dir2 testdir/dir3
touch testdir/\*f\*1
touch testdir/dir1/file1
touch testdir/dir1/\*
touch testdir/dir2/file2
touch testdir/dir2/\*
touch testdir/dir3/file3
touch testdir/dir3/\*

tar cf archive --exclude='testdir*f*1' \
               --no-wildcards-match-slash \
               --exclude='testdir*f*2' \
               --wildcards-match-slash \
               --exclude='testdir*f*3' \
               testdir
tar tf archive | sort

echo "NEXT"
tar cf archive testdir
tar t --wildcards 'testdir/*f*1' -f archive | sort

echo "NEXT"
tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort

echo "NEXT"
tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort

rm -rf testdir

)
./exclude03.at:22:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


rm -rf testdir
mkdir -p testdir/dir1 testdir/dir2 testdir/dir3
touch testdir/\*f\*1
touch testdir/dir1/file1
touch testdir/dir1/\*
touch testdir/dir2/file2
touch testdir/dir2/\*
touch testdir/dir3/file3
touch testdir/dir3/\*

tar cf archive --exclude='testdir*f*1' \
               --no-wildcards-match-slash \
               --exclude='testdir*f*2' \
               --wildcards-match-slash \
               --exclude='testdir*f*3' \
               testdir
tar tf archive | sort

echo "NEXT"
tar cf archive testdir
tar t --wildcards 'testdir/*f*1' -f archive | sort

echo "NEXT"
tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort

echo "NEXT"
tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort

rm -rf testdir

)
./exclude03.at:22:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


rm -rf testdir
mkdir -p testdir/dir1 testdir/dir2 testdir/dir3
touch testdir/\*f\*1
touch testdir/dir1/file1
touch testdir/dir1/\*
touch testdir/dir2/file2
touch testdir/dir2/\*
touch testdir/dir3/file3
touch testdir/dir3/\*

tar cf archive --exclude='testdir*f*1' \
               --no-wildcards-match-slash \
               --exclude='testdir*f*2' \
               --wildcards-match-slash \
               --exclude='testdir*f*3' \
               testdir
tar tf archive | sort

echo "NEXT"
tar cf archive testdir
tar t --wildcards 'testdir/*f*1' -f archive | sort

echo "NEXT"
tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort

echo "NEXT"
tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort

rm -rf testdir

)
62. exclude03.at:19:  ok

63. exclude04.at:19: testing exclude: case insensitive ...
./exclude04.at:22:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


rm -rf testdir
mkdir -p testdir/dir
touch testdir/file1
touch testdir/file2
touch testdir/file3
touch testdir/file4
touch testdir/dir/File1
touch testdir/dir/File2
touch testdir/dir/File3
touch testdir/dir/File4

tar cf archive --exclude=FILE2 \
               --exclude=file1 \
               --ignore-case \
               --exclude=file3 \
               --no-ignore-case \
               --exclude=FILE2 \
               --exclude=file4 \
               testdir
tar tf archive | sort

echo "SUB 1"
tar cf archive testdir
tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort

echo "SUB 2"
tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort

echo "SUB 3"
tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort

rm -rf testdir

)
./exclude04.at:22:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


rm -rf testdir
mkdir -p testdir/dir
touch testdir/file1
touch testdir/file2
touch testdir/file3
touch testdir/file4
touch testdir/dir/File1
touch testdir/dir/File2
touch testdir/dir/File3
touch testdir/dir/File4

tar cf archive --exclude=FILE2 \
               --exclude=file1 \
               --ignore-case \
               --exclude=file3 \
               --no-ignore-case \
               --exclude=FILE2 \
               --exclude=file4 \
               testdir
tar tf archive | sort

echo "SUB 1"
tar cf archive testdir
tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort

echo "SUB 2"
tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort

echo "SUB 3"
tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort

rm -rf testdir

)
./exclude04.at:22:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


rm -rf testdir
mkdir -p testdir/dir
touch testdir/file1
touch testdir/file2
touch testdir/file3
touch testdir/file4
touch testdir/dir/File1
touch testdir/dir/File2
touch testdir/dir/File3
touch testdir/dir/File4

tar cf archive --exclude=FILE2 \
               --exclude=file1 \
               --ignore-case \
               --exclude=file3 \
               --no-ignore-case \
               --exclude=FILE2 \
               --exclude=file4 \
               testdir
tar tf archive | sort

echo "SUB 1"
tar cf archive testdir
tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort

echo "SUB 2"
tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort

echo "SUB 3"
tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort

rm -rf testdir

)
./exclude04.at:22:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


rm -rf testdir
mkdir -p testdir/dir
touch testdir/file1
touch testdir/file2
touch testdir/file3
touch testdir/file4
touch testdir/dir/File1
touch testdir/dir/File2
touch testdir/dir/File3
touch testdir/dir/File4

tar cf archive --exclude=FILE2 \
               --exclude=file1 \
               --ignore-case \
               --exclude=file3 \
               --no-ignore-case \
               --exclude=FILE2 \
               --exclude=file4 \
               testdir
tar tf archive | sort

echo "SUB 1"
tar cf archive testdir
tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort

echo "SUB 2"
tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort

echo "SUB 3"
tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort

rm -rf testdir

)
./exclude04.at:22:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


rm -rf testdir
mkdir -p testdir/dir
touch testdir/file1
touch testdir/file2
touch testdir/file3
touch testdir/file4
touch testdir/dir/File1
touch testdir/dir/File2
touch testdir/dir/File3
touch testdir/dir/File4

tar cf archive --exclude=FILE2 \
               --exclude=file1 \
               --ignore-case \
               --exclude=file3 \
               --no-ignore-case \
               --exclude=FILE2 \
               --exclude=file4 \
               testdir
tar tf archive | sort

echo "SUB 1"
tar cf archive testdir
tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort

echo "SUB 2"
tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort

echo "SUB 3"
tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort

rm -rf testdir

)
63. exclude04.at:19:  ok

64. exclude05.at:21: testing exclude: lots of excludes ...
./exclude05.at:24:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


rm -rf testdir exclfile
mkdir -p testdir
awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \
 while read name
 do
   genfile --file $name
 done

awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile

tar cf archive --anchored --exclude-from=exclfile \
               testdir
tar tf archive | sort

echo "NEXT"
tar cf archive --exclude-from=exclfile \
               testdir
tar tf archive | sort

rm -rf testdir exclfile

)
./exclude05.at:24:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


rm -rf testdir exclfile
mkdir -p testdir
awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \
 while read name
 do
   genfile --file $name
 done

awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile

tar cf archive --anchored --exclude-from=exclfile \
               testdir
tar tf archive | sort

echo "NEXT"
tar cf archive --exclude-from=exclfile \
               testdir
tar tf archive | sort

rm -rf testdir exclfile

)
./exclude05.at:24:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


rm -rf testdir exclfile
mkdir -p testdir
awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \
 while read name
 do
   genfile --file $name
 done

awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile

tar cf archive --anchored --exclude-from=exclfile \
               testdir
tar tf archive | sort

echo "NEXT"
tar cf archive --exclude-from=exclfile \
               testdir
tar tf archive | sort

rm -rf testdir exclfile

)
./exclude05.at:24:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


rm -rf testdir exclfile
mkdir -p testdir
awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \
 while read name
 do
   genfile --file $name
 done

awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile

tar cf archive --anchored --exclude-from=exclfile \
               testdir
tar tf archive | sort

echo "NEXT"
tar cf archive --exclude-from=exclfile \
               testdir
tar tf archive | sort

rm -rf testdir exclfile

)
./exclude05.at:24:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


rm -rf testdir exclfile
mkdir -p testdir
awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \
 while read name
 do
   genfile --file $name
 done

awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile

tar cf archive --anchored --exclude-from=exclfile \
               testdir
tar tf archive | sort

echo "NEXT"
tar cf archive --exclude-from=exclfile \
               testdir
tar tf archive | sort

rm -rf testdir exclfile

)
64. exclude05.at:21:  ok

65. exclude06.at:26: testing exclude: long files in pax archives ...
./exclude06.at:31:
mkdir pax
(cd pax
TEST_TAR_FORMAT=pax
export TEST_TAR_FORMAT
TAR_OPTIONS="-H pax"
export TAR_OPTIONS
rm -rf *


install-sh -d one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen >/dev/null  || exit 77
genfile --length 20 -f one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.txt
genfile --length 20 -f one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.c

tar cf archive.tar one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen
mkdir out
tar -C out -xf archive.tar --exclude='*.txt' --warning=no-timestamp
find out -type f
)
65. exclude06.at:26:  ok

66. exclude07.at:19: testing exclude: --exclude-backups option ...
./exclude07.at:22:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

mkdir dir
genfile --file dir/file
genfile --file dir/file~
genfile --file "dir/.#file"
genfile --file "dir/#file#"

tar -v -c -f archive --exclude-backups dir
)
./exclude07.at:22:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

mkdir dir
genfile --file dir/file
genfile --file dir/file~
genfile --file "dir/.#file"
genfile --file "dir/#file#"

tar -v -c -f archive --exclude-backups dir
)
./exclude07.at:22:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

mkdir dir
genfile --file dir/file
genfile --file dir/file~
genfile --file "dir/.#file"
genfile --file "dir/#file#"

tar -v -c -f archive --exclude-backups dir
)
./exclude07.at:22:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir dir
genfile --file dir/file
genfile --file dir/file~
genfile --file "dir/.#file"
genfile --file "dir/#file#"

tar -v -c -f archive --exclude-backups dir
)
./exclude07.at:22:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir dir
genfile --file dir/file
genfile --file dir/file~
genfile --file "dir/.#file"
genfile --file "dir/#file#"

tar -v -c -f archive --exclude-backups dir
)
66. exclude07.at:19:  ok

67. exclude08.at:36: testing --exclude-tag option ...
./exclude08.at:39:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkexcltest etest
tar -c -f etest.tar --exclude-tag=excludeme -v etest | sort
)
./exclude08.at:39:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkexcltest etest
tar -c -f etest.tar --exclude-tag=excludeme -v etest | sort
)
./exclude08.at:39:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkexcltest etest
tar -c -f etest.tar --exclude-tag=excludeme -v etest | sort
)
./exclude08.at:39:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkexcltest etest
tar -c -f etest.tar --exclude-tag=excludeme -v etest | sort
)
./exclude08.at:39:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkexcltest etest
tar -c -f etest.tar --exclude-tag=excludeme -v etest | sort
)
67. exclude08.at:36:  ok

68. exclude09.at:37: testing --exclude-tag option and --listed-incremental ...
./exclude09.at:40:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkexcltest etest
tar -c -f etest.tar --exclude-tag=excludeme --listed=snar -v etest | sort
)
68. exclude09.at:37:  ok

69. exclude10.at:38: testing --exclude-tag option in incremental pass ...
./exclude10.at:41:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkexcltest etest
rm etest/subdir/excludeme
decho "# Level 0"
tar -c -f etest-0.tar --exclude-tag=excludeme --listed=snar-0 -v etest | sort
touch etest/subdir/excludeme
touch etest/subdir/otherfile

decho "# Level 1"
cp snar-0 snar-1
tar -c -f etest-1.tar --exclude-tag=excludeme --listed=snar-1 -v etest | sort
)
69. exclude10.at:38:  ok

70. exclude11.at:36: testing --exclude-tag-under option ...
./exclude11.at:39:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkexcltest etest
tar -c -f etest.tar --exclude-tag-under=excludeme -v etest | sort
)
./exclude11.at:39:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkexcltest etest
tar -c -f etest.tar --exclude-tag-under=excludeme -v etest | sort
)
./exclude11.at:39:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkexcltest etest
tar -c -f etest.tar --exclude-tag-under=excludeme -v etest | sort
)
./exclude11.at:39:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkexcltest etest
tar -c -f etest.tar --exclude-tag-under=excludeme -v etest | sort
)
./exclude11.at:39:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkexcltest etest
tar -c -f etest.tar --exclude-tag-under=excludeme -v etest | sort
)
70. exclude11.at:36:  ok

71. exclude12.at:37: testing --exclude-tag-under and --listed-incremental ...
./exclude12.at:40:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkexcltest etest
tar -c -f etest.tar --exclude-tag-under=excludeme --listed=snar -v etest | sort
)
71. exclude12.at:37:  ok

72. exclude13.at:39: testing --exclude-tag-under option in incremental pass ...
./exclude13.at:42:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkexcltest etest
rm etest/subdir/excludeme
decho "# Level 0"
tar -c -f etest-0.tar --exclude-tag-under=excludeme --listed=snar-0 -v etest | sort
touch etest/subdir/excludeme
touch etest/subdir/otherfile

decho "# Level 1"
cp snar-0 snar-1
tar -c -f etest-1.tar --exclude-tag-under=excludeme --listed=snar-1 -v etest | sort
)
72. exclude13.at:39:  ok

73. exclude14.at:36: testing --exclude-tag-all option ...
./exclude14.at:39:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkexcltest etest
tar -c -f etest.tar --exclude-tag-all=excludeme -v etest | sort
)
./exclude14.at:39:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkexcltest etest
tar -c -f etest.tar --exclude-tag-all=excludeme -v etest | sort
)
./exclude14.at:39:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkexcltest etest
tar -c -f etest.tar --exclude-tag-all=excludeme -v etest | sort
)
./exclude14.at:39:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkexcltest etest
tar -c -f etest.tar --exclude-tag-all=excludeme -v etest | sort
)
./exclude14.at:39:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkexcltest etest
tar -c -f etest.tar --exclude-tag-all=excludeme -v etest | sort
)
73. exclude14.at:36:  ok

74. exclude15.at:36: testing --exclude-tag-all and --listed-incremental ...
./exclude15.at:39:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkexcltest etest
tar -c -f etest.tar --exclude-tag-all=excludeme --listed=snar -v etest | sort
)
74. exclude15.at:36:  ok

75. exclude16.at:38: testing --exclude-tag-all option in incremental pass ...
./exclude16.at:41:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkexcltest etest
rm etest/subdir/excludeme
decho "# Level 0"
tar -c -f etest-0.tar --exclude-tag-all=excludeme --listed=snar-0 -v etest | sort
touch etest/subdir/excludeme
touch etest/subdir/otherfile

decho "# Level 1"
cp snar-0 snar-1
tar -c -f etest-1.tar --exclude-tag-all=excludeme --listed=snar-1 -v etest | sort
)
75. exclude16.at:38:  ok


Deletions

76. delete01.at:23: testing deleting a member after a big one ...
./delete01.at:26:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

genfile -l 50000 --file file1
genfile -l 1024 --file file2
tar cf archive file1 file2
tar f archive --delete file2
tar tf archive)
./delete01.at:26:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile -l 50000 --file file1
genfile -l 1024 --file file2
tar cf archive file1 file2
tar f archive --delete file2
tar tf archive)
./delete01.at:26:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

genfile -l 50000 --file file1
genfile -l 1024 --file file2
tar cf archive file1 file2
tar f archive --delete file2
tar tf archive)
./delete01.at:26:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile -l 50000 --file file1
genfile -l 1024 --file file2
tar cf archive file1 file2
tar f archive --delete file2
tar tf archive)
./delete01.at:26:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile -l 50000 --file file1
genfile -l 1024 --file file2
tar cf archive file1 file2
tar f archive --delete file2
tar tf archive)
76. delete01.at:23:  ok

77. delete02.at:23: testing deleting a member from stdin archive ...
./delete02.at:26:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

genfile -l 3073 -p zeros --file 1
cp 1 2
cp 2 3
tar cf archive 1 2 3
tar tf archive
cat archive | tar f - --delete 2 > archive2
echo separator
tar tf archive2)
./delete02.at:26:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile -l 3073 -p zeros --file 1
cp 1 2
cp 2 3
tar cf archive 1 2 3
tar tf archive
cat archive | tar f - --delete 2 > archive2
echo separator
tar tf archive2)
./delete02.at:26:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

genfile -l 3073 -p zeros --file 1
cp 1 2
cp 2 3
tar cf archive 1 2 3
tar tf archive
cat archive | tar f - --delete 2 > archive2
echo separator
tar tf archive2)
./delete02.at:26:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile -l 3073 -p zeros --file 1
cp 1 2
cp 2 3
tar cf archive 1 2 3
tar tf archive
cat archive | tar f - --delete 2 > archive2
echo separator
tar tf archive2)
./delete02.at:26:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile -l 3073 -p zeros --file 1
cp 1 2
cp 2 3
tar cf archive 1 2 3
tar tf archive
cat archive | tar f - --delete 2 > archive2
echo separator
tar tf archive2)
77. delete02.at:23:  ok

78. delete03.at:21: testing deleting members with long names ...
./delete03.at:26:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX
rm -f $prefix*
for i in 1 2 3 4 5 6 7 8 9
do touch $prefix$i
done
tar -cf archive ./$prefix* &&
 tar --delete -f archive ./${prefix}5 &&
 tar -tf archive
)
./delete03.at:26:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX
rm -f $prefix*
for i in 1 2 3 4 5 6 7 8 9
do touch $prefix$i
done
tar -cf archive ./$prefix* &&
 tar --delete -f archive ./${prefix}5 &&
 tar -tf archive
)
./delete03.at:26:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX
rm -f $prefix*
for i in 1 2 3 4 5 6 7 8 9
do touch $prefix$i
done
tar -cf archive ./$prefix* &&
 tar --delete -f archive ./${prefix}5 &&
 tar -tf archive
)
78. delete03.at:21:  ok

79. delete04.at:23: testing deleting a large last member ...
./delete04.at:26:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

genfile -l      3 -f file1
genfile -l      5 -f file2
genfile -l      3 -f file3
genfile -l      6 -f file4
genfile -l     24 -f file5
genfile -l     13 -f file6
genfile -l   1385 -f file7
genfile -l     30 -f file8
genfile -l     10 -f file9
genfile -l 256000 -f file10
tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
tar f archive --delete file10
tar tf archive
)
./delete04.at:26:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile -l      3 -f file1
genfile -l      5 -f file2
genfile -l      3 -f file3
genfile -l      6 -f file4
genfile -l     24 -f file5
genfile -l     13 -f file6
genfile -l   1385 -f file7
genfile -l     30 -f file8
genfile -l     10 -f file9
genfile -l 256000 -f file10
tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
tar f archive --delete file10
tar tf archive
)
./delete04.at:26:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

genfile -l      3 -f file1
genfile -l      5 -f file2
genfile -l      3 -f file3
genfile -l      6 -f file4
genfile -l     24 -f file5
genfile -l     13 -f file6
genfile -l   1385 -f file7
genfile -l     30 -f file8
genfile -l     10 -f file9
genfile -l 256000 -f file10
tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
tar f archive --delete file10
tar tf archive
)
./delete04.at:26:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile -l      3 -f file1
genfile -l      5 -f file2
genfile -l      3 -f file3
genfile -l      6 -f file4
genfile -l     24 -f file5
genfile -l     13 -f file6
genfile -l   1385 -f file7
genfile -l     30 -f file8
genfile -l     10 -f file9
genfile -l 256000 -f file10
tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
tar f archive --delete file10
tar tf archive
)
./delete04.at:26:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile -l      3 -f file1
genfile -l      5 -f file2
genfile -l      3 -f file3
genfile -l      6 -f file4
genfile -l     24 -f file5
genfile -l     13 -f file6
genfile -l   1385 -f file7
genfile -l     30 -f file8
genfile -l     10 -f file9
genfile -l 256000 -f file10
tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
tar f archive --delete file10
tar tf archive
)
79. delete04.at:23:  ok

80. delete05.at:27: testing deleting non-existing member ...
./delete05.at:30:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f en
genfile -l 1024 -f to

tar cf archive en to
# Make sure we don't use bogus blocking factor.
# GNU tar up to and including 1.14.91 produced an empty archive this way:
tar --file archive --blocking-factor=20 --delete tre
tar tf archive
)
./delete05.at:30:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f en
genfile -l 1024 -f to

tar cf archive en to
# Make sure we don't use bogus blocking factor.
# GNU tar up to and including 1.14.91 produced an empty archive this way:
tar --file archive --blocking-factor=20 --delete tre
tar tf archive
)
./delete05.at:30:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f en
genfile -l 1024 -f to

tar cf archive en to
# Make sure we don't use bogus blocking factor.
# GNU tar up to and including 1.14.91 produced an empty archive this way:
tar --file archive --blocking-factor=20 --delete tre
tar tf archive
)
./delete05.at:30:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f en
genfile -l 1024 -f to

tar cf archive en to
# Make sure we don't use bogus blocking factor.
# GNU tar up to and including 1.14.91 produced an empty archive this way:
tar --file archive --blocking-factor=20 --delete tre
tar tf archive
)
./delete05.at:30:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f en
genfile -l 1024 -f to

tar cf archive en to
# Make sure we don't use bogus blocking factor.
# GNU tar up to and including 1.14.91 produced an empty archive this way:
tar --file archive --blocking-factor=20 --delete tre
tar tf archive
)
80. delete05.at:27:  ok


Extracting

81. extrac01.at:23: testing extract over an existing directory ...
./extrac01.at:26:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

mkdir directory
touch directory/file
tar cf archive directory || exit 1
tar xf archive --warning=no-timestamp || exit 1
)
./extrac01.at:26:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

mkdir directory
touch directory/file
tar cf archive directory || exit 1
tar xf archive --warning=no-timestamp || exit 1
)
./extrac01.at:26:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

mkdir directory
touch directory/file
tar cf archive directory || exit 1
tar xf archive --warning=no-timestamp || exit 1
)
./extrac01.at:26:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir directory
touch directory/file
tar cf archive directory || exit 1
tar xf archive --warning=no-timestamp || exit 1
)
./extrac01.at:26:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir directory
touch directory/file
tar cf archive directory || exit 1
tar xf archive --warning=no-timestamp || exit 1
)
81. extrac01.at:23:  ok

82. extrac02.at:23: testing extracting symlinks over an existing file ...
./extrac02.at:28:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

touch file
ln -s file link 2> /dev/null || ln file link
tar cf archive link
rm link
touch link
tar xf archive
)
./extrac02.at:28:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

touch file
ln -s file link 2> /dev/null || ln file link
tar cf archive link
rm link
touch link
tar xf archive
)
./extrac02.at:28:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

touch file
ln -s file link 2> /dev/null || ln file link
tar cf archive link
rm link
touch link
tar xf archive
)
./extrac02.at:28:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

touch file
ln -s file link 2> /dev/null || ln file link
tar cf archive link
rm link
touch link
tar xf archive
)
./extrac02.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

touch file
ln -s file link 2> /dev/null || ln file link
tar cf archive link
rm link
touch link
tar xf archive
)
82. extrac02.at:23:  ok

83. extrac03.at:23: testing extraction loops ...
./extrac03.at:26:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

mkdir directory
tar -cPvf archive directory/../directory
echo separator
tar -xPvf archive --warning=no-timestamp)
./extrac03.at:26:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

mkdir directory
tar -cPvf archive directory/../directory
echo separator
tar -xPvf archive --warning=no-timestamp)
./extrac03.at:26:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

mkdir directory
tar -cPvf archive directory/../directory
echo separator
tar -xPvf archive --warning=no-timestamp)
./extrac03.at:26:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir directory
tar -cPvf archive directory/../directory
echo separator
tar -xPvf archive --warning=no-timestamp)
./extrac03.at:26:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir directory
tar -cPvf archive directory/../directory
echo separator
tar -xPvf archive --warning=no-timestamp)
83. extrac03.at:23:  ok

84. extrac04.at:23: testing extract + fnmatch ...
./extrac04.at:26:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

touch file1
mkdir directory
mkdir directory/subdirectory
touch directory/file1
touch directory/file2
touch directory/subdirectory/file1
touch directory/subdirectory/file2
tar -cf archive ./file1 directory
tar -tf archive \
  --exclude='./*1' \
  --exclude='d*/*1' \
  --exclude='d*/s*/*2' | sort
)
./extrac04.at:26:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

touch file1
mkdir directory
mkdir directory/subdirectory
touch directory/file1
touch directory/file2
touch directory/subdirectory/file1
touch directory/subdirectory/file2
tar -cf archive ./file1 directory
tar -tf archive \
  --exclude='./*1' \
  --exclude='d*/*1' \
  --exclude='d*/s*/*2' | sort
)
./extrac04.at:26:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

touch file1
mkdir directory
mkdir directory/subdirectory
touch directory/file1
touch directory/file2
touch directory/subdirectory/file1
touch directory/subdirectory/file2
tar -cf archive ./file1 directory
tar -tf archive \
  --exclude='./*1' \
  --exclude='d*/*1' \
  --exclude='d*/s*/*2' | sort
)
./extrac04.at:26:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

touch file1
mkdir directory
mkdir directory/subdirectory
touch directory/file1
touch directory/file2
touch directory/subdirectory/file1
touch directory/subdirectory/file2
tar -cf archive ./file1 directory
tar -tf archive \
  --exclude='./*1' \
  --exclude='d*/*1' \
  --exclude='d*/s*/*2' | sort
)
./extrac04.at:26:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

touch file1
mkdir directory
mkdir directory/subdirectory
touch directory/file1
touch directory/file2
touch directory/subdirectory/file1
touch directory/subdirectory/file2
tar -cf archive ./file1 directory
tar -tf archive \
  --exclude='./*1' \
  --exclude='d*/*1' \
  --exclude='d*/s*/*2' | sort
)
84. extrac04.at:23:  ok

85. extrac05.at:30: testing extracting selected members from pax ...
./extrac05.at:38:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile --sparse --file sparsefile 0 ABCD 1M EFGH 2000K IJKL || exit 77
genfile --length 118 --file jeden
genfile --length 223 --file dwa
genfile --length 517 --file trzy
genfile --length 110 --file cztery

tar cf archive jeden dwa trzy cztery || exit 1

mkdir dir
cd dir

tar xvfT ../archive ../../list --warning=no-timestamp || exit 1

cd ..
)
85. extrac05.at:30:  ok

86. extrac06.at:34: testing mode of extracted directories ...
./extrac06.at:37:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


# Force umask
umask 022

# Make sure user's umask is honored, even if we are superuser
TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions"

# Create a directory
mkdir directory
chmod 777 directory
genfile --stat=mode:777 directory

# Archive it
tar cf arc directory

# Change its permissions ...
chmod 755 directory
genfile --stat=mode:777 directory

# ... and attempt to restore it twice
tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory

tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory

# After both restores, the directory mode should be 755
)
./extrac06.at:37:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


# Force umask
umask 022

# Make sure user's umask is honored, even if we are superuser
TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions"

# Create a directory
mkdir directory
chmod 777 directory
genfile --stat=mode:777 directory

# Archive it
tar cf arc directory

# Change its permissions ...
chmod 755 directory
genfile --stat=mode:777 directory

# ... and attempt to restore it twice
tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory

tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory

# After both restores, the directory mode should be 755
)
./extrac06.at:37:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


# Force umask
umask 022

# Make sure user's umask is honored, even if we are superuser
TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions"

# Create a directory
mkdir directory
chmod 777 directory
genfile --stat=mode:777 directory

# Archive it
tar cf arc directory

# Change its permissions ...
chmod 755 directory
genfile --stat=mode:777 directory

# ... and attempt to restore it twice
tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory

tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory

# After both restores, the directory mode should be 755
)
./extrac06.at:37:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


# Force umask
umask 022

# Make sure user's umask is honored, even if we are superuser
TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions"

# Create a directory
mkdir directory
chmod 777 directory
genfile --stat=mode:777 directory

# Archive it
tar cf arc directory

# Change its permissions ...
chmod 755 directory
genfile --stat=mode:777 directory

# ... and attempt to restore it twice
tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory

tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory

# After both restores, the directory mode should be 755
)
./extrac06.at:37:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


# Force umask
umask 022

# Make sure user's umask is honored, even if we are superuser
TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions"

# Create a directory
mkdir directory
chmod 777 directory
genfile --stat=mode:777 directory

# Archive it
tar cf arc directory

# Change its permissions ...
chmod 755 directory
genfile --stat=mode:777 directory

# ... and attempt to restore it twice
tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory

tar xf arc directory --warning=no-timestamp
genfile --stat=mode:777 directory

# After both restores, the directory mode should be 755
)
86. extrac06.at:34:  ok

87. extrac07.at:27: testing extracting symlinks to a read-only dir ...
./extrac07.at:30:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77


echo Prepare the directory
mkdir dir
genfile -f foo
cd dir
ln -s ../foo .
cd ..
chmod a-w dir

echo Create the archive
tar cf archive dir || exit 1

chmod +w dir

echo Extract
mkdir out
tar -C out -xvf archive
)
87. extrac07.at:27:  ok

88. extrac08.at:33: testing restoring mode on existing directory ...
./extrac08.at:36:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

umask 000
mkdir dir
chmod 755 dir
echo bla > dir/file
tar cf test.tar dir
chmod 700 dir
tar xfv test.tar --warning=no-timestamp
genfile --stat=mode.777 dir
)
./extrac08.at:36:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

umask 000
mkdir dir
chmod 755 dir
echo bla > dir/file
tar cf test.tar dir
chmod 700 dir
tar xfv test.tar --warning=no-timestamp
genfile --stat=mode.777 dir
)
./extrac08.at:36:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

umask 000
mkdir dir
chmod 755 dir
echo bla > dir/file
tar cf test.tar dir
chmod 700 dir
tar xfv test.tar --warning=no-timestamp
genfile --stat=mode.777 dir
)
./extrac08.at:36:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

umask 000
mkdir dir
chmod 755 dir
echo bla > dir/file
tar cf test.tar dir
chmod 700 dir
tar xfv test.tar --warning=no-timestamp
genfile --stat=mode.777 dir
)
./extrac08.at:36:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

umask 000
mkdir dir
chmod 755 dir
echo bla > dir/file
tar cf test.tar dir
chmod 700 dir
tar xfv test.tar --warning=no-timestamp
genfile --stat=mode.777 dir
)
88. extrac08.at:33:  ok

89. extrac09.at:34: testing extracting even when . and .. are unreadable ...
./extrac09.at:37:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77


mkdir dir
mkdir dir/sub
mkdir dir/sub/extract
genfile --file dir/sub/f
cd dir/sub

tar -cf archive.tar f

chmod a-r . ..
tar -xvf archive.tar -C extract f
status=$?
chmod a+r . ..
cmp f extract/f || status=$?
exit $status
)
89. extrac09.at:34:  ok

90. extrac10.at:29: testing -C and delayed setting of metadata ...
./extrac10.at:32:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir d x x/y
echo foo >d/d1
echo bar >e

tar -cf archive.tar d e &&
tar -xf archive.tar -C x d -C y e &&
diff -r d x/d &&
diff e x/y/e
)
90. extrac10.at:29:  ok

91. extrac11.at:25: testing scarce file descriptors ...
./extrac11.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

exec </dev/null
dirs='a
      a/b
      a/b/c
      a/b/c/d
      a/b/c/d/e
      a/b/c/d/e/f
      a/b/c/d/e/f/g
      a/b/c/d/e/f/g/h
      a/b/c/d/e/f/g/h/i
      a/b/c/d/e/f/g/h/i/j
      a/b/c/d/e/f/g/h/i/j/k
'
files=
mkdir $dirs dest1 dest2 dest3 || exit
for dir in $dirs; do
  for file in X Y Z; do
    echo $file >$dir/$file || exit
    files="$files $file"
  done
done

# Check that "ulimit" itself works.  Close file descriptors before
# invoking ulimit, to work around a bug (or a "feature") in some shells,
# where they squirrel away dups of file descriptors into FD 10 and up
# before closing the originals.
( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
   ulimit -n 100 &&
   tar -cf archive1.tar a &&
   tar -xf archive1.tar -C dest1 a
  ) &&
  diff -r a dest1/a
) >/dev/null 2>&1 ||
   exit 77

# Another test that "ulimit" itself works:
# tar should fail when completely starved of file descriptors.
( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
   ulimit -n 4 &&
   tar -cf archive2.tar a &&
   tar -xf archive2.tar -C dest2 a
  ) &&
  diff -r a dest2/a
) >/dev/null 2>&1 &&
   exit 77

# Test if it is possible to limit the number of file descriptors to 10.
( ulimit -n 10 ) >/dev/null 2>&1 || exit 77

# Tar should work when there are few, but enough, file descriptors.
( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
   ulimit -n 10 &&
   tar -cf archive3.tar a &&
   tar -xf archive3.tar -C dest3 a
  ) &&
  diff -r a dest3/a >/dev/null 2>&1
) || { diff -r a dest3/a; exit 1; }
)
91. extrac11.at:25:  ok

92. extrac12.at:25: testing extract dot permissions ...
./extrac12.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir src dst
echo file1 >src/file1
echo file2 >src/file2
chmod a-w src

tar --no-recursion -cf archive.tar -C src . ./file1 file2 &&
tar -xf archive.tar -C dst &&
cmp src/file1 dst/file1 &&
cmp src/file2 dst/file2
)
92. extrac12.at:25:  ok

93. extrac13.at:26: testing extract over symlinks ...
./extrac13.at:29:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir src dst1 dst2 dst3
echo file1 >src/file1
ln -s target1 dst1/file1
echo target1 >dst1/target1
echo target1 >target1

tar -cf archive.tar -C src . &&
tar -xf archive.tar -C dst1 --warning=no-timestamp &&
diff src/file1 dst1/file1 &&
diff target1 dst1/target1

ln -s target1 dst2/file1
echo target1 >dst2/target1
tar --overwrite -xf archive.tar -C dst2 --warning=no-timestamp &&
diff src/file1 dst2/file1 &&
diff target1 dst2/target1

ln -s target1 dst3/file1
echo target1 >dst3/target1
tar --overwrite -xhf archive.tar -C dst3 --warning=no-timestamp &&
diff src/file1 dst3/file1 &&
diff src/file1 dst3/target1
)
93. extrac13.at:26:  ok

94. extrac14.at:25: testing extract -C symlink ...
./extrac14.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir dest
ln -s dest symlink
echo foo >foo
tar -cf archive.tar foo &&
tar -xf archive.tar -C symlink --warning=no-timestamp &&
cmp foo dest/foo
)
94. extrac14.at:25:  ok

95. extrac15.at:25: testing extract parent mkdir failure ...
./extrac15.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77


mkdir src src/a src/a/b dest dest/a
touch src/a/b/c
chmod a-w dest/a

tar -cf archive.tar -C src a/b/c &&
if tar -xf archive.tar -C dest a/b/c
then (exit 1)
else (exit 0)
fi
)
95. extrac15.at:25:  ok

96. extrac16.at:26: testing extract empty directory with -C ...
./extrac16.at:29:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir src src/a src/a/b dest
touch src/a/c

tar -cf archive.tar -C src a &&
tar -xf archive.tar -C dest
)
96. extrac16.at:26:  ok

97. extrac17.at:21: testing name matching/transformation ordering ...
./extrac17.at:34:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

mkdir dir dir/subdir1 dir/subdir2 out
genfile --file dir/subdir1/file1
genfile --file dir/subdir2/file2

tar cf dir.tar dir

tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \
  dir/subdir1/
)
./extrac17.at:34:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

mkdir dir dir/subdir1 dir/subdir2 out
genfile --file dir/subdir1/file1
genfile --file dir/subdir2/file2

tar cf dir.tar dir

tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \
  dir/subdir1/
)
./extrac17.at:34:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

mkdir dir dir/subdir1 dir/subdir2 out
genfile --file dir/subdir1/file1
genfile --file dir/subdir2/file2

tar cf dir.tar dir

tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \
  dir/subdir1/
)
./extrac17.at:34:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir dir dir/subdir1 dir/subdir2 out
genfile --file dir/subdir1/file1
genfile --file dir/subdir2/file2

tar cf dir.tar dir

tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \
  dir/subdir1/
)
./extrac17.at:34:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir dir dir/subdir1 dir/subdir2 out
genfile --file dir/subdir1/file1
genfile --file dir/subdir2/file2

tar cf dir.tar dir

tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \
  dir/subdir1/
)
97. extrac17.at:21:  ok

98. extrac18.at:34: testing keep-old-files ...
./extrac18.at:37:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

mkdir dir
cd dir
echo 'Old file a' > a
echo 'Old file b' > b

tar cf ../archive .

rm b
echo 'File a' > a

tar -x -k -f ../archive
echo status=$?

cat a
)
./extrac18.at:37:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

mkdir dir
cd dir
echo 'Old file a' > a
echo 'Old file b' > b

tar cf ../archive .

rm b
echo 'File a' > a

tar -x -k -f ../archive
echo status=$?

cat a
)
./extrac18.at:37:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

mkdir dir
cd dir
echo 'Old file a' > a
echo 'Old file b' > b

tar cf ../archive .

rm b
echo 'File a' > a

tar -x -k -f ../archive
echo status=$?

cat a
)
./extrac18.at:37:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir dir
cd dir
echo 'Old file a' > a
echo 'Old file b' > b

tar cf ../archive .

rm b
echo 'File a' > a

tar -x -k -f ../archive
echo status=$?

cat a
)
./extrac18.at:37:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir dir
cd dir
echo 'Old file a' > a
echo 'Old file b' > b

tar cf ../archive .

rm b
echo 'File a' > a

tar -x -k -f ../archive
echo status=$?

cat a
)
98. extrac18.at:34:  ok

99. extrac19.at:21: testing skip-old-files ...
./extrac19.at:24:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

mkdir dir
cd dir
echo 'Old file a' > a
echo 'Old file b' > b

tar cf ../archive .

rm b
echo 'File a' > a

tar -x --skip-old-files -f ../archive
echo status=$?

cat a
)
./extrac19.at:24:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

mkdir dir
cd dir
echo 'Old file a' > a
echo 'Old file b' > b

tar cf ../archive .

rm b
echo 'File a' > a

tar -x --skip-old-files -f ../archive
echo status=$?

cat a
)
./extrac19.at:24:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

mkdir dir
cd dir
echo 'Old file a' > a
echo 'Old file b' > b

tar cf ../archive .

rm b
echo 'File a' > a

tar -x --skip-old-files -f ../archive
echo status=$?

cat a
)
./extrac19.at:24:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir dir
cd dir
echo 'Old file a' > a
echo 'Old file b' > b

tar cf ../archive .

rm b
echo 'File a' > a

tar -x --skip-old-files -f ../archive
echo status=$?

cat a
)
./extrac19.at:24:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir dir
cd dir
echo 'Old file a' > a
echo 'Old file b' > b

tar cf ../archive .

rm b
echo 'File a' > a

tar -x --skip-old-files -f ../archive
echo status=$?

cat a
)
99. extrac19.at:21:  ok

100. extrac20.at:21: testing keep-directory-symlink ...
./extrac20.at:24:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


for i in a b c
do
  dir=in$i
  mkdir -p $dir/root/dir $dir/root/dirsymlink
  touch $dir/root/dirsymlink/file$i
  test $i != a && touch $dir/root/dirsymlink/file.conflict
  tar cf archive$i.tar -C $dir root
done

prep()
{
  echo "== $1 =="
  echo "== $1 ==" >&2
  backup_dir=$1
  dir=out
  mkdir -p $dir/root/dir
  ln -s dir $dir/root/dirsymlink
  test $round = normal && cd $dir >/dev/null
}

clean()
{
  test $round = normal && cd .. >/dev/null
  find $dir | sort
  mv $dir $backup_dir
}

# Expand to '-f ../$1' or '-f $1 -C $dir' depending on $round variable
file_spec()
{
  if test $round = normal
  then
    echo "-f ../$1"
  else
    echo "-f $1 -C $dir"
  fi
}

for round in normal dir
do
  # Check that 'dirsymlink' replaces 'dir'
  prep without_option_$round
  tar -x `file_spec archivea.tar` || exit 1
  tar -x `file_spec archiveb.tar` || exit 1
  clean

  # Keep directory symlink must keep root/dirsymlink
  prep with_option_$round
  tar -x --keep-directory-symlink `file_spec archivea.tar` || exit 1
  tar -x --keep-directory-symlink `file_spec archiveb.tar` || exit 1
  clean

  prep collision_$round
  tar -x --keep-directory-symlink `file_spec archivea.tar` --keep-old-files || exit 1
  tar -x --keep-directory-symlink `file_spec archiveb.tar` --keep-old-files || exit 1
  tar -x --keep-directory-symlink `file_spec archivec.tar` --keep-old-files && exit 1
  clean
done
)
./extrac20.at:24:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


for i in a b c
do
  dir=in$i
  mkdir -p $dir/root/dir $dir/root/dirsymlink
  touch $dir/root/dirsymlink/file$i
  test $i != a && touch $dir/root/dirsymlink/file.conflict
  tar cf archive$i.tar -C $dir root
done

prep()
{
  echo "== $1 =="
  echo "== $1 ==" >&2
  backup_dir=$1
  dir=out
  mkdir -p $dir/root/dir
  ln -s dir $dir/root/dirsymlink
  test $round = normal && cd $dir >/dev/null
}

clean()
{
  test $round = normal && cd .. >/dev/null
  find $dir | sort
  mv $dir $backup_dir
}

# Expand to '-f ../$1' or '-f $1 -C $dir' depending on $round variable
file_spec()
{
  if test $round = normal
  then
    echo "-f ../$1"
  else
    echo "-f $1 -C $dir"
  fi
}

for round in normal dir
do
  # Check that 'dirsymlink' replaces 'dir'
  prep without_option_$round
  tar -x `file_spec archivea.tar` || exit 1
  tar -x `file_spec archiveb.tar` || exit 1
  clean

  # Keep directory symlink must keep root/dirsymlink
  prep with_option_$round
  tar -x --keep-directory-symlink `file_spec archivea.tar` || exit 1
  tar -x --keep-directory-symlink `file_spec archiveb.tar` || exit 1
  clean

  prep collision_$round
  tar -x --keep-directory-symlink `file_spec archivea.tar` --keep-old-files || exit 1
  tar -x --keep-directory-symlink `file_spec archiveb.tar` --keep-old-files || exit 1
  tar -x --keep-directory-symlink `file_spec archivec.tar` --keep-old-files && exit 1
  clean
done
)
./extrac20.at:24:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


for i in a b c
do
  dir=in$i
  mkdir -p $dir/root/dir $dir/root/dirsymlink
  touch $dir/root/dirsymlink/file$i
  test $i != a && touch $dir/root/dirsymlink/file.conflict
  tar cf archive$i.tar -C $dir root
done

prep()
{
  echo "== $1 =="
  echo "== $1 ==" >&2
  backup_dir=$1
  dir=out
  mkdir -p $dir/root/dir
  ln -s dir $dir/root/dirsymlink
  test $round = normal && cd $dir >/dev/null
}

clean()
{
  test $round = normal && cd .. >/dev/null
  find $dir | sort
  mv $dir $backup_dir
}

# Expand to '-f ../$1' or '-f $1 -C $dir' depending on $round variable
file_spec()
{
  if test $round = normal
  then
    echo "-f ../$1"
  else
    echo "-f $1 -C $dir"
  fi
}

for round in normal dir
do
  # Check that 'dirsymlink' replaces 'dir'
  prep without_option_$round
  tar -x `file_spec archivea.tar` || exit 1
  tar -x `file_spec archiveb.tar` || exit 1
  clean

  # Keep directory symlink must keep root/dirsymlink
  prep with_option_$round
  tar -x --keep-directory-symlink `file_spec archivea.tar` || exit 1
  tar -x --keep-directory-symlink `file_spec archiveb.tar` || exit 1
  clean

  prep collision_$round
  tar -x --keep-directory-symlink `file_spec archivea.tar` --keep-old-files || exit 1
  tar -x --keep-directory-symlink `file_spec archiveb.tar` --keep-old-files || exit 1
  tar -x --keep-directory-symlink `file_spec archivec.tar` --keep-old-files && exit 1
  clean
done
)
./extrac20.at:24:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


for i in a b c
do
  dir=in$i
  mkdir -p $dir/root/dir $dir/root/dirsymlink
  touch $dir/root/dirsymlink/file$i
  test $i != a && touch $dir/root/dirsymlink/file.conflict
  tar cf archive$i.tar -C $dir root
done

prep()
{
  echo "== $1 =="
  echo "== $1 ==" >&2
  backup_dir=$1
  dir=out
  mkdir -p $dir/root/dir
  ln -s dir $dir/root/dirsymlink
  test $round = normal && cd $dir >/dev/null
}

clean()
{
  test $round = normal && cd .. >/dev/null
  find $dir | sort
  mv $dir $backup_dir
}

# Expand to '-f ../$1' or '-f $1 -C $dir' depending on $round variable
file_spec()
{
  if test $round = normal
  then
    echo "-f ../$1"
  else
    echo "-f $1 -C $dir"
  fi
}

for round in normal dir
do
  # Check that 'dirsymlink' replaces 'dir'
  prep without_option_$round
  tar -x `file_spec archivea.tar` || exit 1
  tar -x `file_spec archiveb.tar` || exit 1
  clean

  # Keep directory symlink must keep root/dirsymlink
  prep with_option_$round
  tar -x --keep-directory-symlink `file_spec archivea.tar` || exit 1
  tar -x --keep-directory-symlink `file_spec archiveb.tar` || exit 1
  clean

  prep collision_$round
  tar -x --keep-directory-symlink `file_spec archivea.tar` --keep-old-files || exit 1
  tar -x --keep-directory-symlink `file_spec archiveb.tar` --keep-old-files || exit 1
  tar -x --keep-directory-symlink `file_spec archivec.tar` --keep-old-files && exit 1
  clean
done
)
./extrac20.at:24:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


for i in a b c
do
  dir=in$i
  mkdir -p $dir/root/dir $dir/root/dirsymlink
  touch $dir/root/dirsymlink/file$i
  test $i != a && touch $dir/root/dirsymlink/file.conflict
  tar cf archive$i.tar -C $dir root
done

prep()
{
  echo "== $1 =="
  echo "== $1 ==" >&2
  backup_dir=$1
  dir=out
  mkdir -p $dir/root/dir
  ln -s dir $dir/root/dirsymlink
  test $round = normal && cd $dir >/dev/null
}

clean()
{
  test $round = normal && cd .. >/dev/null
  find $dir | sort
  mv $dir $backup_dir
}

# Expand to '-f ../$1' or '-f $1 -C $dir' depending on $round variable
file_spec()
{
  if test $round = normal
  then
    echo "-f ../$1"
  else
    echo "-f $1 -C $dir"
  fi
}

for round in normal dir
do
  # Check that 'dirsymlink' replaces 'dir'
  prep without_option_$round
  tar -x `file_spec archivea.tar` || exit 1
  tar -x `file_spec archiveb.tar` || exit 1
  clean

  # Keep directory symlink must keep root/dirsymlink
  prep with_option_$round
  tar -x --keep-directory-symlink `file_spec archivea.tar` || exit 1
  tar -x --keep-directory-symlink `file_spec archiveb.tar` || exit 1
  clean

  prep collision_$round
  tar -x --keep-directory-symlink `file_spec archivea.tar` --keep-old-files || exit 1
  tar -x --keep-directory-symlink `file_spec archiveb.tar` --keep-old-files || exit 1
  tar -x --keep-directory-symlink `file_spec archivec.tar` --keep-old-files && exit 1
  clean
done
)
100. extrac20.at:21:  ok

101. extrac21.at:31: testing delay-directory-restore ...
./extrac21.at:33:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77


mkdir a a/b a/c
genfile --file a/b/D
genfile --file a/c/A
cd a/b
ln -sf ../c/A
cd ../..
chmod a-w a/b
tar --no-recurs -c -f A.tar a a/b a/b/D a/c a/b/A a/c/A
mkdir out
tar -C out -v -x -f A.tar --delay-directory-restore
)
101. extrac21.at:31:  ok

102. extrac22.at:19: testing delay-directory-restore on reversed ordering ...
./extrac22.at:29:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir t
(cd t
 genfile --length 100 --file data1
 mkdir dir1
 cp data1 dir1
 mkdir dir2
 cd dir2
 ln -s ../dir1/data1 data2
 cd ..
 chmod -w dir2)

cat >filelist <<'_ATEOF'
./dir2/data2
./dir2
./dir1/data1
./dir1
./data1
_ATEOF


tar -C t -c -f a.tar --no-recursion -T filelist

mkdir restore
tar -x -p --delay-directory-restore -C restore -f a.tar
# Previous versions of tar would fail here with the following diagnostics:
# tar: ./dir2/data2: Cannot unlink: Permission denied
)
./extrac22.at:29:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir t
(cd t
 genfile --length 100 --file data1
 mkdir dir1
 cp data1 dir1
 mkdir dir2
 cd dir2
 ln -s ../dir1/data1 data2
 cd ..
 chmod -w dir2)

cat >filelist <<'_ATEOF'
./dir2/data2
./dir2
./dir1/data1
./dir1
./data1
_ATEOF


tar -C t -c -f a.tar --no-recursion -T filelist

mkdir restore
tar -x -p --delay-directory-restore -C restore -f a.tar
# Previous versions of tar would fail here with the following diagnostics:
# tar: ./dir2/data2: Cannot unlink: Permission denied
)
./extrac22.at:29:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir t
(cd t
 genfile --length 100 --file data1
 mkdir dir1
 cp data1 dir1
 mkdir dir2
 cd dir2
 ln -s ../dir1/data1 data2
 cd ..
 chmod -w dir2)

cat >filelist <<'_ATEOF'
./dir2/data2
./dir2
./dir1/data1
./dir1
./data1
_ATEOF


tar -C t -c -f a.tar --no-recursion -T filelist

mkdir restore
tar -x -p --delay-directory-restore -C restore -f a.tar
# Previous versions of tar would fail here with the following diagnostics:
# tar: ./dir2/data2: Cannot unlink: Permission denied
)
./extrac22.at:29:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir t
(cd t
 genfile --length 100 --file data1
 mkdir dir1
 cp data1 dir1
 mkdir dir2
 cd dir2
 ln -s ../dir1/data1 data2
 cd ..
 chmod -w dir2)

cat >filelist <<'_ATEOF'
./dir2/data2
./dir2
./dir1/data1
./dir1
./data1
_ATEOF


tar -C t -c -f a.tar --no-recursion -T filelist

mkdir restore
tar -x -p --delay-directory-restore -C restore -f a.tar
# Previous versions of tar would fail here with the following diagnostics:
# tar: ./dir2/data2: Cannot unlink: Permission denied
)
./extrac22.at:29:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir t
(cd t
 genfile --length 100 --file data1
 mkdir dir1
 cp data1 dir1
 mkdir dir2
 cd dir2
 ln -s ../dir1/data1 data2
 cd ..
 chmod -w dir2)

cat >filelist <<'_ATEOF'
./dir2/data2
./dir2
./dir1/data1
./dir1
./data1
_ATEOF


tar -C t -c -f a.tar --no-recursion -T filelist

mkdir restore
tar -x -p --delay-directory-restore -C restore -f a.tar
# Previous versions of tar would fail here with the following diagnostics:
# tar: ./dir2/data2: Cannot unlink: Permission denied
)
102. extrac22.at:19:  ok

103. extrac23.at:18: testing --no-overwrite-dir ...
./extrac23.at:32:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

# Test if the directory permissions are restored properly.
mkdir dir
chmod 755 dir
tar cf a.tar dir
chmod 777 dir
tar -xf a.tar --no-overwrite-dir
genfile --stat=mode.777 dir

# Test if temprorary permissions are set correctly to allow the owner
# to write to the directory.
genfile --file dir/file
tar cf a.tar dir
rm dir/file
chmod 400 dir
tar -xf a.tar --no-overwrite-dir
genfile --stat=mode.777 dir
chmod 700 dir
find dir
)
./extrac23.at:32:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

# Test if the directory permissions are restored properly.
mkdir dir
chmod 755 dir
tar cf a.tar dir
chmod 777 dir
tar -xf a.tar --no-overwrite-dir
genfile --stat=mode.777 dir

# Test if temprorary permissions are set correctly to allow the owner
# to write to the directory.
genfile --file dir/file
tar cf a.tar dir
rm dir/file
chmod 400 dir
tar -xf a.tar --no-overwrite-dir
genfile --stat=mode.777 dir
chmod 700 dir
find dir
)
./extrac23.at:32:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

# Test if the directory permissions are restored properly.
mkdir dir
chmod 755 dir
tar cf a.tar dir
chmod 777 dir
tar -xf a.tar --no-overwrite-dir
genfile --stat=mode.777 dir

# Test if temprorary permissions are set correctly to allow the owner
# to write to the directory.
genfile --file dir/file
tar cf a.tar dir
rm dir/file
chmod 400 dir
tar -xf a.tar --no-overwrite-dir
genfile --stat=mode.777 dir
chmod 700 dir
find dir
)
./extrac23.at:32:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

# Test if the directory permissions are restored properly.
mkdir dir
chmod 755 dir
tar cf a.tar dir
chmod 777 dir
tar -xf a.tar --no-overwrite-dir
genfile --stat=mode.777 dir

# Test if temprorary permissions are set correctly to allow the owner
# to write to the directory.
genfile --file dir/file
tar cf a.tar dir
rm dir/file
chmod 400 dir
tar -xf a.tar --no-overwrite-dir
genfile --stat=mode.777 dir
chmod 700 dir
find dir
)
./extrac23.at:32:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

# Test if the directory permissions are restored properly.
mkdir dir
chmod 755 dir
tar cf a.tar dir
chmod 777 dir
tar -xf a.tar --no-overwrite-dir
genfile --stat=mode.777 dir

# Test if temprorary permissions are set correctly to allow the owner
# to write to the directory.
genfile --file dir/file
tar cf a.tar dir
rm dir/file
chmod 400 dir
tar -xf a.tar --no-overwrite-dir
genfile --stat=mode.777 dir
chmod 700 dir
find dir
)
103. extrac23.at:18:  ok

104. extrac24.at:18: testing --to-stdout ...
./extrac24.at:29:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

mkdir dir/
echo TEXT > dir/file
tar cf a.tar dir
rm -r dir
tar --extract --to-stdout --file a.tar
test -d dir
)
./extrac24.at:29:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

mkdir dir/
echo TEXT > dir/file
tar cf a.tar dir
rm -r dir
tar --extract --to-stdout --file a.tar
test -d dir
)
./extrac24.at:29:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

mkdir dir/
echo TEXT > dir/file
tar cf a.tar dir
rm -r dir
tar --extract --to-stdout --file a.tar
test -d dir
)
./extrac24.at:29:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir dir/
echo TEXT > dir/file
tar cf a.tar dir
rm -r dir
tar --extract --to-stdout --file a.tar
test -d dir
)
./extrac24.at:29:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir dir/
echo TEXT > dir/file
tar cf a.tar dir
rm -r dir
tar --extract --to-stdout --file a.tar
test -d dir
)
104. extrac24.at:18:  ok

105. backup01.at:33: testing extracting existing dir with --backup ...
./backup01.at:36:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

unset VERSION_CONTROL
mkdir dir1 dir2
echo bla > dir1/file1
tar cf test.tar dir1 dir2
tar xfv test.tar --backup --warning=no-timestamp
)
./backup01.at:36:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

unset VERSION_CONTROL
mkdir dir1 dir2
echo bla > dir1/file1
tar cf test.tar dir1 dir2
tar xfv test.tar --backup --warning=no-timestamp
)
./backup01.at:36:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

unset VERSION_CONTROL
mkdir dir1 dir2
echo bla > dir1/file1
tar cf test.tar dir1 dir2
tar xfv test.tar --backup --warning=no-timestamp
)
./backup01.at:36:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

unset VERSION_CONTROL
mkdir dir1 dir2
echo bla > dir1/file1
tar cf test.tar dir1 dir2
tar xfv test.tar --backup --warning=no-timestamp
)
./backup01.at:36:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

unset VERSION_CONTROL
mkdir dir1 dir2
echo bla > dir1/file1
tar cf test.tar dir1 dir2
tar xfv test.tar --backup --warning=no-timestamp
)
105. backup01.at:33:  ok


Comparing

106. difflink.at:17: testing link mismatch ...
./difflink.at:19:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

mkdir a
genfile -f a/x
ln -s x a/y
ln a/x a/z
tar cf a.tar a/x a/y a/z
rm a/z
ln -s x a/z
tar df a.tar
)
106. difflink.at:17:  ok


Volume label operations

107. label01.at:21: testing single-volume label ...
./label01.at:24:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --file foo
genfile --file bar
tar -cf archive --label=Test foo bar
tar tf archive
)
./label01.at:24:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --file foo
genfile --file bar
tar -cf archive --label=Test foo bar
tar tf archive
)
./label01.at:24:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile --file foo
genfile --file bar
tar -cf archive --label=Test foo bar
tar tf archive
)
107. label01.at:21:  ok

108. label02.at:21: testing multi-volume label ...
./label02.at:24:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

exec <&-
genfile --length 0 --file foo
genfile --length 12288 --file bar
genfile --length 12288 --file baz
tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz
tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar
)
./label02.at:24:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

exec <&-
genfile --length 0 --file foo
genfile --length 12288 --file bar
genfile --length 12288 --file baz
tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz
tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar
)
./label02.at:24:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

exec <&-
genfile --length 0 --file foo
genfile --length 12288 --file bar
genfile --length 12288 --file baz
tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz
tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar
)
108. label02.at:21:  ok

109. label03.at:27: testing test-label option ...
./label03.at:30:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

exec <&-
genfile --file file
tar -c --label='iamalabel' --file iamanarchive file
tar -c --file unlabeled.tar file
decho "# Display label"
tar --test-label --file=iamanarchive; echo $?
decho "# Display label: unlabeled"
tar --test-label --file=unlabeled.tar; echo $?
decho "# Test label: success"
tar --test-label --file=iamanarchive 'iamalabel'; echo $?
decho "# Test label: failure"
tar --test-label --file=iamanarchive 'amalabel'; echo $?
decho "# Test label: unlabeled"
tar --test-label --file=unlabeled.tar 'amalabel'; echo $?
decho "# Test label, verbose: success"
tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $?
decho "# Test label, verbose: failure"
tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $?
decho "# Test label: multiple arguments"
tar --test-label --file=iamanarchive a iamalabel b; echo $?
decho "# Test label: wildcards"
tar --test-label --file=iamanarchive --wildcards '*label'; echo $?
)
./label03.at:30:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

exec <&-
genfile --file file
tar -c --label='iamalabel' --file iamanarchive file
tar -c --file unlabeled.tar file
decho "# Display label"
tar --test-label --file=iamanarchive; echo $?
decho "# Display label: unlabeled"
tar --test-label --file=unlabeled.tar; echo $?
decho "# Test label: success"
tar --test-label --file=iamanarchive 'iamalabel'; echo $?
decho "# Test label: failure"
tar --test-label --file=iamanarchive 'amalabel'; echo $?
decho "# Test label: unlabeled"
tar --test-label --file=unlabeled.tar 'amalabel'; echo $?
decho "# Test label, verbose: success"
tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $?
decho "# Test label, verbose: failure"
tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $?
decho "# Test label: multiple arguments"
tar --test-label --file=iamanarchive a iamalabel b; echo $?
decho "# Test label: wildcards"
tar --test-label --file=iamanarchive --wildcards '*label'; echo $?
)
./label03.at:30:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

exec <&-
genfile --file file
tar -c --label='iamalabel' --file iamanarchive file
tar -c --file unlabeled.tar file
decho "# Display label"
tar --test-label --file=iamanarchive; echo $?
decho "# Display label: unlabeled"
tar --test-label --file=unlabeled.tar; echo $?
decho "# Test label: success"
tar --test-label --file=iamanarchive 'iamalabel'; echo $?
decho "# Test label: failure"
tar --test-label --file=iamanarchive 'amalabel'; echo $?
decho "# Test label: unlabeled"
tar --test-label --file=unlabeled.tar 'amalabel'; echo $?
decho "# Test label, verbose: success"
tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $?
decho "# Test label, verbose: failure"
tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $?
decho "# Test label: multiple arguments"
tar --test-label --file=iamanarchive a iamalabel b; echo $?
decho "# Test label: wildcards"
tar --test-label --file=iamanarchive --wildcards '*label'; echo $?
)
109. label03.at:27:  ok

110. label04.at:27: testing label with non-create option ...
./label04.at:30:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

exec <&-
genfile --file file
decho "# Create volume"
tar -c -f archive --label='New volume' file
decho "# Update: wrong label"
tar -rf archive --label='My volume' file; echo $?
decho "# Update: right label"
tar -rf archive --label='New volume' file
)
./label04.at:30:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

exec <&-
genfile --file file
decho "# Create volume"
tar -c -f archive --label='New volume' file
decho "# Update: wrong label"
tar -rf archive --label='My volume' file; echo $?
decho "# Update: right label"
tar -rf archive --label='New volume' file
)
./label04.at:30:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

exec <&-
genfile --file file
decho "# Create volume"
tar -c -f archive --label='New volume' file
decho "# Update: wrong label"
tar -rf archive --label='My volume' file; echo $?
decho "# Update: right label"
tar -rf archive --label='New volume' file
)
110. label04.at:27:  ok

111. label05.at:24: testing label with non-create option ...
./label05.at:27:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

exec <&-
genfile --file file
decho "# Create volume"
tar -c -f archive file
decho "# Update: wrong label"
tar -rf archive --label='My volume' file; echo $?
decho "# Update: right label"
tar -rf archive file
)
./label05.at:27:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

exec <&-
genfile --file file
decho "# Create volume"
tar -c -f archive file
decho "# Update: wrong label"
tar -rf archive --label='My volume' file; echo $?
decho "# Update: right label"
tar -rf archive file
)
./label05.at:27:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

exec <&-
genfile --file file
decho "# Create volume"
tar -c -f archive file
decho "# Update: wrong label"
tar -rf archive --label='My volume' file; echo $?
decho "# Update: right label"
tar -rf archive file
)
111. label05.at:24:  ok


Incremental archives

112. incremental.at:23: testing incremental ...
./incremental.at:26:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

mkdir structure
echo x >structure/file

# On Nextstep (and perhaps other 4.3BSD systems),
# a newly created file's ctime isn't updated
# until the next sync or stat operation on the file.
ls -l structure/file >/dev/null

# If the time of an initial backup and the creation time of a file contained
# in that backup are the same, the file will be backed up again when an
# incremental backup is done, because the incremental backup backs up
# files created "on or after" the initial backup time.  Without the sleep
# command, behaviour of tar becomes variable, depending whether the system
# clock ticked over to the next second between creating the file and
# backing it up.
sleep 1

tar cf archive --listed=list structure
tar cfv archive --listed=list structure
echo separator
# ReiserFS often offsets the timestamps of newly created files
# 1 second to the past.  Try to compensate for it, until a better
# solution is found.
sleep 2
echo y >structure/file
tar cfv archive --listed=list structure
)
./incremental.at:26:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

mkdir structure
echo x >structure/file

# On Nextstep (and perhaps other 4.3BSD systems),
# a newly created file's ctime isn't updated
# until the next sync or stat operation on the file.
ls -l structure/file >/dev/null

# If the time of an initial backup and the creation time of a file contained
# in that backup are the same, the file will be backed up again when an
# incremental backup is done, because the incremental backup backs up
# files created "on or after" the initial backup time.  Without the sleep
# command, behaviour of tar becomes variable, depending whether the system
# clock ticked over to the next second between creating the file and
# backing it up.
sleep 1

tar cf archive --listed=list structure
tar cfv archive --listed=list structure
echo separator
# ReiserFS often offsets the timestamps of newly created files
# 1 second to the past.  Try to compensate for it, until a better
# solution is found.
sleep 2
echo y >structure/file
tar cfv archive --listed=list structure
)
./incremental.at:26:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

mkdir structure
echo x >structure/file

# On Nextstep (and perhaps other 4.3BSD systems),
# a newly created file's ctime isn't updated
# until the next sync or stat operation on the file.
ls -l structure/file >/dev/null

# If the time of an initial backup and the creation time of a file contained
# in that backup are the same, the file will be backed up again when an
# incremental backup is done, because the incremental backup backs up
# files created "on or after" the initial backup time.  Without the sleep
# command, behaviour of tar becomes variable, depending whether the system
# clock ticked over to the next second between creating the file and
# backing it up.
sleep 1

tar cf archive --listed=list structure
tar cfv archive --listed=list structure
echo separator
# ReiserFS often offsets the timestamps of newly created files
# 1 second to the past.  Try to compensate for it, until a better
# solution is found.
sleep 2
echo y >structure/file
tar cfv archive --listed=list structure
)
112. incremental.at:23:  ok

113. incr01.at:27: testing restore broken symlinks from incremental ...
./incr01.at:30:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

mkdir directory
$as_ln_s foo directory/bar

tar -cf archive.0 -g db directory
rm directory/bar
tar -cf archive.1 -g db directory

mv directory orig

tar xvfg archive.0 /dev/null --warning=no-timestamp
echo separator
tar xvfg archive.1 /dev/null --warning=no-timestamp
)
./incr01.at:30:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

mkdir directory
$as_ln_s foo directory/bar

tar -cf archive.0 -g db directory
rm directory/bar
tar -cf archive.1 -g db directory

mv directory orig

tar xvfg archive.0 /dev/null --warning=no-timestamp
echo separator
tar xvfg archive.1 /dev/null --warning=no-timestamp
)
./incr01.at:30:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

mkdir directory
$as_ln_s foo directory/bar

tar -cf archive.0 -g db directory
rm directory/bar
tar -cf archive.1 -g db directory

mv directory orig

tar xvfg archive.0 /dev/null --warning=no-timestamp
echo separator
tar xvfg archive.1 /dev/null --warning=no-timestamp
)
113. incr01.at:27:  ok

114. incr02.at:32: testing restoring timestamps from incremental ...
./incr02.at:35:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77
# Create directory structure
mkdir dir
mkdir dir/subdir1
mkdir dir/subdir2
genfile --length 10 --file dir/subdir1/file

# Save mtime for later comparison
genfile --stat=mtime dir/subdir1 > ts

# Create an archive. Using incremental mode makes sure the
# archive will have a directory-first member ordering,
# i.e.:
# dir/
# dir/subdir1/
# dir/subdir2/
# dir/subdir1/foofile
#
# When restoring from this directory structure, 'dir/subdir2/' used to
# trigger apply_nonancestor_delayed_set_stat() which restored stats for
# 'subdir1' prior to restoring 'dir/subdir1/foofile'. Then, restoring the
# latter clobbered the directory timestamp.

tar -cf archive -g db dir

# Move away the directory
mv dir orig

# Wait enough time for timestamps to differ in case of failure.
sleep 5

# Restore the directory
tar -xf archive dir

# Check the timestamp
genfile --stat=mtime dir/subdir1 | diff ts -
)
./incr02.at:35:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77
# Create directory structure
mkdir dir
mkdir dir/subdir1
mkdir dir/subdir2
genfile --length 10 --file dir/subdir1/file

# Save mtime for later comparison
genfile --stat=mtime dir/subdir1 > ts

# Create an archive. Using incremental mode makes sure the
# archive will have a directory-first member ordering,
# i.e.:
# dir/
# dir/subdir1/
# dir/subdir2/
# dir/subdir1/foofile
#
# When restoring from this directory structure, 'dir/subdir2/' used to
# trigger apply_nonancestor_delayed_set_stat() which restored stats for
# 'subdir1' prior to restoring 'dir/subdir1/foofile'. Then, restoring the
# latter clobbered the directory timestamp.

tar -cf archive -g db dir

# Move away the directory
mv dir orig

# Wait enough time for timestamps to differ in case of failure.
sleep 5

# Restore the directory
tar -xf archive dir

# Check the timestamp
genfile --stat=mtime dir/subdir1 | diff ts -
)
./incr02.at:35:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77
# Create directory structure
mkdir dir
mkdir dir/subdir1
mkdir dir/subdir2
genfile --length 10 --file dir/subdir1/file

# Save mtime for later comparison
genfile --stat=mtime dir/subdir1 > ts

# Create an archive. Using incremental mode makes sure the
# archive will have a directory-first member ordering,
# i.e.:
# dir/
# dir/subdir1/
# dir/subdir2/
# dir/subdir1/foofile
#
# When restoring from this directory structure, 'dir/subdir2/' used to
# trigger apply_nonancestor_delayed_set_stat() which restored stats for
# 'subdir1' prior to restoring 'dir/subdir1/foofile'. Then, restoring the
# latter clobbered the directory timestamp.

tar -cf archive -g db dir

# Move away the directory
mv dir orig

# Wait enough time for timestamps to differ in case of failure.
sleep 5

# Restore the directory
tar -xf archive dir

# Check the timestamp
genfile --stat=mtime dir/subdir1 | diff ts -
)
114. incr02.at:32:  ok

115. listed01.at:26: testing --listed for individual files ...
./listed01.at:29:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

mkdir directory
genfile --length 10240 --pattern zeros --file directory/file1
# Let the things settle
sleep 1

tar --create \
    --file=archive.1 \
    --listed-incremental=listing \
    directory/file*

tar tf archive.1 || exit 1

sleep 2

genfile --length 10240 --pattern zeros --file directory/file2

echo "separator"
cp listing listing.old
tar --create \
    --file=archive.2 \
    --listed-incremental=listing \
    directory/file* || exit 1

tar tf archive.2 || exit 1
)
./listed01.at:29:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

mkdir directory
genfile --length 10240 --pattern zeros --file directory/file1
# Let the things settle
sleep 1

tar --create \
    --file=archive.1 \
    --listed-incremental=listing \
    directory/file*

tar tf archive.1 || exit 1

sleep 2

genfile --length 10240 --pattern zeros --file directory/file2

echo "separator"
cp listing listing.old
tar --create \
    --file=archive.2 \
    --listed-incremental=listing \
    directory/file* || exit 1

tar tf archive.2 || exit 1
)
115. listed01.at:26:  ok

116. listed02.at:28: testing working --listed ...
./listed02.at:31:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

test -z "`sort < /dev/null 2>&1`" || exit 77

echo Create directories

mkdir tart
sleep 1
mkdir tart/c0
sleep 1
mkdir tart/c1
sleep 1

for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2
do
  echo File $file > $file
  sleep 1
done

sleep 1
echo Creating main archive
echo >&2 "Creating main archive"
tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1

# The above prints two lines to stderr announcing the new directories c0 and c1.
# Ensure that they appear in this script's stderr in sorted order.
sort err 1>&2; rm -f err

sleep 1
echo Modifying filesystem
rm tart/a1

mv tart/b1 tart/b2
mv tart/c1 tart/c2
touch tart/c2/ca3

echo Directory contents
find tart -print | sort 2>/dev/null

sleep 1
echo Creating incremental archive
echo >&2 "Creating incremental archive"
cp -p tart.incr1 tart.incr2
tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1

sleep 1

rm -rf tart/*
echo Extracting main archive
echo >&2 "Extracting main archive"
tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1
echo Extracting incremental archive
# This command should produce three messages about deletion
# of the existing files, that may appear in any order. Piping
# to sort makes sure we don't depend on any particular ordering.
tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null

echo Final files:
find tart -print | sort 2>/dev/null
)
./listed02.at:31:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

test -z "`sort < /dev/null 2>&1`" || exit 77

echo Create directories

mkdir tart
sleep 1
mkdir tart/c0
sleep 1
mkdir tart/c1
sleep 1

for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2
do
  echo File $file > $file
  sleep 1
done

sleep 1
echo Creating main archive
echo >&2 "Creating main archive"
tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1

# The above prints two lines to stderr announcing the new directories c0 and c1.
# Ensure that they appear in this script's stderr in sorted order.
sort err 1>&2; rm -f err

sleep 1
echo Modifying filesystem
rm tart/a1

mv tart/b1 tart/b2
mv tart/c1 tart/c2
touch tart/c2/ca3

echo Directory contents
find tart -print | sort 2>/dev/null

sleep 1
echo Creating incremental archive
echo >&2 "Creating incremental archive"
cp -p tart.incr1 tart.incr2
tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1

sleep 1

rm -rf tart/*
echo Extracting main archive
echo >&2 "Extracting main archive"
tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1
echo Extracting incremental archive
# This command should produce three messages about deletion
# of the existing files, that may appear in any order. Piping
# to sort makes sure we don't depend on any particular ordering.
tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null

echo Final files:
find tart -print | sort 2>/dev/null
)
116. listed02.at:28:  ok

117. listed03.at:24: testing incremental dump when the parent directory is unreadable ...
./listed03.at:27:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

test `uname` = "Linux" || exit 77

mkdir dir
mkdir dir/sub
mkdir dir/sub/a
genfile --file dir/sub/a/file
cd dir/sub

chmod a-r ..
tar -c -f archive.tar --listed-incremental=db.1 -v a 2>err
status=$?
chmod a+r ..
if test $status -eq 2; then
  grep '^tar: \.: Cannot getcwd' err >/dev/null 2>&1 && exit 77
fi
cat err >&2
exit $status
)
117. listed03.at:24:  ok

118. listed04.at:26: testing --listed-incremental and --one-file-system ...
./listed04.at:29:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77
mkdir dir
echo a >dir/a
echo b >dir/b

tar --one-file-system -cvf archive.tar -g archive.incr dir || exit
tar -tf archive.tar || exit
)
118. listed04.at:26:  ok

119. listed05.at:33: testing --listed-incremental and remounted directories ...
./listed05.at:36:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 || exit 77

options="-C tartest --create --one-file-system --verbose"
rm -rf archive-01.snar archive-01.tar tartest subdir

# Create initial structure
mkdir tartest
echo "hi" > tartest/top-level-file
mkdir tartest/subdir
echo "hi" > tartest/subdir/subdir-file

echo "# Level 0"
tar $options --file archive-0.tar --listed-incremental=archive-0.snar .

echo "# Remount"
mv tartest/subdir .
mkdir tartest/subdir
mount -t ramfs none tartest/subdir || exit 77
tar -C subdir -c -f - . | tar -C tartest/subdir -x -f -

echo "# Level 1"
cp archive-0.snar archive-1.snar
tar $options --file archive-1.tar --listed-incremental=archive-1.snar .

umount tartest/subdir
)
--- -	2024-02-10 22:31:04.132484677 +0000
+++ /<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/at-groups/119/stderr	2024-02-10 22:31:04.127316377 +0000
@@ -1,4 +1 @@
-tar: .: Directory is new
-tar: ./subdir: Directory is new
-tar: ./subdir: directory is on a different filesystem; not dumped
 
--- -	2024-02-10 22:31:04.134982986 +0000
+++ /<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/at-groups/119/stdout	2024-02-10 22:31:04.127316377 +0000
@@ -1,10 +1 @@
-# Level 0
-./
-./subdir/
-./top-level-file
-./subdir/subdir-file
-# Remount
-# Level 1
-./
-./subdir/
 
119. listed05.at:33:  skipped (listed05.at:36)

120. incr03.at:28: testing renamed files in incrementals ...
./incr03.at:31:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir directory
genfile --file=directory/x
genfile --file=directory/y

sleep 1

tar -cf archive.1 -g db directory

mv directory/x directory/z
cp db db.old
tar -cf archive.2 -g db directory

mv directory orig

echo Listing of archive.1
tar -tf archive.1 | sort
echo Listing of archive.2
tar -tf archive.2 | sort

echo Directory after first restore
tar -xf archive.1 -g db --warning=no-timestamp
find directory | sort

echo Directory after second restore
tar -xf archive.2 -g db --warning=no-timestamp
find directory | sort
)
./incr03.at:31:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir directory
genfile --file=directory/x
genfile --file=directory/y

sleep 1

tar -cf archive.1 -g db directory

mv directory/x directory/z
cp db db.old
tar -cf archive.2 -g db directory

mv directory orig

echo Listing of archive.1
tar -tf archive.1 | sort
echo Listing of archive.2
tar -tf archive.2 | sort

echo Directory after first restore
tar -xf archive.1 -g db --warning=no-timestamp
find directory | sort

echo Directory after second restore
tar -xf archive.2 -g db --warning=no-timestamp
find directory | sort
)
./incr03.at:31:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir directory
genfile --file=directory/x
genfile --file=directory/y

sleep 1

tar -cf archive.1 -g db directory

mv directory/x directory/z
cp db db.old
tar -cf archive.2 -g db directory

mv directory orig

echo Listing of archive.1
tar -tf archive.1 | sort
echo Listing of archive.2
tar -tf archive.2 | sort

echo Directory after first restore
tar -xf archive.1 -g db --warning=no-timestamp
find directory | sort

echo Directory after second restore
tar -xf archive.2 -g db --warning=no-timestamp
find directory | sort
)
120. incr03.at:28:  ok

121. incr04.at:29: testing proper icontents initialization ...
./incr04.at:34:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

install-sh -d a/b >/dev/null  || exit 77
awk 'BEGIN {
  for (i=1;i<=142;i++)
    printf("a/b/one_31_chars_long_file_name_%03d\n", i);
  }' < /dev/null | genfile --files-from -

sleep 1

echo "Initial dump"
tar cvf a0.tar -g a.sna a
mv a/b a/c
echo "Incremental dump"
tar cvf a1.tar -g a.sna a
)
./incr04.at:34:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

install-sh -d a/b >/dev/null  || exit 77
awk 'BEGIN {
  for (i=1;i<=142;i++)
    printf("a/b/one_31_chars_long_file_name_%03d\n", i);
  }' < /dev/null | genfile --files-from -

sleep 1

echo "Initial dump"
tar cvf a0.tar -g a.sna a
mv a/b a/c
echo "Incremental dump"
tar cvf a1.tar -g a.sna a
)
./incr04.at:34:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

install-sh -d a/b >/dev/null  || exit 77
awk 'BEGIN {
  for (i=1;i<=142;i++)
    printf("a/b/one_31_chars_long_file_name_%03d\n", i);
  }' < /dev/null | genfile --files-from -

sleep 1

echo "Initial dump"
tar cvf a0.tar -g a.sna a
mv a/b a/c
echo "Incremental dump"
tar cvf a1.tar -g a.sna a
)
121. incr04.at:29:  ok

122. incr05.at:21: testing incremental dumps with -C ...
./incr05.at:24:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77
mkdir dir
mkdir dir/sub
genfile --file dir/file1
genfile --file dir/sub/file2

echo Level 0
tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir .

genfile --file dir/file3
echo Level 1
tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir .
)
./incr05.at:24:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77
mkdir dir
mkdir dir/sub
genfile --file dir/file1
genfile --file dir/sub/file2

echo Level 0
tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir .

genfile --file dir/file3
echo Level 1
tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir .
)
./incr05.at:24:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77
mkdir dir
mkdir dir/sub
genfile --file dir/file1
genfile --file dir/sub/file2

echo Level 0
tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir .

genfile --file dir/file3
echo Level 1
tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir .
)
122. incr05.at:21:  ok

123. incr06.at:21: testing incremental dumps of nested directories ...
./incr06.at:24:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77
mkdir dir
mkdir dir/sub
mkdir dir/sub/a
mkdir dir/sub/b
genfile --file dir/file1
genfile --file dir/sub/file2
genfile --file dir/sub/a/file3

echo Level 0 . sub
tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub
echo Level 0 sub .
tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub .

mkdir dir/c
genfile --file dir/sub/b/file4

echo Level 1 . sub
tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub
echo Level 1 sub .
tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub .
)
./incr06.at:24:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77
mkdir dir
mkdir dir/sub
mkdir dir/sub/a
mkdir dir/sub/b
genfile --file dir/file1
genfile --file dir/sub/file2
genfile --file dir/sub/a/file3

echo Level 0 . sub
tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub
echo Level 0 sub .
tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub .

mkdir dir/c
genfile --file dir/sub/b/file4

echo Level 1 . sub
tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub
echo Level 1 sub .
tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub .
)
./incr06.at:24:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77
mkdir dir
mkdir dir/sub
mkdir dir/sub/a
mkdir dir/sub/b
genfile --file dir/file1
genfile --file dir/sub/file2
genfile --file dir/sub/a/file3

echo Level 0 . sub
tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub
echo Level 0 sub .
tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub .

mkdir dir/c
genfile --file dir/sub/b/file4

echo Level 1 . sub
tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub
echo Level 1 sub .
tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub .
)
123. incr06.at:21:  ok

124. incr07.at:18: testing incremental restores with -C ...
./incr07.at:40:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77
mkdir dirA
echo 'a' > dirA/a
echo 'a' > dirA/b

decho C0
tar -g test.snar -vcf test.0.tar dirA

echo 'a' > dirA/c
decho C1
tar -g test.snar -vcf test.1.tar dirA

rm -f dirA/a
decho C2
tar -g test.snar -vcf test.2.tar dirA

mkdir ext
rm -rf dirA

decho E0
tar -g test.snar -vxf test.0.tar -C ext/
decho E1
tar -g test.snar -vxf test.1.tar -C ext/

decho E2
tar -g test.snar -vxf test.2.tar -C ext/

mkdir ext/dirA/dirB
touch ext/dirA/dirB/file

decho E3
tar -g test.snar -vxf test.2.tar -C ext/

echo FIN
test -d dirA && echo >&2 "toplevel dirA exists"
exit 0
)
./incr07.at:40:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77
mkdir dirA
echo 'a' > dirA/a
echo 'a' > dirA/b

decho C0
tar -g test.snar -vcf test.0.tar dirA

echo 'a' > dirA/c
decho C1
tar -g test.snar -vcf test.1.tar dirA

rm -f dirA/a
decho C2
tar -g test.snar -vcf test.2.tar dirA

mkdir ext
rm -rf dirA

decho E0
tar -g test.snar -vxf test.0.tar -C ext/
decho E1
tar -g test.snar -vxf test.1.tar -C ext/

decho E2
tar -g test.snar -vxf test.2.tar -C ext/

mkdir ext/dirA/dirB
touch ext/dirA/dirB/file

decho E3
tar -g test.snar -vxf test.2.tar -C ext/

echo FIN
test -d dirA && echo >&2 "toplevel dirA exists"
exit 0
)
./incr07.at:40:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77
mkdir dirA
echo 'a' > dirA/a
echo 'a' > dirA/b

decho C0
tar -g test.snar -vcf test.0.tar dirA

echo 'a' > dirA/c
decho C1
tar -g test.snar -vcf test.1.tar dirA

rm -f dirA/a
decho C2
tar -g test.snar -vcf test.2.tar dirA

mkdir ext
rm -rf dirA

decho E0
tar -g test.snar -vxf test.0.tar -C ext/
decho E1
tar -g test.snar -vxf test.1.tar -C ext/

decho E2
tar -g test.snar -vxf test.2.tar -C ext/

mkdir ext/dirA/dirB
touch ext/dirA/dirB/file

decho E3
tar -g test.snar -vxf test.2.tar -C ext/

echo FIN
test -d dirA && echo >&2 "toplevel dirA exists"
exit 0
)
124. incr07.at:18:  ok

125. incr08.at:38: testing filename normalization ...
./incr08.at:41:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir tartest
cd tartest
mkdir foo
mkdir foo/subdir
mkdir foo/subdir/dir1
mkdir subdir
mkdir subdir/dir2
decho A
find .|sort

decho B
DIR=`pwd`
tar -cvf ../foo.tar --listed-incremental=../foo.snar -C foo . $DIR
)
stderr:
A
B
tar: .: Directory is new
tar: ./subdir: Directory is new
tar: ./subdir/dir1: Directory is new
tar: /<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/125/gnu/tartest: Directory is new
tar: /<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/125/gnu/tartest/subdir: Directory is new
tar: /<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/125/gnu/tartest/subdir/dir2: Directory is new
tar: Removing leading `/' from member names
stdout:
A
.
./foo
./foo/subdir
./foo/subdir/dir1
./subdir
./subdir/dir2
B
./
./subdir/
./subdir/dir1/
/<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/125/gnu/tartest/
/<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/125/gnu/tartest/subdir/
/<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/125/gnu/tartest/subdir/dir2/
./incr08.at:41:
DIR=`pwd`/gnu/tartest
sed "s|$DIR|ABSPATH|" stdout

./incr08.at:41:
DIR=`pwd`/gnu/tartest
sed "/tar: Removing leading \`\/*\/' from/d;s|$DIR|ABSPATH|" stderr
125. incr08.at:38:  ok

126. incr09.at:26: testing incremental with alternating -C ...
./incr09.at:29:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir foo bar middle
echo foo/foo_file > foo/foo_file
echo bar/bar_file > bar/bar_file
echo middle/file > middle/middle_file
decho A
tar -cvf foo.tar --incremental -C foo . -C `pwd` middle  -C bar .

rm foo.tar
>toplevel_file
decho B
tar -cvf foo.tar --incremental -C foo . -C `pwd` toplevel_file  -C bar .
)
126. incr09.at:26:  ok

127. incr10.at:18: testing concatenated incremental archives (deletes) ...
./incr10.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77
mkdir in
mkdir in/dir
decho Level 0
tar -cvf 1.tar -g snap -C in .
rmdir in/dir
decho Level 1
tar -cvf 2.tar -g snap -C in .
cp 1.tar full.tar
decho Concat
tar -A 2.tar -f full.tar -g /dev/null
decho Extract
mkdir out
tar -xvf full.tar -g /dev/null -C out
)
127. incr10.at:18:  ok

128. incr11.at:25: testing concatenated incremental archives (renames) ...
./incr11.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

test -z "`sort < /dev/null 2>&1`" || exit 77


install-sh -d data/dir >/dev/null && genfile --file data/dir/file || exit 77
decho Level 0
tar -cvf full.tar -g snap -C data .
decho Level 1
mv data/dir data/dir2
tar -cvf incr.tar -g snap -C data .
decho Concat
cp full.tar full2.tar
tar -A -f full2.tar incr.tar
decho Extract
mkdir out
tar -xvf full2.tar -g /dev/null -C out
decho List
find out | sort
)
128. incr11.at:25:  ok


Files removed while archiving

129. filerem01.at:36: testing file removed as we read it ...
./filerem01.at:39:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir dir
mkdir dir/sub
genfile --file dir/file1
genfile --file dir/sub/file2

genfile --run --checkpoint=3 --unlink dir/file1 -- \
       tar --blocking-factor=1 -c -f archive.tar \
       --listed-incremental db -v dir >/dev/null
)
stdout:
./filerem01.at:39:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir dir
mkdir dir/sub
genfile --file dir/file1
genfile --file dir/sub/file2

genfile --run --checkpoint=3 --unlink dir/file1 -- \
       tar --blocking-factor=1 -c -f archive.tar \
       --listed-incremental db -v dir >/dev/null
)
stdout:
129. filerem01.at:36:  ok

130. filerem02.at:26: testing toplevel file removed ...
./filerem02.at:29:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir dir
mkdir dir/sub
genfile --file dir/file1
genfile --file dir/sub/file2
mkdir dir2
genfile --file dir2/file1

genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \
       tar --blocking-factor=1 -c -f archive.tar \
       --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null
)
stderr:
tar: dir2: Cannot stat: No such file or directory
tar: dir2: Cannot open: No such file or directory
tar: Exiting with failure status due to previous errors
stdout:
./filerem02.at:29:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir dir
mkdir dir/sub
genfile --file dir/file1
genfile --file dir/sub/file2
mkdir dir2
genfile --file dir2/file1

genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \
       tar --blocking-factor=1 -c -f archive.tar \
       --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null
)
stderr:
tar: dir2: Cannot stat: No such file or directory
tar: dir2: Cannot open: No such file or directory
tar: Exiting with failure status due to previous errors
stdout:
130. filerem02.at:26:  ok


Directories removed while archiving

131. dirrem01.at:38: testing directory removed before reading ...
./dirrem01.at:41:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir dir
mkdir dir/sub
genfile --file dir/file1
genfile --file dir/sub/file2

case "$TEST_TAR_FORMAT" in
posix) CPT=5;;
gnu)   CPT=3;;
*)     exit 77
esac

genfile --run --checkpoint=$CPT --unlink dir/sub/file2 --unlink dir/sub -- \
       tar --blocking-factor=1 -c -f archive.tar \
       --listed-incremental db \
       --warning=no-file-changed \
       -v dir >/dev/null
)
stdout:
./dirrem01.at:41:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir dir
mkdir dir/sub
genfile --file dir/file1
genfile --file dir/sub/file2

case "$TEST_TAR_FORMAT" in
posix) CPT=5;;
gnu)   CPT=3;;
*)     exit 77
esac

genfile --run --checkpoint=$CPT --unlink dir/sub/file2 --unlink dir/sub -- \
       tar --blocking-factor=1 -c -f archive.tar \
       --listed-incremental db \
       --warning=no-file-changed \
       -v dir >/dev/null
)
stdout:
131. dirrem01.at:38:  ok

132. dirrem02.at:31: testing explicitly named directory removed before reading ...
./dirrem02.at:34:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir dir
mkdir dir/sub
genfile --file dir/file1
genfile --file dir/sub/file2

case "$TEST_TAR_FORMAT" in
posix) CPT=5;;
gnu)   CPT=3;;
*)     exit 77
esac

genfile --run --checkpoint=$CPT --unlink dir/sub/file2 --unlink dir/sub -- \
       tar --blocking-factor=1 -c -f archive.tar \
       --listed-incremental db \
       --warning=no-file-changed \
       -v dir dir/sub >/dev/null
)
stdout:
./dirrem02.at:34:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir dir
mkdir dir/sub
genfile --file dir/file1
genfile --file dir/sub/file2

case "$TEST_TAR_FORMAT" in
posix) CPT=5;;
gnu)   CPT=3;;
*)     exit 77
esac

genfile --run --checkpoint=$CPT --unlink dir/sub/file2 --unlink dir/sub -- \
       tar --blocking-factor=1 -c -f archive.tar \
       --listed-incremental db \
       --warning=no-file-changed \
       -v dir dir/sub >/dev/null
)
stdout:
132. dirrem02.at:31:  ok


Renames

133. rename01.at:24: testing renamed dirs in incrementals ...
./rename01.at:27:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


mkdir foo
genfile --file foo/file1
genfile --file foo/file2
mkdir foo/bar
genfile --file foo/bar/file

echo "Creating base archive"
tar -g incr -cf arch.1 -v foo

mv foo/bar foo/baz

echo "Creating incremental archive"
tar -g incr -cf arch.2 -v foo

mv foo old

tar xfg arch.1 /dev/null

echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"

tar xfg arch.2 /dev/null
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
)
./rename01.at:27:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


mkdir foo
genfile --file foo/file1
genfile --file foo/file2
mkdir foo/bar
genfile --file foo/bar/file

echo "Creating base archive"
tar -g incr -cf arch.1 -v foo

mv foo/bar foo/baz

echo "Creating incremental archive"
tar -g incr -cf arch.2 -v foo

mv foo old

tar xfg arch.1 /dev/null

echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"

tar xfg arch.2 /dev/null
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
)
./rename01.at:27:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


mkdir foo
genfile --file foo/file1
genfile --file foo/file2
mkdir foo/bar
genfile --file foo/bar/file

echo "Creating base archive"
tar -g incr -cf arch.1 -v foo

mv foo/bar foo/baz

echo "Creating incremental archive"
tar -g incr -cf arch.2 -v foo

mv foo old

tar xfg arch.1 /dev/null

echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"

tar xfg arch.2 /dev/null
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
)
133. rename01.at:24:  ok

134. rename02.at:24: testing move between hierarchies ...
./rename02.at:27:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir foo
genfile --file foo/file1
genfile --file foo/file2
mkdir foo/bar
genfile --file foo/bar/file.r
mkdir foo/bar/baz
genfile --file foo/bar/baz/file.z

sleep 1

echo "Creating base archive"
tar -g incr -cf arch.1 -v foo

mv foo/bar/baz foo

echo "Creating incremental archive"
tar -g incr -cf arch.2 -v foo

mv foo old

tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr
sort tmperr >&2

echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"

tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
)
./rename02.at:27:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir foo
genfile --file foo/file1
genfile --file foo/file2
mkdir foo/bar
genfile --file foo/bar/file.r
mkdir foo/bar/baz
genfile --file foo/bar/baz/file.z

sleep 1

echo "Creating base archive"
tar -g incr -cf arch.1 -v foo

mv foo/bar/baz foo

echo "Creating incremental archive"
tar -g incr -cf arch.2 -v foo

mv foo old

tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr
sort tmperr >&2

echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"

tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
)
./rename02.at:27:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir foo
genfile --file foo/file1
genfile --file foo/file2
mkdir foo/bar
genfile --file foo/bar/file.r
mkdir foo/bar/baz
genfile --file foo/bar/baz/file.z

sleep 1

echo "Creating base archive"
tar -g incr -cf arch.1 -v foo

mv foo/bar/baz foo

echo "Creating incremental archive"
tar -g incr -cf arch.2 -v foo

mv foo old

tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr
sort tmperr >&2

echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"

tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
)
134. rename02.at:24:  ok

135. rename03.at:23: testing cyclic renames ...
./rename03.at:26:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


mkdir foo
genfile --file foo/file1
genfile --file foo/file2

mkdir foo/a
genfile --file foo/a/filea

mkdir foo/b
genfile --file foo/b/fileb

mkdir foo/c
genfile --file foo/c/filec

sleep 1

echo "First dump"
echo "First dump">&2
tar -g incr -cf arch.1 -v foo 2>tmperr
sort tmperr >&2

# Shuffle directories:
(cd foo
mv a $$
mv c a
mv b c
mv $$ b)

echo "Second dump"
echo "Second dump" >&2
tar -g incr -cf arch.2 -v foo 2>tmperr
sort tmperr >&2

tar xfg arch.1 /dev/null --warning=no-timestamp

echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"

tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
)
./rename03.at:26:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


mkdir foo
genfile --file foo/file1
genfile --file foo/file2

mkdir foo/a
genfile --file foo/a/filea

mkdir foo/b
genfile --file foo/b/fileb

mkdir foo/c
genfile --file foo/c/filec

sleep 1

echo "First dump"
echo "First dump">&2
tar -g incr -cf arch.1 -v foo 2>tmperr
sort tmperr >&2

# Shuffle directories:
(cd foo
mv a $$
mv c a
mv b c
mv $$ b)

echo "Second dump"
echo "Second dump" >&2
tar -g incr -cf arch.2 -v foo 2>tmperr
sort tmperr >&2

tar xfg arch.1 /dev/null --warning=no-timestamp

echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"

tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
)
./rename03.at:26:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


mkdir foo
genfile --file foo/file1
genfile --file foo/file2

mkdir foo/a
genfile --file foo/a/filea

mkdir foo/b
genfile --file foo/b/fileb

mkdir foo/c
genfile --file foo/c/filec

sleep 1

echo "First dump"
echo "First dump">&2
tar -g incr -cf arch.1 -v foo 2>tmperr
sort tmperr >&2

# Shuffle directories:
(cd foo
mv a $$
mv c a
mv b c
mv $$ b)

echo "Second dump"
echo "Second dump" >&2
tar -g incr -cf arch.2 -v foo 2>tmperr
sort tmperr >&2

tar xfg arch.1 /dev/null --warning=no-timestamp

echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"

tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
)
135. rename03.at:23:  ok

136. rename04.at:27: testing renamed directory containing subdirectories ...
./rename04.at:30:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


decho Creating directory structure
mkdir directory
mkdir directory/subdir
genfile --file=directory/file

decho Creating initial archive
tar -cf archive.1 -g db.1 directory

decho Renaming
mv directory dir

decho Creating incremental archive
cp db.1 db.2
tar -cf archive.2 -g db.2 dir

mv dir orig

decho First restore
tar -xf archive.1 -g db.1
find directory | sort

decho Second restore
tar -xf archive.2 -g db.2
find dir | sort
)
./rename04.at:30:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


decho Creating directory structure
mkdir directory
mkdir directory/subdir
genfile --file=directory/file

decho Creating initial archive
tar -cf archive.1 -g db.1 directory

decho Renaming
mv directory dir

decho Creating incremental archive
cp db.1 db.2
tar -cf archive.2 -g db.2 dir

mv dir orig

decho First restore
tar -xf archive.1 -g db.1
find directory | sort

decho Second restore
tar -xf archive.2 -g db.2
find dir | sort
)
./rename04.at:30:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


decho Creating directory structure
mkdir directory
mkdir directory/subdir
genfile --file=directory/file

decho Creating initial archive
tar -cf archive.1 -g db.1 directory

decho Renaming
mv directory dir

decho Creating incremental archive
cp db.1 db.2
tar -cf archive.2 -g db.2 dir

mv dir orig

decho First restore
tar -xf archive.1 -g db.1
find directory | sort

decho Second restore
tar -xf archive.2 -g db.2
find dir | sort
)
136. rename04.at:27:  ok

137. rename05.at:24: testing renamed subdirectories ...
./rename05.at:27:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


decho Creating directory structure
mkdir directory
mkdir directory/subdir
genfile --file=directory/file

decho Creating initial archive
tar -cf archive.1 -g db.1 directory

decho Renaming
mv directory/subdir directory/subdir.0
mv directory dir

decho Creating incremental archive
cp db.1 db.2
tar -cf archive.2 -g db.2 dir

mv dir orig

decho First restore
tar -xf archive.1 -g db.1 --warning=no-timestamp
find directory | sort

decho Second restore
tar -xf archive.2 -g db.2 --warning=no-timestamp
find dir | sort
)
./rename05.at:27:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


decho Creating directory structure
mkdir directory
mkdir directory/subdir
genfile --file=directory/file

decho Creating initial archive
tar -cf archive.1 -g db.1 directory

decho Renaming
mv directory/subdir directory/subdir.0
mv directory dir

decho Creating incremental archive
cp db.1 db.2
tar -cf archive.2 -g db.2 dir

mv dir orig

decho First restore
tar -xf archive.1 -g db.1 --warning=no-timestamp
find directory | sort

decho Second restore
tar -xf archive.2 -g db.2 --warning=no-timestamp
find dir | sort
)
./rename05.at:27:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


decho Creating directory structure
mkdir directory
mkdir directory/subdir
genfile --file=directory/file

decho Creating initial archive
tar -cf archive.1 -g db.1 directory

decho Renaming
mv directory/subdir directory/subdir.0
mv directory dir

decho Creating incremental archive
cp db.1 db.2
tar -cf archive.2 -g db.2 dir

mv dir orig

decho First restore
tar -xf archive.1 -g db.1 --warning=no-timestamp
find directory | sort

decho Second restore
tar -xf archive.2 -g db.2 --warning=no-timestamp
find dir | sort
)
137. rename05.at:24:  ok

138. rename06.at:19: testing chained renames ...
./rename06.at:29:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

decho Creating directory structure
mkdir test test/d1 test/d2
genfile --file test/d1/file1
genfile --file test/d2/file2

decho First dump
tar -c -g 0.snar -C test -f backup0.tar .

decho Altering directory structure
genfile --file test/d2/file3
mv test/d1 test/d3
mv test/d2 test/d1

decho Second dump
cp 0.snar 1.snar
tar -vc -g 1.snar -C test -f backup1.tar .

mkdir test1

decho First extract
tar -C test1 -x -g /dev/null -f backup0.tar

decho Second extract
tar -C test1 -x -g /dev/null -f backup1.tar

decho Resulting directory
find test1 | sort
)
./rename06.at:29:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

decho Creating directory structure
mkdir test test/d1 test/d2
genfile --file test/d1/file1
genfile --file test/d2/file2

decho First dump
tar -c -g 0.snar -C test -f backup0.tar .

decho Altering directory structure
genfile --file test/d2/file3
mv test/d1 test/d3
mv test/d2 test/d1

decho Second dump
cp 0.snar 1.snar
tar -vc -g 1.snar -C test -f backup1.tar .

mkdir test1

decho First extract
tar -C test1 -x -g /dev/null -f backup0.tar

decho Second extract
tar -C test1 -x -g /dev/null -f backup1.tar

decho Resulting directory
find test1 | sort
)
./rename06.at:29:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

decho Creating directory structure
mkdir test test/d1 test/d2
genfile --file test/d1/file1
genfile --file test/d2/file2

decho First dump
tar -c -g 0.snar -C test -f backup0.tar .

decho Altering directory structure
genfile --file test/d2/file3
mv test/d1 test/d3
mv test/d2 test/d1

decho Second dump
cp 0.snar 1.snar
tar -vc -g 1.snar -C test -f backup1.tar .

mkdir test1

decho First extract
tar -C test1 -x -g /dev/null -f backup0.tar

decho Second extract
tar -C test1 -x -g /dev/null -f backup1.tar

decho Resulting directory
find test1 | sort
)
138. rename06.at:19:  ok

139. chtype.at:27: testing changed file types in incrementals ...
./chtype.at:30:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77
mkdir directory/a
genfile --file directory/a/a

echo First backup
tar --create --file=archive.1 --listed-incremental=db.1 directory

sleep 2

# Remove directory b and create a file with this name.
# Previous versions were not able to restore over this file.
rm -r directory/b
genfile --file directory/b
genfile --file directory/a/b

echo Second backup
tar --create --file=archive.2 --listed-incremental=db.2 directory

# Delete a
rm -r directory

echo Restore archive.1
tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp
echo Restore archive.2
tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp
find directory | sort
)
./chtype.at:30:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77
mkdir directory/a
genfile --file directory/a/a

echo First backup
tar --create --file=archive.1 --listed-incremental=db.1 directory

sleep 2

# Remove directory b and create a file with this name.
# Previous versions were not able to restore over this file.
rm -r directory/b
genfile --file directory/b
genfile --file directory/a/b

echo Second backup
tar --create --file=archive.2 --listed-incremental=db.2 directory

# Delete a
rm -r directory

echo Restore archive.1
tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp
echo Restore archive.2
tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp
find directory | sort
)
./chtype.at:30:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77
mkdir directory/a
genfile --file directory/a/a

echo First backup
tar --create --file=archive.1 --listed-incremental=db.1 directory

sleep 2

# Remove directory b and create a file with this name.
# Previous versions were not able to restore over this file.
rm -r directory/b
genfile --file directory/b
genfile --file directory/a/b

echo Second backup
tar --create --file=archive.2 --listed-incremental=db.2 directory

# Delete a
rm -r directory

echo Restore archive.1
tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp
echo Restore archive.2
tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp
find directory | sort
)
139. chtype.at:27:  ok


Ignore failing reads

140. ignfail.at:23: testing ignfail ...
./ignfail.at:26:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

# The test is meaningless for super-user.

echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77


touch file
mkdir directory
touch directory/file

echo 1>&2 -----
chmod 000 file
tar cf archive file
status=$?
chmod 600 file
test $status = 2 || exit 1

echo 1>&2 -----
chmod 000 file
tar cf archive --ignore-failed-read file || exit 1
status=$?
chmod 600 file
test $status = 0 || exit 1

echo 1>&2 -----
chmod 000 directory
tar cf archive directory
status=$?
chmod 700 directory
test $status = 2 || exit 1

echo 1>&2 -----
chmod 000 directory
tar cf archive --ignore-failed-read directory || exit 1
status=$?
chmod 700 directory
test $status = 0
)
./ignfail.at:26:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

# The test is meaningless for super-user.

echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77


touch file
mkdir directory
touch directory/file

echo 1>&2 -----
chmod 000 file
tar cf archive file
status=$?
chmod 600 file
test $status = 2 || exit 1

echo 1>&2 -----
chmod 000 file
tar cf archive --ignore-failed-read file || exit 1
status=$?
chmod 600 file
test $status = 0 || exit 1

echo 1>&2 -----
chmod 000 directory
tar cf archive directory
status=$?
chmod 700 directory
test $status = 2 || exit 1

echo 1>&2 -----
chmod 000 directory
tar cf archive --ignore-failed-read directory || exit 1
status=$?
chmod 700 directory
test $status = 0
)
./ignfail.at:26:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

# The test is meaningless for super-user.

echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77


touch file
mkdir directory
touch directory/file

echo 1>&2 -----
chmod 000 file
tar cf archive file
status=$?
chmod 600 file
test $status = 2 || exit 1

echo 1>&2 -----
chmod 000 file
tar cf archive --ignore-failed-read file || exit 1
status=$?
chmod 600 file
test $status = 0 || exit 1

echo 1>&2 -----
chmod 000 directory
tar cf archive directory
status=$?
chmod 700 directory
test $status = 2 || exit 1

echo 1>&2 -----
chmod 000 directory
tar cf archive --ignore-failed-read directory || exit 1
status=$?
chmod 700 directory
test $status = 0
)
./ignfail.at:26:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

# The test is meaningless for super-user.

echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77


touch file
mkdir directory
touch directory/file

echo 1>&2 -----
chmod 000 file
tar cf archive file
status=$?
chmod 600 file
test $status = 2 || exit 1

echo 1>&2 -----
chmod 000 file
tar cf archive --ignore-failed-read file || exit 1
status=$?
chmod 600 file
test $status = 0 || exit 1

echo 1>&2 -----
chmod 000 directory
tar cf archive directory
status=$?
chmod 700 directory
test $status = 2 || exit 1

echo 1>&2 -----
chmod 000 directory
tar cf archive --ignore-failed-read directory || exit 1
status=$?
chmod 700 directory
test $status = 0
)
./ignfail.at:26:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

# The test is meaningless for super-user.

echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77


touch file
mkdir directory
touch directory/file

echo 1>&2 -----
chmod 000 file
tar cf archive file
status=$?
chmod 600 file
test $status = 2 || exit 1

echo 1>&2 -----
chmod 000 file
tar cf archive --ignore-failed-read file || exit 1
status=$?
chmod 600 file
test $status = 0 || exit 1

echo 1>&2 -----
chmod 000 directory
tar cf archive directory
status=$?
chmod 700 directory
test $status = 2 || exit 1

echo 1>&2 -----
chmod 000 directory
tar cf archive --ignore-failed-read directory || exit 1
status=$?
chmod 700 directory
test $status = 0
)
140. ignfail.at:23:  ok


Link handling

141. link01.at:33: testing link count gt 2 ...
./link01.at:36:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

mkdir directory
mkdir directory/test1
mkdir directory/test2

echo TEST > directory/test1/test.txt
ln directory/test1/test.txt directory/test2/test.txt || exit 77

tar cf archive directory/test1/test.txt directory/test1/test.txt

rm -r directory
tar xf archive --warning=no-timestamp

ls directory/test1
)
./link01.at:36:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

mkdir directory
mkdir directory/test1
mkdir directory/test2

echo TEST > directory/test1/test.txt
ln directory/test1/test.txt directory/test2/test.txt || exit 77

tar cf archive directory/test1/test.txt directory/test1/test.txt

rm -r directory
tar xf archive --warning=no-timestamp

ls directory/test1
)
./link01.at:36:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

mkdir directory
mkdir directory/test1
mkdir directory/test2

echo TEST > directory/test1/test.txt
ln directory/test1/test.txt directory/test2/test.txt || exit 77

tar cf archive directory/test1/test.txt directory/test1/test.txt

rm -r directory
tar xf archive --warning=no-timestamp

ls directory/test1
)
./link01.at:36:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir directory
mkdir directory/test1
mkdir directory/test2

echo TEST > directory/test1/test.txt
ln directory/test1/test.txt directory/test2/test.txt || exit 77

tar cf archive directory/test1/test.txt directory/test1/test.txt

rm -r directory
tar xf archive --warning=no-timestamp

ls directory/test1
)
./link01.at:36:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir directory
mkdir directory/test1
mkdir directory/test2

echo TEST > directory/test1/test.txt
ln directory/test1/test.txt directory/test2/test.txt || exit 77

tar cf archive directory/test1/test.txt directory/test1/test.txt

rm -r directory
tar xf archive --warning=no-timestamp

ls directory/test1
)
141. link01.at:33:  ok

142. link02.at:32: testing preserve hard links with --remove-files ...
./link02.at:35:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

genfile -l 64 -f file1
ln file1 file2
ln file2 file3
ln file3 file4
tar -c -f archive --remove-files file1 file2 file3 file4
tar tfv archive | sed -n 's/.*file[2-4] link to //p'
)
./link02.at:35:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile -l 64 -f file1
ln file1 file2
ln file2 file3
ln file3 file4
tar -c -f archive --remove-files file1 file2 file3 file4
tar tfv archive | sed -n 's/.*file[2-4] link to //p'
)
./link02.at:35:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

genfile -l 64 -f file1
ln file1 file2
ln file2 file3
ln file3 file4
tar -c -f archive --remove-files file1 file2 file3 file4
tar tfv archive | sed -n 's/.*file[2-4] link to //p'
)
./link02.at:35:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile -l 64 -f file1
ln file1 file2
ln file2 file3
ln file3 file4
tar -c -f archive --remove-files file1 file2 file3 file4
tar tfv archive | sed -n 's/.*file[2-4] link to //p'
)
./link02.at:35:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile -l 64 -f file1
ln file1 file2
ln file2 file3
ln file3 file4
tar -c -f archive --remove-files file1 file2 file3 file4
tar tfv archive | sed -n 's/.*file[2-4] link to //p'
)
142. link02.at:32:  ok

143. link03.at:24: testing working -l with --remove-files ...
./link03.at:34:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


genfile -l 64 -f file1
ln file1 file2
ln file2 file3
ln file3 file4

echo archive.1
tar -c -f archive.1 -l --remove-files file1 file2 file3 file4

genfile -l 64 -f file1
ln file1 file2
ln file2 file3
ln file3 file4

echo archive.2
tar -c -f archive.2 -l --remove-files file1 file2 file3
echo testing archive.2
tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
)
./link03.at:34:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


genfile -l 64 -f file1
ln file1 file2
ln file2 file3
ln file3 file4

echo archive.1
tar -c -f archive.1 -l --remove-files file1 file2 file3 file4

genfile -l 64 -f file1
ln file1 file2
ln file2 file3
ln file3 file4

echo archive.2
tar -c -f archive.2 -l --remove-files file1 file2 file3
echo testing archive.2
tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
)
./link03.at:34:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


genfile -l 64 -f file1
ln file1 file2
ln file2 file3
ln file3 file4

echo archive.1
tar -c -f archive.1 -l --remove-files file1 file2 file3 file4

genfile -l 64 -f file1
ln file1 file2
ln file2 file3
ln file3 file4

echo archive.2
tar -c -f archive.2 -l --remove-files file1 file2 file3
echo testing archive.2
tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
)
./link03.at:34:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


genfile -l 64 -f file1
ln file1 file2
ln file2 file3
ln file3 file4

echo archive.1
tar -c -f archive.1 -l --remove-files file1 file2 file3 file4

genfile -l 64 -f file1
ln file1 file2
ln file2 file3
ln file3 file4

echo archive.2
tar -c -f archive.2 -l --remove-files file1 file2 file3
echo testing archive.2
tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
)
./link03.at:34:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


genfile -l 64 -f file1
ln file1 file2
ln file2 file3
ln file3 file4

echo archive.1
tar -c -f archive.1 -l --remove-files file1 file2 file3 file4

genfile -l 64 -f file1
ln file1 file2
ln file2 file3
ln file3 file4

echo archive.2
tar -c -f archive.2 -l --remove-files file1 file2 file3
echo testing archive.2
tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p'
)
143. link03.at:24:  ok

144. link04.at:29: testing link count is 1 but multiple occurrences ...
./link04.at:32:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

mkdir dir
echo TEST > dir/file
ln -s file dir/symlink || exit 77

tar cf archive dir dir
tar tvf archive | sed '
  s,.*[0-9] dir/,dir/,
' | sort

echo --

tar cfl archive dir dir

echo ==

tar chf archive dir
tar tvf archive | sed '
  s,.*[0-9] dir/,dir/,
  s,file,FOO,g
  s,symlink,FOO,g
' | sort
)
./link04.at:32:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

mkdir dir
echo TEST > dir/file
ln -s file dir/symlink || exit 77

tar cf archive dir dir
tar tvf archive | sed '
  s,.*[0-9] dir/,dir/,
' | sort

echo --

tar cfl archive dir dir

echo ==

tar chf archive dir
tar tvf archive | sed '
  s,.*[0-9] dir/,dir/,
  s,file,FOO,g
  s,symlink,FOO,g
' | sort
)
./link04.at:32:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

mkdir dir
echo TEST > dir/file
ln -s file dir/symlink || exit 77

tar cf archive dir dir
tar tvf archive | sed '
  s,.*[0-9] dir/,dir/,
' | sort

echo --

tar cfl archive dir dir

echo ==

tar chf archive dir
tar tvf archive | sed '
  s,.*[0-9] dir/,dir/,
  s,file,FOO,g
  s,symlink,FOO,g
' | sort
)
./link04.at:32:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir dir
echo TEST > dir/file
ln -s file dir/symlink || exit 77

tar cf archive dir dir
tar tvf archive | sed '
  s,.*[0-9] dir/,dir/,
' | sort

echo --

tar cfl archive dir dir

echo ==

tar chf archive dir
tar tvf archive | sed '
  s,.*[0-9] dir/,dir/,
  s,file,FOO,g
  s,symlink,FOO,g
' | sort
)
./link04.at:32:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir dir
echo TEST > dir/file
ln -s file dir/symlink || exit 77

tar cf archive dir dir
tar tvf archive | sed '
  s,.*[0-9] dir/,dir/,
' | sort

echo --

tar cfl archive dir dir

echo ==

tar chf archive dir
tar tvf archive | sed '
  s,.*[0-9] dir/,dir/,
  s,file,FOO,g
  s,symlink,FOO,g
' | sort
)
144. link04.at:29:  ok


Specific archive formats

145. longv7.at:24: testing long names in V7 archives ...
./longv7.at:30:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

mkdir this_is_a_very_long_name_for_a_directory_which_causes_problems
touch this_is_a_very_long_name_for_a_directory_which_causes_problems/this_is_a_very_long_file_name_which_raises_issues.c

tar cf archive this_is_a_very_long_name_for_a_directory_which_causes_problems
echo separator
tar tf archive
)
145. longv7.at:24:  ok

146. long01.at:28: testing long file names divisible by block size ...
./long01.at:36:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


install-sh -d 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde >/dev/null && genfile --file 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde || exit 77
echo test > endfile

tar cf archive 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde endfile
tar tf archive)
./long01.at:36:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


install-sh -d 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde >/dev/null && genfile --file 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde || exit 77
echo test > endfile

tar cf archive 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde endfile
tar tf archive)
146. long01.at:28:  ok

147. lustar01.at:21: testing ustar: unsplittable file name ...
./lustar01.at:27:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

genfile --file=this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_between_name_and_prefix || exit 77
tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_between_name_and_prefix
)
147. lustar01.at:21:  ok

148. lustar02.at:21: testing ustar: unsplittable path name ...
./lustar02.at:32:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


install-sh -d this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be >/dev/null && genfile --file this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/tween_name_and_prefix || exit 77
tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be
)
148. lustar02.at:21:  ok

149. lustar03.at:21: testing ustar: splitting long names ...
./lustar03.at:29:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


install-sh -d this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be >/dev/null && genfile --file this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/file || exit 77
echo "Create archive"
tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be
echo "List archive"
tar tf archive)
149. lustar03.at:21:  ok

150. old.at:23: testing old archives ...
./old.at:27:
mkdir directory
tar cfvo archive directory || exit 1
tar tf archive

150. old.at:23:  ok

151. time01.at:20: testing time: tricky time stamps ...
./time01.at:23:
mkdir pax
(cd pax
TEST_TAR_FORMAT=pax
export TEST_TAR_FORMAT
TAR_OPTIONS="-H pax"
export TAR_OPTIONS
rm -rf *

export TZ=UTC0
mkdir dir

# Test files with time stamps that are near common sources of error,
# typically near powers of 2 (for seconds) or near 0, 1970, or 9999 (years).
# Use GNU-style @ notation for very large time stamps, since they
# typically don't render into years correctly due to int overflow.
for s in \
  @-9223372036854775809 @-9223372036854775808 @-9223372036854775807 \
  0000-01-01T00:00:00 0000-01-01T00:00:01 \
  0000-01-02T00:00:00 \
  1697-10-17T11:03:27 1697-10-17T11:03:28 1697-10-17T11:03:29 \
  1833-11-24T17:31:43 1833-11-24T17:31:44 1833-11-24T17:31:45 \
  1901-12-13T20:45:51 1901-12-13T20:45:52 1901-12-13T20:45:53 \
  1901-12-14T20:45:51 \
  1969-12-31T23:59:58 1969-12-31T23:59:59 \
  1970-01-01T00:00:00 1970-01-01T00:00:01 \
  2038-01-18T03:14:07 \
  2038-01-19T03:14:07 2038-01-19T03:14:08 \
  2106-02-07T06:28:15 2106-02-07T06:28:16 \
  2242-03-16T12:56:31 2242-03-16T12:56:32 \
  9999-12-31T23:59:58 9999-12-31T23:59:59 \
  @9223372036854775807 @9223372036854775808
do
  # Skip a time stamp $s if it's out of range for this platform,
  # of if it uses a notation that this platform does not recognize.
  touch -d $s dir/f$s >/dev/null 2>&1 || continue

  # Likewise for $s.1.  If $s is the most negative time stamp and
  # time stamps are signed, then $s.1 is out of range.
  touch -d $s.1 dir/f$s.$ns >/dev/null 2>&1 || continue

  for frac in   01 001 00001 000001 0000001 00000001 000000001 0000000001 \
	      9 99 999 99999 999999 9999999 99999999 999999999 9999999999
  do
    touch -d $s.$frac dir/f$s.$frac
  done
done

tar -c -f archive.tar dir
tar -d -f archive.tar dir
)
151. time01.at:20:  ok

152. time02.at:20: testing time: clamping mtime ...
./time02.at:23:
mkdir pax
(cd pax
TEST_TAR_FORMAT=pax
export TEST_TAR_FORMAT
TAR_OPTIONS="-H pax"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

export TZ=UTC0
mkdir dir

touch -d 2015-12-01T00:00:00 dir/a >/dev/null 2>&1 || exit 77
touch -d 2016-01-01T00:00:00 dir/b >/dev/null 2>&1 || exit 77
touch -d 2016-02-01T00:00:00 dir/c >/dev/null 2>&1 || exit 77
touch -d 2038-01-01T00:00:00 dir/d >/dev/null 2>&1 || exit 77

tar -c --mtime 2016-01-15T00:00:00 --clamp-mtime -f archive.tar dir
tar -d -f archive.tar dir|sort
)
152. time02.at:20:  ok


Multivolume archives

153. multiv01.at:23: testing multivolume dumps from pipes ...
./multiv01.at:30:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

exec <&-
genfile --length 7168 --file file1

for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \
              " 9" "10" "11" "12" "13" "14" "15" "16" ; do \
  echo "file2  block ${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla"
  for count in 2 3 4 5 6 7 8 ; do
    echo "bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla"
  done
done >file2

if test $TEST_TAR_FORMAT = pax; then
  TAPE_LENGTH=11
else
  TAPE_LENGTH=10
fi

tar -c --multi-volume --tape-length=$TAPE_LENGTH \
  -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1

mkdir extract-dir-pipe
dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null |
PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \
      -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \
      --tape-length=$TAPE_LENGTH --read-full-records || exit 1

cmp file1 extract-dir-pipe/file1
cmp file2 extract-dir-pipe/file2
)
./multiv01.at:30:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

exec <&-
genfile --length 7168 --file file1

for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \
              " 9" "10" "11" "12" "13" "14" "15" "16" ; do \
  echo "file2  block ${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla"
  for count in 2 3 4 5 6 7 8 ; do
    echo "bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla"
  done
done >file2

if test $TEST_TAR_FORMAT = pax; then
  TAPE_LENGTH=11
else
  TAPE_LENGTH=10
fi

tar -c --multi-volume --tape-length=$TAPE_LENGTH \
  -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1

mkdir extract-dir-pipe
dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null |
PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \
      -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \
      --tape-length=$TAPE_LENGTH --read-full-records || exit 1

cmp file1 extract-dir-pipe/file1
cmp file2 extract-dir-pipe/file2
)
./multiv01.at:30:
mkdir pax
(cd pax
TEST_TAR_FORMAT=pax
export TEST_TAR_FORMAT
TAR_OPTIONS="-H pax"
export TAR_OPTIONS
rm -rf *

exec <&-
genfile --length 7168 --file file1

for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \
              " 9" "10" "11" "12" "13" "14" "15" "16" ; do \
  echo "file2  block ${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla"
  for count in 2 3 4 5 6 7 8 ; do
    echo "bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla"
  done
done >file2

if test $TEST_TAR_FORMAT = pax; then
  TAPE_LENGTH=11
else
  TAPE_LENGTH=10
fi

tar -c --multi-volume --tape-length=$TAPE_LENGTH \
  -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1

mkdir extract-dir-pipe
dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null |
PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \
      -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \
      --tape-length=$TAPE_LENGTH --read-full-records || exit 1

cmp file1 extract-dir-pipe/file1
cmp file2 extract-dir-pipe/file2
)
153. multiv01.at:23:  ok

154. multiv02.at:28: testing skipping a straddling member ...
./multiv02.at:31:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --length 10240 --file en
genfile --length 20000 --file to
genfile --length 20000 --file tre
genfile --length 10240 --file fire

exec <&-

tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
echo separator
tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1
)
./multiv02.at:31:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --length 10240 --file en
genfile --length 20000 --file to
genfile --length 20000 --file tre
genfile --length 10240 --file fire

exec <&-

tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
echo separator
tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1
)
./multiv02.at:31:
mkdir pax
(cd pax
TEST_TAR_FORMAT=pax
export TEST_TAR_FORMAT
TAR_OPTIONS="-H pax"
export TAR_OPTIONS
rm -rf *

genfile --length 10240 --file en
genfile --length 20000 --file to
genfile --length 20000 --file tre
genfile --length 10240 --file fire

exec <&-

tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
echo separator
tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1
)
154. multiv02.at:28:  ok

155. multiv03.at:30: testing MV archive & long filenames ...
./multiv03.at:33:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

AFILE=`awk 'BEGIN { for (i = 0; i < 100; i++) printf "a"; exit; }'`
BFILE=`awk 'BEGIN { for (i = 0; i < 101; i++) printf "b"; exit; }'`

cat > ../experr <<EOF
tar: $BFILE: file name too long to be stored in a GNU multivolume header, truncated
tar: '$BFILE' is possibly continued on this volume: header contains truncated name
EOF

cat > ../expout <<EOF
$AFILE
separator-1
separator-2
EOF

genfile --length 15360 --file $AFILE

exec <&-

tar -M -L 10 -c -f arch.1 -f arch.2 $AFILE || exit 1
tar -tM -f arch.1 -f arch.2 || exit 1

echo separator-1

genfile --length 15360 --file $BFILE
tar -M -L 10 -c -f arch.1 -f arch.2 $BFILE || exit 1

echo separator-2
mv $BFILE bfile
tar -M -x -f arch.1 -f arch.2 --warning=no-timestamp || exit 1
cmp $BFILE bfile
)
./multiv03.at:33:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

AFILE=`awk 'BEGIN { for (i = 0; i < 100; i++) printf "a"; exit; }'`
BFILE=`awk 'BEGIN { for (i = 0; i < 101; i++) printf "b"; exit; }'`

cat > ../experr <<EOF
tar: $BFILE: file name too long to be stored in a GNU multivolume header, truncated
tar: '$BFILE' is possibly continued on this volume: header contains truncated name
EOF

cat > ../expout <<EOF
$AFILE
separator-1
separator-2
EOF

genfile --length 15360 --file $AFILE

exec <&-

tar -M -L 10 -c -f arch.1 -f arch.2 $AFILE || exit 1
tar -tM -f arch.1 -f arch.2 || exit 1

echo separator-1

genfile --length 15360 --file $BFILE
tar -M -L 10 -c -f arch.1 -f arch.2 $BFILE || exit 1

echo separator-2
mv $BFILE bfile
tar -M -x -f arch.1 -f arch.2 --warning=no-timestamp || exit 1
cmp $BFILE bfile
)
155. multiv03.at:30:  ok

156. multiv04.at:36: testing split directory members in a MV archive ...
./multiv04.at:39:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


mkdir directory
awk 'BEGIN { for (i = 0; i < 1024; i++) printf("directory/%014x\n", i); }' </dev/null | genfile --files-from -

exec <&-

sleep 2

tar --listed-incremental=list -c -f archive.a directory

sleep 2

tar --listed-incremental=list -c --record-size 1024 -L 16 -f arc.1 -f arc.2 -v directory

echo separator

tar -MRt -f arc.1 -f arc.2)
./multiv04.at:39:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


mkdir directory
awk 'BEGIN { for (i = 0; i < 1024; i++) printf("directory/%014x\n", i); }' </dev/null | genfile --files-from -

exec <&-

sleep 2

tar --listed-incremental=list -c -f archive.a directory

sleep 2

tar --listed-incremental=list -c --record-size 1024 -L 16 -f arc.1 -f arc.2 -v directory

echo separator

tar -MRt -f arc.1 -f arc.2)
156. multiv04.at:36:  ok

157. multiv05.at:26: testing Restoring after an out of sync volume ...
./multiv05.at:30:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

exec <&-

genfile --length 250k --file jeden
genfile --length 250k --file dwa
genfile --length 250k --file trzy
genfile --length 250k --file cztery
genfile --length 250k --file piec
genfile --length 250k --file szesc


echo Creating archive
tar -c -M -L 502 -f a.tar -f b.tar -f c.tar jeden dwa trzy cztery piec szesc
echo separator
mkdir bak
mv jeden dwa trzy cztery piec szesc bak
tar -vxM -f a.tar -f c.tar -f b.tar -f c.tar
echo Diffing jeden
   cmp bak/jeden jeden || exit 1
echo Diffing dwa
   cmp bak/dwa dwa || exit 1
echo Diffing trzy
   cmp bak/trzy trzy || exit 1
echo Diffing cztery
   cmp bak/cztery cztery || exit 1
echo Diffing piec
   cmp bak/piec piec || exit 1
echo Diffing szesc
   cmp bak/szesc szesc || exit 1
)
157. multiv05.at:26:  ok

158. multiv06.at:27: testing Multivolumes with L=record_size ...
./multiv06.at:30:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

exec <&-
decho Creating file
genfile --length 20139 --file file
decho Creating archive
tar -c -M -L10 -b20 -farc.1 -farc.2 -farc.3 file
decho Testing archive
tar -t -M -farc.1 -farc.2 -farc.3)
./multiv06.at:30:
mkdir pax
(cd pax
TEST_TAR_FORMAT=pax
export TEST_TAR_FORMAT
TAR_OPTIONS="-H pax"
export TAR_OPTIONS
rm -rf *

exec <&-
decho Creating file
genfile --length 20139 --file file
decho Creating archive
tar -c -M -L10 -b20 -farc.1 -farc.2 -farc.3 file
decho Testing archive
tar -t -M -farc.1 -farc.2 -farc.3)
158. multiv06.at:27:  ok

159. multiv07.at:28: testing volumes split at an extended header ...
./multiv07.at:31:


test -z "$TEST_DATA_DIR" && exit 77
tarball_prereq xsplit-1.tar 0e008c84c517e48fbf23ca6a7033cde6 $TEST_DATA_DIR $TEST_DATA_URL || exit 77

test -z "$TEST_DATA_DIR" && exit 77
tarball_prereq xsplit-2.tar 03150b9852d285458f43734e9e0b9a45 $TEST_DATA_DIR $TEST_DATA_URL || exit 77

exec <&-

cd $TEST_DATA_DIR
tar -t -M -fxsplit-1.tar -fxsplit-2.tar

--- -	2024-02-10 22:31:36.068486225 +0000
+++ /<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/at-groups/159/stdout	2024-02-10 22:31:36.063690589 +0000
@@ -1,4 +1 @@
-Archive volumes split at an extended header Volume 1
-foo
-bar
 
159. multiv07.at:28:  skipped (multiv07.at:31)

160. multiv08.at:25: testing multivolume header creation ...
./multiv08.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --length 9472 --file a
genfile --length 9984 --file b
decho Creating
tar -c -M -L10 -f A.tar -f B.tar -f C.tar a b
decho Testing
tar -tMR -f A.tar -f B.tar -f C.tar
)
160. multiv08.at:25:  ok

161. multiv09.at:26: testing bad next volume ...
./multiv09.at:33:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

genfile --length 2000000 --file aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
tar --format=gnu -cM --tape-length 1M -f A.tar -f B.tar aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa || exit $?
echo "created"
tar --format=gnu -xM -f A.tar 2>/dev/null <<EOF
y
q
EOF
)
./multiv09.at:33:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --length 2000000 --file aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
tar --format=gnu -cM --tape-length 1M -f A.tar -f B.tar aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa || exit $?
echo "created"
tar --format=gnu -xM -f A.tar 2>/dev/null <<EOF
y
q
EOF
)
./multiv09.at:33:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

genfile --length 2000000 --file aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
tar --format=gnu -cM --tape-length 1M -f A.tar -f B.tar aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa || exit $?
echo "created"
tar --format=gnu -xM -f A.tar 2>/dev/null <<EOF
y
q
EOF
)
./multiv09.at:33:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile --length 2000000 --file aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
tar --format=gnu -cM --tape-length 1M -f A.tar -f B.tar aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa || exit $?
echo "created"
tar --format=gnu -xM -f A.tar 2>/dev/null <<EOF
y
q
EOF
)
./multiv09.at:33:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --length 2000000 --file aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
tar --format=gnu -cM --tape-length 1M -f A.tar -f B.tar aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa || exit $?
echo "created"
tar --format=gnu -xM -f A.tar 2>/dev/null <<EOF
y
q
EOF
)
161. multiv09.at:26:  ok

162. multiv10.at:37: testing file start at the beginning of a posix volume ...
./multiv10.at:40:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

set -e
genfile --length=15360 --file data1
genfile --length=15360 --file data2
tar -v -c -L 10 -M -f 1.tar -f 2.tar -f 3.tar -f 4.tar -f 5.tar data1 data2
tar -M -t -f 1.tar -f 2.tar -f 3.tar -f 4.tar -f 5.tar
mkdir out
tar -C out -M -x -f 1.tar -f 2.tar -f 3.tar -f 4.tar -f 5.tar
cmp data1 out/data1
cmp data2 out/data2
)
162. multiv10.at:37:  ok


Owner and Groups

163. owner.at:21: testing --owner and --group ...
./owner.at:24:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

export TZ=UTC0

genfile --file a

tar --owner="Joe the Plumber:1234" \
    --group="Plumber's Union:5678" \
    --mtime='@0' \
    --mode='u=rw,go=r' \
    -cf arc a

tar -tvf arc
tar --numeric-owner -tvf arc
)
163. owner.at:21:  ok

164. map.at:21: testing --owner-map and --group-map ...
./map.at:24:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

export TZ=UTC0

genfile --file a
set -- `genfile --stat=uid,gid a`
cat > uid.map <<EOT
# Owner mapping
+$1	"Joe the Plumber:1234"
EOT
# Group mapping
cat > gid.map <<EOT
+$2	"Plumber's Union:5678"
EOT

tar --owner-map=uid.map\
    --group-map=gid.map\
    --owner="Fallback Owner:4321" \
    --group="Fallback Group:8765" \
    --mtime='@0' \
    --mode='u=rw,go=r' \
    -cf 1.tar a

tar -tvf 1.tar
tar --numeric-owner -tvf 1.tar

> uid.map
> gid.map

tar --owner-map=uid.map\
    --group-map=gid.map\
    --owner="Fallback Owner:4321" \
    --group="Fallback Group:8765" \
    --mtime='@0' \
    --mode='u=rw,go=r' \
    -cf 2.tar a

tar -tvf 2.tar
tar --numeric-owner -tvf 2.tar
)
164. map.at:21:  ok


Sparse files

165. sparse01.at:21: testing sparse files ...
./sparse01.at:24:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile --length 1000 -f begin
genfile --length 1000 -f end
genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77
tar -c -f archive --sparse begin sparsefile end || exit 1
echo separator

tar tfv archive
echo separator
mkdir directory
tar Cxf directory archive --warning=no-timestamp
genfile --stat=name,size sparsefile
cmp sparsefile directory/sparsefile
)
stdout:
separator
-rw-rw-r-- buildd/buildd  1000 2024-02-10 22:31 begin
-rw-r--r-- buildd/buildd 3102720 2024-02-10 22:31 sparsefile
-rw-rw-r-- buildd/buildd    1000 2024-02-10 22:31 end
separator
sparsefile 3102720
./sparse01.at:24:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --length 1000 -f begin
genfile --length 1000 -f end
genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77
tar -c -f archive --sparse begin sparsefile end || exit 1
echo separator

tar tfv archive
echo separator
mkdir directory
tar Cxf directory archive --warning=no-timestamp
genfile --stat=name,size sparsefile
cmp sparsefile directory/sparsefile
)
stdout:
separator
-rw-rw-r-- buildd/buildd  1000 2024-02-10 22:31 begin
-rw-r--r-- buildd/buildd 3102720 2024-02-10 22:31 sparsefile
-rw-rw-r-- buildd/buildd    1000 2024-02-10 22:31 end
separator
sparsefile 3102720
./sparse01.at:24:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --length 1000 -f begin
genfile --length 1000 -f end
genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77
tar -c -f archive --sparse begin sparsefile end || exit 1
echo separator

tar tfv archive
echo separator
mkdir directory
tar Cxf directory archive --warning=no-timestamp
genfile --stat=name,size sparsefile
cmp sparsefile directory/sparsefile
)
stdout:
separator
-rw-rw-r-- buildd/buildd  1000 2024-02-10 22:31 begin
-rw-r--r-- buildd/buildd 3102720 2024-02-10 22:31 sparsefile
-rw-rw-r-- buildd/buildd    1000 2024-02-10 22:31 end
separator
sparsefile 3102720
165. sparse01.at:21:  ok

166. sparse02.at:21: testing extracting sparse file over a pipe ...
./sparse02.at:28:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77
tar --hole-detection=raw -c -f archive --sparse sparsefile || exit 1
echo separator

tar xfO archive | cat - > sparsecopy || exit 1
cmp sparsefile sparsecopy
)
./sparse02.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77
tar --hole-detection=raw -c -f archive --sparse sparsefile || exit 1
echo separator

tar xfO archive | cat - > sparsecopy || exit 1
cmp sparsefile sparsecopy
)
./sparse02.at:28:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77
tar --hole-detection=raw -c -f archive --sparse sparsefile || exit 1
echo separator

tar xfO archive | cat - > sparsecopy || exit 1
cmp sparsefile sparsecopy
)
166. sparse02.at:21:  ok

167. sparse03.at:21: testing storing sparse files > 8G ...
./sparse03.at:29:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

test "${TARTEST_SKIP_LARGE_FILES:-0}" != 0 && exit 77
genfile --length 1000 --file begin
genfile --length 1000 --file end
genfile --sparse --file sparsefile --block-size 512 8G A || exit 77
tar -c -f archive --sparse begin sparsefile end || exit 1
echo separator

tar tfv archive
echo separator
mkdir directory
tar Cxf directory archive
genfile --stat=name,size sparsefile
cmp sparsefile directory/sparsefile
)
stdout:
separator
-rw-rw-r-- buildd/buildd  1000 2024-02-10 22:31 begin
-rw-r--r-- buildd/buildd 8589935104 2024-02-10 22:31 sparsefile
-rw-rw-r-- buildd/buildd       1000 2024-02-10 22:31 end
separator
sparsefile 8589935104
167. sparse03.at:21:  ok

168. sparse04.at:21: testing storing long sparse file names ...
./sparse04.at:35:
mkdir pax
(cd pax
TEST_TAR_FORMAT=pax
export TEST_TAR_FORMAT
TAR_OPTIONS="-H pax"
export TAR_OPTIONS
rm -rf *

genfile --sparse --file 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 --block-size 512 8M A || exit 77
tar -f - -c --sparse --posix 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | tar tf -
)
168. sparse04.at:21:  ok

169. sparse05.at:21: testing listing sparse files bigger than 2^33 B ...
./sparse05.at:31:
mkdir pax
(cd pax
TEST_TAR_FORMAT=pax
export TEST_TAR_FORMAT
TAR_OPTIONS="-H pax"
export TAR_OPTIONS
rm -rf *

test "${TARTEST_SKIP_LARGE_FILES:-0}" != 0 && exit 77
cat >mapfile <<'_ATEOF'
0 =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
_ATEOF

genfile --sparse --file BIGFILE --block-size 4K - < mapfile || exit 77
tar -f - -c --sparse --posix BIGFILE | tar tvf - | awk '{ print $3, $(NF) }'
)
169. sparse05.at:21:  ok

170. sparse06.at:21: testing storing sparse file using seek method ...
./sparse06.at:32:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


checkseekhole || exit 77


TAR_OPTIONS="$TAR_OPTIONS --hole-detection=seek"
genfile --sparse --file bigsparse 0 ABC 8G DEF || exit 77
tar -cSf a bigsparse
test $? -eq 0 || exit 1


rm -rf out archive.tar smallsparse && mkdir out
genfile --sparse --quiet --file smallsparse 0 ABC || exit 77
tar -cSf archive.tar smallsparse
tar -xf archive.tar -C out
cmp smallsparse out/smallsparse


rm -rf out archive.tar smallsparse && mkdir out
genfile --sparse --quiet --file smallsparse 0 ABC 10M || exit 77
tar -cSf archive.tar smallsparse
tar -xf archive.tar -C out
cmp smallsparse out/smallsparse


rm -rf out archive.tar smallsparse && mkdir out
genfile --sparse --quiet --file smallsparse 0 ABC 10M DEF || exit 77
tar -cSf archive.tar smallsparse
tar -xf archive.tar -C out
cmp smallsparse out/smallsparse



rm -rf out archive.tar smallsparse && mkdir out
genfile --sparse --quiet --file smallsparse 10M || exit 77
tar -cSf archive.tar smallsparse
tar -xf archive.tar -C out
cmp smallsparse out/smallsparse


rm -rf out archive.tar smallsparse && mkdir out
genfile --sparse --quiet --file smallsparse 10M ABC || exit 77
tar -cSf archive.tar smallsparse
tar -xf archive.tar -C out
cmp smallsparse out/smallsparse


rm -rf out archive.tar smallsparse && mkdir out
genfile --sparse --quiet --file smallsparse 10M ABC 20M || exit 77
tar -cSf archive.tar smallsparse
tar -xf archive.tar -C out
cmp smallsparse out/smallsparse



rm -rf out archive.tar smallsparse && mkdir out
genfile --sparse --quiet --file smallsparse 10M DEF 20M GHI 30M JKL 40M || exit 77
tar -cSf archive.tar smallsparse
tar -xf archive.tar -C out
cmp smallsparse out/smallsparse


)
170. sparse06.at:21:  ok

171. sparse07.at:21: testing sparse files with unicode names ...
./sparse07.at:24:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile --sparse --file žluť --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77
tar -c -f archive --sparse žluť || exit 1

tar tf archive
)
./sparse07.at:24:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --sparse --file žluť --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77
tar -c -f archive --sparse žluť || exit 1

tar tf archive
)
./sparse07.at:24:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --sparse --file žluť --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77
tar -c -f archive --sparse žluť || exit 1

tar tf archive
)
171. sparse07.at:21:  ok

172. sparsemv.at:21: testing sparse files in MV archives ...
./sparsemv.at:31:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

exec <&-
TAR_OPTIONS="$TAR_OPTIONS --hole-detection=raw"
genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77
echo "Pass 1: Split between data blocks"
echo "Create archive"
tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1
echo "Test archive"
tar --record-size=512 -t -M -f arc.1 -f arc.2
echo "Compare archive"
tar --record-size=512 -d -M -f arc.1 -f arc.2

echo "Pass 2: Split within a data block"
genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77
echo "Create archive"
tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1
echo "Test archive"
tar --record-size=512 -t -M -f arc.1 -f arc.2
echo "Compare archive"
tar --record-size=512 -d -M -f arc.1 -f arc.2
)
./sparsemv.at:31:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

exec <&-
TAR_OPTIONS="$TAR_OPTIONS --hole-detection=raw"
genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77
echo "Pass 1: Split between data blocks"
echo "Create archive"
tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1
echo "Test archive"
tar --record-size=512 -t -M -f arc.1 -f arc.2
echo "Compare archive"
tar --record-size=512 -d -M -f arc.1 -f arc.2

echo "Pass 2: Split within a data block"
genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77
echo "Create archive"
tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1
echo "Test archive"
tar --record-size=512 -t -M -f arc.1 -f arc.2
echo "Compare archive"
tar --record-size=512 -d -M -f arc.1 -f arc.2
)
172. sparsemv.at:21:  ok

173. spmvp00.at:21: testing sparse files in PAX MV archives, v.0.0 ...
./spmvp00.at:24:
mkdir pax
(cd pax
TEST_TAR_FORMAT=pax
export TEST_TAR_FORMAT
TAR_OPTIONS="-H pax"
export TAR_OPTIONS
rm -rf *

exec <&-
TAR_OPTIONS="$TAR_OPTIONS --hole-detection=raw"
genfile --sparse --file sparsefile 0 ABCDEFGHI 1M ABCDEFGHI || exit 77
echo "Pass 1: Split between data blocks"
echo "Create archive"
tar --sparse --sparse-version=0.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile
echo "Test archive"
tar -t -M -f arc.1 -f arc.2 -f arc.3
echo "Compare archive"
tar -d -M -f arc.1 -f arc.2 -f arc.3

echo "Pass 2: Split within a data block"
genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77
echo "Create archive"
tar --sparse --sparse-version=0.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile
echo "Test archive"
tar -t -M -f arc.1 -f arc.2 -f arc.3
echo "Compare archive"
tar -d -M -f arc.1 -f arc.2 -f arc.3
)
173. spmvp00.at:21:  ok

174. spmvp01.at:21: testing sparse files in PAX MV archives, v.0.1 ...
./spmvp01.at:24:
mkdir pax
(cd pax
TEST_TAR_FORMAT=pax
export TEST_TAR_FORMAT
TAR_OPTIONS="-H pax"
export TAR_OPTIONS
rm -rf *

exec <&-
TAR_OPTIONS="$TAR_OPTIONS --hole-detection=raw"
genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77
echo "Pass 1: Split between data blocks"
echo "Create archive"
tar --sparse --sparse-version=0.1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile
echo "Test archive"
tar -t -M -f arc.1 -f arc.2 -f arc.3
echo "Compare archive"
tar -d -M -f arc.1 -f arc.2 -f arc.3

echo "Pass 2: Split within a data block"
genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77
echo "Create archive"
tar --sparse --sparse-version=0.1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile
echo "Test archive"
tar -t -M -f arc.1 -f arc.2 -f arc.3
echo "Compare archive"
tar -d -M -f arc.1 -f arc.2 -f arc.3
)
174. spmvp01.at:21:  ok

175. spmvp10.at:21: testing sparse files in PAX MV archives, v.1.0 ...
./spmvp10.at:24:
mkdir pax
(cd pax
TEST_TAR_FORMAT=pax
export TEST_TAR_FORMAT
TAR_OPTIONS="-H pax"
export TAR_OPTIONS
rm -rf *

exec <&-
TAR_OPTIONS="$TAR_OPTIONS --hole-detection=raw"
genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77
echo "Pass 1: Split between data blocks"
echo "Create archive"
tar --sparse --sparse-version=1.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile
echo "Test archive"
tar -t -M -f arc.1 -f arc.2 -f arc.3
echo "Compare archive"
tar -d -M -f arc.1 -f arc.2 -f arc.3

echo "Pass 2: Split within a data block"
genfile --sparse --file sparsefile 0 ABCDEFG 1M ABCDEFGHI || exit 77
echo "Create archive"
tar --sparse --sparse-version=1.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile
echo "Test archive"
tar -t -M -f arc.1 -f arc.2 -f arc.3
echo "Compare archive"
tar -d -M -f arc.1 -f arc.2 -f arc.3
)
175. spmvp10.at:21:  ok

176. sptrcreat.at:33: testing sparse file truncated while archiving ...
./sptrcreat.at:36:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile --sparse --block-size=1024 --file foo \
  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ || exit 77
genfile --file baz
genfile --run --checkpoint 3 --length 200m --truncate foo -- \
 tar --sparse -vcf bar foo baz
echo Exit status: $?
echo separator
genfile --file foo --seek 200m --length 11575296 --pattern=zeros
tar dvf bar | sed '/foo: Mod time differs/d')
./sptrcreat.at:36:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --sparse --block-size=1024 --file foo \
  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ || exit 77
genfile --file baz
genfile --run --checkpoint 3 --length 200m --truncate foo -- \
 tar --sparse -vcf bar foo baz
echo Exit status: $?
echo separator
genfile --file foo --seek 200m --length 11575296 --pattern=zeros
tar dvf bar | sed '/foo: Mod time differs/d')
./sptrcreat.at:36:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --sparse --block-size=1024 --file foo \
  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ || exit 77
genfile --file baz
genfile --run --checkpoint 3 --length 200m --truncate foo -- \
 tar --sparse -vcf bar foo baz
echo Exit status: $?
echo separator
genfile --file foo --seek 200m --length 11575296 --pattern=zeros
tar dvf bar | sed '/foo: Mod time differs/d')
176. sptrcreat.at:33:  ok

177. sptrdiff00.at:26: testing file truncated in sparse region while comparing ...
./sptrdiff00.at:30:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile --sparse --block-size=1024 --file foo \
  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ || exit 77
genfile --file baz
echo creating
tar --sparse -vcf bar foo baz
echo comparing
genfile --run --checkpoint 3 --length 200m --truncate foo -- \
 tar --sparse -vdf bar
)
./sptrdiff00.at:30:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --sparse --block-size=1024 --file foo \
  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ || exit 77
genfile --file baz
echo creating
tar --sparse -vcf bar foo baz
echo comparing
genfile --run --checkpoint 3 --length 200m --truncate foo -- \
 tar --sparse -vdf bar
)
./sptrdiff00.at:30:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --sparse --block-size=1024 --file foo \
  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ || exit 77
genfile --file baz
echo creating
tar --sparse -vcf bar foo baz
echo comparing
genfile --run --checkpoint 3 --length 200m --truncate foo -- \
 tar --sparse -vdf bar
)
177. sptrdiff00.at:26:  ok

178. sptrdiff01.at:26: testing file truncated in data region while comparing ...
./sptrdiff01.at:30:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile --sparse --block-size=1024 --file foo \
  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ || exit 77
genfile --file baz
echo creating
tar --sparse -vcf bar foo baz
echo comparing
genfile --run --checkpoint 5 --length 221278210 --truncate foo -- \
 tar --sparse -vdf bar
)
./sptrdiff01.at:30:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --sparse --block-size=1024 --file foo \
  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ || exit 77
genfile --file baz
echo creating
tar --sparse -vcf bar foo baz
echo comparing
genfile --run --checkpoint 5 --length 221278210 --truncate foo -- \
 tar --sparse -vdf bar
)
./sptrdiff01.at:30:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --sparse --block-size=1024 --file foo \
  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ || exit 77
genfile --file baz
echo creating
tar --sparse -vcf bar foo baz
echo comparing
genfile --run --checkpoint 5 --length 221278210 --truncate foo -- \
 tar --sparse -vdf bar
)
178. sptrdiff01.at:26:  ok


Updates

179. update.at:28: testing update unchanged directories ...
./update.at:31:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir directory
genfile --length 10240 --pattern zeros --file directory/file1
genfile --length 10240 --pattern default --file directory/file2

tar cf archive directory || exit 1
echo separator
tar uf archive directory || exit 1
echo separator
tar tf archive | sort || exit 1
)
./update.at:31:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir directory
genfile --length 10240 --pattern zeros --file directory/file1
genfile --length 10240 --pattern default --file directory/file2

tar cf archive directory || exit 1
echo separator
tar uf archive directory || exit 1
echo separator
tar tf archive | sort || exit 1
)
./update.at:31:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir directory
genfile --length 10240 --pattern zeros --file directory/file1
genfile --length 10240 --pattern default --file directory/file2

tar cf archive directory || exit 1
echo separator
tar uf archive directory || exit 1
echo separator
tar tf archive | sort || exit 1
)
./update.at:31:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir directory
genfile --length 10240 --pattern zeros --file directory/file1
genfile --length 10240 --pattern default --file directory/file2

tar cf archive directory || exit 1
echo separator
tar uf archive directory || exit 1
echo separator
tar tf archive | sort || exit 1
)
./update.at:31:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir directory
genfile --length 10240 --pattern zeros --file directory/file1
genfile --length 10240 --pattern default --file directory/file2

tar cf archive directory || exit 1
echo separator
tar uf archive directory || exit 1
echo separator
tar tf archive | sort || exit 1
)
179. update.at:28:  ok

180. update01.at:29: testing update directories ...
./update01.at:32:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b

tar cf arc a

echo "separator"

sleep 2
genfile --file a/c

tar ufv arc a
echo "separator"
tar tf arc | sort || exit 1
)
./update01.at:32:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b

tar cf arc a

echo "separator"

sleep 2
genfile --file a/c

tar ufv arc a
echo "separator"
tar tf arc | sort || exit 1
)
./update01.at:32:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b

tar cf arc a

echo "separator"

sleep 2
genfile --file a/c

tar ufv arc a
echo "separator"
tar tf arc | sort || exit 1
)
./update01.at:32:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b

tar cf arc a

echo "separator"

sleep 2
genfile --file a/c

tar ufv arc a
echo "separator"
tar tf arc | sort || exit 1
)
./update01.at:32:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b

tar cf arc a

echo "separator"

sleep 2
genfile --file a/c

tar ufv arc a
echo "separator"
tar tf arc | sort || exit 1
)
180. update01.at:29:  ok

181. update02.at:26: testing update changed files ...
./update02.at:29:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b

tar cf arc a

echo "separator"

sleep 2
touch a/b

tar ufv arc a
echo "separator"
tar tf arc | sort || exit 1
)
./update02.at:29:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b

tar cf arc a

echo "separator"

sleep 2
touch a/b

tar ufv arc a
echo "separator"
tar tf arc | sort || exit 1
)
./update02.at:29:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b

tar cf arc a

echo "separator"

sleep 2
touch a/b

tar ufv arc a
echo "separator"
tar tf arc | sort || exit 1
)
./update02.at:29:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b

tar cf arc a

echo "separator"

sleep 2
touch a/b

tar ufv arc a
echo "separator"
tar tf arc | sort || exit 1
)
./update02.at:29:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b

tar cf arc a

echo "separator"

sleep 2
touch a/b

tar ufv arc a
echo "separator"
tar tf arc | sort || exit 1
)
181. update02.at:26:  ok

182. update03.at:20: testing update with chdir ...
./update03.at:27:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

mkdir dir1
mkdir dir2
mkdir dir1/subdir1 dir2/subdir2
genfile --file dir1/subdir1/a
genfile --file dir2/subdir2/a
echo Create
tar -vcf arc.tar -C dir1 subdir1 -C ../dir2 subdir2
genfile --file dir1/subdir1/b
genfile --file dir2/subdir2/c
echo Update
tar -vuf arc.tar -C dir1 subdir1 -C ../dir2 subdir2
)
./update03.at:27:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

mkdir dir1
mkdir dir2
mkdir dir1/subdir1 dir2/subdir2
genfile --file dir1/subdir1/a
genfile --file dir2/subdir2/a
echo Create
tar -vcf arc.tar -C dir1 subdir1 -C ../dir2 subdir2
genfile --file dir1/subdir1/b
genfile --file dir2/subdir2/c
echo Update
tar -vuf arc.tar -C dir1 subdir1 -C ../dir2 subdir2
)
./update03.at:27:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

mkdir dir1
mkdir dir2
mkdir dir1/subdir1 dir2/subdir2
genfile --file dir1/subdir1/a
genfile --file dir2/subdir2/a
echo Create
tar -vcf arc.tar -C dir1 subdir1 -C ../dir2 subdir2
genfile --file dir1/subdir1/b
genfile --file dir2/subdir2/c
echo Update
tar -vuf arc.tar -C dir1 subdir1 -C ../dir2 subdir2
)
./update03.at:27:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir dir1
mkdir dir2
mkdir dir1/subdir1 dir2/subdir2
genfile --file dir1/subdir1/a
genfile --file dir2/subdir2/a
echo Create
tar -vcf arc.tar -C dir1 subdir1 -C ../dir2 subdir2
genfile --file dir1/subdir1/b
genfile --file dir2/subdir2/c
echo Update
tar -vuf arc.tar -C dir1 subdir1 -C ../dir2 subdir2
)
./update03.at:27:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir dir1
mkdir dir2
mkdir dir1/subdir1 dir2/subdir2
genfile --file dir1/subdir1/a
genfile --file dir2/subdir2/a
echo Create
tar -vcf arc.tar -C dir1 subdir1 -C ../dir2 subdir2
genfile --file dir1/subdir1/b
genfile --file dir2/subdir2/c
echo Update
tar -vuf arc.tar -C dir1 subdir1 -C ../dir2 subdir2
)
182. update03.at:20:  ok


Verifying the archive

183. verify.at:25: testing verify ...
./verify.at:28:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

touch foo
tar -cvf archive.tar --verify foo
)
./verify.at:28:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

touch foo
tar -cvf archive.tar --verify foo
)
./verify.at:28:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

touch foo
tar -cvf archive.tar --verify foo
)
./verify.at:28:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

touch foo
tar -cvf archive.tar --verify foo
)
./verify.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

touch foo
tar -cvf archive.tar --verify foo
)
183. verify.at:25:  ok


Volume operations

184. volume.at:23: testing volume ...
./volume.at:26:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

tar -cf archive -V label -T /dev/null || exit 1

tar xfV archive label || exit 1
tar xfV archive 'la?el' || exit 1
tar xfV archive 'l*l' || exit 1

echo 1>&2 -----
tar xfV archive lab
test $? = 2 || exit 1
echo 1>&2 -----
tar xfV archive bel
test $? = 2 || exit 1
echo 1>&2 -----
tar xfV archive babel
test $? = 2
)
./volume.at:26:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

tar -cf archive -V label -T /dev/null || exit 1

tar xfV archive label || exit 1
tar xfV archive 'la?el' || exit 1
tar xfV archive 'l*l' || exit 1

echo 1>&2 -----
tar xfV archive lab
test $? = 2 || exit 1
echo 1>&2 -----
tar xfV archive bel
test $? = 2 || exit 1
echo 1>&2 -----
tar xfV archive babel
test $? = 2
)
184. volume.at:23:  ok

185. volsize.at:29: testing volume header size ...
./volsize.at:32:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


test -z "$TEST_DATA_DIR" && exit 77
tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DATA_URL || exit 77

echo Short Listing
tar tf $TEST_DATA_DIR/abc.tar
echo Verbose Listing
tar --utc -tvf $TEST_DATA_DIR/abc.tar
echo Extracted directory
tar xf $TEST_DATA_DIR/abc.tar
find abc|sort
)
--- -	2024-02-10 22:33:36.348854204 +0000
+++ /<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/at-groups/185/stdout	2024-02-10 22:33:36.345099740 +0000
@@ -1,10 +1 @@
-Short Listing
-abc/not-a-file.gif
-abc/CCC
-Verbose Listing
-V--------- 0/0            1536 2006-05-08 22:07 abc/not-a-file.gif--Volume Header--
--rw-r--r-- tom/users         0 2006-04-22 19:52 abc/CCC
-Extracted directory
-abc
-abc/CCC
 
185. volsize.at:29:  skipped (volsize.at:32)


186. comprec.at:21: testing compressed format recognition ...
./comprec.at:25:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


cat /dev/null | gzip - > /dev/null 2>&1 || exit 77

genfile --length 10240 --file file1
echo "separator"
tar cfz archive file1
echo "separator"
mv file1 orig
tar xfv archive --warning=no-timestamp
cmp orig file1
)
./comprec.at:25:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


cat /dev/null | gzip - > /dev/null 2>&1 || exit 77

genfile --length 10240 --file file1
echo "separator"
tar cfz archive file1
echo "separator"
mv file1 orig
tar xfv archive --warning=no-timestamp
cmp orig file1
)
./comprec.at:25:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


cat /dev/null | gzip - > /dev/null 2>&1 || exit 77

genfile --length 10240 --file file1
echo "separator"
tar cfz archive file1
echo "separator"
mv file1 orig
tar xfv archive --warning=no-timestamp
cmp orig file1
)
./comprec.at:25:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


cat /dev/null | gzip - > /dev/null 2>&1 || exit 77

genfile --length 10240 --file file1
echo "separator"
tar cfz archive file1
echo "separator"
mv file1 orig
tar xfv archive --warning=no-timestamp
cmp orig file1
)
./comprec.at:25:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


cat /dev/null | gzip - > /dev/null 2>&1 || exit 77

genfile --length 10240 --file file1
echo "separator"
tar cfz archive file1
echo "separator"
mv file1 orig
tar xfv archive --warning=no-timestamp
cmp orig file1
)
186. comprec.at:21:  ok

187. shortfile.at:26: testing short input files ...
./shortfile.at:29:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --length 511 --file foo || exit 5
tar tf foo
)
187. shortfile.at:26:  ok

188. shortupd.at:31: testing updating short archives ...
./shortupd.at:34:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

touch foo
tar uf archive foo
)
./shortupd.at:34:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

touch foo
tar uf archive foo
)
./shortupd.at:34:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

touch foo
tar uf archive foo
)
./shortupd.at:34:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

touch foo
tar uf archive foo
)
./shortupd.at:34:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

touch foo
tar uf archive foo
)
188. shortupd.at:31:  ok

189. truncate.at:29: testing truncate ...
./truncate.at:32:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

genfile --file foo --length 200k
genfile --file baz
genfile --run --checkpoint 10 --length 195k --truncate foo -- \
  tar -vcf bar foo baz
echo Exit status: $?
echo separator
genfile --file foo --seek 195k --length 5k --pattern=zeros
tar dvf bar|sed '/foo: Mod time differs/d')
./truncate.at:32:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --file foo --length 200k
genfile --file baz
genfile --run --checkpoint 10 --length 195k --truncate foo -- \
  tar -vcf bar foo baz
echo Exit status: $?
echo separator
genfile --file foo --seek 195k --length 5k --pattern=zeros
tar dvf bar|sed '/foo: Mod time differs/d')
./truncate.at:32:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

genfile --file foo --length 200k
genfile --file baz
genfile --run --checkpoint 10 --length 195k --truncate foo -- \
  tar -vcf bar foo baz
echo Exit status: $?
echo separator
genfile --file foo --seek 195k --length 5k --pattern=zeros
tar dvf bar|sed '/foo: Mod time differs/d')
./truncate.at:32:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile --file foo --length 200k
genfile --file baz
genfile --run --checkpoint 10 --length 195k --truncate foo -- \
  tar -vcf bar foo baz
echo Exit status: $?
echo separator
genfile --file foo --seek 195k --length 5k --pattern=zeros
tar dvf bar|sed '/foo: Mod time differs/d')
./truncate.at:32:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --file foo --length 200k
genfile --file baz
genfile --run --checkpoint 10 --length 195k --truncate foo -- \
  tar -vcf bar foo baz
echo Exit status: $?
echo separator
genfile --file foo --seek 195k --length 5k --pattern=zeros
tar dvf bar|sed '/foo: Mod time differs/d')
189. truncate.at:29:  ok

190. grow.at:24: testing grow ...
./grow.at:27:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

genfile --file foo --length 50000k
genfile --file baz
genfile --run=10 --checkpoint 10 --length 1024 --append foo -- tar -vcf bar foo baz
)
./grow.at:27:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --file foo --length 50000k
genfile --file baz
genfile --run=10 --checkpoint 10 --length 1024 --append foo -- tar -vcf bar foo baz
)
./grow.at:27:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

genfile --file foo --length 50000k
genfile --file baz
genfile --run=10 --checkpoint 10 --length 1024 --append foo -- tar -vcf bar foo baz
)
./grow.at:27:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile --file foo --length 50000k
genfile --file baz
genfile --run=10 --checkpoint 10 --length 1024 --append foo -- tar -vcf bar foo baz
)
./grow.at:27:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --file foo --length 50000k
genfile --file baz
genfile --run=10 --checkpoint 10 --length 1024 --append foo -- tar -vcf bar foo baz
)
190. grow.at:24:  ok

191. sigpipe.at:21: testing sigpipe handling ...
./sigpipe.at:30:

case `(cat "$at_myself" 2>&3 | :) 3>&1 >/dev/null` in #(
?*) exit 77;;
esac


genfile --length 2048 --file first
genfile --length 2048 --file second
genfile --length 2049 --file third

tar cf archive first second third

# Discard diagnostics that some shells generate about broken pipes.
(tar tf archive 2>&3 | :) 3>&2 2>/dev/null

191. sigpipe.at:21:  ok

192. comperr.at:18: testing compressor program failure ...
./comperr.at:28:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

tar --use-compress-program false -cf a.tar . 2>err
rc=$?
sed -n '$p' err
exit $rc
)
./comperr.at:28:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

tar --use-compress-program false -cf a.tar . 2>err
rc=$?
sed -n '$p' err
exit $rc
)
./comperr.at:28:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

tar --use-compress-program false -cf a.tar . 2>err
rc=$?
sed -n '$p' err
exit $rc
)
./comperr.at:28:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

tar --use-compress-program false -cf a.tar . 2>err
rc=$?
sed -n '$p' err
exit $rc
)
./comperr.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

tar --use-compress-program false -cf a.tar . 2>err
rc=$?
sed -n '$p' err
exit $rc
)
192. comperr.at:18:  ok


Removing files after archiving

193. remfiles01.at:28: testing remove-files with compression ...
./remfiles01.at:32:

echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77


cat /dev/null | gzip - > /dev/null 2>&1 || exit 77


case `(cat "$at_myself" 2>&3 | :) 3>&1 >/dev/null` in #(
?*) exit 77;;
esac


test -z "`sort < /dev/null 2>&1`" || exit 77


mkdir dir
cd dir
genfile --file a --length 0
chmod 0 a
genfile --file b
mkdir c

# Depending on when the SIGPIPE gets delivered, the invocation below
# may finish with either
#  tar: a: Cannot write: Broken pipe
# or
#  tar: Child returned status 2

# Discard diagnostics that some shells generate about broken pipes,
# and discard all of tar's diagnostics except for the ones saying "(child)".
# Gzip's exit code is propagated to the shell.  Usually it is 141.
# Convert all non-zero exits to 2 to make it predictable.
(tar -c -f a -z --remove-files b c 2>err || (exit 2) ) 2>/dev/null
EC=$?
sed -n '/(child)/p' err >&2
rm err
find . | sort
exit $EC

193. remfiles01.at:28:  ok

194. remfiles02.at:28: testing remove-files with compression: grand-child ...
./remfiles02.at:32:

cat /dev/null | gzip - > /dev/null 2>&1 || exit 77


test -z "`sort < /dev/null 2>&1`" || exit 77


mkdir dir
cd dir
mkdir a
genfile --file b
mkdir c

tar -c -f a -z --remove-files b c 2>err
EC=$?
sed -n '/(child)/p' err >&2
rm err
find . | sort
exit $EC

194. remfiles02.at:28:  ok

195. remfiles03.at:28: testing remove-files with symbolic links ...
./remfiles03.at:31:
mkdir a
mkdir a/b
ln -s b a/c || exit 77
tar --remove-files -cf a.tar a
genfile --stat a

195. remfiles03.at:28:  ok

196. remfiles04a.at:25: testing remove-files with -C:rel in -c/non-incr. mode ...
./remfiles04a.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir foo
echo bar > bar
echo foobar > foo/bar
tar -cf foo.tar --remove-files -C foo bar
echo A
find . | sort
)
196. remfiles04a.at:25:  ok

197. remfiles04b.at:33: testing remove-files with -C:rel in -c/incr. mode ...
./remfiles04b.at:36:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir foo
echo bar > bar
echo foobar > foo/bar
tar -cf foo.tar --incremental --remove-files -C foo bar
echo A
find . | sort
)
197. remfiles04b.at:33:  ok

198. remfiles04c.at:33: testing remove-files with -C:rel in -r mode ...
./remfiles04c.at:36:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir foo
echo bar > bar
echo foobar > foo/bar
tar -cf foo.tar -C foo bar
echo A
find . | sort
tar -rf foo.tar --remove-files -C foo bar
echo B
find . | sort
)
198. remfiles04c.at:33:  ok

199. remfiles05a.at:34: testing remove-files with -C:rel,rel in -c/non-incr. mode ...
./remfiles05a.at:37:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir foo
mkdir bar
echo file > file
echo foo/file > foo/file
echo bar/file > bar/file
decho A
tar -cvf foo.tar --remove-files -C foo file -C ../bar file
decho B
find . | sort
)
199. remfiles05a.at:34:  ok

200. remfiles05b.at:25: testing remove-files with -C:rel,rel in -c/incr. mode ...
./remfiles05b.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir foo
mkdir bar
echo file > file
echo foo/file > foo/file
echo bar/file > bar/file
decho A
tar -cvf foo.tar --incremental --remove-files -C foo file -C ../bar file
decho B
find . | sort
)
200. remfiles05b.at:25:  ok

201. remfiles05c.at:25: testing remove-files with -C:rel,rel in -r mode ...
./remfiles05c.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir foo
mkdir bar
echo file > file
echo foo/file > foo/file
echo bar/file > bar/file
tar -cf foo.tar -C foo file -C ../bar file
decho A
find . | sort
decho B
tar -rvf foo.tar --remove-files -C foo file -C ../bar file
decho C
find . | sort
)
201. remfiles05c.at:25:  ok

202. remfiles06a.at:25: testing remove-files with -C:rel,abs in -c/non-incr. mode ...
./remfiles06a.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir foo
mkdir bar
echo file > file
echo foo/file > foo/file
echo bar/file > bar/file
DIR=`pwd`
decho A
tar -cvf foo.tar --remove-files -C foo file -C $DIR/bar file
decho B
find . | sort
)
202. remfiles06a.at:25:  ok

203. remfiles06b.at:25: testing remove-files with -C:rel,abs in -c/incr. mode ...
./remfiles06b.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir foo
mkdir bar
echo file > file
echo foo/file > foo/file
echo bar/file > bar/file
DIR=`pwd`
decho A
tar -cvf foo.tar --incremental --remove-files -C foo file -C $DIR/bar file
decho B
find . | sort
)
203. remfiles06b.at:25:  ok

204. remfiles06c.at:25: testing remove-files with -C:rel,abs in -r mode ...
./remfiles06c.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir foo
mkdir bar
echo file > file
echo foo/file > foo/file
echo bar/file > bar/file
DIR=`pwd`
tar -cf foo.tar -C foo file -C $DIR/bar file
decho A
find . | sort
decho B
tar -rvf foo.tar --remove-files -C foo file -C $DIR/bar file
decho C
find . | sort
)
204. remfiles06c.at:25:  ok

205. remfiles07a.at:25: testing remove-files with -C:abs,rel in -c/non-incr. mode ...
./remfiles07a.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir foo
mkdir bar
echo file > file
echo foo/file > foo/file
echo bar/file > bar/file
DIR=`pwd`
decho A
tar -cvf foo.tar --remove-files -C $DIR/foo file -C ../bar file
decho B
find . | sort
)
205. remfiles07a.at:25:  ok

206. remfiles07b.at:25: testing remove-files with -C:abs,rel in -c/incr. mode ...
./remfiles07b.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir foo
mkdir bar
echo file > file
echo foo/file > foo/file
echo bar/file > bar/file
DIR=`pwd`
decho A
tar -cvf foo.tar --incremental --remove-files -C $DIR/foo file -C ../bar file
decho B
find . | sort
)
206. remfiles07b.at:25:  ok

207. remfiles07c.at:25: testing remove-files with -C:abs,rel in -r mode ...
./remfiles07c.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir foo
mkdir bar
echo file > file
echo foo/file > foo/file
echo bar/file > bar/file
DIR=`pwd`
tar -cf foo.tar -C $DIR/foo file -C ../bar file
decho A
find . | sort
decho B
tar -rvf foo.tar --remove-files -C $DIR/foo file -C ../bar file
decho C
find . | sort
)
207. remfiles07c.at:25:  ok

208. remfiles08a.at:28: testing remove-files deleting two subdirs in -c/non-incr. mode ...
./remfiles08a.at:31:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir foo
mkdir bar
echo foo/foo_file > foo/foo_file
echo bar/bar_file > bar/bar_file
decho A
tar -cvf foo.tar --remove-files -C foo . -C ../bar .
decho B
find .
)
208. remfiles08a.at:28:  ok

209. remfiles08b.at:31: testing remove-files deleting two subdirs in -c/incr. mode ...
./remfiles08b.at:34:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir foo
mkdir bar
echo foo/foo_file > foo/foo_file
echo bar/bar_file > bar/bar_file
decho A
tar -cvf foo.tar --incremental --remove-files -C foo . -C ../bar .
decho B
find .
)
209. remfiles08b.at:31:  ok

210. remfiles08c.at:28: testing remove-files deleting two subdirs in -r mode ...
./remfiles08c.at:31:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir foo
mkdir bar
echo foo/foo_file > foo/foo_file
echo bar/bar_file > bar/bar_file
tar -cf foo.tar -C foo . -C ../bar .
decho A
find . | sort
decho B
tar -rvf foo.tar --remove-files -C foo . -C ../bar .
decho C
find .
)
210. remfiles08c.at:28:  ok

211. remfiles09a.at:25: testing remove-files on full directory in -c/non-incr. mode ...
./remfiles09a.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir foo
echo foo/file > foo/file
decho A
tar -cvf foo.tar --remove-files foo
decho B
find .
)
211. remfiles09a.at:25:  ok

212. remfiles09b.at:29: testing remove-files on full directory in -c/incr. mode ...
./remfiles09b.at:32:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir foo
echo foo/file > foo/file
decho A
tar -cvf foo.tar --incremental --remove-files foo
decho B
find .
)
212. remfiles09b.at:29:  ok

213. remfiles09c.at:25: testing remove-files on full directory in -r mode ...
./remfiles09c.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir foo
echo foo/file > foo/file
tar -cf foo.tar foo
decho A
find . | sort
decho B
tar -rvf foo.tar --remove-files foo
decho C
find . | sort
)
213. remfiles09c.at:25:  ok

214. remfiles10.at:20: testing remove-files ...
./remfiles10.at:23:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir foo
echo foo/file > foo/file
decho A
(cd foo && tar -cvf ../foo.tar --remove-files .)
tar_status=$?
decho B
find foo
exit $tar_status
)
stderr:
A
tar: .: Cannot rmdir: Invalid argument
tar: Exiting with failure status due to previous errors
B
./remfiles10.at:44: sed '2s/:[^:]*$//' stderr
214. remfiles10.at:20:  ok


Extended attributes

215. xattr01.at:25: testing xattrs: basic functionality ...
./xattr01.at:28:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *



  file=$(TMPDIR=. mktemp fiXXXXXX)

  setfattr -n user.test -v test $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  getfattr $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  file=$(TMPDIR=. mktemp fiXXXXXX)
  setfattr -n user.test -v ahoj $file
  # check whether tar fails to store xattrs
  err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l )
  if test "$err" != "0"; then
    exit 77
  fi

mkdir dir
genfile --file dir/file

setfattr -n user.test -v OurDirValue dir
setfattr -n user.test -v OurFileValue dir/file

tar --xattrs -cf archive.tar dir

rm -rf dir
tar --xattrs -xf archive.tar

getfattr -h -d dir         | grep -v -e '^#' -e ^$
getfattr -h -d dir/file    | grep -v -e '^#' -e ^$
)
--- -	2024-02-10 22:33:41.773916692 +0000
+++ /<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/at-groups/215/stdout	2024-02-10 22:33:41.769163277 +0000
@@ -1,3 +1 @@
-user.test="OurDirValue"
-user.test="OurFileValue"
 
215. xattr01.at:25:  skipped (xattr01.at:28)

216. xattr02.at:25: testing xattrs: change directory with -C option ...
./xattr02.at:28:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *



  file=$(TMPDIR=. mktemp fiXXXXXX)

  setfattr -n user.test -v test $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  getfattr $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  file=$(TMPDIR=. mktemp fiXXXXXX)
  setfattr -n user.test -v ahoj $file
  # check whether tar fails to store xattrs
  err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l )
  if test "$err" != "0"; then
    exit 77
  fi


mkdir dir
mkdir dir/subdir
mkdir dir/subdir/subsubdir
genfile --file dir/file1
genfile --file dir/subdir/file2

setfattr -n user.test -v OurFile1Value dir/file1
setfattr -n user.test -v OurFile2Value dir/subdir/file2
setfattr -n user.test -v OurDirValue   dir/subdir/subsubdir

tar --xattrs -cf archive.tar -C dir file1 -C subdir file2 subsubdir

rm -rf dir

tar --xattrs -xf archive.tar

getfattr -h -d file1        | grep -v -e '^#' -e ^$
getfattr -h -d file2        | grep -v -e '^#' -e ^$
getfattr -h -d subsubdir    | grep -v -e '^#' -e ^$
)
--- -	2024-02-10 22:33:41.821256367 +0000
+++ /<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/at-groups/216/stdout	2024-02-10 22:33:41.817163839 +0000
@@ -1,4 +1 @@
-user.test="OurFile1Value"
-user.test="OurFile2Value"
-user.test="OurDirValue"
 
216. xattr02.at:25:  skipped (xattr02.at:28)

217. xattr03.at:25: testing xattrs: trusted.* attributes ...
./xattr03.at:28:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 || exit 77



  file=$(TMPDIR=. mktemp fiXXXXXX)

  setfattr -n user.test -v test $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  getfattr $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  file=$(TMPDIR=. mktemp fiXXXXXX)
  setfattr -n user.test -v ahoj $file
  # check whether tar fails to store xattrs
  err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l )
  if test "$err" != "0"; then
    exit 77
  fi


mkdir dir
mkdir dir/subdir
mkdir dir/subdir/subsubdir
genfile --file dir/file1
genfile --file dir/subdir/file2

setfattr -n trusted.test -v OurFile1Value dir/file1
setfattr -n trusted.test -v OurFile2Value dir/subdir/file2
setfattr -n trusted.test -v OurDirValue   dir/subdir/subsubdir

tar --xattrs -cf archive.tar -C dir file1 -C subdir file2 subsubdir

rm -rf dir

tar --xattrs --xattrs-include=trusted* -xf archive.tar

getfattr -mtrusted. -d file1        | grep -v -e '^#' -e ^$
getfattr -mtrusted. -d file2        | grep -v -e '^#' -e ^$
getfattr -mtrusted. -d subsubdir    | grep -v -e '^#' -e ^$
)
--- -	2024-02-10 22:33:41.870357922 +0000
+++ /<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/at-groups/217/stdout	2024-02-10 22:33:41.865164401 +0000
@@ -1,4 +1 @@
-trusted.test="OurFile1Value"
-trusted.test="OurFile2Value"
-trusted.test="OurDirValue"
 
217. xattr03.at:25:  skipped (xattr03.at:28)

218. xattr04.at:26: testing xattrs: s/open/openat/ regression ...
./xattr04.at:29:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *



  file=$(TMPDIR=. mktemp fiXXXXXX)

  setfattr -n user.test -v test $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  getfattr $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  file=$(TMPDIR=. mktemp fiXXXXXX)
  setfattr -n user.test -v ahoj $file
  # check whether tar fails to store xattrs
  err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l )
  if test "$err" != "0"; then
    exit 77
  fi


mkdir dir
mkdir output
genfile --file dir/file

setfattr -n user.test -v value dir/file

# archive whole directory including binary xattrs
tar --xattrs -cf archive.tar -C dir .

tar --xattrs -xf archive.tar -C output
ret=$?
getfattr -h -d output/file | grep -v -e '^#' -e ^$
exit $ret
)
--- -	2024-02-10 22:33:41.915116626 +0000
+++ /<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/at-groups/218/stdout	2024-02-10 22:33:41.909164917 +0000
@@ -1,2 +1 @@
-user.test="value"
 
218. xattr04.at:26:  skipped (xattr04.at:29)

219. xattr05.at:28: testing xattrs: keywords with '=' and '%' ...
./xattr05.at:31:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *



  file=$(TMPDIR=. mktemp fiXXXXXX)

  setfattr -n user.test -v test $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  getfattr $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  file=$(TMPDIR=. mktemp fiXXXXXX)
  setfattr -n user.test -v ahoj $file
  # check whether tar fails to store xattrs
  err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l )
  if test "$err" != "0"; then
    exit 77
  fi


mkdir dir
mkdir output
genfile --file dir/file

setfattr -n user.=NAME%3D= -v value dir/file
getfattr -d dir/file | grep -v '# ' > before

# archive whole directory including binary xattrs
tar --xattrs -cf archive.tar -C dir .

tar --xattrs -xf archive.tar -C output
getfattr -d output/file | grep -v '# ' > after
diff before after
)
219. xattr05.at:28:  skipped (xattr05.at:31)

220. xattr06.at:27: testing xattrs: exclude xattrs on create  ...
./xattr06.at:30:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *



  file=$(TMPDIR=. mktemp fiXXXXXX)

  setfattr -n user.test -v test $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  getfattr $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  file=$(TMPDIR=. mktemp fiXXXXXX)
  setfattr -n user.test -v ahoj $file
  # check whether tar fails to store xattrs
  err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l )
  if test "$err" != "0"; then
    exit 77
  fi


mkdir dir
mkdir output
genfile --file dir/file

for attr in excluded incla inclb inclc incl_excluded
do
  setfattr -n user.${attr} -v value dir/file || exit 77
done

tar --xattrs-include=user.incl'*' --xattrs-exclude=user.incl_excluded -cf archive.tar -C dir .
tar -xf archive.tar --xattrs-include=user.incl[ab] --xattrs-exclude=user.inclb -C output

getfattr -d output/file | grep -v \
    -e excluded \
    -e inclb \
    -e inclc > filtered
getfattr -d output/file > full
# if they differ then the attribute is still present
diff filtered full
)
220. xattr06.at:27:  skipped (xattr06.at:30)

221. xattr07.at:26: testing xattrs: xattrs and --skip-old-files ...
./xattr07.at:29:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *



  file=$(TMPDIR=. mktemp fiXXXXXX)

  setfattr -n user.test -v test $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  getfattr $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  file=$(TMPDIR=. mktemp fiXXXXXX)
  setfattr -n user.test -v ahoj $file
  # check whether tar fails to store xattrs
  err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l )
  if test "$err" != "0"; then
    exit 77
  fi

mkdir dir
genfile --file dir/file
genfile --file dir/file2

setfattr -n user.test -v OurDirValue dir
setfattr -n user.test -v OurFileValue dir/file
setfattr -n user.test -v OurFileValue dir/file2

tar --xattrs --no-recursion -cf archive.tar dir dir/file dir/file2

setfattr -n user.test -v OurDirValue2 dir
setfattr -n user.test -v OurFileValue2 dir/file
setfattr -n user.test -v OurFileValue2 dir/file2

# Check that tar continues to file2 too!
tar --xattrs -xvf archive.tar --skip-old-files
tar --xattrs -xvf archive.tar --keep-old-files

getfattr -h -d dir         | grep -v -e '^#' -e ^$
getfattr -h -d dir/file    | grep -v -e '^#' -e ^$
getfattr -h -d dir/file2   | grep -v -e '^#' -e ^$
)
--- -	2024-02-10 22:33:42.051762567 +0000
+++ /<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/at-groups/221/stderr	2024-02-10 22:33:42.045166510 +0000
@@ -1,9 +1 @@
-tar: dir: skipping existing file
-tar: dir/file: skipping existing file
-tar: dir/file: skipping existing file
-tar: dir/file2: skipping existing file
-tar: dir/file2: skipping existing file
-tar: dir/file: Cannot open: File exists
-tar: dir/file2: Cannot open: File exists
-tar: Exiting with failure status due to previous errors
 
--- -	2024-02-10 22:33:42.054258796 +0000
+++ /<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/at-groups/221/stdout	2024-02-10 22:33:42.049166557 +0000
@@ -1,10 +1 @@
-dir/
-dir/file
-dir/file2
-dir/
-dir/file
-dir/file2
-user.test="OurDirValue2"
-user.test="OurFileValue2"
-user.test="OurFileValue2"
 
221. xattr07.at:26:  skipped (xattr07.at:29)

222. acls01.at:25: testing acls: basic functionality ...
./acls01.at:28:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


  file=$(TMPDIR=. mktemp fiXXXXXX)

  setfattr -n user.test -v test $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  getfattr $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi




  file=$(TMPDIR=. mktemp fiXXXXXX)

  setfacl -m u:$UID:rwx $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  getfacl $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi

  rm -rf $file

  file=$(TMPDIR=. mktemp fiXXXXXX)
  setfacl -m u:$UID:rwx $file
  err=$( tar --acls -cf /dev/null $file 2>&1 >/dev/null | wc -l )
  if test "$err" != "0"; then
    exit 77
  fi


mkdir dir
genfile --file dir/file

MYNAME=$( id -un )

setfacl -m u:$MYNAME:--x dir/file
setfacl -m u:$MYNAME:--x dir

getfattr -h -m. -d dir dir/file > before

tar --acls -cf archive.tar dir
rm -rf dir

tar --acls -xf archive.tar

getfattr -h -m. -d dir dir/file > after

diff before after
test "$?" = 0
)
222. acls01.at:25:  skipped (acls01.at:28)

223. acls02.at:25: testing acls: work with -C ...
./acls02.at:28:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


  file=$(TMPDIR=. mktemp fiXXXXXX)

  setfattr -n user.test -v test $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  getfattr $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi




  file=$(TMPDIR=. mktemp fiXXXXXX)

  setfacl -m u:$UID:rwx $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  getfacl $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi

  rm -rf $file

  file=$(TMPDIR=. mktemp fiXXXXXX)
  setfacl -m u:$UID:rwx $file
  err=$( tar --acls -cf /dev/null $file 2>&1 >/dev/null | wc -l )
  if test "$err" != "0"; then
    exit 77
  fi


mkdir dir
mkdir dir/subdir
genfile --file dir/subdir/file

MYNAME=$( id -un )

setfacl -m u:$MYNAME:--x dir/subdir
setfacl -m u:$MYNAME:--x dir/subdir/file

cd dir
getfattr -h -m. -d subdir subdir/file > ../before
cd ..

tar --acls -cf archive.tar -C dir subdir
rm -rf dir

mkdir dir
tar --acls -xf archive.tar -C dir

cd dir
getfattr -h -m. -d subdir subdir/file > ../after
cd ..

diff before after
test "$?" = 0
)
223. acls02.at:25:  skipped (acls02.at:28)

224. acls03.at:30: testing acls: default ACLs ...
./acls03.at:47:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


  file=$(TMPDIR=. mktemp fiXXXXXX)

  setfattr -n user.test -v test $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  getfattr $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi




  file=$(TMPDIR=. mktemp fiXXXXXX)

  setfacl -m u:$UID:rwx $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  getfacl $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi

  rm -rf $file

  file=$(TMPDIR=. mktemp fiXXXXXX)
  setfacl -m u:$UID:rwx $file
  err=$( tar --acls -cf /dev/null $file 2>&1 >/dev/null | wc -l )
  if test "$err" != "0"; then
    exit 77
  fi


test -z "`sort < /dev/null 2>&1`" || exit 77


MYNAME=$( id -un )
MYGROUP=$( id -gn )

# Prepare directory structure with default ACLs
mkdir -p pure/d1/d2
genfile --file pure/d1/f2a
genfile --file pure/d1/f2b
genfile --file pure/d1/d2/f3a
genfile --file pure/d1/d2/f3b
setfacl    -m g:$MYGROUP:r-x pure/d1
setfacl -d -m g:$MYGROUP:rwx pure/d1
setfacl -d -m u:$MYNAME:rwx  pure/d1
# "*a" files have "some" additional ACLs
setfacl    -m u:$MYNAME:--- pure/d1/d2/f3a
setfacl    -m u:$MYNAME:--- pure/d1/f2a

# use default format (no acls stored)
tar -cf noacl.tar -C pure d1

# use posix format, acls stored
tar --acls -cf acl.tar -C pure d1

# Directory names are chosen based on "how the files were extracted from
# archive".  Equivalent no* tags are used also:
#   ^sacl_    — extracted archive has stored ACLs
#   _def_     — target directory (-C) has default ACLs
#   _optacl$  — extraction was done with --acls option

mkdir sacl_def_optacl
mkdir sacl_def_optnoacl
mkdir sacl_nodef_optacl
mkdir sacl_nodef_optnoacl
mkdir nosacl_def_optacl
mkdir nosacl_def_optnoacl
mkdir nosacl_nodef_optacl
mkdir nosacl_nodef_optnoacl

setfacl -d -m u:$MYNAME:---  nosacl_def_optnoacl sacl_def_optnoacl sacl_def_optacl nosacl_def_optacl
setfacl -d -m g:$MYGROUP:--- nosacl_def_optnoacl sacl_def_optnoacl sacl_def_optacl nosacl_def_optacl

tar -xf acl.tar -C sacl_nodef_optnoacl
tar --acls -xf acl.tar -C sacl_nodef_optacl
tar -xf acl.tar -C sacl_def_optnoacl
tar --acls -xf acl.tar -C sacl_def_optacl
tar -xf noacl.tar -C nosacl_def_optnoacl
# _NO_ ACLs in output
tar -xf noacl.tar -C nosacl_nodef_optnoacl
tar -xf noacl.tar -C nosacl_nodef_optacl
tar -cf noacl_repackaged.tar -C nosacl_nodef_optnoacl d1
# _NO_ ACLs in output (even when default ACLs exist)
tar --acls -xf noacl_repackaged.tar -C nosacl_def_optacl


    cd pure
    pure="$(find d1 | sort | xargs -n 1 getfacl)"
    cd ..



    cd sacl_def_optacl
    sacl_def_optacl="$(find d1 | sort | xargs -n 1 getfacl)"
    cd ..


    cd sacl_def_optnoacl
    sacl_def_optnoacl="$(find d1 | sort | xargs -n 1 getfacl)"
    cd ..


    cd sacl_nodef_optacl
    sacl_nodef_optacl="$(find d1 | sort | xargs -n 1 getfacl)"
    cd ..


    cd sacl_nodef_optnoacl
    sacl_nodef_optnoacl="$(find d1 | sort | xargs -n 1 getfacl)"
    cd ..


    cd nosacl_def_optacl
    nosacl_def_optacl="$(find d1 | sort | xargs -n 1 getfacl)"
    cd ..


    cd nosacl_def_optnoacl
    nosacl_def_optnoacl="$(find d1 | sort | xargs -n 1 getfacl)"
    cd ..


    cd nosacl_nodef_optacl
    nosacl_nodef_optacl="$(find d1 | sort | xargs -n 1 getfacl)"
    cd ..


    cd nosacl_nodef_optnoacl
    nosacl_nodef_optnoacl="$(find d1 | sort | xargs -n 1 getfacl)"
    cd ..



    echo "$pure" > pure.log
    echo "$sacl_def_optacl" > sacl_def_optacl.log
    if test ! "$pure" "=" "$sacl_def_optacl"; then
        echo "bad 'pure' against 'sacl_def_optacl' output"
    fi



    echo "$sacl_def_optacl" > sacl_def_optacl.log
    echo "$sacl_nodef_optacl" > sacl_nodef_optacl.log
    if test ! "$sacl_def_optacl" "=" "$sacl_nodef_optacl"; then
        echo "bad 'sacl_def_optacl' against 'sacl_nodef_optacl' output"
    fi


    echo "$sacl_def_optnoacl" > sacl_def_optnoacl.log
    echo "$nosacl_def_optnoacl" > nosacl_def_optnoacl.log
    if test ! "$sacl_def_optnoacl" "=" "$nosacl_def_optnoacl"; then
        echo "bad 'sacl_def_optnoacl' against 'nosacl_def_optnoacl' output"
    fi


    echo "$sacl_nodef_optnoacl" > sacl_nodef_optnoacl.log
    echo "$nosacl_nodef_optnoacl" > nosacl_nodef_optnoacl.log
    if test ! "$sacl_nodef_optnoacl" "=" "$nosacl_nodef_optnoacl"; then
        echo "bad 'sacl_nodef_optnoacl' against 'nosacl_nodef_optnoacl' output"
    fi


    echo "$nosacl_def_optacl" > nosacl_def_optacl.log
    echo "$nosacl_nodef_optacl" > nosacl_nodef_optacl.log
    if test ! "$nosacl_def_optacl" "=" "$nosacl_nodef_optacl"; then
        echo "bad 'nosacl_def_optacl' against 'nosacl_nodef_optacl' output"
    fi


    echo "$nosacl_def_optacl" > nosacl_def_optacl.log
    echo "$nosacl_nodef_optnoacl" > nosacl_nodef_optnoacl.log
    if test ! "$nosacl_def_optacl" "=" "$nosacl_nodef_optnoacl"; then
        echo "bad 'nosacl_def_optacl' against 'nosacl_nodef_optnoacl' output"
    fi



    echo "$sacl_def_optacl" > sacl_def_optacl.log
    echo "$sacl_def_optnoacl" > sacl_def_optnoacl.log
    if test ! "$sacl_def_optacl" "!=" "$sacl_def_optnoacl"; then
        echo "bad 'sacl_def_optacl' against 'sacl_def_optnoacl' output"
    fi


    echo "$sacl_def_optacl" > sacl_def_optacl.log
    echo "$nosacl_def_optnoacl" > nosacl_def_optnoacl.log
    if test ! "$sacl_def_optacl" "!=" "$nosacl_def_optnoacl"; then
        echo "bad 'sacl_def_optacl' against 'nosacl_def_optnoacl' output"
    fi


    echo "$nosacl_def_optnoacl" > nosacl_def_optnoacl.log
    echo "$nosacl_nodef_optnoacl" > nosacl_nodef_optnoacl.log
    if test ! "$nosacl_def_optnoacl" "!=" "$nosacl_nodef_optnoacl"; then
        echo "bad 'nosacl_def_optnoacl' against 'nosacl_nodef_optnoacl' output"
    fi

)
224. acls03.at:30:  skipped (acls03.at:47)

225. selnx01.at:25: testing selinux: basic store/restore ...
./selnx01.at:28:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


  file=$(TMPDIR=. mktemp fiXXXXXX)

  setfattr -n user.test -v test $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  getfattr $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi




  file=$(TMPDIR=. mktemp fiXXXXXX)

  restorecon $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  chcon -h --user=unconfined_u $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi

  rm -rf $file

  file=$(TMPDIR=. mktemp fiXXXXXX)
  err=$( tar --selinux -cf /dev/null $file 2>&1 >/dev/null | wc -l )
  if test "$err" != "0"; then
    exit 77
  fi


mkdir dir
genfile --file dir/file
ln -s file dir/link

getfattr -h -d -msecurity.selinux dir dir/file dir/link > start

restorecon -R dir
chcon -h --user=system_u     dir
chcon -h --user=unconfined_u dir/file
chcon -h --user=system_u     dir/link

# archive whole directory including selinux contexts
tar --selinux -cf archive.tar dir

# clear the directory
rm -rf dir

# ================================================
# check if selinux contexts are correctly restored

tar --selinux -xf archive.tar

# archive for later debugging
cp archive.tar archive_origin.tar

# check if selinux contexts were restored
getfattr -h -d dir dir/file dir/link -msecurity.selinux | \
    grep -v -e '^#' -e ^$ | cut -d: -f1

# ===========================================================================
# check if selinux contexts are not restored when --selinux option is missing

getfattr -h -d -msecurity.selinux dir dir/file dir/link > with_selinux
rm -rf dir
tar -xf archive.tar
getfattr -h -d -msecurity.selinux dir dir/file dir/link > without_selinux

diff with_selinux without_selinux > diff_with_without
if test "$?" -eq "0"; then
    echo "selinux contexts probably restored while --selinux is off"
fi

# =================================================================
# check if selinux is not archived when --selinux option is missing

tar -cf archive.tar dir

# clear the directory
rm -rf dir

# restore (with --selinux)
tar --selinux -xf archive.tar dir

getfattr -h -d -msecurity.selinux dir dir/file dir/link > final
diff start final > final_diff
if test "$?" -ne "0"; then
    echo "bad result"
fi

)
--- -	2024-02-10 22:33:42.258841993 +0000
+++ /<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/at-groups/225/stdout	2024-02-10 22:33:42.253168946 +0000
@@ -1,4 +1 @@
-security.selinux="system_u
-security.selinux="unconfined_u
-security.selinux="system_u
 
225. selnx01.at:25:  skipped (selnx01.at:28)

226. selacl01.at:25: testing acls/selinux: special files & fifos ...
./selacl01.at:28:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 || exit 77


  file=$(TMPDIR=. mktemp fiXXXXXX)

  setfattr -n user.test -v test $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  getfattr $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi




  file=$(TMPDIR=. mktemp fiXXXXXX)

  restorecon $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  chcon -h --user=unconfined_u $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi

  rm -rf $file

  file=$(TMPDIR=. mktemp fiXXXXXX)
  err=$( tar --selinux -cf /dev/null $file 2>&1 >/dev/null | wc -l )
  if test "$err" != "0"; then
    exit 77
  fi



  file=$(TMPDIR=. mktemp fiXXXXXX)

  setfacl -m u:$UID:rwx $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  getfacl $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi

  rm -rf $file

  file=$(TMPDIR=. mktemp fiXXXXXX)
  setfacl -m u:$UID:rwx $file
  err=$( tar --acls -cf /dev/null $file 2>&1 >/dev/null | wc -l )
  if test "$err" != "0"; then
    exit 77
  fi


mkdir dir
mkfifo dir/fifo
MAJOR=$( stat /dev/urandom --printf="%t" )
MINOR=$( stat /dev/urandom --printf="%T" )
mknod dir/chartype c $MAJOR $MINOR

# setup attributes
restorecon -R dir
chcon -h --user=system_u dir/fifo
chcon -h --user=system_u dir/chartype
setfacl -m u:$UID:--- dir/fifo
setfacl -m u:$UID:rwx dir/chartype

getfacl dir/fifo >> before
getfattr -msecurity.selinux dir/chartype >> before

tar --xattrs --selinux --acls -cf archive.tar dir

mv dir olddir

tar --xattrs --selinux --acls -xf archive.tar

getfacl dir/fifo >> after
getfattr -msecurity.selinux dir/chartype >> after

diff before after
echo separator
)
--- -	2024-02-10 22:33:42.314280842 +0000
+++ /<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/at-groups/226/stdout	2024-02-10 22:33:42.309169602 +0000
@@ -1,2 +1 @@
-separator
 
226. selacl01.at:25:  skipped (selacl01.at:28)

227. capabs_raw01.at:25: testing capabilities: binary store/restore ...
./capabs_raw01.at:28:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 || exit 77



  file=$(TMPDIR=. mktemp fiXXXXXX)

  setfattr -n user.test -v test $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  getfattr $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  file=$(TMPDIR=. mktemp fiXXXXXX)
  setfattr -n user.test -v ahoj $file
  # check whether tar fails to store xattrs
  err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l )
  if test "$err" != "0"; then
    exit 77
  fi


  file=$(TMPDIR=. mktemp fiXXXXXX)

  setcap "= cap_chown=ei" $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


  getcap $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi

  rm -rf $file


mkdir dir
genfile --file dir/file

setcap "= cap_chown=ei" dir/file

# archive whole directory including binary xattrs
tar --xattrs -cf archive.tar dir

# clear the directory
rm -rf dir

# restore _all_ xattrs (not just the user.* domain)
tar --xattrs --xattrs-include='*' -xf archive.tar

# Newer systems print = instead of + here
getcap dir/file | sed 's/+/=/'
)
--- -	2024-02-10 22:33:42.365788826 +0000
+++ /<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/at-groups/227/stdout	2024-02-10 22:33:42.361170211 +0000
@@ -1,2 +1 @@
-dir/file = cap_chown=ei
 
227. capabs_raw01.at:25:  skipped (capabs_raw01.at:28)


One top level

228. onetop01.at:21: testing tar --one-top-level ...
./onetop01.at:24:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b
genfile --file c
tar cf a.tar a c
mkdir out
cd out
tar --one-top-level -x -f ../a.tar
find . | sort
)
./onetop01.at:24:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b
genfile --file c
tar cf a.tar a c
mkdir out
cd out
tar --one-top-level -x -f ../a.tar
find . | sort
)
./onetop01.at:24:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b
genfile --file c
tar cf a.tar a c
mkdir out
cd out
tar --one-top-level -x -f ../a.tar
find . | sort
)
./onetop01.at:24:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b
genfile --file c
tar cf a.tar a c
mkdir out
cd out
tar --one-top-level -x -f ../a.tar
find . | sort
)
./onetop01.at:24:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b
genfile --file c
tar cf a.tar a c
mkdir out
cd out
tar --one-top-level -x -f ../a.tar
find . | sort
)
228. onetop01.at:21:  ok

229. onetop02.at:21: testing tar --one-top-level --show-transformed ...
./onetop02.at:24:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b
genfile --file c
tar cf a.tar a c
mkdir out
cd out
tar --one-top-level --show-transformed  -v -x -f ../a.tar
find . | sort
)
./onetop02.at:24:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b
genfile --file c
tar cf a.tar a c
mkdir out
cd out
tar --one-top-level --show-transformed  -v -x -f ../a.tar
find . | sort
)
./onetop02.at:24:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b
genfile --file c
tar cf a.tar a c
mkdir out
cd out
tar --one-top-level --show-transformed  -v -x -f ../a.tar
find . | sort
)
./onetop02.at:24:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b
genfile --file c
tar cf a.tar a c
mkdir out
cd out
tar --one-top-level --show-transformed  -v -x -f ../a.tar
find . | sort
)
./onetop02.at:24:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b
genfile --file c
tar cf a.tar a c
mkdir out
cd out
tar --one-top-level --show-transformed  -v -x -f ../a.tar
find . | sort
)
229. onetop02.at:21:  ok

230. onetop03.at:21: testing tar --one-top-level --transform ...
./onetop03.at:24:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b
genfile --file c
tar cf a.tar a c
mkdir out
cd out
tar --one-top-level --transform 's/c/d/' -x -f ../a.tar
find . | sort
)
./onetop03.at:24:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b
genfile --file c
tar cf a.tar a c
mkdir out
cd out
tar --one-top-level --transform 's/c/d/' -x -f ../a.tar
find . | sort
)
./onetop03.at:24:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b
genfile --file c
tar cf a.tar a c
mkdir out
cd out
tar --one-top-level --transform 's/c/d/' -x -f ../a.tar
find . | sort
)
./onetop03.at:24:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b
genfile --file c
tar cf a.tar a c
mkdir out
cd out
tar --one-top-level --transform 's/c/d/' -x -f ../a.tar
find . | sort
)
./onetop03.at:24:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b
genfile --file c
tar cf a.tar a c
mkdir out
cd out
tar --one-top-level --transform 's/c/d/' -x -f ../a.tar
find . | sort
)
230. onetop03.at:21:  ok

231. onetop04.at:21: testing tar --one-top-level --transform ...
./onetop04.at:24:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b
genfile --file c
tar cf a.tar a c
tar -tf a.tar --one-top-level --transform 's/c/d/' --show-transformed | sort
)
./onetop04.at:24:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b
genfile --file c
tar cf a.tar a c
tar -tf a.tar --one-top-level --transform 's/c/d/' --show-transformed | sort
)
./onetop04.at:24:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b
genfile --file c
tar cf a.tar a c
tar -tf a.tar --one-top-level --transform 's/c/d/' --show-transformed | sort
)
./onetop04.at:24:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b
genfile --file c
tar cf a.tar a c
tar -tf a.tar --one-top-level --transform 's/c/d/' --show-transformed | sort
)
./onetop04.at:24:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir a
genfile --file a/b
genfile --file c
tar cf a.tar a c
tar -tf a.tar --one-top-level --transform 's/c/d/' --show-transformed | sort
)
231. onetop04.at:21:  ok

232. onetop05.at:21: testing tar --one-top-level restoring permissions ...
./onetop05.at:28:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

orig_mode=3702
mkdir d
chmod $orig_mode d

mode=$(genfile --stat=mode.7777 d)
test $mode = $orig_mode || exit 77

genfile --file d/file
tar -cf d.tar -C d .
rm -rf d

(mkdir d1
chmod 700 d1
cd d1
tar --one-top-level=top -xpf ../d.tar)
mode=$(genfile --stat=mode.777 d1)
if test 700 = $mode; then
    echo "CWD: OK"
else
    echo "CWD: mode changed: 700 != $mode"
fi

mkdir d2
chmod 700 d2
tar -C d2 --one-top-level=top -xpf d.tar
mode=$(genfile --stat=mode.777 d2)
if test 700 = $mode; then
    echo "DIR: OK"
else
    echo "DIR: mode changed: 700 != $mode"
fi
mode=$(genfile --stat=mode.7777 d2/top)
if test $mode = $orig_mode; then
    echo "TOP: OK"
else
    echo "TOP: mode changed: $orig_mode != $mode"
fi
)
./onetop05.at:28:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

orig_mode=3702
mkdir d
chmod $orig_mode d

mode=$(genfile --stat=mode.7777 d)
test $mode = $orig_mode || exit 77

genfile --file d/file
tar -cf d.tar -C d .
rm -rf d

(mkdir d1
chmod 700 d1
cd d1
tar --one-top-level=top -xpf ../d.tar)
mode=$(genfile --stat=mode.777 d1)
if test 700 = $mode; then
    echo "CWD: OK"
else
    echo "CWD: mode changed: 700 != $mode"
fi

mkdir d2
chmod 700 d2
tar -C d2 --one-top-level=top -xpf d.tar
mode=$(genfile --stat=mode.777 d2)
if test 700 = $mode; then
    echo "DIR: OK"
else
    echo "DIR: mode changed: 700 != $mode"
fi
mode=$(genfile --stat=mode.7777 d2/top)
if test $mode = $orig_mode; then
    echo "TOP: OK"
else
    echo "TOP: mode changed: $orig_mode != $mode"
fi
)
./onetop05.at:28:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

orig_mode=3702
mkdir d
chmod $orig_mode d

mode=$(genfile --stat=mode.7777 d)
test $mode = $orig_mode || exit 77

genfile --file d/file
tar -cf d.tar -C d .
rm -rf d

(mkdir d1
chmod 700 d1
cd d1
tar --one-top-level=top -xpf ../d.tar)
mode=$(genfile --stat=mode.777 d1)
if test 700 = $mode; then
    echo "CWD: OK"
else
    echo "CWD: mode changed: 700 != $mode"
fi

mkdir d2
chmod 700 d2
tar -C d2 --one-top-level=top -xpf d.tar
mode=$(genfile --stat=mode.777 d2)
if test 700 = $mode; then
    echo "DIR: OK"
else
    echo "DIR: mode changed: 700 != $mode"
fi
mode=$(genfile --stat=mode.7777 d2/top)
if test $mode = $orig_mode; then
    echo "TOP: OK"
else
    echo "TOP: mode changed: $orig_mode != $mode"
fi
)
./onetop05.at:28:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

orig_mode=3702
mkdir d
chmod $orig_mode d

mode=$(genfile --stat=mode.7777 d)
test $mode = $orig_mode || exit 77

genfile --file d/file
tar -cf d.tar -C d .
rm -rf d

(mkdir d1
chmod 700 d1
cd d1
tar --one-top-level=top -xpf ../d.tar)
mode=$(genfile --stat=mode.777 d1)
if test 700 = $mode; then
    echo "CWD: OK"
else
    echo "CWD: mode changed: 700 != $mode"
fi

mkdir d2
chmod 700 d2
tar -C d2 --one-top-level=top -xpf d.tar
mode=$(genfile --stat=mode.777 d2)
if test 700 = $mode; then
    echo "DIR: OK"
else
    echo "DIR: mode changed: 700 != $mode"
fi
mode=$(genfile --stat=mode.7777 d2/top)
if test $mode = $orig_mode; then
    echo "TOP: OK"
else
    echo "TOP: mode changed: $orig_mode != $mode"
fi
)
./onetop05.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

orig_mode=3702
mkdir d
chmod $orig_mode d

mode=$(genfile --stat=mode.7777 d)
test $mode = $orig_mode || exit 77

genfile --file d/file
tar -cf d.tar -C d .
rm -rf d

(mkdir d1
chmod 700 d1
cd d1
tar --one-top-level=top -xpf ../d.tar)
mode=$(genfile --stat=mode.777 d1)
if test 700 = $mode; then
    echo "CWD: OK"
else
    echo "CWD: mode changed: 700 != $mode"
fi

mkdir d2
chmod 700 d2
tar -C d2 --one-top-level=top -xpf d.tar
mode=$(genfile --stat=mode.777 d2)
if test 700 = $mode; then
    echo "DIR: OK"
else
    echo "DIR: mode changed: 700 != $mode"
fi
mode=$(genfile --stat=mode.7777 d2/top)
if test $mode = $orig_mode; then
    echo "TOP: OK"
else
    echo "TOP: mode changed: $orig_mode != $mode"
fi
)
232. onetop05.at:21:  ok


Star tests

233. gtarfail.at:21: testing gtarfail ...
./gtarfail.at:26:

test -z "$STAR_TESTSCRIPTS" && exit 77
tarball_prereq gtarfail.tar bf7612e401aaa679edbb07ae1183811b $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77


tar --utc -tvf $STAR_TESTSCRIPTS/gtarfail.tar

--- -	2024-02-10 22:33:43.419776592 +0000
+++ /<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/at-groups/233/stdout	2024-02-10 22:33:43.413182535 +0000
@@ -1,7 +1 @@
--rw-r--r-- jes/glone       518 2001-05-25 14:41 vedpowered.gif
--rw-r--r-- jes/glone      6825 1997-04-29 00:19 cd.gif
--rw-r--r-- jes/glone     33354 1999-06-22 12:17 DSCN0049c.JPG
--rw-r--r-- jes/glone     86159 2001-06-05 18:16 Window1.jpg
--rw-r--r-- jes/glone      1310 2001-05-25 13:05 vipower.gif
--rw-rw-rw- jes/glone    148753 1998-09-15 13:08 billyboy.jpg
 
233. gtarfail.at:21:  skipped (gtarfail.at:26)

234. gtarfail2.at:21: testing gtarfail2 ...
./gtarfail2.at:26:

test -z "$STAR_TESTSCRIPTS" && exit 77
tarball_prereq gtarfail2.tar 6b607d1faec14b82f69525d9c5b66e53 $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77

tar --utc -tvf $STAR_TESTSCRIPTS/gtarfail2.tar

--- -	2024-02-10 22:33:43.460344527 +0000
+++ /<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/at-groups/234/stdout	2024-02-10 22:33:43.457183050 +0000
@@ -1,11 +1 @@
--rwxr-xr-x jes/glone       214 2001-09-21 14:08 .clean
-lrwxrwxrwx jes/cats          0 1998-05-07 12:39 RULES -> makefiles/RULES
-drwxr-sr-x jes/glone         0 2001-12-10 00:00 build/
--rw-r--r-- jes/glone    312019 2001-12-10 00:00 build/smake-1.2.tar.gz
-drwxr-sr-x jes/glone         0 2001-11-09 18:20 build/psmake/
--rwxr-xr-x jes/glone       259 2000-01-09 16:36 build/psmake/MAKE
--rwxr-xr-x jes/glone      4820 2001-02-25 22:45 build/psmake/MAKE.sh
--rw-r--r-- jes/glone       647 2001-02-25 23:50 build/psmake/Makefile
-lrwxrwxrwx jes/glone         0 2001-08-29 10:53 build/psmake/archconf.c -> ../archconf.c
-lrwxrwxrwx jes/glone         0 2001-08-29 10:54 build/psmake/astoi.c -> ../../lib/astoi.c
 
234. gtarfail2.at:21:  skipped (gtarfail2.at:26)

235. multi-fail.at:21: testing multi-fail ...
./multi-fail.at:26:

test -z "$STAR_TESTSCRIPTS" && exit 77
tarball_prereq gnu-multi-fail-volume1.gtar 7c28663dd98b0bd91ceb4be7af55254e $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77


test -z "$STAR_TESTSCRIPTS" && exit 77
tarball_prereq gnu-multi-fail-volume2.gtar b5d41c4c3ec440687d4a44957b5079a8 $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77


tar --utc -tvM -f $STAR_TESTSCRIPTS/gnu-multi-fail-volume1.gtar \
               -f $STAR_TESTSCRIPTS/gnu-multi-fail-volume2.gtar <&-

--- -	2024-02-10 22:33:43.501571690 +0000
+++ /<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/at-groups/235/stdout	2024-02-10 22:33:43.497183519 +0000
@@ -1,53 +1 @@
-drwxrwsr-x joerg/bs          0 2003-10-11 14:32 OBJ/i386-sunos5-gcc/
--rw-r--r-- joerg/bs          1 2003-10-11 14:32 OBJ/i386-sunos5-gcc/Dnull
--rw-r--r-- joerg/bs       1743 2003-10-10 18:06 OBJ/i386-sunos5-gcc/star.d
--rw-r--r-- joerg/bs       1460 2003-10-11 11:53 OBJ/i386-sunos5-gcc/header.d
--rw-r--r-- joerg/bs       1540 2003-10-10 18:06 OBJ/i386-sunos5-gcc/cpiohdr.d
--rw-r--r-- joerg/bs       2245 2003-10-10 18:06 OBJ/i386-sunos5-gcc/xheader.d
--rw-r--r-- joerg/bs       1254 2003-10-10 18:06 OBJ/i386-sunos5-gcc/xattr.d
--rw-r--r-- joerg/bs       1330 2003-10-10 18:06 OBJ/i386-sunos5-gcc/list.d
--rw-r--r-- joerg/bs       1745 2003-10-10 18:06 OBJ/i386-sunos5-gcc/extract.d
--rw-r--r-- joerg/bs       1518 2003-10-10 18:06 OBJ/i386-sunos5-gcc/create.d
--rw-r--r-- joerg/bs       1235 2003-10-10 18:06 OBJ/i386-sunos5-gcc/append.d
--rw-r--r-- joerg/bs       1368 2003-10-10 18:06 OBJ/i386-sunos5-gcc/diff.d
--rw-r--r-- joerg/bs       1423 2003-10-10 18:06 OBJ/i386-sunos5-gcc/remove.d
--rw-r--r-- joerg/bs       1493 2003-10-10 18:07 OBJ/i386-sunos5-gcc/star_unix.d
--rw-r--r-- joerg/bs       1572 2003-10-10 18:07 OBJ/i386-sunos5-gcc/acl_unix.d
--rw-r--r-- joerg/bs       1453 2003-10-10 18:07 OBJ/i386-sunos5-gcc/fflags.d
--rw-r--r-- joerg/bs       2257 2003-10-11 14:32 OBJ/i386-sunos5-gcc/buffer.d
--rw-r--r-- joerg/bs        969 2003-10-07 17:53 OBJ/i386-sunos5-gcc/dirtime.d
--rw-r--r-- joerg/bs       1308 2003-10-10 18:07 OBJ/i386-sunos5-gcc/lhash.d
--rw-r--r-- joerg/bs       1287 2003-10-10 18:07 OBJ/i386-sunos5-gcc/hole.d
--rw-r--r-- joerg/bs       1105 2003-10-10 18:07 OBJ/i386-sunos5-gcc/longnames.d
--rw-r--r-- joerg/bs       1230 2003-10-10 18:07 OBJ/i386-sunos5-gcc/names.d
--rw-r--r-- joerg/bs       1091 2003-10-10 18:07 OBJ/i386-sunos5-gcc/movearch.d
--rw-r--r-- joerg/bs        961 2003-10-07 17:53 OBJ/i386-sunos5-gcc/table.d
--rw-r--r-- joerg/bs       1113 2003-10-10 18:07 OBJ/i386-sunos5-gcc/props.d
--rw-r--r-- joerg/bs       2146 2003-10-10 18:07 OBJ/i386-sunos5-gcc/fetchdir.d
--rw-r--r-- joerg/bs       1093 2003-10-10 18:07 OBJ/i386-sunos5-gcc/unicode.d
--rw-r--r-- joerg/bs       1211 2003-10-10 18:07 OBJ/i386-sunos5-gcc/subst.d
--rw-r--r-- joerg/bs       2076 2003-10-11 11:53 OBJ/i386-sunos5-gcc/volhdr.d
--rw-r--r-- joerg/bs       1480 2003-10-10 18:07 OBJ/i386-sunos5-gcc/chdir.d
--rw-r--r-- joerg/bs      42460 2003-10-10 18:07 OBJ/i386-sunos5-gcc/star.o
--rw-r--r-- joerg/bs      22564 2003-10-11 11:53 OBJ/i386-sunos5-gcc/header.o
--rw-r--r-- joerg/bs       7880 2003-10-10 18:07 OBJ/i386-sunos5-gcc/cpiohdr.o
--rw-r--r-- joerg/bs      14624 2003-10-10 18:07 OBJ/i386-sunos5-gcc/xheader.o
--rw-r--r-- joerg/bs        924 2003-10-10 18:07 OBJ/i386-sunos5-gcc/xattr.o
--rw-r--r-- joerg/bs       6120 2003-10-10 18:07 OBJ/i386-sunos5-gcc/list.o
--rw-r--r-- joerg/bs      12764 2003-10-10 18:07 OBJ/i386-sunos5-gcc/extract.o
--rw-r--r-- joerg/bs      14668 2003-10-10 18:07 OBJ/i386-sunos5-gcc/create.o
--rw-r--r-- joerg/bs       2576 2003-10-10 18:07 OBJ/i386-sunos5-gcc/append.o
--rw-r--r-- joerg/bs       7636 2003-10-10 18:07 OBJ/i386-sunos5-gcc/diff.o
--rw-r--r-- joerg/bs       3072 2003-10-10 18:07 OBJ/i386-sunos5-gcc/remove.o
--rw-r--r-- joerg/bs       5612 2003-10-10 18:07 OBJ/i386-sunos5-gcc/star_unix.o
--rw-r--r-- joerg/bs       6220 2003-10-10 18:07 OBJ/i386-sunos5-gcc/acl_unix.o
--rw-r--r-- joerg/bs       1092 2003-10-10 18:07 OBJ/i386-sunos5-gcc/fflags.o
--rw-r--r-- joerg/bs      20996 2003-10-11 14:32 OBJ/i386-sunos5-gcc/buffer.o
--rw-r--r-- joerg/bs       2060 2003-10-07 17:53 OBJ/i386-sunos5-gcc/dirtime.o
--rw-r--r-- joerg/bs       1664 2003-10-10 18:07 OBJ/i386-sunos5-gcc/lhash.o
--rw-r--r-- joerg/bs      10564 2003-10-10 18:07 OBJ/i386-sunos5-gcc/hole.o
--rw-r--r-- joerg/bs       3864 2003-10-10 18:07 OBJ/i386-sunos5-gcc/longnames.o
--rw-r--r-- joerg/bs       2576 2003-10-10 18:07 OBJ/i386-sunos5-gcc/names.o
--rw-r--r-- joerg/bs        952 2003-10-10 18:07 OBJ/i386-sunos5-gcc/movearch.o
--rw-r--r-- joerg/bs       2756 2003-10-07 17:53 OBJ/i386-sunos5-gcc/table.o
 
235. multi-fail.at:21:  skipped (multi-fail.at:26)

236. ustar-big-2g.at:21: testing ustar-big-2g ...
./ustar-big-2g.at:26:
test "${TARTEST_SKIP_LARGE_FILES:-0}" != 0 && exit 77

cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77


test -z "$STAR_TESTSCRIPTS" && exit 77
tarball_prereq ustar-big-2g.tar.bz2 b63979733629c8fcdf40b60065422767 $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77


tar --utc -tvjf $STAR_TESTSCRIPTS/ustar-big-2g.tar.bz2

stderr:
--- -	2024-02-10 22:33:43.546942461 +0000
+++ /<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/at-groups/236/stdout	2024-02-10 22:33:43.541184034 +0000
@@ -1,3 +1 @@
--rw------- jes/glone 2147483647 2002-06-15 14:53 big
--rw-r--r-- jes/glone          0 2002-06-15 14:53 file
 
236. ustar-big-2g.at:21:  skipped (ustar-big-2g.at:26)

237. ustar-big-8g.at:21: testing ustar-big-8g ...
./ustar-big-8g.at:26:
test "${TARTEST_SKIP_LARGE_FILES:-0}" != 0 && exit 77

cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77


test -z "$STAR_TESTSCRIPTS" && exit 77
tarball_prereq ustar-big-8g.tar.bz2 60ff503fa4b8288bef7ada89e9c91b0f $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77


tar --utc -tvjf $STAR_TESTSCRIPTS/ustar-big-8g.tar.bz2

stderr:
--- -	2024-02-10 22:33:43.592244852 +0000
+++ /<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/at-groups/237/stdout	2024-02-10 22:33:43.589184596 +0000
@@ -1,3 +1 @@
--rw------- jes/glone 8589934591 2002-06-15 15:08 8gb-1
--rw-r--r-- jes/glone          0 2002-06-15 14:53 file
 
237. ustar-big-8g.at:21:  skipped (ustar-big-8g.at:26)

238. pax-big-10g.at:21: testing pax-big-10g ...
./pax-big-10g.at:26:
test "${TARTEST_SKIP_LARGE_FILES:-0}" != 0 && exit 77

cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77


test -z "$STAR_TESTSCRIPTS" && exit 77
tarball_prereq pax-big-10g.tar.bz2 ca15c23acc8d8bb1f27e60113a5f8bff $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77


tar --utc -tvjf $STAR_TESTSCRIPTS/pax-big-10g.tar.bz2

stderr:
--- -	2024-02-10 22:33:43.636897435 +0000
+++ /<<BUILDDIR>>/tar-1.34+dfsg/tests/testsuite.dir/at-groups/238/stdout	2024-02-10 22:33:43.633185112 +0000
@@ -1,3 +1 @@
--rw------- jes/glone 10737418240 2002-06-15 21:18 10g
--rw-r--r-- jes/glone           0 2002-06-15 14:53 file
 
238. pax-big-10g.at:21:  skipped (pax-big-10g.at:26)

## ------------- ##
## Test results. ##
## ------------- ##

212 tests were successful.
26 tests were skipped.
make[3]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/tests'
make[2]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/tests'
make[2]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg'
make[2]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg'
make[1]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg'
touch build-stamp
 fakeroot debian/rules binary-arch
dh_testdir
dh_testroot
dh_prep
dh_installdirs
make install bindir=`pwd`/debian/tar/bin prefix=`pwd`/debian/tar/usr \
	libexecdir=`pwd`/debian/tar/usr/sbin
make[1]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
make[1]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg'
Making install in doc
make[2]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/doc'
make[2]: Nothing to be done for 'install'.
make[2]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/doc'
Making install in gnu
make[2]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/gnu'
make  install-recursive
make[3]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/gnu'
make[4]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/gnu'
make[5]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/gnu'
make[5]: Nothing to be done for 'install-exec-am'.
make[5]: Nothing to be done for 'install-data-am'.
make[5]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/gnu'
make[4]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/gnu'
make[3]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/gnu'
make[2]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/gnu'
Making install in lib
make[2]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/lib'
make  install-am
make[3]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/lib'
make[4]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/lib'
make[4]: Nothing to be done for 'install-exec-am'.
make[4]: Nothing to be done for 'install-data-am'.
make[4]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/lib'
make[3]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/lib'
make[2]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/lib'
Making install in rmt
make[2]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/rmt'
make[3]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/rmt'
make[3]: Nothing to be done for 'install-exec-am'.
 /bin/mkdir -p '/<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/sbin'
  /usr/bin/install -c rmt '/<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/sbin'
make[3]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/rmt'
make[2]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/rmt'
Making install in src
make[2]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/src'
make[3]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/src'
 /bin/mkdir -p '/<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/bin'
  /usr/bin/install -c tar '/<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/bin'
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/src'
make[2]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/src'
Making install in scripts
make[2]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/scripts'
make[3]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/scripts'
 /bin/mkdir -p '/<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/sbin'
 /usr/bin/install -c backup.sh dump-remind '/<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/sbin'
 /bin/mkdir -p '/<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/sbin'
 /usr/bin/install -c backup restore '/<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/sbin'
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/scripts'
make[2]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/scripts'
Making install in po
make[2]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/po'
/bin/mkdir -p /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share
installing bg.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/bg/LC_MESSAGES/tar.mo
installing ca.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/ca/LC_MESSAGES/tar.mo
installing cs.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/cs/LC_MESSAGES/tar.mo
installing da.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/da/LC_MESSAGES/tar.mo
installing de.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/de/LC_MESSAGES/tar.mo
installing el.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/el/LC_MESSAGES/tar.mo
installing eo.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/eo/LC_MESSAGES/tar.mo
installing es.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/es/LC_MESSAGES/tar.mo
installing et.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/et/LC_MESSAGES/tar.mo
installing eu.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/eu/LC_MESSAGES/tar.mo
installing fi.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/fi/LC_MESSAGES/tar.mo
installing fr.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/fr/LC_MESSAGES/tar.mo
installing ga.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/ga/LC_MESSAGES/tar.mo
installing gl.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/gl/LC_MESSAGES/tar.mo
installing hr.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/hr/LC_MESSAGES/tar.mo
installing hu.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/hu/LC_MESSAGES/tar.mo
installing id.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/id/LC_MESSAGES/tar.mo
installing it.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/it/LC_MESSAGES/tar.mo
installing ja.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/ja/LC_MESSAGES/tar.mo
installing ko.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/ko/LC_MESSAGES/tar.mo
installing ky.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/ky/LC_MESSAGES/tar.mo
installing ms.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/ms/LC_MESSAGES/tar.mo
installing nb.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/nb/LC_MESSAGES/tar.mo
installing nl.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/nl/LC_MESSAGES/tar.mo
installing pl.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/pl/LC_MESSAGES/tar.mo
installing pt.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/pt/LC_MESSAGES/tar.mo
installing pt_BR.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/pt_BR/LC_MESSAGES/tar.mo
installing ro.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/ro/LC_MESSAGES/tar.mo
installing ru.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/ru/LC_MESSAGES/tar.mo
installing sk.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/sk/LC_MESSAGES/tar.mo
installing sl.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/sl/LC_MESSAGES/tar.mo
installing sr.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/sr/LC_MESSAGES/tar.mo
installing sv.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/sv/LC_MESSAGES/tar.mo
installing tr.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/tr/LC_MESSAGES/tar.mo
installing uk.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/uk/LC_MESSAGES/tar.mo
installing vi.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/vi/LC_MESSAGES/tar.mo
installing zh_CN.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/zh_CN/LC_MESSAGES/tar.mo
installing zh_TW.gmo as /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/locale/zh_TW/LC_MESSAGES/tar.mo
if test "tar" = "gettext-tools"; then \
  /bin/mkdir -p /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/gettext/po; \
  for file in Makefile.in.in remove-potcdate.sin quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot   Makevars.template; do \
    /usr/bin/install -c -m 644 ./$file \
		    /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/gettext/po/$file; \
  done; \
  for file in Makevars; do \
    rm -f /<<BUILDDIR>>/tar-1.34+dfsg/debian/tar/usr/share/gettext/po/$file; \
  done; \
else \
  : ; \
fi
make[2]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/po'
Making install in tests
make[2]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/tests'
make[3]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg/tests'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/tests'
make[2]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg/tests'
make[2]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg'
make[3]: Entering directory '/<<BUILDDIR>>/tar-1.34+dfsg'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg'
make[2]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg'
make[1]: Leaving directory '/<<BUILDDIR>>/tar-1.34+dfsg'
mv debian/tar/usr/sbin/rmt debian/tar/usr/sbin/rmt-tar
ln -s /usr/sbin/rmt debian/tar/etc/rmt
install -m 755 debian/tarcat debian/tar/usr/sbin/tarcat
mv debian/tar/usr/sbin/backup debian/tar-scripts/usr/sbin/tar-backup
mv debian/tar/usr/sbin/restore debian/tar-scripts/usr/sbin/tar-restore
mv debian/tar/usr/sbin/backup.sh debian/tar-scripts/usr/sbin/
mv debian/tar/usr/sbin/dump-remind debian/tar-scripts/usr/sbin/
dh_testdir
dh_testroot
dh_installdocs
mv -f debian/tar/usr/share/doc/tar/ChangeLog \
	debian/tar/usr/share/doc/tar/changelog
mv -f debian/tar/usr/share/doc/tar/ChangeLog.1 \
	debian/tar/usr/share/doc/tar/changelog.1
dh_installexamples
dh_installmenu
dh_installcron
dh_installman doc/tar.1 doc/rmt.8 debian/tarcat.1
mv debian/tar/usr/share/man/man8/rmt.8 \
   debian/tar/usr/share/man/man8/rmt-tar.8
dh_installinfo
rm -f debian/tar/usr/share/info/dir*
dh_installmime
dh_installchangelogs #CHANGELOGS#
dh_link
dh_strip
dh_compress
dh_fixperms
dh_installdeb
dh_shlibdeps
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/tar/usr/sbin/rmt-tar debian/tar/bin/tar were not linked against ld-linux-armhf.so.3 (they use none of the library's symbols)
dh_gencontrol
dpkg-gencontrol: warning: Depends field of package tar-scripts: substitution variable ${shlibs:Depends} used, but is not defined
dh_md5sums
dh_builddeb
dpkg-deb: building package 'tar-dbgsym' in '../tar-dbgsym_1.34+dfsg-1+deb11u1_armhf.deb'.
dpkg-deb: building package 'tar' in '../tar_1.34+dfsg-1+deb11u1_armhf.deb'.
dpkg-deb: building package 'tar-scripts' in '../tar-scripts_1.34+dfsg-1+deb11u1_armhf.deb'.
 dpkg-genbuildinfo --build=any
 dpkg-genchanges --build=any -mRaspbian mythic lxc autobuilder 1 <root@raspbian.org> >../tar_1.34+dfsg-1+deb11u1_armhf.changes
dpkg-genchanges: info: binary-only arch-specific upload (source code and arch-indep packages not included)
 dpkg-source --after-build .
dpkg-buildpackage: info: binary-only upload (no source included)
--------------------------------------------------------------------------------
Build finished at 2024-02-10T22:33:54Z

Finished
--------

I: Built successfully

+------------------------------------------------------------------------------+
| Post Build Chroot                                                            |
+------------------------------------------------------------------------------+


+------------------------------------------------------------------------------+
| Changes                                                                      |
+------------------------------------------------------------------------------+


tar_1.34+dfsg-1+deb11u1_armhf.changes:
--------------------------------------

Format: 1.8
Date: Sat, 20 Jan 2024 10:59:10 +0100
Source: tar
Binary: tar tar-dbgsym tar-scripts
Architecture: armhf
Version: 1.34+dfsg-1+deb11u1
Distribution: bullseye-staging
Urgency: medium
Maintainer: Raspbian mythic lxc autobuilder 1 <root@raspbian.org>
Changed-By: Salvatore Bonaccorso <carnil@debian.org>
Description:
 tar        - GNU version of the tar archiving utility
 tar-scripts - optional scripts for GNU version of the tar archiving utility
Closes: 1058079
Changes:
 tar (1.34+dfsg-1+deb11u1) bullseye; urgency=medium
 .
   * Non-maintainer upload.
   * Fix boundary checking in base-256 decoder (CVE-2022-48303)
   * Fix handling of extended header prefixes (CVE-2023-39804)
     (Closes: #1058079)
Checksums-Sha1:
 917dae9b00fcc6c7bd2a7c0558229a3f61b5cb09 812432 tar-dbgsym_1.34+dfsg-1+deb11u1_armhf.deb
 aff4cf314a6299b8ed357dd2359218906907a3ee 179304 tar-scripts_1.34+dfsg-1+deb11u1_armhf.deb
 164361e73d47b34787cdf65f9705006d82129320 5542 tar_1.34+dfsg-1+deb11u1_armhf.buildinfo
 a137ea2df24816917817437174da33cc7e29e7b3 799820 tar_1.34+dfsg-1+deb11u1_armhf.deb
Checksums-Sha256:
 d564dd06f0be6417443ec7890823dab9bc1f8d0af7ec1f1f8e93d081f0f5a026 812432 tar-dbgsym_1.34+dfsg-1+deb11u1_armhf.deb
 e47b95d53c541c34a75fe32407568a1834ca76095b616085d8e7565c12589e84 179304 tar-scripts_1.34+dfsg-1+deb11u1_armhf.deb
 3774a1aff9da972698c095bf095d36cd427c37ec634fb40c7a1c5e4b357aae22 5542 tar_1.34+dfsg-1+deb11u1_armhf.buildinfo
 abf3fbb8b108c000f32d71ad750ea66d7ed90e3bfaf3b1b245759f2dcf4561ea 799820 tar_1.34+dfsg-1+deb11u1_armhf.deb
Files:
 e0f169b7bbfc0c7ed6f7ab968b30c4ff 812432 debug optional tar-dbgsym_1.34+dfsg-1+deb11u1_armhf.deb
 a96d9a139133b42c01fcd8d118c22f5b 179304 utils optional tar-scripts_1.34+dfsg-1+deb11u1_armhf.deb
 de15fa3bf1027000a074fb3112b89f3b 5542 utils required tar_1.34+dfsg-1+deb11u1_armhf.buildinfo
 a8a7fd1ed8debdfcade16990a049dd09 799820 utils required tar_1.34+dfsg-1+deb11u1_armhf.deb

+------------------------------------------------------------------------------+
| Package contents                                                             |
+------------------------------------------------------------------------------+


tar-dbgsym_1.34+dfsg-1+deb11u1_armhf.deb
----------------------------------------

 new Debian package, version 2.0.
 size 812432 bytes: control archive=580 bytes.
     377 bytes,    12 lines      control              
     212 bytes,     2 lines      md5sums              
 Package: tar-dbgsym
 Source: tar
 Version: 1.34+dfsg-1+deb11u1
 Auto-Built-Package: debug-symbols
 Architecture: armhf
 Maintainer: Janos Lenart <ocsi@debian.org>
 Installed-Size: 875
 Depends: tar (= 1.34+dfsg-1+deb11u1)
 Section: debug
 Priority: optional
 Description: debug symbols for tar
 Build-Ids: c6807bf2e37c55451bdae5130d0456133df1a7b6 f0ef570ed5f6f79f272ec2ebdf00a4e63194f069

drwxr-xr-x root/root         0 2024-01-20 09:59 ./
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/lib/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/lib/debug/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/lib/debug/.build-id/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/lib/debug/.build-id/c6/
-rw-r--r-- root/root     90524 2024-01-20 09:59 ./usr/lib/debug/.build-id/c6/807bf2e37c55451bdae5130d0456133df1a7b6.debug
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/lib/debug/.build-id/f0/
-rw-r--r-- root/root    793328 2024-01-20 09:59 ./usr/lib/debug/.build-id/f0/ef570ed5f6f79f272ec2ebdf00a4e63194f069.debug
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/doc/
lrwxrwxrwx root/root         0 2024-01-20 09:59 ./usr/share/doc/tar-dbgsym -> tar


tar-scripts_1.34+dfsg-1+deb11u1_armhf.deb
-----------------------------------------

 new Debian package, version 2.0.
 size 179304 bytes: control archive=820 bytes.
     527 bytes,    15 lines      control              
     440 bytes,     7 lines      md5sums              
 Package: tar-scripts
 Source: tar
 Version: 1.34+dfsg-1+deb11u1
 Architecture: armhf
 Maintainer: Janos Lenart <ocsi@debian.org>
 Installed-Size: 201
 Depends: tar (>= 1.26+dfsg-9)
 Conflicts: dump, openafs-client, tar (<< 1.26+dfsg-9)
 Section: utils
 Priority: optional
 Multi-Arch: foreign
 Homepage: https://www.gnu.org/software/tar/
 Description: optional scripts for GNU version of the tar archiving utility
  This package provides the backup, restore, backup.sh, and dump-remind
  scripts that are mentioned in the tar documentation.

drwxr-xr-x root/root         0 2024-01-20 09:59 ./
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/sbin/
-rwxr-xr-x root/root      8194 2024-01-20 09:59 ./usr/sbin/backup.sh
-rwxr-xr-x root/root      3853 2024-01-20 09:59 ./usr/sbin/dump-remind
-rwxr-xr-x root/root      7336 2024-01-20 09:59 ./usr/sbin/tar-backup
-rwxr-xr-x root/root      5994 2024-01-20 09:59 ./usr/sbin/tar-restore
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/doc/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/doc/tar-scripts/
-rw-r--r-- root/root     12144 2024-01-20 09:59 ./usr/share/doc/tar-scripts/changelog.Debian.gz
-rw-r--r-- root/root    156356 2021-02-17 09:53 ./usr/share/doc/tar-scripts/changelog.gz
-rw-r--r-- root/root      1488 2024-01-20 09:59 ./usr/share/doc/tar-scripts/copyright


tar_1.34+dfsg-1+deb11u1_armhf.deb
---------------------------------

 new Debian package, version 2.0.
 size 799820 bytes: control archive=2340 bytes.
     849 bytes,    21 lines      control              
    3693 bytes,    53 lines      md5sums              
     270 bytes,    14 lines   *  postinst             #!/bin/sh
     231 bytes,    16 lines   *  prerm                #!/bin/sh
 Package: tar
 Version: 1.34+dfsg-1+deb11u1
 Architecture: armhf
 Essential: yes
 Maintainer: Janos Lenart <ocsi@debian.org>
 Installed-Size: 3040
 Pre-Depends: libacl1 (>= 2.2.23), libc6 (>= 2.28), libselinux1 (>= 3.1~)
 Suggests: bzip2, ncompress, xz-utils, tar-scripts, tar-doc
 Conflicts: cpio (<= 2.4.2-38)
 Breaks: dpkg-dev (<< 1.14.26)
 Replaces: cpio (<< 2.4.2-39)
 Section: utils
 Priority: required
 Multi-Arch: foreign
 Homepage: https://www.gnu.org/software/tar/
 Description: GNU version of the tar archiving utility
  Tar is a program for packaging a set of files as a single archive in tar
  format.  The function it performs is conceptually similar to cpio, and to
  things like PKZIP in the DOS world.  It is heavily used by the Debian package
  management system, and is useful for performing system backups and exchanging
  sets of files with others.

drwxr-xr-x root/root         0 2024-01-20 09:59 ./
drwxr-xr-x root/root         0 2024-01-20 09:59 ./bin/
-rwxr-xr-x root/root    430308 2024-01-20 09:59 ./bin/tar
drwxr-xr-x root/root         0 2024-01-20 09:59 ./etc/
lrwxrwxrwx root/root         0 2024-01-20 09:59 ./etc/rmt -> /usr/sbin/rmt
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/lib/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/lib/mime/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/lib/mime/packages/
-rw-r--r-- root/root       321 2024-01-20 09:59 ./usr/lib/mime/packages/tar
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/sbin/
-rwxr-xr-x root/root     46988 2024-01-20 09:59 ./usr/sbin/rmt-tar
-rwxr-xr-x root/root       936 2024-01-20 09:59 ./usr/sbin/tarcat
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/doc/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/doc/tar/
-rw-r--r-- root/root       601 2021-02-17 09:53 ./usr/share/doc/tar/AUTHORS
-rw-r--r-- root/root     22939 2021-02-17 09:53 ./usr/share/doc/tar/NEWS.gz
-rw-r--r-- root/root       849 2024-01-20 09:59 ./usr/share/doc/tar/README.Debian
-rw-r--r-- root/root     10637 2021-02-17 09:53 ./usr/share/doc/tar/THANKS.gz
-rw-r--r-- root/root     63284 2021-02-17 09:53 ./usr/share/doc/tar/changelog.1.gz
-rw-r--r-- root/root     12144 2024-01-20 09:59 ./usr/share/doc/tar/changelog.Debian.gz
-rw-r--r-- root/root    156356 2021-02-17 09:53 ./usr/share/doc/tar/changelog.gz
-rw-r--r-- root/root      1488 2024-01-20 09:59 ./usr/share/doc/tar/copyright
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/bg/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/bg/LC_MESSAGES/
-rw-r--r-- root/root     86963 2024-01-20 09:59 ./usr/share/locale/bg/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/ca/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/ca/LC_MESSAGES/
-rw-r--r-- root/root     64091 2024-01-20 09:59 ./usr/share/locale/ca/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/cs/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/cs/LC_MESSAGES/
-rw-r--r-- root/root     64931 2024-01-20 09:59 ./usr/share/locale/cs/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/da/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/da/LC_MESSAGES/
-rw-r--r-- root/root     60187 2024-01-20 09:59 ./usr/share/locale/da/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/de/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/de/LC_MESSAGES/
-rw-r--r-- root/root     64342 2024-01-20 09:59 ./usr/share/locale/de/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/el/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/el/LC_MESSAGES/
-rw-r--r-- root/root     14467 2024-01-20 09:59 ./usr/share/locale/el/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/eo/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/eo/LC_MESSAGES/
-rw-r--r-- root/root     61190 2024-01-20 09:59 ./usr/share/locale/eo/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/es/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/es/LC_MESSAGES/
-rw-r--r-- root/root     65237 2024-01-20 09:59 ./usr/share/locale/es/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/et/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/et/LC_MESSAGES/
-rw-r--r-- root/root     59767 2024-01-20 09:59 ./usr/share/locale/et/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/eu/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/eu/LC_MESSAGES/
-rw-r--r-- root/root     32368 2024-01-20 09:59 ./usr/share/locale/eu/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/fi/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/fi/LC_MESSAGES/
-rw-r--r-- root/root     57193 2024-01-20 09:59 ./usr/share/locale/fi/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/fr/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/fr/LC_MESSAGES/
-rw-r--r-- root/root     67389 2024-01-20 09:59 ./usr/share/locale/fr/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/ga/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/ga/LC_MESSAGES/
-rw-r--r-- root/root     65812 2024-01-20 09:59 ./usr/share/locale/ga/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/gl/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/gl/LC_MESSAGES/
-rw-r--r-- root/root     10693 2024-01-20 09:59 ./usr/share/locale/gl/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/hr/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/hr/LC_MESSAGES/
-rw-r--r-- root/root     63909 2024-01-20 09:59 ./usr/share/locale/hr/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/hu/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/hu/LC_MESSAGES/
-rw-r--r-- root/root     67032 2024-01-20 09:59 ./usr/share/locale/hu/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/id/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/id/LC_MESSAGES/
-rw-r--r-- root/root     58343 2024-01-20 09:59 ./usr/share/locale/id/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/it/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/it/LC_MESSAGES/
-rw-r--r-- root/root     63734 2024-01-20 09:59 ./usr/share/locale/it/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/ja/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/ja/LC_MESSAGES/
-rw-r--r-- root/root     59218 2024-01-20 09:59 ./usr/share/locale/ja/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/ko/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/ko/LC_MESSAGES/
-rw-r--r-- root/root     66173 2024-01-20 09:59 ./usr/share/locale/ko/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/ky/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/ky/LC_MESSAGES/
-rw-r--r-- root/root     55118 2024-01-20 09:59 ./usr/share/locale/ky/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/ms/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/ms/LC_MESSAGES/
-rw-r--r-- root/root      9658 2024-01-20 09:59 ./usr/share/locale/ms/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/nb/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/nb/LC_MESSAGES/
-rw-r--r-- root/root     60880 2024-01-20 09:59 ./usr/share/locale/nb/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/nl/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/nl/LC_MESSAGES/
-rw-r--r-- root/root     63760 2024-01-20 09:59 ./usr/share/locale/nl/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/pl/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/pl/LC_MESSAGES/
-rw-r--r-- root/root     65132 2024-01-20 09:59 ./usr/share/locale/pl/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/pt/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/pt/LC_MESSAGES/
-rw-r--r-- root/root     62527 2024-01-20 09:59 ./usr/share/locale/pt/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/pt_BR/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/pt_BR/LC_MESSAGES/
-rw-r--r-- root/root     63982 2024-01-20 09:59 ./usr/share/locale/pt_BR/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/ro/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/ro/LC_MESSAGES/
-rw-r--r-- root/root     65028 2024-01-20 09:59 ./usr/share/locale/ro/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/ru/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/ru/LC_MESSAGES/
-rw-r--r-- root/root     83444 2024-01-20 09:59 ./usr/share/locale/ru/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/sk/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/sk/LC_MESSAGES/
-rw-r--r-- root/root     10303 2024-01-20 09:59 ./usr/share/locale/sk/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/sl/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/sl/LC_MESSAGES/
-rw-r--r-- root/root     59520 2024-01-20 09:59 ./usr/share/locale/sl/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/sr/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/sr/LC_MESSAGES/
-rw-r--r-- root/root     82073 2024-01-20 09:59 ./usr/share/locale/sr/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/sv/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/sv/LC_MESSAGES/
-rw-r--r-- root/root     61790 2024-01-20 09:59 ./usr/share/locale/sv/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/tr/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/tr/LC_MESSAGES/
-rw-r--r-- root/root     61110 2024-01-20 09:59 ./usr/share/locale/tr/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/uk/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/uk/LC_MESSAGES/
-rw-r--r-- root/root     84186 2024-01-20 09:59 ./usr/share/locale/uk/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/vi/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/vi/LC_MESSAGES/
-rw-r--r-- root/root     69054 2024-01-20 09:59 ./usr/share/locale/vi/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/zh_CN/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/zh_CN/LC_MESSAGES/
-rw-r--r-- root/root     57717 2024-01-20 09:59 ./usr/share/locale/zh_CN/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/zh_TW/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/locale/zh_TW/LC_MESSAGES/
-rw-r--r-- root/root     58290 2024-01-20 09:59 ./usr/share/locale/zh_TW/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/man/
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/man/man1/
-rw-r--r-- root/root     13535 2024-01-20 09:59 ./usr/share/man/man1/tar.1.gz
-rw-r--r-- root/root       366 2024-01-20 09:59 ./usr/share/man/man1/tarcat.1.gz
drwxr-xr-x root/root         0 2024-01-20 09:59 ./usr/share/man/man8/
-rw-r--r-- root/root      2393 2024-01-20 09:59 ./usr/share/man/man8/rmt-tar.8.gz


+------------------------------------------------------------------------------+
| Post Build                                                                   |
+------------------------------------------------------------------------------+


+------------------------------------------------------------------------------+
| Cleanup                                                                      |
+------------------------------------------------------------------------------+

Purging /<<BUILDDIR>>
Not cleaning session: cloned chroot in use

+------------------------------------------------------------------------------+
| Summary                                                                      |
+------------------------------------------------------------------------------+

Build Architecture: armhf
Build-Space: 43016
Build-Time: 405
Distribution: bullseye-staging
Host Architecture: armhf
Install-Time: 118
Job: tar_1.34+dfsg-1+deb11u1
Machine Architecture: armhf
Package: tar
Package-Time: 540
Source-Version: 1.34+dfsg-1+deb11u1
Space: 43016
Status: successful
Version: 1.34+dfsg-1+deb11u1
--------------------------------------------------------------------------------
Finished at 2024-02-10T22:33:54Z
Build needed 00:09:00, 43016k disk space