Raspbian Package Auto-Building

Build log for tar (1.29b-2) on armhf

tar1.29b-2armhf → 2017-07-27 05:39:00

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

+==============================================================================+
| tar 1.29b-2 (armhf)                          Thu, 27 Jul 2017 05:28:20 +0000 |
+==============================================================================+

Package: tar
Version: 1.29b-2
Source Version: 1.29b-2
Distribution: buster-staging
Machine Architecture: armhf
Host Architecture: armhf
Build Architecture: armhf

I: NOTICE: Log filtering will replace 'var/lib/schroot/mount/buster-staging-armhf-sbuild-91c69124-74b4-4aef-a8ae-6ed860e58a41' with '<<CHROOT>>'

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

Get:1 http://172.17.0.1/private buster-staging InRelease [11.3 kB]
Get:2 http://172.17.0.1/private buster-staging/main Sources [10.0 MB]
Get:3 http://172.17.0.1/private buster-staging/main armhf Packages [11.9 MB]
Fetched 22.0 MB in 7s (2844 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:
git://anonscm.debian.org/collab-maint/tar.git
Please use:
git clone git://anonscm.debian.org/collab-maint/tar.git
to retrieve the latest (possibly unreleased) updates to the package.
Need to get 1853 kB of source archives.
Get:1 http://172.17.0.1/private buster-staging/main tar 1.29b-2 (dsc) [1965 B]
Get:2 http://172.17.0.1/private buster-staging/main tar 1.29b-2 (tar) [1822 kB]
Get:3 http://172.17.0.1/private buster-staging/main tar 1.29b-2 (diff) [28.6 kB]
Fetched 1853 kB in 0s (5112 kB/s)
Download complete and in download only mode
I: NOTICE: Log filtering will replace 'build/tar-yNQvFT/tar-1.29b' with '<<PKGBUILDDIR>>'
I: NOTICE: Log filtering will replace 'build/tar-yNQvFT' 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-CFpR5a/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-CFpR5a/gpg/pubring.kbx' created
gpg: /<<BUILDDIR>>/resolver-CFpR5a/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-CFpR5a/apt_archive ./ InRelease
Get:2 copy:/<<BUILDDIR>>/resolver-CFpR5a/apt_archive ./ Release [957 B]
Get:3 copy:/<<BUILDDIR>>/resolver-CFpR5a/apt_archive ./ Release.gpg [370 B]
Get:4 copy:/<<BUILDDIR>>/resolver-CFpR5a/apt_archive ./ Sources [349 B]
Get:5 copy:/<<BUILDDIR>>/resolver-CFpR5a/apt_archive ./ Packages [432 B]
Fetched 2108 B in 0s (5643 B/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 NEW packages will be installed:
  sbuild-build-depends-core-dummy
0 upgraded, 1 newly installed, 0 to remove and 49 not upgraded.
Need to get 772 B of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 copy:/<<BUILDDIR>>/resolver-CFpR5a/apt_archive ./ sbuild-build-depends-core-dummy 0.invalid.0 [772 B]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 772 B in 0s (0 B/s)
Selecting previously unselected package sbuild-build-depends-core-dummy.
(Reading database ... 12681 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, autotools-dev, libacl1-dev, libattr1-dev, libselinux1-dev
Filtered Build-Depends: debhelper (>> 10), gettext, autoconf, automake, autopoint, autotools-dev, libacl1-dev, libattr1-dev, libselinux1-dev
dpkg-deb: building package 'sbuild-build-depends-tar-dummy' in '/<<BUILDDIR>>/resolver-CFpR5a/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-CFpR5a/apt_archive ./ InRelease
Get:2 copy:/<<BUILDDIR>>/resolver-CFpR5a/apt_archive ./ Release [963 B]
Get:3 copy:/<<BUILDDIR>>/resolver-CFpR5a/apt_archive ./ Release.gpg [370 B]
Get:4 copy:/<<BUILDDIR>>/resolver-CFpR5a/apt_archive ./ Sources [537 B]
Get:5 copy:/<<BUILDDIR>>/resolver-CFpR5a/apt_archive ./ Packages [612 B]
Fetched 2482 B in 0s (6565 B/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 additional packages will be installed:
  autoconf automake autopoint autotools-dev bsdmainutils debhelper
  dh-autoreconf dh-strip-nondeterminism file gettext gettext-base groff-base
  intltool-debian libacl1-dev libarchive-zip-perl libattr1-dev libbsd0
  libcroco3 libffi6 libfile-stripnondeterminism-perl libglib2.0-0 libicu57
  libmagic-mgc libmagic1 libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5
  libpipeline1 libselinux1-dev libsepol1-dev libsigsegv2 libtimedate-perl
  libtool libunistring2 libxml2 m4 man-db po-debconf
Suggested packages:
  autoconf-archive gnu-standards autoconf-doc wamerican | wordlist whois
  vacation dh-make gettext-doc libasprintf-dev libgettextpo-dev groff
  libtool-doc gfortran | fortran95-compiler gcj-jdk m4-doc less www-browser
  libmail-box-perl
Recommended packages:
  curl | wget | lynx-cur libarchive-cpio-perl libglib2.0-data shared-mime-info
  xdg-user-dirs libltdl-dev xml-core libmail-sendmail-perl
The following NEW packages will be installed:
  autoconf automake autopoint autotools-dev bsdmainutils debhelper
  dh-autoreconf dh-strip-nondeterminism file gettext gettext-base groff-base
  intltool-debian libacl1-dev libarchive-zip-perl libattr1-dev libbsd0
  libcroco3 libffi6 libfile-stripnondeterminism-perl libglib2.0-0 libicu57
  libmagic-mgc libmagic1 libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5
  libpipeline1 libselinux1-dev libsepol1-dev libsigsegv2 libtimedate-perl
  libtool libunistring2 libxml2 m4 man-db po-debconf
  sbuild-build-depends-tar-dummy
0 upgraded, 40 newly installed, 0 to remove and 49 not upgraded.
Need to get 20.7 MB of archives.
After this operation, 69.8 MB of additional disk space will be used.
Get:1 copy:/<<BUILDDIR>>/resolver-CFpR5a/apt_archive ./ sbuild-build-depends-tar-dummy 0.invalid.0 [818 B]
Get:2 http://172.17.0.1/private buster-staging/main armhf groff-base armhf 1.22.3-9 [1005 kB]
Get:3 http://172.17.0.1/private buster-staging/main armhf libbsd0 armhf 0.8.6-1 [95.7 kB]
Get:4 http://172.17.0.1/private buster-staging/main armhf bsdmainutils armhf 9.0.12+nmu1 [178 kB]
Get:5 http://172.17.0.1/private buster-staging/main armhf libpipeline1 armhf 1.4.2-1 [24.2 kB]
Get:6 http://172.17.0.1/private buster-staging/main armhf man-db armhf 2.7.6.1-2 [1014 kB]
Get:7 http://172.17.0.1/private buster-staging/main armhf libpcrecpp0v5 armhf 2:8.39-3 [149 kB]
Get:8 http://172.17.0.1/private buster-staging/main armhf libmagic-mgc armhf 1:5.30-1 [222 kB]
Get:9 http://172.17.0.1/private buster-staging/main armhf libmagic1 armhf 1:5.30-1 [105 kB]
Get:10 http://172.17.0.1/private buster-staging/main armhf file armhf 1:5.30-1 [63.4 kB]
Get:11 http://172.17.0.1/private buster-staging/main armhf gettext-base armhf 0.19.8.1-2+b1 [117 kB]
Get:12 http://172.17.0.1/private buster-staging/main armhf libicu57 armhf 57.1-6 [7427 kB]
Get:13 http://172.17.0.1/private buster-staging/main armhf libxml2 armhf 2.9.4+dfsg1-3 [601 kB]
Get:14 http://172.17.0.1/private buster-staging/main armhf libsigsegv2 armhf 2.11-1 [29.3 kB]
Get:15 http://172.17.0.1/private buster-staging/main armhf m4 armhf 1.4.18-1 [185 kB]
Get:16 http://172.17.0.1/private buster-staging/main armhf autoconf all 2.69-10 [338 kB]
Get:17 http://172.17.0.1/private buster-staging/main armhf autotools-dev all 20161112.1 [73.4 kB]
Get:18 http://172.17.0.1/private buster-staging/main armhf automake all 1:1.15.1-2 [736 kB]
Get:19 http://172.17.0.1/private buster-staging/main armhf autopoint all 0.19.8.1-2 [433 kB]
Get:20 http://172.17.0.1/private buster-staging/main armhf libtool all 2.4.6-2 [545 kB]
Get:21 http://172.17.0.1/private buster-staging/main armhf dh-autoreconf all 14 [15.9 kB]
Get:22 http://172.17.0.1/private buster-staging/main armhf libarchive-zip-perl all 1.59-1 [95.5 kB]
Get:23 http://172.17.0.1/private buster-staging/main armhf libfile-stripnondeterminism-perl all 0.038-1 [17.6 kB]
Get:24 http://172.17.0.1/private buster-staging/main armhf libtimedate-perl all 2.3000-2 [42.2 kB]
Get:25 http://172.17.0.1/private buster-staging/main armhf dh-strip-nondeterminism all 0.038-1 [11.1 kB]
Get:26 http://172.17.0.1/private buster-staging/main armhf libffi6 armhf 3.2.1-6 [18.7 kB]
Get:27 http://172.17.0.1/private buster-staging/main armhf libglib2.0-0 armhf 2.52.3-1 [2576 kB]
Get:28 http://172.17.0.1/private buster-staging/main armhf libcroco3 armhf 0.6.12-1 [132 kB]
Get:29 http://172.17.0.1/private buster-staging/main armhf libunistring2 armhf 0.9.7-2 [351 kB]
Get:30 http://172.17.0.1/private buster-staging/main armhf gettext armhf 0.19.8.1-2+b1 [1220 kB]
Get:31 http://172.17.0.1/private buster-staging/main armhf intltool-debian all 0.35.0+20060710.4 [26.3 kB]
Get:32 http://172.17.0.1/private buster-staging/main armhf po-debconf all 1.0.20 [247 kB]
Get:33 http://172.17.0.1/private buster-staging/main armhf debhelper all 10.2.5 [961 kB]
Get:34 http://172.17.0.1/private buster-staging/main armhf libpcre16-3 armhf 2:8.39-3 [235 kB]
Get:35 http://172.17.0.1/private buster-staging/main armhf libpcre32-3 armhf 2:8.39-3 [227 kB]
Get:36 http://172.17.0.1/private buster-staging/main armhf libpcre3-dev armhf 2:8.39-3 [565 kB]
Get:37 http://172.17.0.1/private buster-staging/main armhf libsepol1-dev armhf 2.6-2 [285 kB]
Get:38 http://172.17.0.1/private buster-staging/main armhf libselinux1-dev armhf 2.6-3 [171 kB]
Get:39 http://172.17.0.1/private buster-staging/main armhf libattr1-dev armhf 1:2.4.47-2 [38.7 kB]
Get:40 http://172.17.0.1/private buster-staging/main armhf libacl1-dev armhf 2.2.52-3 [84.1 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 20.7 MB in 2s (8258 kB/s)
Selecting previously unselected package groff-base.
(Reading database ... 12681 files and directories currently installed.)
Preparing to unpack .../00-groff-base_1.22.3-9_armhf.deb ...
Unpacking groff-base (1.22.3-9) ...
Selecting previously unselected package libbsd0:armhf.
Preparing to unpack .../01-libbsd0_0.8.6-1_armhf.deb ...
Unpacking libbsd0:armhf (0.8.6-1) ...
Selecting previously unselected package bsdmainutils.
Preparing to unpack .../02-bsdmainutils_9.0.12+nmu1_armhf.deb ...
Unpacking bsdmainutils (9.0.12+nmu1) ...
Selecting previously unselected package libpipeline1:armhf.
Preparing to unpack .../03-libpipeline1_1.4.2-1_armhf.deb ...
Unpacking libpipeline1:armhf (1.4.2-1) ...
Selecting previously unselected package man-db.
Preparing to unpack .../04-man-db_2.7.6.1-2_armhf.deb ...
Unpacking man-db (2.7.6.1-2) ...
Selecting previously unselected package libpcrecpp0v5:armhf.
Preparing to unpack .../05-libpcrecpp0v5_2%3a8.39-3_armhf.deb ...
Unpacking libpcrecpp0v5:armhf (2:8.39-3) ...
Selecting previously unselected package libmagic-mgc.
Preparing to unpack .../06-libmagic-mgc_1%3a5.30-1_armhf.deb ...
Unpacking libmagic-mgc (1:5.30-1) ...
Selecting previously unselected package libmagic1:armhf.
Preparing to unpack .../07-libmagic1_1%3a5.30-1_armhf.deb ...
Unpacking libmagic1:armhf (1:5.30-1) ...
Selecting previously unselected package file.
Preparing to unpack .../08-file_1%3a5.30-1_armhf.deb ...
Unpacking file (1:5.30-1) ...
Selecting previously unselected package gettext-base.
Preparing to unpack .../09-gettext-base_0.19.8.1-2+b1_armhf.deb ...
Unpacking gettext-base (0.19.8.1-2+b1) ...
Selecting previously unselected package libicu57:armhf.
Preparing to unpack .../10-libicu57_57.1-6_armhf.deb ...
Unpacking libicu57:armhf (57.1-6) ...
Selecting previously unselected package libxml2:armhf.
Preparing to unpack .../11-libxml2_2.9.4+dfsg1-3_armhf.deb ...
Unpacking libxml2:armhf (2.9.4+dfsg1-3) ...
Selecting previously unselected package libsigsegv2:armhf.
Preparing to unpack .../12-libsigsegv2_2.11-1_armhf.deb ...
Unpacking libsigsegv2:armhf (2.11-1) ...
Selecting previously unselected package m4.
Preparing to unpack .../13-m4_1.4.18-1_armhf.deb ...
Unpacking m4 (1.4.18-1) ...
Selecting previously unselected package autoconf.
Preparing to unpack .../14-autoconf_2.69-10_all.deb ...
Unpacking autoconf (2.69-10) ...
Selecting previously unselected package autotools-dev.
Preparing to unpack .../15-autotools-dev_20161112.1_all.deb ...
Unpacking autotools-dev (20161112.1) ...
Selecting previously unselected package automake.
Preparing to unpack .../16-automake_1%3a1.15.1-2_all.deb ...
Unpacking automake (1:1.15.1-2) ...
Selecting previously unselected package autopoint.
Preparing to unpack .../17-autopoint_0.19.8.1-2_all.deb ...
Unpacking autopoint (0.19.8.1-2) ...
Selecting previously unselected package libtool.
Preparing to unpack .../18-libtool_2.4.6-2_all.deb ...
Unpacking libtool (2.4.6-2) ...
Selecting previously unselected package dh-autoreconf.
Preparing to unpack .../19-dh-autoreconf_14_all.deb ...
Unpacking dh-autoreconf (14) ...
Selecting previously unselected package libarchive-zip-perl.
Preparing to unpack .../20-libarchive-zip-perl_1.59-1_all.deb ...
Unpacking libarchive-zip-perl (1.59-1) ...
Selecting previously unselected package libfile-stripnondeterminism-perl.
Preparing to unpack .../21-libfile-stripnondeterminism-perl_0.038-1_all.deb ...
Unpacking libfile-stripnondeterminism-perl (0.038-1) ...
Selecting previously unselected package libtimedate-perl.
Preparing to unpack .../22-libtimedate-perl_2.3000-2_all.deb ...
Unpacking libtimedate-perl (2.3000-2) ...
Selecting previously unselected package dh-strip-nondeterminism.
Preparing to unpack .../23-dh-strip-nondeterminism_0.038-1_all.deb ...
Unpacking dh-strip-nondeterminism (0.038-1) ...
Selecting previously unselected package libffi6:armhf.
Preparing to unpack .../24-libffi6_3.2.1-6_armhf.deb ...
Unpacking libffi6:armhf (3.2.1-6) ...
Selecting previously unselected package libglib2.0-0:armhf.
Preparing to unpack .../25-libglib2.0-0_2.52.3-1_armhf.deb ...
Unpacking libglib2.0-0:armhf (2.52.3-1) ...
Selecting previously unselected package libcroco3:armhf.
Preparing to unpack .../26-libcroco3_0.6.12-1_armhf.deb ...
Unpacking libcroco3:armhf (0.6.12-1) ...
Selecting previously unselected package libunistring2:armhf.
Preparing to unpack .../27-libunistring2_0.9.7-2_armhf.deb ...
Unpacking libunistring2:armhf (0.9.7-2) ...
Selecting previously unselected package gettext.
Preparing to unpack .../28-gettext_0.19.8.1-2+b1_armhf.deb ...
Unpacking gettext (0.19.8.1-2+b1) ...
Selecting previously unselected package intltool-debian.
Preparing to unpack .../29-intltool-debian_0.35.0+20060710.4_all.deb ...
Unpacking intltool-debian (0.35.0+20060710.4) ...
Selecting previously unselected package po-debconf.
Preparing to unpack .../30-po-debconf_1.0.20_all.deb ...
Unpacking po-debconf (1.0.20) ...
Selecting previously unselected package debhelper.
Preparing to unpack .../31-debhelper_10.2.5_all.deb ...
Unpacking debhelper (10.2.5) ...
Selecting previously unselected package libpcre16-3:armhf.
Preparing to unpack .../32-libpcre16-3_2%3a8.39-3_armhf.deb ...
Unpacking libpcre16-3:armhf (2:8.39-3) ...
Selecting previously unselected package libpcre32-3:armhf.
Preparing to unpack .../33-libpcre32-3_2%3a8.39-3_armhf.deb ...
Unpacking libpcre32-3:armhf (2:8.39-3) ...
Selecting previously unselected package libpcre3-dev:armhf.
Preparing to unpack .../34-libpcre3-dev_2%3a8.39-3_armhf.deb ...
Unpacking libpcre3-dev:armhf (2:8.39-3) ...
Selecting previously unselected package libsepol1-dev:armhf.
Preparing to unpack .../35-libsepol1-dev_2.6-2_armhf.deb ...
Unpacking libsepol1-dev:armhf (2.6-2) ...
Selecting previously unselected package libselinux1-dev:armhf.
Preparing to unpack .../36-libselinux1-dev_2.6-3_armhf.deb ...
Unpacking libselinux1-dev:armhf (2.6-3) ...
Selecting previously unselected package libattr1-dev:armhf.
Preparing to unpack .../37-libattr1-dev_1%3a2.4.47-2_armhf.deb ...
Unpacking libattr1-dev:armhf (1:2.4.47-2) ...
Selecting previously unselected package libacl1-dev.
Preparing to unpack .../38-libacl1-dev_2.2.52-3_armhf.deb ...
Unpacking libacl1-dev (2.2.52-3) ...
Selecting previously unselected package sbuild-build-depends-tar-dummy.
Preparing to unpack .../39-sbuild-build-depends-tar-dummy_0.invalid.0_armhf.deb ...
Unpacking sbuild-build-depends-tar-dummy (0.invalid.0) ...
Setting up libsepol1-dev:armhf (2.6-2) ...
Setting up libunistring2:armhf (0.9.7-2) ...
Setting up libarchive-zip-perl (1.59-1) ...
Setting up libtimedate-perl (2.3000-2) ...
Setting up libsigsegv2:armhf (2.11-1) ...
Setting up libattr1-dev:armhf (1:2.4.47-2) ...
Setting up groff-base (1.22.3-9) ...
Setting up libacl1-dev (2.2.52-3) ...
Setting up gettext-base (0.19.8.1-2+b1) ...
Setting up libpipeline1:armhf (1.4.2-1) ...
Setting up m4 (1.4.18-1) ...
Setting up libicu57:armhf (57.1-6) ...
Setting up libbsd0:armhf (0.8.6-1) ...
Setting up libxml2:armhf (2.9.4+dfsg1-3) ...
Setting up libmagic-mgc (1:5.30-1) ...
Setting up libmagic1:armhf (1:5.30-1) ...
Processing triggers for libc-bin (2.24-12) ...
Setting up autotools-dev (20161112.1) ...
Setting up libpcrecpp0v5:armhf (2:8.39-3) ...
Setting up libpcre32-3:armhf (2:8.39-3) ...
Setting up libffi6:armhf (3.2.1-6) ...
Setting up libpcre16-3:armhf (2:8.39-3) ...
Setting up bsdmainutils (9.0.12+nmu1) ...
update-alternatives: using /usr/bin/bsd-write to provide /usr/bin/write (write) in auto mode
update-alternatives: using /usr/bin/bsd-from to provide /usr/bin/from (from) in auto mode
Setting up autopoint (0.19.8.1-2) ...
Setting up libfile-stripnondeterminism-perl (0.038-1) ...
Setting up libpcre3-dev:armhf (2:8.39-3) ...
Setting up libglib2.0-0:armhf (2.52.3-1) ...
No schema files found: doing nothing.
Setting up autoconf (2.69-10) ...
Setting up file (1:5.30-1) ...
Setting up libcroco3:armhf (0.6.12-1) ...
Setting up automake (1:1.15.1-2) ...
update-alternatives: using /usr/bin/automake-1.15 to provide /usr/bin/automake (automake) in auto mode
Setting up man-db (2.7.6.1-2) ...
Not building database; man-db/auto-update is not 'true'.
Setting up libselinux1-dev:armhf (2.6-3) ...
Setting up libtool (2.4.6-2) ...
Setting up gettext (0.19.8.1-2+b1) ...
Setting up intltool-debian (0.35.0+20060710.4) ...
Setting up po-debconf (1.0.20) ...
Setting up dh-autoreconf (14) ...
Setting up dh-strip-nondeterminism (0.038-1) ...
Setting up debhelper (10.2.5) ...
Setting up sbuild-build-depends-tar-dummy (0.invalid.0) ...
Processing triggers for libc-bin (2.24-12) ...
W: No sandbox user '_apt' on the system, can not drop privileges

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

Kernel: Linux 4.4.0-79-generic armhf (armv8l)
Toolchain package versions: binutils_2.28-6 dpkg-dev_1.18.24 g++-6_6.3.0-18+rpi1 gcc-6_6.3.0-18+rpi1 libc6-dev_2.24-12 libstdc++-6-dev_6.3.0-18+rpi1 libstdc++6_6.3.0-18+rpi1 linux-libc-dev_3.18.5-1~exp1+rpi19+stretch
Package versions: adduser_3.115 apt_1.4.6 autoconf_2.69-10 automake_1:1.15.1-2 autopoint_0.19.8.1-2 autotools-dev_20161112.1 base-files_9.9+rpi1 base-passwd_3.5.43 bash_4.4-5 binutils_2.28-6 bsdmainutils_9.0.12+nmu1 bsdutils_1:2.29.2-1 build-essential_12.3 bzip2_1.0.6-8.1 coreutils_8.26-3 cpio_2.11+dfsg-6 cpp_4:6.3.0-4 cpp-6_6.3.0-18+rpi1 dash_0.5.8-2.4 debconf_1.5.61 debhelper_10.2.5 debianutils_4.8.1.1 dh-autoreconf_14 dh-strip-nondeterminism_0.038-1 diffutils_1:3.5-3 dmsetup_2:1.02.137-2 dpkg_1.18.24 dpkg-dev_1.18.24 e2fslibs_1.43.4-2 e2fsprogs_1.43.4-2 fakeroot_1.21-3.1 file_1:5.30-1 findutils_4.6.0+git+20161106-2 g++_4:6.3.0-4 g++-6_6.3.0-18+rpi1 gcc_4:6.3.0-4 gcc-4.6-base_4.6.4-5+rpi1 gcc-4.7-base_4.7.3-11+rpi1 gcc-4.8-base_4.8.5-4 gcc-4.9-base_4.9.3-14 gcc-5-base_5.4.1-4 gcc-6_6.3.0-18+rpi1 gcc-6-base_6.3.0-18+rpi1 gettext_0.19.8.1-2+b1 gettext-base_0.19.8.1-2+b1 gnupg_2.1.18-8 gnupg-agent_2.1.18-8 gpgv_2.1.18-8 grep_2.27-2 groff-base_1.22.3-9 gzip_1.6-5 hostname_3.18 init-system-helpers_1.48 initramfs-tools_0.130 initramfs-tools-core_0.130 intltool-debian_0.35.0+20060710.4 klibc-utils_2.0.4-9+rpi1 kmod_24-1 libacl1_2.2.52-3 libacl1-dev_2.2.52-3 libapparmor1_2.11.0-3 libapt-pkg5.0_1.4.6 libarchive-zip-perl_1.59-1 libasan3_6.3.0-18+rpi1 libassuan0_2.4.3-2 libatomic1_6.3.0-18+rpi1 libattr1_1:2.4.47-2 libattr1-dev_1:2.4.47-2 libaudit-common_1:2.7.7-1 libaudit1_1:2.7.7-1 libblkid1_2.29.2-1 libbsd0_0.8.6-1 libbz2-1.0_1.0.6-8.1 libc-bin_2.24-12 libc-dev-bin_2.24-12 libc6_2.24-12 libc6-dev_2.24-12 libcap-ng0_0.7.7-3 libcap2_1:2.25-1 libcc1-0_6.3.0-18+rpi1 libcomerr2_1.43.4-2 libcroco3_0.6.12-1 libcryptsetup4_2:1.7.3-4 libdb5.3_5.3.28-12 libdbus-1-3_1.10.18-1 libdebconfclient0_0.228 libdevmapper1.02.1_2:1.02.137-2 libdpkg-perl_1.18.24 libdrm2_2.4.74-1 libfakeroot_1.21-3.1 libfdisk1_2.29.2-1 libffi6_3.2.1-6 libfile-stripnondeterminism-perl_0.038-1 libgcc-6-dev_6.3.0-18+rpi1 libgcc1_1:6.3.0-18+rpi1 libgcrypt20_1.7.7-2 libgdbm3_1.8.3-14 libglib2.0-0_2.52.3-1 libgmp10_2:6.1.2+dfsg-1 libgomp1_6.3.0-18+rpi1 libgpg-error0_1.26-2 libicu57_57.1-6 libidn11_1.33-1 libip4tc0_1.6.0+snapshot20161117-6 libisl15_0.18-1 libklibc_2.0.4-9+rpi1 libkmod2_24-1 libksba8_1.3.5-2 liblocale-gettext-perl_1.07-3+b1 liblz4-1_0.0~r131-2 liblzma5_5.2.2-1.2 libmagic-mgc_1:5.30-1 libmagic1_1:5.30-1 libmount1_2.29.2-1 libmpc3_1.0.3-1 libmpfr4_3.1.5-1 libncurses5_6.0+20161126-1 libncursesw5_6.0+20161126-1 libnih-dbus1_1.0.3-8 libnih1_1.0.3-8 libnpth0_1.3-1 libpam-modules_1.1.8-3.6 libpam-modules-bin_1.1.8-3.6 libpam-runtime_1.1.8-3.6 libpam0g_1.1.8-3.6 libpcre16-3_2:8.39-3 libpcre3_2:8.39-3 libpcre3-dev_2:8.39-3 libpcre32-3_2:8.39-3 libpcrecpp0v5_2:8.39-3 libperl5.24_5.24.1-4 libpipeline1_1.4.2-1 libplymouth4_0.9.2-4 libpng16-16_1.6.29-3 libprocps6_2:3.3.12-3 libreadline7_7.0-3 libseccomp2_2.3.1-2.1 libselinux1_2.6-3 libselinux1-dev_2.6-3 libsemanage-common_2.6-2 libsemanage1_2.6-2 libsepol1_2.6-2 libsepol1-dev_2.6-2 libsigsegv2_2.11-1 libsmartcols1_2.29.2-1 libsqlite3-0_3.16.2-5 libss2_1.43.4-2 libstdc++-6-dev_6.3.0-18+rpi1 libstdc++6_6.3.0-18+rpi1 libsystemd0_233-9 libtext-charwidth-perl_0.04-7+b7 libtext-iconv-perl_1.7-5+b8 libtext-wrapi18n-perl_0.06-7.1 libtimedate-perl_2.3000-2 libtinfo5_6.0+20161126-1 libtool_2.4.6-2 libubsan0_6.3.0-18+rpi1 libudev1_233-9 libunistring2_0.9.7-2 libustr-1.0-1_1.0.4-6 libuuid1_2.29.2-1 libxml2_2.9.4+dfsg1-3 linux-base_4.5 linux-libc-dev_3.18.5-1~exp1+rpi19+stretch login_1:4.4-4.1 lsb-base_9.20161125+rpi1 m4_1.4.18-1 make_4.1-9.1 makedev_2.3.1-93 man-db_2.7.6.1-2 mawk_1.3.3-17 mount_2.29.2-1 mountall_2.54 multiarch-support_2.24-12 ncurses-base_6.0+20161126-1 ncurses-bin_6.0+20161126-1 passwd_1:4.4-4.1 patch_2.7.5-1 perl_5.24.1-4 perl-base_5.24.1-4 perl-modules-5.24_5.24.1-4 pinentry-curses_1.0.0-2 plymouth_0.9.2-4 po-debconf_1.0.20 procps_2:3.3.12-3 raspbian-archive-keyring_20120528.2 readline-common_7.0-3 sbuild-build-depends-core-dummy_0.invalid.0 sbuild-build-depends-tar-dummy_0.invalid.0 sed_4.4-1 sensible-utils_0.0.9 systemd_233-9 sysvinit-utils_2.88dsf-59.9 tar_1.29b-1.1 tzdata_2017b-2 udev_233-9 util-linux_2.29.2-1 xz-utils_5.2.2-1.2 zlib1g_1:1.2.8.dfsg-5

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


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

gpgv: unknown type of key resource 'trustedkeys.kbx'
gpgv: keyblock resource '/sbuild-nonexistent/.gnupg/trustedkeys.kbx': General error
gpgv: Signature made Fri Jul 21 15:20:18 2017 UTC
gpgv:                using RSA key 8470F20B062592187CBA7BB33A936196C095D941
gpgv: Can't check signature: No public key
dpkg-source: warning: failed to verify signature on ./tar_1.29b-2.dsc
dpkg-source: info: extracting tar in /<<PKGBUILDDIR>>
dpkg-source: info: unpacking tar_1.29b.orig.tar.xz
dpkg-source: info: unpacking tar_1.29b-2.debian.tar.xz
dpkg-source: info: applying pristine-tar.diff
dpkg-source: info: applying listed03-linux-only
dpkg-source: info: applying rmt.8-header-wrong
dpkg-source: info: applying When-extracting-skip-.-members.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=buster-staging-armhf-sbuild
SCHROOT_CHROOT_NAME=buster-staging-armhf-sbuild
SCHROOT_COMMAND=env
SCHROOT_GID=112
SCHROOT_GROUP=buildd
SCHROOT_SESSION_ID=buster-staging-armhf-sbuild-91c69124-74b4-4aef-a8ae-6ed860e58a41
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.29b-2
dpkg-buildpackage: info: source distribution unstable
 dpkg-source --before-build tar-1.29b
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/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/lcmessage.m4
Copying file m4/lock.m4
Copying file m4/longdouble.m4
Copying file m4/printf-posix.m4
Copying file m4/uintmax_t.m4
Copying file m4/visibility.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" LDFLAGS="`dpkg-buildflags --get LDFLAGS`" ./configure \
	--prefix=/usr \
	--libexecdir=/usr/lib/tar \
	--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 for style of include used by make... GNU
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 accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for gcc option to accept ISO C99... none needed
checking for gcc option to accept ISO Standard C... (cached) none needed
checking for ranlib... ranlib
checking for bison... no
checking for byacc... no
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 Minix Amsterdam compiler... no
checking for ar... ar
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 minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether _XOPEN_SOURCE should be defined... no
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 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 features.h... yes
checking for linewrap.h... no
checking for sys/socket.h... yes
checking for dirent.h... yes
checking for wctype.h... yes
checking for stdio_ext.h... yes
checking for sys/stat.h... (cached) yes
checking for getopt.h... yes
checking for wchar.h... yes
checking for stdint.h... (cached) yes
checking for inttypes.h... (cached) yes
checking for langinfo.h... yes
checking for xlocale.h... yes
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 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 for sys/buf.h... no
checking whether sys/types.h defines makedev... 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 getcwd... yes
checking for readlink... 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 faccessat... yes
checking for fchmodat... yes
checking for lchmod... no
checking for fcntl... yes
checking for symlink... yes
checking for mempcpy... yes
checking for isblank... yes
checking for iswctype... yes
checking for mbsrtowcs... yes
checking for wmemchr... yes
checking for wmemcpy... yes
checking for wmempcpy... yes
checking for fstatat... yes
checking for futimens... yes
checking for getdelim... yes
checking for getdtablesize... yes
checking for gettimeofday... yes
checking for nanotime... no
checking for iswcntrl... yes
checking for iswblank... yes
checking for link... yes
checking for openat... yes
checking for linkat... yes
checking for lstat... yes
checking for mbsinit... yes
checking for mbrtowc... yes
checking for mprotect... yes
checking for mkdirat... yes
checking for mkfifo... yes
checking for mkfifoat... yes
checking for mknodat... yes
checking for mknod... yes
checking for nl_langinfo... yes
checking for renameat... yes
checking for secure_getenv... yes
checking for setenv... yes
checking for sleep... yes
checking for snprintf... yes
checking for strdup... yes
checking for tzset... 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 pipe... 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 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 build system type... armv8l-unknown-linux-gnueabihf
checking host system type... armv8l-unknown-linux-gnueabihf
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 // is distinct from /... no
checking whether realpath works... 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 system header files limit the line length... no
checking if environ is properly declared... yes
checking for complete errno.h... yes
checking whether strerror_r is declared... yes
checking for strerror_r... yes
checking whether strerror_r returns char *... yes
checking type of array argument to getgroups... gid_t
checking whether fchdir is declared... yes
checking for working fcntl.h... yes
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 fchmodat is declared without a macro... yes
checking whether fstat is declared without a macro... yes
checking whether fstatat is declared without a macro... yes
checking whether futimens is declared without a macro... yes
checking whether lchmod is declared without a macro... yes
checking whether lstat is declared without a macro... yes
checking whether mkdirat is declared without a macro... yes
checking whether mkfifo is declared without a macro... yes
checking whether mkfifoat is declared without a macro... yes
checking whether mknod is declared without a macro... yes
checking whether mknodat is declared without a macro... yes
checking whether stat is declared without a macro... yes
checking whether utimensat is declared without a macro... yes
checking whether lstat correctly handles trailing slash... 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 whether getenv is declared... yes
checking for struct timeval... yes
checking for wide-enough struct timeval.tv_sec member... yes
checking whether gettimeofday is declared without a macro... yes
checking for unsigned long long int... yes
checking for long long int... yes
checking whether stdint.h conforms to C99... yes
checking whether imaxabs is declared without a macro... yes
checking whether imaxdiv is declared without a macro... yes
checking whether strtoimax is declared without a macro... yes
checking whether strtoumax is declared without a macro... yes
checking for inttypes.h... (cached) yes
checking whether the inttypes.h PRIxNN macros are broken... no
checking for wint_t... yes
checking whether iswcntrl works... yes
checking for towlower... yes
checking for wctype_t... yes
checking for wctrans_t... yes
checking whether wctype is declared without a macro... yes
checking whether iswctype is declared without a macro... yes
checking whether wctrans is declared without a macro... yes
checking whether towctrans is declared without a macro... yes
checking whether we are using the GNU C Library >= 2.1 or uClibc... yes
checking for wchar_t... yes
checking for max_align_t... yes
checking whether NULL can be used in arbitrary expressions... yes
checking whether malloc, realloc, calloc are POSIX compliant... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for a traditional japanese locale... none
checking for a transitional chinese locale... none
checking for a french Unicode locale... none
checking for mmap... yes
checking for MAP_ANONYMOUS... yes
checking whether memchr works... yes
checking whether memrchr is declared... yes
checking whether alarm is declared... yes
checking for promoted mode_t type... mode_t
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for compound literals... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for struct tm.tm_gmtoff... 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 strdup is declared... yes
checking whether strerror(0) succeeds... yes
checking whether ffsl is declared without a macro... yes
checking whether ffsll is declared without a macro... yes
checking whether memmem is declared without a macro... yes
checking whether mempcpy is declared without a macro... yes
checking whether memrchr is declared without a macro... yes
checking whether rawmemchr is declared without a macro... yes
checking whether stpcpy is declared without a macro... yes
checking whether stpncpy is declared without a macro... yes
checking whether strchrnul is declared without a macro... yes
checking whether strdup is declared without a macro... yes
checking whether strncat is declared without a macro... yes
checking whether strndup is declared without a macro... yes
checking whether strnlen is declared without a macro... yes
checking whether strpbrk is declared without a macro... yes
checking whether strsep is declared without a macro... yes
checking whether strcasestr is declared without a macro... yes
checking whether strtok_r is declared without a macro... yes
checking whether strerror_r is declared without a macro... yes
checking whether strsignal is declared without a macro... yes
checking whether strverscmp is declared without a macro... yes
checking whether ffs is declared without a macro... yes
checking whether strcasecmp is declared without a macro... yes
checking whether strncasecmp is declared without a macro... yes
checking whether strndup is declared... (cached) yes
checking whether strnlen is declared... (cached) yes
checking whether strtoimax is declared... (cached) yes
checking whether strtoumax is declared... (cached) yes
checking for struct timespec in <time.h>... yes
checking whether unsetenv is declared... yes
checking whether the utimes function works... yes
checking for struct utimbuf... 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 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 whether this system has an arbitrary file name length limit... yes
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 whether alphasort is declared without a macro... yes
checking whether closedir is declared without a macro... yes
checking whether dirfd is declared without a macro... yes
checking whether fdopendir is declared without a macro... yes
checking whether opendir is declared without a macro... yes
checking whether readdir is declared without a macro... yes
checking whether rewinddir is declared without a macro... yes
checking whether scandir is declared without a macro... yes
checking for dirfd... yes
checking whether dirfd is declared... (cached) yes
checking whether dirfd is a macro... no
checking whether // is distinct from /... (cached) no
checking whether dup2 works... yes
checking for error_at_line... yes
checking for euidaccess... yes
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 fcntl is declared without a macro... yes
checking whether openat is declared without a macro... yes
checking whether fdopendir is declared... (cached) 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 for __fpending... yes
checking whether __fpending is declared... yes
checking for fseeko... (cached) yes
checking whether fstatat (..., 0) works... yes
checking whether futimens works... needs runtime check
checking whether getcwd handles long file names properly... yes
checking for getpagesize... yes
checking whether getcwd aborts when 4k < cwd_length < 16k... no
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 gettimeofday clobbers localtime buffer... no
checking for gettimeofday with POSIX signature... almost
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 langinfo.h defines CODESET... yes
checking whether langinfo.h defines T_FMT_AMPM... yes
checking whether langinfo.h defines ERA... yes
checking whether langinfo.h defines YESEXPR... yes
checking whether nl_langinfo is declared without a macro... yes
checking for lchown... 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 locale.h defines locale_t... yes
checking whether struct lconv is properly defined... yes
checking whether setlocale is declared without a macro... yes
checking whether duplocale is declared without a macro... yes
checking whether lseek detects pipes... yes
checking for stdlib.h... (cached) 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 works on empty input... yes
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 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 whether mkfifo rejects trailing slashes... yes
checking whether mknod can create fifo without root privileges... yes
checking for working mktime... 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 struct tm.tm_zone... 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 readlinkat signature is correct... yes
checking for working re_compile_pattern... 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 for rewinddir... yes
checking whether rmdir works... yes
checking for rpmatch... yes
checking selinux/flask.h usability... yes
checking selinux/flask.h presence... yes
checking for selinux/flask.h... yes
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 whether setenv validates arguments... yes
checking for volatile sig_atomic_t... yes
checking for sighandler_t... yes
checking whether pthread_sigmask is declared without a macro... yes
checking whether sigaction is declared without a macro... yes
checking whether sigaddset is declared without a macro... yes
checking whether sigdelset is declared without a macro... yes
checking whether sigemptyset is declared without a macro... yes
checking whether sigfillset is declared without a macro... yes
checking whether sigismember is declared without a macro... yes
checking whether sigpending is declared without a macro... yes
checking whether sigprocmask is declared without a macro... 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 directories... 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 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 whether dprintf is declared without a macro... yes
checking whether fpurge is declared without a macro... no
checking whether fseeko is declared without a macro... yes
checking whether ftello is declared without a macro... yes
checking whether getdelim is declared without a macro... yes
checking whether getline is declared without a macro... yes
checking whether gets is declared without a macro... no
checking whether pclose is declared without a macro... yes
checking whether popen is declared without a macro... yes
checking whether renameat is declared without a macro... yes
checking whether snprintf is declared without a macro... yes
checking whether tmpfile is declared without a macro... yes
checking whether vdprintf is declared without a macro... yes
checking whether vsnprintf is declared without a macro... yes
checking whether _Exit is declared without a macro... yes
checking whether atoll is declared without a macro... yes
checking whether canonicalize_file_name is declared without a macro... yes
checking whether getloadavg is declared without a macro... yes
checking whether getsubopt is declared without a macro... yes
checking whether grantpt is declared without a macro... yes
checking whether initstate is declared without a macro... yes
checking whether initstate_r is declared without a macro... yes
checking whether mkdtemp is declared without a macro... yes
checking whether mkostemp is declared without a macro... yes
checking whether mkostemps is declared without a macro... yes
checking whether mkstemp is declared without a macro... yes
checking whether mkstemps is declared without a macro... yes
checking whether posix_openpt is declared without a macro... yes
checking whether ptsname is declared without a macro... yes
checking whether ptsname_r is declared without a macro... yes
checking whether random is declared without a macro... yes
checking whether random_r is declared without a macro... yes
checking whether realpath is declared without a macro... yes
checking whether rpmatch is declared without a macro... yes
checking whether secure_getenv is declared without a macro... yes
checking whether setenv is declared without a macro... yes
checking whether setstate is declared without a macro... yes
checking whether setstate_r is declared without a macro... yes
checking whether srandom is declared without a macro... yes
checking whether srandom_r is declared without a macro... yes
checking whether strtod is declared without a macro... yes
checking whether strtoll is declared without a macro... yes
checking whether strtoull is declared without a macro... yes
checking whether unlockpt is declared without a macro... yes
checking whether unsetenv is declared without a macro... yes
checking for stpcpy... yes
checking for strcasecmp... yes
checking for strncasecmp... yes
checking whether strncasecmp is declared... (cached) 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 fchmodat is declared without a macro... (cached) yes
checking whether fstat is declared without a macro... (cached) yes
checking whether fstatat is declared without a macro... (cached) yes
checking whether futimens is declared without a macro... (cached) yes
checking whether lchmod is declared without a macro... (cached) yes
checking whether lstat is declared without a macro... (cached) yes
checking whether mkdirat is declared without a macro... (cached) yes
checking whether mkfifo is declared without a macro... (cached) yes
checking whether mkfifoat is declared without a macro... (cached) yes
checking whether mknod is declared without a macro... (cached) yes
checking whether mknodat is declared without a macro... (cached) yes
checking whether stat is declared without a macro... (cached) yes
checking whether utimensat is declared without a macro... (cached) yes
checking whether localtime_r is declared... yes
checking whether localtime_r is compatible with its POSIX signature... yes
checking for timezone_t... no
checking whether chdir is declared without a macro... yes
checking whether chown is declared without a macro... yes
checking whether dup is declared without a macro... yes
checking whether dup2 is declared without a macro... yes
checking whether dup3 is declared without a macro... yes
checking whether environ is declared without a macro... yes
checking whether euidaccess is declared without a macro... yes
checking whether faccessat is declared without a macro... yes
checking whether fchdir is declared without a macro... yes
checking whether fchownat is declared without a macro... yes
checking whether fdatasync is declared without a macro... yes
checking whether fsync is declared without a macro... yes
checking whether ftruncate is declared without a macro... yes
checking whether getcwd is declared without a macro... yes
checking whether getdomainname is declared without a macro... yes
checking whether getdtablesize is declared without a macro... yes
checking whether getgroups is declared without a macro... yes
checking whether gethostname is declared without a macro... yes
checking whether getlogin is declared without a macro... yes
checking whether getlogin_r is declared without a macro... yes
checking whether getpagesize is declared without a macro... yes
checking whether getusershell is declared without a macro... yes
checking whether setusershell is declared without a macro... yes
checking whether endusershell is declared without a macro... yes
checking whether group_member is declared without a macro... yes
checking whether isatty is declared without a macro... yes
checking whether lchown is declared without a macro... yes
checking whether link is declared without a macro... yes
checking whether linkat is declared without a macro... yes
checking whether lseek is declared without a macro... yes
checking whether pipe is declared without a macro... yes
checking whether pipe2 is declared without a macro... yes
checking whether pread is declared without a macro... yes
checking whether pwrite is declared without a macro... yes
checking whether readlink is declared without a macro... yes
checking whether readlinkat is declared without a macro... yes
checking whether rmdir is declared without a macro... yes
checking whether sethostname is declared without a macro... yes
checking whether sleep is declared without a macro... yes
checking whether symlink is declared without a macro... yes
checking whether symlinkat is declared without a macro... yes
checking whether ttyname_r is declared without a macro... yes
checking whether unlink is declared without a macro... yes
checking whether unlinkat is declared without a macro... yes
checking whether usleep is declared without a macro... yes
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 whether utimensat works... needs runtime check
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 btowc is declared without a macro... yes
checking whether wctob is declared without a macro... yes
checking whether mbsinit is declared without a macro... yes
checking whether mbrtowc is declared without a macro... yes
checking whether mbrlen is declared without a macro... yes
checking whether mbsrtowcs is declared without a macro... yes
checking whether mbsnrtowcs is declared without a macro... yes
checking whether wcrtomb is declared without a macro... yes
checking whether wcsrtombs is declared without a macro... yes
checking whether wcsnrtombs is declared without a macro... yes
checking whether wcwidth is declared without a macro... yes
checking whether wmemchr is declared without a macro... yes
checking whether wmemcmp is declared without a macro... yes
checking whether wmemcpy is declared without a macro... yes
checking whether wmemmove is declared without a macro... yes
checking whether wmemset is declared without a macro... yes
checking whether wcslen is declared without a macro... yes
checking whether wcsnlen is declared without a macro... yes
checking whether wcscpy is declared without a macro... yes
checking whether wcpcpy is declared without a macro... yes
checking whether wcsncpy is declared without a macro... yes
checking whether wcpncpy is declared without a macro... yes
checking whether wcscat is declared without a macro... yes
checking whether wcsncat is declared without a macro... yes
checking whether wcscmp is declared without a macro... yes
checking whether wcsncmp is declared without a macro... yes
checking whether wcscasecmp is declared without a macro... yes
checking whether wcsncasecmp is declared without a macro... yes
checking whether wcscoll is declared without a macro... yes
checking whether wcsxfrm is declared without a macro... yes
checking whether wcsdup is declared without a macro... yes
checking whether wcschr is declared without a macro... yes
checking whether wcsrchr is declared without a macro... yes
checking whether wcscspn is declared without a macro... yes
checking whether wcsspn is declared without a macro... yes
checking whether wcspbrk is declared without a macro... yes
checking whether wcsstr is declared without a macro... yes
checking whether wcstok is declared without a macro... yes
checking whether wcswidth is declared without a macro... yes
checking whether mbrtowc handles incomplete characters... (cached) guessing yes
checking whether mbrtowc works as well as mbtowc... (cached) guessing 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 wctype is declared without a macro... (cached) yes
checking whether iswctype is declared without a macro... (cached) yes
checking whether wctrans is declared without a macro... (cached) yes
checking whether towctrans is declared without a macro... (cached) yes
checking whether wcwidth is declared... (cached) yes
checking whether wcwidth works reasonably in UTF-8 locales... 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 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 CFLocaleCopyCurrent... 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" \
	LDFLAGS="`dpkg-buildflags --get LDFLAGS`" /usr/bin/make  -j --jobserver-fds=3,4
make[1]: Entering directory '/<<PKGBUILDDIR>>'
/usr/bin/make  all-recursive
make[2]: Entering directory '/<<PKGBUILDDIR>>'
Making all in doc
make[3]: Entering directory '/<<PKGBUILDDIR>>/doc'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/doc'
Making all in gnu
make[3]: Entering directory '/<<PKGBUILDDIR>>/gnu'
rm -f alloca.h-t alloca.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  cat ./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 '#define PREFIX "/usr"'; \
  echo '#define EXEC_PREFIX "/usr"'; \
  echo '#define BINDIR "/usr/bin"'; \
  echo '#define SBINDIR "/usr/sbin"'; \
  echo '#define LIBEXECDIR "/usr/lib/tar"'; \
  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/lib/tar/tar"'; \
} | sed '/""/d' > configmake.h-t && \
mv -f configmake.h-t configmake.h
rm -f c++defs.h-t c++defs.h && \
sed -n -e '/_GL_CXXDEFS/,$p' \
  < ../build-aux/snippet/c++defs.h \
  > c++defs.h-t && \
mv c++defs.h-t c++defs.h
rm -f arg-nonnull.h-t arg-nonnull.h && \
sed -n -e '/GL_ARG_NONNULL/,$p' \
  < ../build-aux/snippet/arg-nonnull.h \
  > arg-nonnull.h-t && \
mv arg-nonnull.h-t arg-nonnull.h
rm -f warn-on-use.h-t warn-on-use.h && \
sed -n -e '/^.ifndef/,$p' \
  < ../build-aux/snippet/warn-on-use.h \
  > warn-on-use.h-t && \
mv warn-on-use.h-t warn-on-use.h
rm -f unused-parameter.h-t unused-parameter.h && \
sed -n -e '/GL_UNUSED_PARAMETER/,$p' \
  < ../build-aux/snippet/unused-parameter.h \
  > unused-parameter.h-t && \
mv unused-parameter.h-t unused-parameter.h
/bin/mkdir -p sys
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 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' \
      < ./sys_types.in.h; \
} > sys/types.h-t && \
mv sys/types.h-t sys/types.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/@''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''@/0/g' \
      -e 's/@''GNULIB_WMEMCMP''@/0/g' \
      -e 's/@''GNULIB_WMEMCPY''@/0/g' \
      -e 's/@''GNULIB_WMEMMOVE''@/0/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' \
      < ./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_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_DECL_WCTOB''@|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''@|0|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 '/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/@''GNULIB_ISWBLANK''@/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_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
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_FCNTL''@/1/g' \
      -e 's/@''GNULIB_NONBLOCKING''@/0/g' \
      -e 's/@''GNULIB_OPEN''@/1/g' \
      -e 's/@''GNULIB_OPENAT''@/1/g' \
      -e 's|@''HAVE_FCNTL''@|1|g' \
      -e 's|@''HAVE_OPENAT''@|1|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 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/@''PRI_MACROS_BROKEN''@/0/g' \
      -e 's/@''APPLE_UNIVERSAL_BUILD''@/0/g' \
      -e 's/@''HAVE_LONG_LONG_INT''@/1/g' \
      -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/1/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/@''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_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 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_DUPLOCALE''@/0/g' \
      -e 's|@''HAVE_DUPLOCALE''@|1|g' \
      -e 's|@''HAVE_XLOCALE_H''@|1|g' \
      -e 's|@''REPLACE_LOCALECONV''@|0|g' \
      -e 's|@''REPLACE_SETLOCALE''@|0|g' \
      -e 's|@''REPLACE_DUPLOCALE''@|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 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 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 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''@/0/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' \
      < ./stdio.in.h | \
  sed -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_ATOLL''@/0/g' \
      -e 's/@''GNULIB_CALLOC_POSIX''@/0/g' \
      -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/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_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_REALPATH''@/1/g' \
      -e 's/@''GNULIB_RPMATCH''@/1/g' \
      -e 's/@''GNULIB_SECURE_GETENV''@/1/g' \
      -e 's/@''GNULIB_SETENV''@/1/g' \
      -e 's/@''GNULIB_STRTOD''@/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' \
      < ./stdlib.in.h | \
  sed -e 's|@''HAVE__EXIT''@|1|g' \
      -e 's|@''HAVE_ATOLL''@|1|g' \
      -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|1|g' \
      -e 's|@''HAVE_DECL_GETLOADAVG''@|1|g' \
      -e 's|@''HAVE_GETSUBOPT''@|1|g' \
      -e 's|@''HAVE_GRANTPT''@|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_OPENPT''@|1|g' \
      -e 's|@''HAVE_PTSNAME''@|1|g' \
      -e 's|@''HAVE_PTSNAME_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_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_STRTOD''@|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_CALLOC''@|0|g' \
      -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|0|g' \
      -e 's|@''REPLACE_MALLOC''@|0|g' \
      -e 's|@''REPLACE_MBTOWC''@|0|g' \
      -e 's|@''REPLACE_MKSTEMP''@|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_R''@|0|g' \
      -e 's|@''REPLACE_REALLOC''@|0|g' \
      -e 's|@''REPLACE_REALPATH''@|0|g' \
      -e 's|@''REPLACE_SETENV''@|0|g' \
      -e 's|@''REPLACE_STRTOD''@|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 ../build-aux/snippet/_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_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_STRSIGNAL''@/0/g' \
      -e 's/@''GNULIB_STRVERSCMP''@/0/g' \
      < ./string.in.h | \
  sed -e 's|@''HAVE_FFSL''@|1|g' \
      -e 's|@''HAVE_FFSLL''@|1|g' \
      -e 's|@''HAVE_MBSLEN''@|0|g' \
      -e 's|@''HAVE_MEMCHR''@|1|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_DECL_STRSIGNAL''@|1|g' \
      -e 's|@''HAVE_STRVERSCMP''@|1|g' \
      -e 's|@''REPLACE_STPNCPY''@|0|g' \
      -e 's|@''REPLACE_MEMCHR''@|0|g' \
      -e 's|@''REPLACE_MEMMEM''@|0|g' \
      -e 's|@''REPLACE_STRCASESTR''@|0|g' \
      -e 's|@''REPLACE_STRCHRNUL''@|0|g' \
      -e 's|@''REPLACE_STRDUP''@|0|g' \
      -e 's|@''REPLACE_STRSTR''@|0|g' \
      -e 's|@''REPLACE_STRERROR''@|0|g' \
      -e 's|@''REPLACE_STRERROR_R''@|0|g' \
      -e 's|@''REPLACE_STRNCAT''@|0|g' \
      -e 's|@''REPLACE_STRNDUP''@|0|g' \
      -e 's|@''REPLACE_STRNLEN''@|0|g' \
      -e 's|@''REPLACE_STRSIGNAL''@|0|g' \
      -e 's|@''REPLACE_STRTOK_R''@|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/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/@''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_LCHMOD''@/0/g' \
      -e 's/@''GNULIB_LSTAT''@/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|@''HAVE_FCHMODAT''@|1|g' \
      -e 's|@''HAVE_FSTATAT''@|1|g' \
      -e 's|@''HAVE_FUTIMENS''@|1|g' \
      -e 's|@''HAVE_LCHMOD''@|1|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_FSTAT''@|0|g' \
      -e 's|@''REPLACE_FSTATAT''@|0|g' \
      -e 's|@''REPLACE_FUTIMENS''@|1|g' \
      -e 's|@''REPLACE_LSTAT''@|0|g' \
      -e 's|@''REPLACE_MKDIR''@|0|g' \
      -e 's|@''REPLACE_MKFIFO''@|0|g' \
      -e 's|@''REPLACE_MKNOD''@|0|g' \
      -e 's|@''REPLACE_STAT''@|0|g' \
      -e 's|@''REPLACE_UTIMENSAT''@|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' \
      < ./sys_stat.in.h; \
} > sys/stat.h-t && \
mv sys/stat.h-t sys/stat.h
/bin/mkdir -p sys
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_GETTIMEOFDAY''@/1/g' \
      -e 's/@''GNULIB_MKTIME''@/1/g' \
      -e 's/@''GNULIB_NANOSLEEP''@/0/g' \
      -e 's/@''GNULIB_STRPTIME''@/0/g' \
      -e 's/@''GNULIB_TIMEGM''@/1/g' \
      -e 's/@''GNULIB_TIME_R''@/1/g' \
      -e 's/@''GNULIB_TIME_RZ''@/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_TIMEZONE_T''@|0|g' \
      -e 's|@''REPLACE_GMTIME''@|0|g' \
      -e 's|@''REPLACE_LOCALTIME''@|0|g' \
      -e 's|@''REPLACE_LOCALTIME_R''@|0|g' \
      -e 's|@''REPLACE_MKTIME''@|1|g' \
      -e 's|@''REPLACE_NANOSLEEP''@|GNULIB_PORTCHECK|g' \
      -e 's|@''REPLACE_TIMEGM''@|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 '/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 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 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_CHDIR''@/1/g' \
      -e 's/@''GNULIB_CHOWN''@/1/g' \
      -e 's/@''GNULIB_CLOSE''@/1/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_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_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_GETPAGESIZE''@/1/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''@/0/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_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' \
      < ./unistd.in.h | \
  sed -e 's|@''HAVE_CHOWN''@|1|g' \
      -e 's|@''HAVE_DUP2''@|1|g' \
      -e 's|@''HAVE_DUP3''@|1|g' \
      -e 's|@''HAVE_EUIDACCESS''@|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_GETGROUPS''@|1|g' \
      -e 's|@''HAVE_GETHOSTNAME''@|1|g' \
      -e 's|@''HAVE_GETLOGIN''@|1|g' \
      -e 's|@''HAVE_GETPAGESIZE''@|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_FCHDIR''@|1|g' \
      -e 's|@''HAVE_DECL_FDATASYNC''@|1|g' \
      -e 's|@''HAVE_DECL_GETDOMAINNAME''@|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_TTYNAME_R''@|1|g' \
      -e 's|@''HAVE_OS_H''@|0|g' \
      -e 's|@''HAVE_SYS_PARAM_H''@|0|g' \
  | \
  sed -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_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_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_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_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
/usr/bin/make  all-recursive
make[4]: Entering directory '/<<PKGBUILDDIR>>/gnu'
make[5]: Entering directory '/<<PKGBUILDDIR>>/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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 backupfile.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT backupfile.o -MD -MP -MF $depbase.Tpo -c -o backupfile.o backupfile.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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT close-stream.o -MD -MP -MF $depbase.Tpo -c -o close-stream.o close-stream.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo closeout.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 basename-lgpl.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 stripslash.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT exitfail.o -MD -MP -MF $depbase.Tpo -c -o exitfail.o exitfail.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo chmodat.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT chmodat.o -MD -MP -MF $depbase.Tpo -c -o chmodat.o chmodat.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo chownat.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT chownat.o -MD -MP -MF $depbase.Tpo -c -o chownat.o chownat.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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 fdutimensat.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 gettime.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT gettime.o -MD -MP -MF $depbase.Tpo -c -o gettime.o gettime.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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT modechange.o -MD -MP -MF $depbase.Tpo -c -o modechange.o modechange.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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 parse-datetime.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT quotearg.o -MD -MP -MF $depbase.Tpo -c -o quotearg.o quotearg.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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT savedir.o -MD -MP -MF $depbase.Tpo -c -o savedir.o savedir.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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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-selinux.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 stat-time.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT statat.o -MD -MP -MF $depbase.Tpo -c -o statat.o statat.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo strftime.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT strftime.o -MD -MP -MF $depbase.Tpo -c -o strftime.o strftime.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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT xstrtoul.o -MD -MP -MF $depbase.Tpo -c -o xstrtoul.o xstrtoul.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo xstrtol-error.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT xstrtol-error.o -MD -MP -MF $depbase.Tpo -c -o xstrtol-error.o xstrtol-error.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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 fcntl.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT fcntl.o -MD -MP -MF $depbase.Tpo -c -o fcntl.o fcntl.c &&\
mv -f $depbase.Tpo $depbase.Po
depbase=`echo futimens.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT futimens.o -MD -MP -MF $depbase.Tpo -c -o futimens.o futimens.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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT getopt1.o -MD -MP -MF $depbase.Tpo -c -o getopt1.o getopt1.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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT obstack.o -MD -MP -MF $depbase.Tpo -c -o obstack.o obstack.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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 printf-args.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 selinux-at.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 time_rz.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 utimensat.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT utimensat.o -MD -MP -MF $depbase.Tpo -c -o utimensat.o utimensat.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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT vasnprintf.o -MD -MP -MF $depbase.Tpo -c -o vasnprintf.o vasnprintf.c &&\
mv -f $depbase.Tpo $depbase.Po
rm -f t-charset.alias charset.alias && \
/bin/bash ./config.charset 'armv8l-unknown-linux-gnueabihf' > t-charset.alias && \
mv t-charset.alias charset.alias
rm -f t-ref-add.sed ref-add.sed && \
sed -e '/^#/d' -e 's/@''PACKAGE''@/tar/g' ref-add.sin > t-ref-add.sed && \
mv t-ref-add.sed ref-add.sed
rm -f t-ref-del.sed ref-del.sed && \
sed -e '/^#/d' -e 's/@''PACKAGE''@/tar/g' ref-del.sin > t-ref-del.sed && \
mv t-ref-del.sed ref-del.sed
depbase=`echo uniwidth/width.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 backupfile.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 basename-lgpl.o stripslash.o exclude.o exitfail.o chmodat.o chownat.o fd-hook.o fdutimensat.o file-has-acl.o filenamecat-lgpl.o fprintftime.o full-write.o gettime.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 openat-die.o parse-datetime.o priv-set.o progname.o quotearg.o safe-read.o safe-write.o save-cwd.o savedir.o se-context.o se-selinux.o stat-time.o statat.o strftime.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 xstrtol-error.o xstrtoumax.o xvasprintf.o xasprintf.o asnprintf.o chdir-long.o fcntl.o futimens.o getfilecon.o getopt.o getopt1.o mktime.o obstack.o openat-proc.o printf-args.o printf-parse.o selinux-at.o time_rz.o utimensat.o vasnprintf.o 
ranlib libgnu.a
make[5]: Leaving directory '/<<PKGBUILDDIR>>/gnu'
make[4]: Leaving directory '/<<PKGBUILDDIR>>/gnu'
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gnu'
Making all in lib
make[3]: Entering directory '/<<PKGBUILDDIR>>/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/lib/tar/`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 '/<<PKGBUILDDIR>>/lib'
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT stdopen.o -MD -MP -MF .deps/stdopen.Tpo -c -o stdopen.o stdopen.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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT wordsplit.o -MD -MP -MF .deps/wordsplit.Tpo -c -o wordsplit.o wordsplit.c
mv -f .deps/stdopen.Tpo .deps/stdopen.Po
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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/rtapelib.Tpo .deps/rtapelib.Po
mv -f .deps/xattr-at.Tpo .deps/xattr-at.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 stdopen.o wordsplit.o xattr-at.o 
ranlib libtar.a
make[4]: Leaving directory '/<<PKGBUILDDIR>>/lib'
make[3]: Leaving directory '/<<PKGBUILDDIR>>/lib'
Making all in rmt
make[3]: Entering directory '/<<PKGBUILDDIR>>/rmt'
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall  -Wl,-z,relro -o rmt rmt.o ../gnu/libgnu.a   -lacl 
make[3]: Leaving directory '/<<PKGBUILDDIR>>/rmt'
Making all in src
make[3]: Entering directory '/<<PKGBUILDDIR>>/src'
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT create.o -MD -MP -MF .deps/create.Tpo -c -o create.o create.c
mv -f .deps/compare.Tpo .deps/compare.Po
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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT delete.o -MD -MP -MF .deps/delete.Tpo -c -o delete.o delete.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT suffix.o -MD -MP -MF .deps/suffix.Tpo -c -o suffix.o suffix.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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT system.o -MD -MP -MF .deps/system.Tpo -c -o system.o system.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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT utf8.o -MD -MP -MF .deps/utf8.Tpo -c -o utf8.o utf8.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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT warning.o -MD -MP -MF .deps/warning.Tpo -c -o warning.o warning.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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT xattrs.o -MD -MP -MF .deps/xattrs.Tpo -c -o xattrs.o xattrs.c
mv -f .deps/utf8.Tpo .deps/utf8.Po
mv -f .deps/warning.Tpo .deps/warning.Po
mv -f .deps/tar.Tpo .deps/tar.Po
mv -f .deps/xattrs.Tpo .deps/xattrs.Po
gcc   -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall  -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 '/<<PKGBUILDDIR>>/src'
Making all in scripts
make[3]: Entering directory '/<<PKGBUILDDIR>>/scripts'
sed "s,\@libexecdir\@,/usr/lib/tar,; s,\@sysconfdir\@,/usr/etc,; s,\@PACKAGE_NAME\@,GNU tar,; s,\@VERSION\@,1.29,; 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/lib/tar,; s,\@sysconfdir\@,/usr/etc,; s,\@PACKAGE_NAME\@,GNU tar,; s,\@VERSION\@,1.29,; 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/lib/tar,; s,\@sysconfdir\@,/usr/etc,; s,\@PACKAGE_NAME\@,GNU tar,; s,\@VERSION\@,1.29,; 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/lib/tar,; s,\@sysconfdir\@,/usr/etc,; s,\@PACKAGE_NAME\@,GNU tar,; s,\@VERSION\@,1.29,; 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 '/<<PKGBUILDDIR>>/scripts'
Making all in po
make[3]: Entering directory '/<<PKGBUILDDIR>>/po'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/po'
Making all in tests
make[3]: Entering directory '/<<PKGBUILDDIR>>/tests'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/tests'
make[3]: Entering directory '/<<PKGBUILDDIR>>'
make[3]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
/usr/bin/make check TESTSUITEFLAGS=-v || { cat tests/testsuite.log; false; }
make[1]: Entering directory '/<<PKGBUILDDIR>>'
Making check in doc
make[2]: Entering directory '/<<PKGBUILDDIR>>/doc'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/doc'
Making check in gnu
make[2]: Entering directory '/<<PKGBUILDDIR>>/gnu'
/usr/bin/make  check-recursive
make[3]: Entering directory '/<<PKGBUILDDIR>>/gnu'
make[4]: Entering directory '/<<PKGBUILDDIR>>/gnu'
make[4]: Nothing to be done for 'check-am'.
make[4]: Leaving directory '/<<PKGBUILDDIR>>/gnu'
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gnu'
make[2]: Leaving directory '/<<PKGBUILDDIR>>/gnu'
Making check in lib
make[2]: Entering directory '/<<PKGBUILDDIR>>/lib'
/usr/bin/make  check-am
make[3]: Entering directory '/<<PKGBUILDDIR>>/lib'
make[3]: Nothing to be done for 'check-am'.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/lib'
make[2]: Leaving directory '/<<PKGBUILDDIR>>/lib'
Making check in rmt
make[2]: Entering directory '/<<PKGBUILDDIR>>/rmt'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/rmt'
Making check in src
make[2]: Entering directory '/<<PKGBUILDDIR>>/src'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src'
Making check in scripts
make[2]: Entering directory '/<<PKGBUILDDIR>>/scripts'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/scripts'
Making check in po
make[2]: Entering directory '/<<PKGBUILDDIR>>/po'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/po'
Making check in tests
make[2]: Entering directory '/<<PKGBUILDDIR>>/tests'
/usr/bin/make  genfile checkseekhole ckmtime
make[3]: Entering directory '/<<PKGBUILDDIR>>/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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall  -Wl,-z,relro -o checkseekhole checkseekhole.o ../gnu/libgnu.a    -lacl 
mv -f .deps/ckmtime.Tpo .deps/ckmtime.Po
gcc  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall  -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 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall  -Wl,-z,relro -o genfile genfile.o argcv.o ../gnu/libgnu.a    -lacl 
make[3]: Leaving directory '/<<PKGBUILDDIR>>/tests'
/usr/bin/make  check-local
make[3]: Entering directory '/<<PKGBUILDDIR>>/tests'
/bin/bash /<<PKGBUILDDIR>>/build-aux/missing autom4te --language=autotest -I . testsuite.at -o testsuite.tmp
mv testsuite.tmp testsuite
/bin/bash ./testsuite -v
## ------------------------ ##
## GNU tar 1.29 test suite. ##
## ------------------------ ##
1. version.at:20: testing tar version ...
./version.at:22: tar --version | sed 1q
1. version.at:20:  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

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

3. options.at:25:  ok

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

4. options02.at:27:  ok


Option compatibility

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

5. opcomp01.at:21:  ok

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

6. opcomp02.at:21:  ok

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

7. opcomp03.at:21:  ok

8. 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

8. opcomp04.at:21:  ok

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

9. opcomp05.at:21:  ok

10. 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

--- -	2017-07-27 05:33:45.039955502 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/10/stderr	2017-07-27 05:33:45.033947403 +0000
@@ -1,3 +1 @@
-tar: --acls can be used only on POSIX archives
-Try 'tar --help' or 'tar --usage' for more information.
 
10. opcomp06.at:21:  skipped (opcomp06.at:24)


The -T option

11. 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
)
11. T-mult.at:21:  ok

12. 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
)
12. T-nest.at:21:  ok

13. 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
)
13. T-rec.at:21:  ok

14. 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"
)
14. T-recurse.at:27:  ok

15. 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

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

16. 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
)
16. T-cd.at:21:  ok

17. 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
)
17. T-empty.at:26:  ok

18. 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
)
18. T-null.at:21:  ok

19. 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
_ATEOF


genfile -f a
genfile -f -b
genfile -f '--c d'

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

20. 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
)
20. T-zfile.at:26:  ok

21. 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
$as_echo_n c > 1.nonl
echo d > 2.nonl
$as_echo_n e >> 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
)
21. T-nonl.at:27:  ok

22. 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
)
22. T-dir00.at:28:  ok

23. 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
)
23. T-dir01.at:28:  ok


Various options

24. 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
)
24. indexfile.at:26:  ok

25. 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
)
25. verbose.at:26:  ok

26. gzip.at:24: testing gzip ...
./gzip.at:29:

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

26. gzip.at:24:  ok

27. 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
)
27. recurse.at:21:  ok

28. 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
)
28. recurs02.at:30:  ok

29. shortrec.at:26: testing short records ...
./shortrec.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
(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:29:
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:29:
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:29:
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:29:
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
)
29. shortrec.at:26:  ok

30. 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 *

mkdir dir
genfile --file dir/file

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


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 *

mkdir dir
genfile --file dir/file

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


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 *

mkdir dir
genfile --file dir/file

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


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 *

mkdir dir
genfile --file dir/file

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


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}'

)
30. numeric.at:18:  ok


The --same-order option

31. same-order01.at:27: testing working -C with --same-order ...
./same-order01.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


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: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


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: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


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: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


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: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


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
)
31. same-order01.at:27:  ok

32. same-order02.at:26: testing multiple -C options ...
./same-order02.at:29:
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:29:
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:29:
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:29:
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:29:
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
)
32. same-order02.at:26:  ok


Append

33. append.at:22: testing append ...
./append.at:25:
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:25:
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:25:
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:25:
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:25:
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)
33. append.at:22:  ok

34. 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
)
34. append01.at:29:  ok

35. append02.at:55: testing append vs. create ...
./append02.at:58:
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:58:
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:58:
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:58:
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:58:
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
)
35. append02.at:55:  ok

36. 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
)
36. append03.at:21:  ok

37. 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
)
37. append04.at:29:  ok

38. 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
)
38. append05.at:32:  ok


Transforms

39. 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'

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

40. 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
)
40. xform01.at:26:  ok

41. 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
)
41. xform02.at:21:  ok


Exclude

42. 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
)
42. exclude.at:23:  ok

43. 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
)
43. exclude01.at:19:  ok

44. 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

)
44. exclude02.at:19:  ok

45. 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

)
45. exclude03.at:19:  ok

46. 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

)
46. exclude04.at:19:  ok

47. 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

)
47. exclude05.at:21:  ok

48. 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
)
48. exclude06.at:26:  ok

49. 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
)
49. exclude07.at:19:  ok

50. 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
)
50. exclude08.at:36:  ok

51. 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
)
51. exclude09.at:37:  ok

52. 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
)
52. exclude10.at:38:  ok

53. 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
)
53. exclude11.at:36:  ok

54. 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
)
54. exclude12.at:37:  ok

55. 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
)
55. exclude13.at:39:  ok

56. 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
)
56. exclude14.at:36:  ok

57. 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
)
57. exclude15.at:36:  ok

58. 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
)
58. exclude16.at:38:  ok


Deletions

59. delete01.at:24: testing deleting a member after a big one ...
./delete01.at:27:
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:27:
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:27:
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:27:
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:27:
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)
59. delete01.at:24:  ok

60. delete02.at:24: testing deleting a member from stdin archive ...
./delete02.at:27:
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:27:
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:27:
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:27:
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:27:
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)
60. delete02.at:24:  ok

61. 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
)
61. delete03.at:21:  ok

62. delete04.at:24: testing deleting a large last member ...
./delete04.at:27:
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:27:
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:27:
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:27:
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:27:
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
)
62. delete04.at:24:  ok

63. delete05.at:28: testing deleting non-existing member ...
./delete05.at:31:
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:31:
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:31:
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:31:
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:31:
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
)
63. delete05.at:28:  ok


Extracting

64. extrac01.at:24: testing extract over an existing directory ...
./extrac01.at:27:
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:27:
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:27:
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:27:
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:27:
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
)
64. extrac01.at:24:  ok

65. extrac02.at:24: testing extracting symlinks over an existing file ...
./extrac02.at:29:
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:29:
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:29:
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:29:
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:29:
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
)
65. extrac02.at:24:  ok

66. 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)
66. extrac03.at:23:  ok

67. extrac04.at:24: testing extract + fnmatch ...
./extrac04.at:27:
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: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

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:27:
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: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

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: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

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
)
67. extrac04.at:24:  ok

68. extrac05.at:31: testing extracting selected members from pax ...
./extrac05.at:39:
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 ..
)
68. extrac05.at:31:  ok

69. 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
)
69. extrac06.at:34:  ok

70. 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
)
70. extrac07.at:27:  ok

71. 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
)
71. extrac08.at:33:  ok

72. 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
)
72. extrac09.at:34:  ok

73. 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
)
73. extrac10.at:29:  ok

74. 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

# 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; }
)
74. extrac11.at:25:  ok

75. 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
)
75. extrac12.at:25:  ok

76. 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
)
76. extrac13.at:26:  ok

77. 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
)
77. extrac14.at:25:  ok

78. 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
)
78. extrac15.at:25:  ok

79. 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
)
79. extrac16.at:26:  ok

80. 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/
)
80. extrac17.at:21:  ok

81. 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
)
81. extrac18.at:34:  ok

82. 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
)
82. extrac19.at:21:  ok

83. 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
)
83. backup01.at:33:  ok


Volume label operations

84. 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
)
84. label01.at:21:  ok

85. 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
)
85. label02.at:21:  ok

86. 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 $?
)
86. label03.at:27:  ok

87. 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
)
87. label04.at:27:  ok

88. 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
)
88. label05.at:24:  ok


Incremental archives

89. 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
)
89. incremental.at:23:  ok

90. 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
)
90. incr01.at:27:  ok

91. 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 -
)
91. incr02.at:32:  ok

92. listed01.at:27: testing --listed for individual files ...
./listed01.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
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: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
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
)
92. listed01.at:27:  ok

93. listed02.at:29: testing working --listed ...
./listed02.at:32:
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:32:
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
)
93. listed02.at:29:  ok

94. 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
)
94. listed03.at:24:  ok

95. 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
)
95. listed04.at:26:  ok

96. 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
)
--- -	2017-07-27 05:35:31.704830157 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/96/stderr	2017-07-27 05:35:31.698991840 +0000
@@ -1,4 +1 @@
-tar: .: Directory is new
-tar: ./subdir: Directory is new
-tar: ./subdir: directory is on a different filesystem; not dumped
 
--- -	2017-07-27 05:35:31.706779116 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/96/stdout	2017-07-27 05:35:31.702991879 +0000
@@ -1,10 +1 @@
-# Level 0
-./
-./subdir/
-./top-level-file
-./subdir/subdir-file
-# Remount
-# Level 1
-./
-./subdir/
 
96. listed05.at:33:  skipped (listed05.at:36)

97. incr03.at:29: testing renamed files in incrementals ...
./incr03.at:32:
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:32:
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:32:
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
)
97. incr03.at:29:  ok

98. incr04.at:30: testing proper icontents initialization ...
./incr04.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

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: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

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: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

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
)
98. incr04.at:30:  ok

99. 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 .
)
99. incr05.at:21:  ok

100. 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 .
)
100. incr06.at:21:  ok

101. 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
)
101. incr07.at:18:  ok

102. 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 2>../err |\
  sed "s|$DIR|ABSPATH|"
sed "s|$DIR|ABSPATH|" ../err >&2
)
102. incr08.at:38:  ok

103. 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 .
)
103. incr09.at:26:  ok

104. 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
)
104. incr10.at:18:  ok

105. 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
)
105. incr11.at:25:  ok


Files removed while archiving

106. filerem01.at:36: testing file removed as we read it (ca. 22 seconds) ...
./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 --checkpoint=1 --checkpoint-action='sleep=1' \
       --checkpoint-action='echo' -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 --checkpoint=1 --checkpoint-action='sleep=1' \
       --checkpoint-action='echo' -c -f archive.tar \
       --listed-incremental db -v dir >/dev/null
)
stdout:
106. filerem01.at:36:  ok

107. filerem02.at:26: testing toplevel file removed (ca. 24 seconds) ...
./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 --checkpoint=1 --checkpoint-action='sleep=1' \
       --checkpoint-action='echo' -c -f archive.tar \
       --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null
)
stderr:
tar: dir2: file changed as we read it
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 --checkpoint=1 --checkpoint-action='sleep=1' \
       --checkpoint-action='echo' -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:
107. filerem02.at:26:  ok


Renames

108. rename01.at:25: testing renamed dirs in incrementals ...
./rename01.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
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:28:
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:28:
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
)
108. rename01.at:25:  ok

109. rename02.at:25: testing move between hierarchies ...
./rename02.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
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:28:
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:28:
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
)
109. rename02.at:25:  ok

110. rename03.at:24: testing cyclic renames ...
./rename03.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/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: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/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: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/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
)
110. rename03.at:24:  ok

111. 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
)
111. rename04.at:27:  ok

112. 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
)
112. rename05.at:24:  ok

113. 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
)
113. chtype.at:27:  ok


Ignore failing reads

114. ignfail.at:24: testing ignfail ...
./ignfail.at:27:
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:27:
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:27:
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:27:
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:27:
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
)
114. ignfail.at:24:  ok


Link handling

115. link01.at:34: testing link count gt 2 ...
./link01.at:37:
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:37:
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:37:
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:37:
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:37:
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
)
115. link01.at:34:  ok

116. 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'
)
116. link02.at:32:  ok

117. 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'
)
117. link03.at:24:  ok

118. 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
)
118. link04.at:29:  ok


Specific archive formats

119. longv7.at:25: testing long names in V7 archives ...
./longv7.at:31:
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
)
119. longv7.at:25:  ok

120. 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)
120. long01.at:28:  ok

121. 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
)
121. lustar01.at:21:  ok

122. 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
)
122. lustar02.at:21:  ok

123. 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)
123. lustar03.at:21:  ok

124. old.at:23: testing old archives ...
./old.at:27:
mkdir directory
tar cfvo archive directory || exit 1
tar tf archive

124. old.at:23:  ok

125. 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
)
125. time01.at:20:  ok

126. 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
)
126. time02.at:20:  ok


Multivolume archives

127. multiv01.at:24: testing multivolume dumps from pipes ...
./multiv01.at:31:
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:31:
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:31:
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
)
127. multiv01.at:24:  ok

128. multiv02.at:29: testing skipping a straddling member ...
./multiv02.at:32:
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:32:
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:32:
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
)
128. multiv02.at:29:  ok

129. 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
)
129. multiv03.at:30:  ok

130. 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)
130. multiv04.at:36:  ok

131. 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
)
131. multiv05.at:26:  ok

132. 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)
132. multiv06.at:27:  ok

133. 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

--- -	2017-07-27 05:36:44.975767471 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/133/stdout	2017-07-27 05:36:44.967710092 +0000
@@ -1,4 +1 @@
-Archive volumes split at an extended header Volume 1
-foo
-bar
 
133. multiv07.at:28:  skipped (multiv07.at:31)

134. 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
)
134. multiv08.at:25:  ok

135. 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
)
135. multiv09.at:26:  ok


Owner and Groups

136. 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
)
136. owner.at:21:  ok

137. 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
)
137. map.at:21:  ok


Sparse files

138. sparse01.at:22: testing sparse files ...
./sparse01.at:25:
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 2017-07-27 05:36 begin
-rw-r--r-- buildd/buildd 3102720 2017-07-27 05:36 sparsefile
-rw-rw-r-- buildd/buildd    1000 2017-07-27 05:36 end
separator
sparsefile 3102720
./sparse01.at:25:
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 2017-07-27 05:36 begin
-rw-r--r-- buildd/buildd 3102720 2017-07-27 05:36 sparsefile
-rw-rw-r-- buildd/buildd    1000 2017-07-27 05:36 end
separator
sparsefile 3102720
./sparse01.at:25:
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 2017-07-27 05:36 begin
-rw-r--r-- buildd/buildd 3102720 2017-07-27 05:36 sparsefile
-rw-rw-r-- buildd/buildd    1000 2017-07-27 05:36 end
separator
sparsefile 3102720
138. sparse01.at:22:  ok

139. sparse02.at:22: testing extracting sparse file over a pipe ...
./sparse02.at:29:
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:29:
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:29:
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
)
139. sparse02.at:22:  ok

140. 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 *

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 2017-07-27 05:36 begin
-rw-r--r-- buildd/buildd 8589935104 2017-07-27 05:36 sparsefile
-rw-rw-r-- buildd/buildd       1000 2017-07-27 05:36 end
separator
sparsefile 8589935104
140. sparse03.at:21:  ok

141. 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 -
)
141. sparse04.at:21:  ok

142. 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 *

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) }'
)
142. sparse05.at:21:  ok

143. 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
tar -cSf a bigsparse
test $? -eq 0 || exit 1


rm -rf out archive.tar smallsparse && mkdir out
genfile --sparse --quiet --file smallsparse 0 ABC
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
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
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
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
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
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
tar -cSf archive.tar smallsparse
tar -xf archive.tar -C out
cmp smallsparse out/smallsparse


)
143. sparse06.at:21:  ok

144. 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
)
144. sparsemv.at:21:  ok

145. 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
)
145. spmvp00.at:21:  ok

146. 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
)
146. spmvp01.at:21:  ok

147. 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
)
147. spmvp10.at:21:  ok


Updates

148. 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
)
148. update.at:28:  ok

149. 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
)
149. update01.at:29:  ok

150. 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
)
150. update02.at:26:  ok


Verifying the archive

151. 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
)
151. verify.at:25:  ok


Volume operations

152. volume.at:24: testing volume ...
./volume.at:27:
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:27:
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
)
152. volume.at:24:  ok

153. 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
)
--- -	2017-07-27 05:38:25.820967967 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/153/stdout	2017-07-27 05:38:25.816699625 +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
 
153. volsize.at:29:  skipped (volsize.at:32)


154. comprec.at:22: testing compressed format recognition ...
./comprec.at:26:
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:26:
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:26:
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:26:
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:26:
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
)
154. comprec.at:22:  ok

155. 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
)
155. shortfile.at:26:  ok

156. 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
)
156. shortupd.at:31:  ok

157. 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 --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz
echo Exit status: $?
echo separator
genfile --file foo --seek 195k --length 5k --pattern=zeros
tar dvf bar)
./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 --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz
echo Exit status: $?
echo separator
genfile --file foo --seek 195k --length 5k --pattern=zeros
tar dvf bar)
./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 --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz
echo Exit status: $?
echo separator
genfile --file foo --seek 195k --length 5k --pattern=zeros
tar dvf bar)
./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 --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz
echo Exit status: $?
echo separator
genfile --file foo --seek 195k --length 5k --pattern=zeros
tar dvf bar)
./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 --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz
echo Exit status: $?
echo separator
genfile --file foo --seek 195k --length 5k --pattern=zeros
tar dvf bar)
157. truncate.at:29:  ok

158. 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 --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -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 --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -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 --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -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 --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -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 --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz
)
158. grow.at:24:  ok

159. 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

159. sigpipe.at:21:  ok

160. 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
)
160. comperr.at:18:  ok


Removing files after archiving

161. 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

161. remfiles01.at:28:  ok

162. 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

162. remfiles02.at:28:  ok

163. 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

163. remfiles03.at:28:  ok

164. 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
)
164. remfiles04a.at:25:  ok

165. 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
)
165. remfiles04b.at:33:  ok

166. 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
)
166. remfiles04c.at:33:  ok

167. 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
)
167. remfiles05a.at:34:  ok

168. 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
)
168. remfiles05b.at:25:  ok

169. 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
)
169. remfiles05c.at:25:  ok

170. 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
)
170. remfiles06a.at:25:  ok

171. 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
)
171. remfiles06b.at:25:  ok

172. 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
)
172. remfiles06c.at:25:  ok

173. 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
)
173. remfiles07a.at:25:  ok

174. 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
)
174. remfiles07b.at:25:  ok

175. 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
)
175. remfiles07c.at:25:  ok

176. 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 .
)
176. remfiles08a.at:28:  ok

177. 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 .
)
177. remfiles08b.at:31:  ok

178. 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 .
)
178. remfiles08c.at:28:  ok

179. 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 .
)
179. remfiles09a.at:25:  ok

180. 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 .
)
180. remfiles09b.at:29:  ok

181. 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
)
181. remfiles09c.at:25:  ok

182. 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
)
182. remfiles10.at:20:  ok


Extended attributes

183. 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 ^$
)
--- -	2017-07-27 05:38:40.793893642 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/183/stdout	2017-07-27 05:38:40.788846612 +0000
@@ -1,3 +1 @@
-user.test="OurDirValue"
-user.test="OurFileValue"
 
183. xattr01.at:25:  skipped (xattr01.at:28)

184. 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 ^$
)
--- -	2017-07-27 05:38:40.858144353 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/184/stdout	2017-07-27 05:38:40.852847241 +0000
@@ -1,4 +1 @@
-user.test="OurFile1Value"
-user.test="OurFile2Value"
-user.test="OurDirValue"
 
184. xattr02.at:25:  skipped (xattr02.at:28)

185. 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 ^$
)
--- -	2017-07-27 05:38:40.924177721 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/185/stdout	2017-07-27 05:38:40.916847869 +0000
@@ -1,4 +1 @@
-trusted.test="OurFile1Value"
-trusted.test="OurFile2Value"
-trusted.test="OurDirValue"
 
185. xattr03.at:25:  skipped (xattr03.at:28)

186. 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
)
--- -	2017-07-27 05:38:40.988054688 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/186/stdout	2017-07-27 05:38:40.980848497 +0000
@@ -1,2 +1 @@
-user.test="value"
 
186. xattr04.at:26:  skipped (xattr04.at:29)

187. 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
)
187. xattr05.at:28:  skipped (xattr05.at:31)

188. 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
)
188. acls01.at:25:  skipped (acls01.at:28)

189. 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
)
189. acls02.at:25:  skipped (acls02.at:28)

190. 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

)
190. acls03.at:30:  skipped (acls03.at:47)

191. 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

)
--- -	2017-07-27 05:38:41.335917643 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/191/stdout	2017-07-27 05:38:41.328851914 +0000
@@ -1,4 +1 @@
-security.selinux="system_u
-security.selinux="unconfined_u
-security.selinux="system_u
 
191. selnx01.at:25:  skipped (selnx01.at:28)

192. 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
)
--- -	2017-07-27 05:38:41.411310744 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/192/stdout	2017-07-27 05:38:41.404852660 +0000
@@ -1,2 +1 @@
-separator
 
192. selacl01.at:25:  skipped (selacl01.at:28)

193. 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

getcap dir/file
)
--- -	2017-07-27 05:38:41.484934006 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/193/stdout	2017-07-27 05:38:41.476853367 +0000
@@ -1,2 +1 @@
-dir/file = cap_chown+ei
 
193. capabs_raw01.at:25:  skipped (capabs_raw01.at:28)


One top level

194. 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
)
194. onetop01.at:21:  ok

195. 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
)
195. onetop02.at:21:  ok

196. 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
)
196. onetop03.at:21:  ok

197. 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
)
197. onetop04.at:21:  ok

198. 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
)
198. onetop05.at:21:  ok


Star tests

199. gtarfail.at:22: testing gtarfail ...
./gtarfail.at:27:

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

--- -	2017-07-27 05:38:42.581475532 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/199/stdout	2017-07-27 05:38:42.576864167 +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
 
199. gtarfail.at:22:  skipped (gtarfail.at:27)

200. gtarfail2.at:22: testing gtarfail2 ...
./gtarfail2.at:27:

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

--- -	2017-07-27 05:38:42.643896165 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/200/stdout	2017-07-27 05:38:42.636864756 +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
 
200. gtarfail2.at:22:  skipped (gtarfail2.at:27)

201. multi-fail.at:22: testing multi-fail ...
./multi-fail.at:27:

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 <&-

--- -	2017-07-27 05:38:42.707017065 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/201/stdout	2017-07-27 05:38:42.700865384 +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
 
201. multi-fail.at:22:  skipped (multi-fail.at:27)

202. ustar-big-2g.at:22: testing ustar-big-2g ...
./ustar-big-2g.at:27:

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:
--- -	2017-07-27 05:38:42.795293332 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/202/stdout	2017-07-27 05:38:42.788866248 +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
 
202. ustar-big-2g.at:22:  skipped (ustar-big-2g.at:27)

203. ustar-big-8g.at:22: testing ustar-big-8g ...
./ustar-big-8g.at:27:

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:
--- -	2017-07-27 05:38:42.860704014 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/203/stdout	2017-07-27 05:38:42.852866877 +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
 
203. ustar-big-8g.at:22:  skipped (ustar-big-8g.at:27)

204. pax-big-10g.at:22: testing pax-big-10g ...
./pax-big-10g.at:27:

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:
--- -	2017-07-27 05:38:42.925897094 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/204/stdout	2017-07-27 05:38:42.920867545 +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
 
204. pax-big-10g.at:22:  skipped (pax-big-10g.at:27)

## ------------- ##
## Test results. ##
## ------------- ##

183 tests were successful.
21 tests were skipped.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/tests'
make[2]: Leaving directory '/<<PKGBUILDDIR>>/tests'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
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/lib/tar 
make[1]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
make[1]: Entering directory '/<<PKGBUILDDIR>>'
Making install in doc
make[2]: Entering directory '/<<PKGBUILDDIR>>/doc'
make[2]: Nothing to be done for 'install'.
make[2]: Leaving directory '/<<PKGBUILDDIR>>/doc'
Making install in gnu
make[2]: Entering directory '/<<PKGBUILDDIR>>/gnu'
make  install-recursive
make[3]: Entering directory '/<<PKGBUILDDIR>>/gnu'
make[4]: Entering directory '/<<PKGBUILDDIR>>/gnu'
make[5]: Entering directory '/<<PKGBUILDDIR>>/gnu'
if test yes = no; then \
  case 'linux-gnueabihf' in \
    darwin[56]*) \
      need_charset_alias=true ;; \
    darwin* | cygwin* | mingw* | pw32* | cegcc*) \
      need_charset_alias=false ;; \
    *) \
      need_charset_alias=true ;; \
  esac ; \
else \
  need_charset_alias=false ; \
fi ; \
if $need_charset_alias; then \
  /bin/bash /<<PKGBUILDDIR>>/build-aux/install-sh -d /<<PKGBUILDDIR>>/debian/tar/usr/lib ; \
fi ; \
if test -f /<<PKGBUILDDIR>>/debian/tar/usr/lib/charset.alias; then \
  sed -f ref-add.sed /<<PKGBUILDDIR>>/debian/tar/usr/lib/charset.alias > /<<PKGBUILDDIR>>/debian/tar/usr/lib/charset.tmp ; \
  /usr/bin/install -c -m 644 /<<PKGBUILDDIR>>/debian/tar/usr/lib/charset.tmp /<<PKGBUILDDIR>>/debian/tar/usr/lib/charset.alias ; \
  rm -f /<<PKGBUILDDIR>>/debian/tar/usr/lib/charset.tmp ; \
else \
  if $need_charset_alias; then \
    sed -f ref-add.sed charset.alias > /<<PKGBUILDDIR>>/debian/tar/usr/lib/charset.tmp ; \
    /usr/bin/install -c -m 644 /<<PKGBUILDDIR>>/debian/tar/usr/lib/charset.tmp /<<PKGBUILDDIR>>/debian/tar/usr/lib/charset.alias ; \
    rm -f /<<PKGBUILDDIR>>/debian/tar/usr/lib/charset.tmp ; \
  fi ; \
fi
make[5]: Nothing to be done for 'install-data-am'.
make[5]: Leaving directory '/<<PKGBUILDDIR>>/gnu'
make[4]: Leaving directory '/<<PKGBUILDDIR>>/gnu'
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gnu'
make[2]: Leaving directory '/<<PKGBUILDDIR>>/gnu'
Making install in lib
make[2]: Entering directory '/<<PKGBUILDDIR>>/lib'
make  install-am
make[3]: Entering directory '/<<PKGBUILDDIR>>/lib'
make[4]: Entering directory '/<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/lib'
make[3]: Leaving directory '/<<PKGBUILDDIR>>/lib'
make[2]: Leaving directory '/<<PKGBUILDDIR>>/lib'
Making install in rmt
make[2]: Entering directory '/<<PKGBUILDDIR>>/rmt'
make[3]: Entering directory '/<<PKGBUILDDIR>>/rmt'
make[3]: Nothing to be done for 'install-exec-am'.
 /bin/mkdir -p '/<<PKGBUILDDIR>>/debian/tar/usr/lib/tar'
  /usr/bin/install -c rmt '/<<PKGBUILDDIR>>/debian/tar/usr/lib/tar'
make[3]: Leaving directory '/<<PKGBUILDDIR>>/rmt'
make[2]: Leaving directory '/<<PKGBUILDDIR>>/rmt'
Making install in src
make[2]: Entering directory '/<<PKGBUILDDIR>>/src'
make[3]: Entering directory '/<<PKGBUILDDIR>>/src'
 /bin/mkdir -p '/<<PKGBUILDDIR>>/debian/tar/bin'
  /usr/bin/install -c tar '/<<PKGBUILDDIR>>/debian/tar/bin'
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/src'
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src'
Making install in scripts
make[2]: Entering directory '/<<PKGBUILDDIR>>/scripts'
make[3]: Entering directory '/<<PKGBUILDDIR>>/scripts'
 /bin/mkdir -p '/<<PKGBUILDDIR>>/debian/tar/usr/lib/tar'
 /usr/bin/install -c backup.sh dump-remind '/<<PKGBUILDDIR>>/debian/tar/usr/lib/tar'
 /bin/mkdir -p '/<<PKGBUILDDIR>>/debian/tar/usr/sbin'
 /usr/bin/install -c backup restore '/<<PKGBUILDDIR>>/debian/tar/usr/sbin'
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/scripts'
make[2]: Leaving directory '/<<PKGBUILDDIR>>/scripts'
Making install in po
make[2]: Entering directory '/<<PKGBUILDDIR>>/po'
/bin/mkdir -p /<<PKGBUILDDIR>>/debian/tar/usr/share
installing bg.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/bg/LC_MESSAGES/tar.mo
installing ca.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/ca/LC_MESSAGES/tar.mo
installing cs.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/cs/LC_MESSAGES/tar.mo
installing da.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/da/LC_MESSAGES/tar.mo
installing de.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/de/LC_MESSAGES/tar.mo
installing el.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/el/LC_MESSAGES/tar.mo
installing eo.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/eo/LC_MESSAGES/tar.mo
installing es.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/es/LC_MESSAGES/tar.mo
installing et.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/et/LC_MESSAGES/tar.mo
installing eu.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/eu/LC_MESSAGES/tar.mo
installing fi.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/fi/LC_MESSAGES/tar.mo
installing fr.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/fr/LC_MESSAGES/tar.mo
installing ga.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/ga/LC_MESSAGES/tar.mo
installing gl.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/gl/LC_MESSAGES/tar.mo
installing hr.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/hr/LC_MESSAGES/tar.mo
installing hu.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/hu/LC_MESSAGES/tar.mo
installing id.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/id/LC_MESSAGES/tar.mo
installing it.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/it/LC_MESSAGES/tar.mo
installing ja.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/ja/LC_MESSAGES/tar.mo
installing ko.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/ko/LC_MESSAGES/tar.mo
installing ky.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/ky/LC_MESSAGES/tar.mo
installing ms.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/ms/LC_MESSAGES/tar.mo
installing nb.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/nb/LC_MESSAGES/tar.mo
installing nl.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/nl/LC_MESSAGES/tar.mo
installing pl.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/pl/LC_MESSAGES/tar.mo
installing pt.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/pt/LC_MESSAGES/tar.mo
installing pt_BR.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/pt_BR/LC_MESSAGES/tar.mo
installing ro.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/ro/LC_MESSAGES/tar.mo
installing ru.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/ru/LC_MESSAGES/tar.mo
installing sk.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/sk/LC_MESSAGES/tar.mo
installing sl.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/sl/LC_MESSAGES/tar.mo
installing sr.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/sr/LC_MESSAGES/tar.mo
installing sv.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/sv/LC_MESSAGES/tar.mo
installing tr.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/tr/LC_MESSAGES/tar.mo
installing uk.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/uk/LC_MESSAGES/tar.mo
installing vi.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/vi/LC_MESSAGES/tar.mo
installing zh_CN.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/zh_CN/LC_MESSAGES/tar.mo
installing zh_TW.gmo as /<<PKGBUILDDIR>>/debian/tar/usr/share/locale/zh_TW/LC_MESSAGES/tar.mo
if test "tar" = "gettext-tools"; then \
  /bin/mkdir -p /<<PKGBUILDDIR>>/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 \
		    /<<PKGBUILDDIR>>/debian/tar/usr/share/gettext/po/$file; \
  done; \
  for file in Makevars; do \
    rm -f /<<PKGBUILDDIR>>/debian/tar/usr/share/gettext/po/$file; \
  done; \
else \
  : ; \
fi
make[2]: Leaving directory '/<<PKGBUILDDIR>>/po'
Making install in tests
make[2]: Entering directory '/<<PKGBUILDDIR>>/tests'
make[3]: Entering directory '/<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/tests'
make[2]: Leaving directory '/<<PKGBUILDDIR>>/tests'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
make[3]: Entering directory '/<<PKGBUILDDIR>>'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
install -m 755 debian/rmt.sh debian/tar/etc/rmt
mv debian/tar/usr/lib/tar/rmt debian/tar/usr/sbin/rmt-tar
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/lib/tar/backup.sh debian/tar-scripts/usr/lib/tar/
mv debian/tar/usr/lib/tar/dump-remind debian/tar-scripts/usr/lib/tar/
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: unknown substitution variable ${shlibs:Depends}
dh_md5sums
dh_builddeb
dpkg-deb: building package 'tar-scripts' in '../tar-scripts_1.29b-2_armhf.deb'.
dpkg-deb: building package 'tar-dbgsym' in '../tar-dbgsym_1.29b-2_armhf.deb'.
dpkg-deb: building package 'tar' in '../tar_1.29b-2_armhf.deb'.
 dpkg-genbuildinfo --build=any
 dpkg-genchanges --build=any -mRaspbian mythic lxc autobuilder 1 <root@raspbian.org> >../tar_1.29b-2_armhf.changes
dpkg-genchanges: info: binary-only arch-specific upload (source code and arch-indep packages not included)
 dpkg-source --after-build tar-1.29b
dpkg-buildpackage: info: binary-only upload (no source included)
--------------------------------------------------------------------------------
Build finished at 2017-07-27T05:38:57Z

Finished
--------

I: Built successfully

+------------------------------------------------------------------------------+
| Post Build Chroot                                                            |
+------------------------------------------------------------------------------+


+------------------------------------------------------------------------------+
| Changes                                                                      |
+------------------------------------------------------------------------------+


tar_1.29b-2_armhf.changes:
--------------------------

Format: 1.8
Date: Fri, 21 Jul 2017 08:35:22 -0600
Source: tar
Binary: tar tar-scripts
Architecture: armhf
Version: 1.29b-2
Distribution: buster-staging
Urgency: medium
Maintainer: Raspbian mythic lxc autobuilder 1 <root@raspbian.org>
Changed-By: Bdale Garbee <bdale@gag.com>
Description:
 tar        - GNU version of the tar archiving utility
 tar-scripts - optional scripts for GNU version of the tar archiving utility
Closes: 856958
Changes:
 tar (1.29b-2) unstable; urgency=medium
 .
   * add suggests tar-doc, closes: #856958
   * increase test suite verbosity and dump test results into build log on
     make check failure for kfreebsd team
   * move primary git repo to collab-maint
Checksums-Sha1:
 1e2fa05b3a16caf7725963441494baed2aa6bfe6 574236 tar-dbgsym_1.29b-2_armhf.deb
 46da94cbee78899626ec4102a78bddda22cec766 165754 tar-scripts_1.29b-2_armhf.deb
 39cae0114e6bc2996fafaa558ce29959df78f505 4836 tar_1.29b-2_armhf.buildinfo
 6f1aa4064efbd938481f3acf58256696a823120a 721660 tar_1.29b-2_armhf.deb
Checksums-Sha256:
 ef1e2ddce8a61945e2ea43f7bede6dab2f6130e5e838112e798980cef30ddbae 574236 tar-dbgsym_1.29b-2_armhf.deb
 95522f58250014f1a084a294390cd9dc73ce9f55a714db4e8e203260605fe832 165754 tar-scripts_1.29b-2_armhf.deb
 e875ab2f25198821bb8309391cbaea3db6d9ec78486601afbfb9a6753bf3a715 4836 tar_1.29b-2_armhf.buildinfo
 036ee3039358055b3f97d1b70bc9e0b9c71759d92732ffc05dbc15d1aa34e265 721660 tar_1.29b-2_armhf.deb
Files:
 67b64216d6b3a067cc24aed8921e9323 574236 debug extra tar-dbgsym_1.29b-2_armhf.deb
 230be66fea5e555051f7242a5795c779 165754 utils optional tar-scripts_1.29b-2_armhf.deb
 2cedec80d6e48235b8e3b2f3d91f723c 4836 utils required tar_1.29b-2_armhf.buildinfo
 5c5ba65190f37f9bdab6d9eea0ce6330 721660 utils required tar_1.29b-2_armhf.deb

+------------------------------------------------------------------------------+
| Package contents                                                             |
+------------------------------------------------------------------------------+


tar-dbgsym_1.29b-2_armhf.deb
----------------------------

 new debian package, version 2.0.
 size 574236 bytes: control archive=484 bytes.
     348 bytes,    12 lines      control              
     212 bytes,     2 lines      md5sums              
 Package: tar-dbgsym
 Source: tar
 Version: 1.29b-2
 Auto-Built-Package: debug-symbols
 Architecture: armhf
 Maintainer: Bdale Garbee <bdale@gag.com>
 Installed-Size: 647
 Depends: tar (= 1.29b-2)
 Section: debug
 Priority: extra
 Description: Debug symbols for tar
 Build-Ids: 2214ec1e20367a94d00901b980907477ca782994 bde791880ae04e0e82438ae0e3309e6f3f4d0ded

drwxr-xr-x root/root         0 2017-07-21 14:35 ./
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/lib/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/lib/debug/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/lib/debug/.build-id/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/lib/debug/.build-id/22/
-rw-r--r-- root/root     75908 2017-07-21 14:35 ./usr/lib/debug/.build-id/22/14ec1e20367a94d00901b980907477ca782994.debug
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/lib/debug/.build-id/bd/
-rw-r--r-- root/root    573920 2017-07-21 14:35 ./usr/lib/debug/.build-id/bd/e791880ae04e0e82438ae0e3309e6f3f4d0ded.debug
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/doc/
lrwxrwxrwx root/root         0 2017-07-21 14:35 ./usr/share/doc/tar-dbgsym -> tar


tar-scripts_1.29b-2_armhf.deb
-----------------------------

 new debian package, version 2.0.
 size 165754 bytes: control archive=698 bytes.
     417 bytes,    13 lines      control              
     521 bytes,     8 lines      md5sums              
 Package: tar-scripts
 Source: tar
 Version: 1.29b-2
 Architecture: armhf
 Maintainer: Bdale Garbee <bdale@gag.com>
 Installed-Size: 190
 Conflicts: dump, openafs-client
 Section: utils
 Priority: optional
 Multi-Arch: foreign
 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 2017-07-21 14:35 ./
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/lib/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/lib/tar/
-rwxr-xr-x root/root      8177 2017-07-21 14:35 ./usr/lib/tar/backup.sh
-rwxr-xr-x root/root      3881 2017-07-21 14:35 ./usr/lib/tar/dump-remind
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/sbin/
-rwxr-xr-x root/root      7242 2017-07-21 14:35 ./usr/sbin/tar-backup
-rwxr-xr-x root/root      6015 2017-07-21 14:35 ./usr/sbin/tar-restore
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/doc/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/doc/tar-scripts/
-rw-r--r-- root/root       357 2017-07-21 14:35 ./usr/share/doc/tar-scripts/NEWS.Debian.gz
-rw-r--r-- root/root     11068 2017-07-21 14:35 ./usr/share/doc/tar-scripts/changelog.Debian.gz
-rw-r--r-- root/root    143851 2016-07-22 19:37 ./usr/share/doc/tar-scripts/changelog.gz
-rw-r--r-- root/root      1486 2017-07-21 14:35 ./usr/share/doc/tar-scripts/copyright


tar_1.29b-2_armhf.deb
---------------------

 new debian package, version 2.0.
 size 721660 bytes: control archive=2524 bytes.
       9 bytes,     1 lines      conffiles            
     793 bytes,    20 lines      control              
    3760 bytes,    54 lines      md5sums              
     270 bytes,    14 lines   *  postinst             #!/bin/sh
     317 bytes,    19 lines   *  prerm                #!/bin/sh
 Package: tar
 Version: 1.29b-2
 Architecture: armhf
 Essential: yes
 Maintainer: Bdale Garbee <bdale@gag.com>
 Installed-Size: 2673
 Pre-Depends: libacl1 (>= 2.2.51-8), libc6 (>= 2.17), libselinux1 (>= 1.32)
 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
 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 2017-07-21 14:35 ./
drwxr-xr-x root/root         0 2017-07-21 14:35 ./bin/
-rwxr-xr-x root/root    327696 2017-07-21 14:35 ./bin/tar
drwxr-xr-x root/root         0 2017-07-21 14:35 ./etc/
-rwxr-xr-x root/root       268 2017-07-21 14:35 ./etc/rmt
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/lib/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/lib/mime/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/lib/mime/packages/
-rw-r--r-- root/root       327 2017-07-21 14:35 ./usr/lib/mime/packages/tar
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/lib/tar/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/sbin/
-rwxr-xr-x root/root     47032 2017-07-21 14:35 ./usr/sbin/rmt-tar
-rwxr-xr-x root/root       936 2017-07-21 14:35 ./usr/sbin/tarcat
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/doc/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/doc/tar/
-rw-r--r-- root/root       601 2016-07-22 19:37 ./usr/share/doc/tar/AUTHORS
-rw-r--r-- root/root       357 2017-07-21 14:35 ./usr/share/doc/tar/NEWS.Debian.gz
-rw-r--r-- root/root     21357 2016-07-22 19:37 ./usr/share/doc/tar/NEWS.gz
-rw-r--r-- root/root      1049 2017-07-21 14:35 ./usr/share/doc/tar/README.Debian
-rw-r--r-- root/root     10583 2016-07-22 19:37 ./usr/share/doc/tar/THANKS.gz
-rw-r--r-- root/root     63284 2016-07-22 19:37 ./usr/share/doc/tar/changelog.1.gz
-rw-r--r-- root/root     11068 2017-07-21 14:35 ./usr/share/doc/tar/changelog.Debian.gz
-rw-r--r-- root/root    143851 2016-07-22 19:37 ./usr/share/doc/tar/changelog.gz
-rw-r--r-- root/root      1486 2017-07-21 14:35 ./usr/share/doc/tar/copyright
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/bg/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/bg/LC_MESSAGES/
-rw-r--r-- root/root     54636 2017-07-21 14:35 ./usr/share/locale/bg/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/ca/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/ca/LC_MESSAGES/
-rw-r--r-- root/root     62909 2017-07-21 14:35 ./usr/share/locale/ca/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/cs/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/cs/LC_MESSAGES/
-rw-r--r-- root/root     64778 2017-07-21 14:35 ./usr/share/locale/cs/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/da/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/da/LC_MESSAGES/
-rw-r--r-- root/root     59109 2017-07-21 14:35 ./usr/share/locale/da/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/de/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/de/LC_MESSAGES/
-rw-r--r-- root/root     63166 2017-07-21 14:35 ./usr/share/locale/de/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/el/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/el/LC_MESSAGES/
-rw-r--r-- root/root     14403 2017-07-21 14:35 ./usr/share/locale/el/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/eo/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/eo/LC_MESSAGES/
-rw-r--r-- root/root     59707 2017-07-21 14:35 ./usr/share/locale/eo/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/es/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/es/LC_MESSAGES/
-rw-r--r-- root/root     64905 2017-07-21 14:35 ./usr/share/locale/es/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/et/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/et/LC_MESSAGES/
-rw-r--r-- root/root     59526 2017-07-21 14:35 ./usr/share/locale/et/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/eu/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/eu/LC_MESSAGES/
-rw-r--r-- root/root     32421 2017-07-21 14:35 ./usr/share/locale/eu/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/fi/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/fi/LC_MESSAGES/
-rw-r--r-- root/root     55279 2017-07-21 14:35 ./usr/share/locale/fi/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/fr/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/fr/LC_MESSAGES/
-rw-r--r-- root/root     67125 2017-07-21 14:35 ./usr/share/locale/fr/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/ga/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/ga/LC_MESSAGES/
-rw-r--r-- root/root     49287 2017-07-21 14:35 ./usr/share/locale/ga/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/gl/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/gl/LC_MESSAGES/
-rw-r--r-- root/root     10629 2017-07-21 14:35 ./usr/share/locale/gl/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/hr/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/hr/LC_MESSAGES/
-rw-r--r-- root/root     62929 2017-07-21 14:35 ./usr/share/locale/hr/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/hu/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/hu/LC_MESSAGES/
-rw-r--r-- root/root     67278 2017-07-21 14:35 ./usr/share/locale/hu/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/id/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/id/LC_MESSAGES/
-rw-r--r-- root/root     60422 2017-07-21 14:35 ./usr/share/locale/id/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/it/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/it/LC_MESSAGES/
-rw-r--r-- root/root     63502 2017-07-21 14:35 ./usr/share/locale/it/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/ja/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/ja/LC_MESSAGES/
-rw-r--r-- root/root     59176 2017-07-21 14:35 ./usr/share/locale/ja/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/ko/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/ko/LC_MESSAGES/
-rw-r--r-- root/root      3670 2017-07-21 14:35 ./usr/share/locale/ko/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/ky/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/ky/LC_MESSAGES/
-rw-r--r-- root/root     55204 2017-07-21 14:35 ./usr/share/locale/ky/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/ms/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/ms/LC_MESSAGES/
-rw-r--r-- root/root      9594 2017-07-21 14:35 ./usr/share/locale/ms/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/nb/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/nb/LC_MESSAGES/
-rw-r--r-- root/root     60767 2017-07-21 14:35 ./usr/share/locale/nb/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/nl/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/nl/LC_MESSAGES/
-rw-r--r-- root/root     63676 2017-07-21 14:35 ./usr/share/locale/nl/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/pl/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/pl/LC_MESSAGES/
-rw-r--r-- root/root     64860 2017-07-21 14:35 ./usr/share/locale/pl/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/pt/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/pt/LC_MESSAGES/
-rw-r--r-- root/root      3256 2017-07-21 14:35 ./usr/share/locale/pt/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/pt_BR/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/pt_BR/LC_MESSAGES/
-rw-r--r-- root/root     44246 2017-07-21 14:35 ./usr/share/locale/pt_BR/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/ro/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/ro/LC_MESSAGES/
-rw-r--r-- root/root     22819 2017-07-21 14:35 ./usr/share/locale/ro/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/ru/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/ru/LC_MESSAGES/
-rw-r--r-- root/root     83032 2017-07-21 14:35 ./usr/share/locale/ru/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/sk/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/sk/LC_MESSAGES/
-rw-r--r-- root/root     10239 2017-07-21 14:35 ./usr/share/locale/sk/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/sl/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/sl/LC_MESSAGES/
-rw-r--r-- root/root     61686 2017-07-21 14:35 ./usr/share/locale/sl/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/sr/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/sr/LC_MESSAGES/
-rw-r--r-- root/root     79830 2017-07-21 14:35 ./usr/share/locale/sr/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/sv/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/sv/LC_MESSAGES/
-rw-r--r-- root/root     59952 2017-07-21 14:35 ./usr/share/locale/sv/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/tr/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/tr/LC_MESSAGES/
-rw-r--r-- root/root     52198 2017-07-21 14:35 ./usr/share/locale/tr/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/uk/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/uk/LC_MESSAGES/
-rw-r--r-- root/root     84183 2017-07-21 14:35 ./usr/share/locale/uk/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/vi/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/vi/LC_MESSAGES/
-rw-r--r-- root/root     67313 2017-07-21 14:35 ./usr/share/locale/vi/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/zh_CN/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/zh_CN/LC_MESSAGES/
-rw-r--r-- root/root     57290 2017-07-21 14:35 ./usr/share/locale/zh_CN/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/zh_TW/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/locale/zh_TW/LC_MESSAGES/
-rw-r--r-- root/root     47918 2017-07-21 14:35 ./usr/share/locale/zh_TW/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/man/
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/man/man1/
-rw-r--r-- root/root     13332 2017-07-21 14:35 ./usr/share/man/man1/tar.1.gz
-rw-r--r-- root/root       366 2017-07-21 14:35 ./usr/share/man/man1/tarcat.1.gz
drwxr-xr-x root/root         0 2017-07-21 14:35 ./usr/share/man/man8/
-rw-r--r-- root/root      2392 2017-07-21 14:35 ./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: 37020
Build-Time: 489
Distribution: buster-staging
Host Architecture: armhf
Install-Time: 132
Job: tar_1.29b-2
Machine Architecture: armhf
Package: tar
Package-Time: 637
Source-Version: 1.29b-2
Space: 37020
Status: successful
Version: 1.29b-2
--------------------------------------------------------------------------------
Finished at 2017-07-27T05:38:57Z
Build needed 00:10:37, 37020k disk space