Raspbian Package Auto-Building

Build log for tar (1.35+dfsg-2) on armhf

tar1.35+dfsg-2armhf → 2024-01-03 05:01:11

sbuild (Debian sbuild) 0.85.0 (04 January 2023) on test2023

+==============================================================================+
| tar 1.35+dfsg-2 (armhf)                      Wed, 03 Jan 2024 04:57:30 +0000 |
+==============================================================================+

Package: tar
Version: 1.35+dfsg-2
Source Version: 1.35+dfsg-2
Distribution: trixie-staging
Machine Architecture: arm64
Host Architecture: armhf
Build Architecture: armhf
Build Type: any

I: NOTICE: Log filtering will replace 'var/run/schroot/mount/trixie-staging-armhf-sbuild-aac04366-6721-490d-8578-ce591079bdd8' with '<<CHROOT>>'
I: NOTICE: Log filtering will replace 'build/tar-fM2aBS/resolver-yJ7tdk' with '<<RESOLVERDIR>>'

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

Get:1 http://172.17.4.1/private trixie-staging InRelease [11.3 kB]
Get:2 http://172.17.4.1/private trixie-staging/main Sources [14.3 MB]
Get:3 http://172.17.4.1/private trixie-staging/main armhf Packages [15.0 MB]
Fetched 29.3 MB in 5s (5547 kB/s)
Reading package lists...
W: http://172.17.4.1/private/dists/trixie-staging/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.

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


Check APT
---------

Checking available source versions...

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

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

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


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

Merged Build-Depends: debhelper-compat (= 13), dh-exec, gettext, autoconf, automake, autopoint, bison, libacl1-dev, libselinux1-dev, build-essential, fakeroot
Filtered Build-Depends: debhelper-compat (= 13), dh-exec, gettext, autoconf, automake, autopoint, bison, libacl1-dev, libselinux1-dev, build-essential, fakeroot
dpkg-deb: building package 'sbuild-build-depends-main-dummy' in '/<<RESOLVERDIR>>/apt_archive/sbuild-build-depends-main-dummy.deb'.
Ign:1 copy:/<<RESOLVERDIR>>/apt_archive ./ InRelease
Get:2 copy:/<<RESOLVERDIR>>/apt_archive ./ Release [609 B]
Ign:3 copy:/<<RESOLVERDIR>>/apt_archive ./ Release.gpg
Get:4 copy:/<<RESOLVERDIR>>/apt_archive ./ Sources [715 B]
Get:5 copy:/<<RESOLVERDIR>>/apt_archive ./ Packages [735 B]
Fetched 2059 B in 0s (0 B/s)
Reading package lists...
Reading package lists...

Install main 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 bison bsdextrautils debhelper
  dh-autoreconf dh-exec dh-strip-nondeterminism dwz file gettext gettext-base
  groff-base intltool-debian libacl1 libacl1-dev libarchive-zip-perl libattr1
  libattr1-dev libdebhelper-perl libelf1 libfile-stripnondeterminism-perl
  libicu72 libmagic-mgc libmagic1 libpcre2-16-0 libpcre2-32-0 libpcre2-dev
  libpcre2-posix3 libpipeline1 libselinux1-dev libsepol-dev
  libsub-override-perl libtool libuchardet0 libxml2 m4 man-db po-debconf
  sensible-utils
Suggested packages:
  autoconf-archive gnu-standards autoconf-doc bison-doc dh-make gettext-doc
  libasprintf-dev libgettextpo-dev groff libtool-doc gfortran
  | fortran95-compiler gcj-jdk m4-doc apparmor less www-browser
  libmail-box-perl
Recommended packages:
  curl | wget | lynx libarchive-cpio-perl libltdl-dev libmail-sendmail-perl
The following NEW packages will be installed:
  autoconf automake autopoint autotools-dev bison bsdextrautils debhelper
  dh-autoreconf dh-exec dh-strip-nondeterminism dwz file gettext gettext-base
  groff-base intltool-debian libacl1-dev libarchive-zip-perl libattr1-dev
  libdebhelper-perl libelf1 libfile-stripnondeterminism-perl libicu72
  libmagic-mgc libmagic1 libpcre2-16-0 libpcre2-32-0 libpcre2-dev
  libpcre2-posix3 libpipeline1 libselinux1-dev libsepol-dev
  libsub-override-perl libtool libuchardet0 libxml2 m4 man-db po-debconf
  sbuild-build-depends-main-dummy sensible-utils
The following packages will be upgraded:
  libacl1 libattr1
2 upgraded, 41 newly installed, 0 to remove and 10 not upgraded.
Need to get 21.1 MB of archives.
After this operation, 79.0 MB of additional disk space will be used.
Get:1 copy:/<<RESOLVERDIR>>/apt_archive ./ sbuild-build-depends-main-dummy 0.invalid.0 [924 B]
Get:2 http://172.17.4.1/private trixie-staging/main armhf libacl1 armhf 2.3.1-4 [29.1 kB]
Get:3 http://172.17.4.1/private trixie-staging/main armhf libattr1 armhf 1:2.5.1-5 [21.4 kB]
Get:4 http://172.17.4.1/private trixie-staging/main armhf libuchardet0 armhf 0.0.8-1 [65.5 kB]
Get:5 http://172.17.4.1/private trixie-staging/main armhf groff-base armhf 1.23.0-3 [1033 kB]
Get:6 http://172.17.4.1/private trixie-staging/main armhf bsdextrautils armhf 2.39.3-2 [81.2 kB]
Get:7 http://172.17.4.1/private trixie-staging/main armhf libpipeline1 armhf 1.5.7-1 [33.4 kB]
Get:8 http://172.17.4.1/private trixie-staging/main armhf man-db armhf 2.12.0-1 [1358 kB]
Get:9 http://172.17.4.1/private trixie-staging/main armhf sensible-utils all 0.0.20 [19.3 kB]
Get:10 http://172.17.4.1/private trixie-staging/main armhf libmagic-mgc armhf 1:5.45-2 [314 kB]
Get:11 http://172.17.4.1/private trixie-staging/main armhf libmagic1 armhf 1:5.45-2 [96.1 kB]
Get:12 http://172.17.4.1/private trixie-staging/main armhf file armhf 1:5.45-2 [41.6 kB]
Get:13 http://172.17.4.1/private trixie-staging/main armhf gettext-base armhf 0.21-14 [157 kB]
Get:14 http://172.17.4.1/private trixie-staging/main armhf m4 armhf 1.4.19-4 [256 kB]
Get:15 http://172.17.4.1/private trixie-staging/main armhf autoconf all 2.71-3 [332 kB]
Get:16 http://172.17.4.1/private trixie-staging/main armhf autotools-dev all 20220109.1 [51.6 kB]
Get:17 http://172.17.4.1/private trixie-staging/main armhf automake all 1:1.16.5-1.3 [823 kB]
Get:18 http://172.17.4.1/private trixie-staging/main armhf autopoint all 0.21-14 [496 kB]
Get:19 http://172.17.4.1/private trixie-staging/main armhf bison armhf 2:3.8.2+dfsg-1 [1114 kB]
Get:20 http://172.17.4.1/private trixie-staging/main armhf libdebhelper-perl all 13.11.9 [82.3 kB]
Get:21 http://172.17.4.1/private trixie-staging/main armhf libtool all 2.4.7-7 [517 kB]
Get:22 http://172.17.4.1/private trixie-staging/main armhf dh-autoreconf all 20 [17.1 kB]
Get:23 http://172.17.4.1/private trixie-staging/main armhf libarchive-zip-perl all 1.68-1 [104 kB]
Get:24 http://172.17.4.1/private trixie-staging/main armhf libsub-override-perl all 0.10-1 [10.6 kB]
Get:25 http://172.17.4.1/private trixie-staging/main armhf libfile-stripnondeterminism-perl all 1.13.1-1 [19.4 kB]
Get:26 http://172.17.4.1/private trixie-staging/main armhf dh-strip-nondeterminism all 1.13.1-1 [8620 B]
Get:27 http://172.17.4.1/private trixie-staging/main armhf libelf1 armhf 0.188-2.1+rpi1 [171 kB]
Get:28 http://172.17.4.1/private trixie-staging/main armhf dwz armhf 0.15-1 [92.4 kB]
Get:29 http://172.17.4.1/private trixie-staging/main armhf libicu72 armhf 72.1-4 [9009 kB]
Get:30 http://172.17.4.1/private trixie-staging/main armhf libxml2 armhf 2.9.14+dfsg-1.3 [571 kB]
Get:31 http://172.17.4.1/private trixie-staging/main armhf gettext armhf 0.21-14 [1203 kB]
Get:32 http://172.17.4.1/private trixie-staging/main armhf intltool-debian all 0.35.0+20060710.6 [22.9 kB]
Get:33 http://172.17.4.1/private trixie-staging/main armhf po-debconf all 1.0.21+nmu1 [248 kB]
Get:34 http://172.17.4.1/private trixie-staging/main armhf debhelper all 13.11.9 [956 kB]
Get:35 http://172.17.4.1/private trixie-staging/main armhf dh-exec armhf 0.28 [23.5 kB]
Get:36 http://172.17.4.1/private trixie-staging/main armhf libattr1-dev armhf 1:2.5.1-5 [34.8 kB]
Get:37 http://172.17.4.1/private trixie-staging/main armhf libacl1-dev armhf 2.3.1-4 [90.0 kB]
Get:38 http://172.17.4.1/private trixie-staging/main armhf libpcre2-16-0 armhf 10.42-4 [211 kB]
Get:39 http://172.17.4.1/private trixie-staging/main armhf libpcre2-32-0 armhf 10.42-4 [201 kB]
Get:40 http://172.17.4.1/private trixie-staging/main armhf libpcre2-posix3 armhf 10.42-4 [55.1 kB]
Get:41 http://172.17.4.1/private trixie-staging/main armhf libpcre2-dev armhf 10.42-4 [648 kB]
Get:42 http://172.17.4.1/private trixie-staging/main armhf libsepol-dev armhf 3.5-2 [311 kB]
Get:43 http://172.17.4.1/private trixie-staging/main armhf libselinux1-dev armhf 3.5-1 [143 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 21.1 MB in 2s (8601 kB/s)
(Reading database ... 12735 files and directories currently installed.)
Preparing to unpack .../libacl1_2.3.1-4_armhf.deb ...
Unpacking libacl1:armhf (2.3.1-4) over (2.3.1-3) ...
Setting up libacl1:armhf (2.3.1-4) ...
(Reading database ... 12735 files and directories currently installed.)
Preparing to unpack .../libattr1_1%3a2.5.1-5_armhf.deb ...
Unpacking libattr1:armhf (1:2.5.1-5) over (1:2.5.1-4) ...
Setting up libattr1:armhf (1:2.5.1-5) ...
Selecting previously unselected package libuchardet0:armhf.
(Reading database ... 12735 files and directories currently installed.)
Preparing to unpack .../00-libuchardet0_0.0.8-1_armhf.deb ...
Unpacking libuchardet0:armhf (0.0.8-1) ...
Selecting previously unselected package groff-base.
Preparing to unpack .../01-groff-base_1.23.0-3_armhf.deb ...
Unpacking groff-base (1.23.0-3) ...
Selecting previously unselected package bsdextrautils.
Preparing to unpack .../02-bsdextrautils_2.39.3-2_armhf.deb ...
Unpacking bsdextrautils (2.39.3-2) ...
Selecting previously unselected package libpipeline1:armhf.
Preparing to unpack .../03-libpipeline1_1.5.7-1_armhf.deb ...
Unpacking libpipeline1:armhf (1.5.7-1) ...
Selecting previously unselected package man-db.
Preparing to unpack .../04-man-db_2.12.0-1_armhf.deb ...
Unpacking man-db (2.12.0-1) ...
Selecting previously unselected package sensible-utils.
Preparing to unpack .../05-sensible-utils_0.0.20_all.deb ...
Unpacking sensible-utils (0.0.20) ...
Selecting previously unselected package libmagic-mgc.
Preparing to unpack .../06-libmagic-mgc_1%3a5.45-2_armhf.deb ...
Unpacking libmagic-mgc (1:5.45-2) ...
Selecting previously unselected package libmagic1:armhf.
Preparing to unpack .../07-libmagic1_1%3a5.45-2_armhf.deb ...
Unpacking libmagic1:armhf (1:5.45-2) ...
Selecting previously unselected package file.
Preparing to unpack .../08-file_1%3a5.45-2_armhf.deb ...
Unpacking file (1:5.45-2) ...
Selecting previously unselected package gettext-base.
Preparing to unpack .../09-gettext-base_0.21-14_armhf.deb ...
Unpacking gettext-base (0.21-14) ...
Selecting previously unselected package m4.
Preparing to unpack .../10-m4_1.4.19-4_armhf.deb ...
Unpacking m4 (1.4.19-4) ...
Selecting previously unselected package autoconf.
Preparing to unpack .../11-autoconf_2.71-3_all.deb ...
Unpacking autoconf (2.71-3) ...
Selecting previously unselected package autotools-dev.
Preparing to unpack .../12-autotools-dev_20220109.1_all.deb ...
Unpacking autotools-dev (20220109.1) ...
Selecting previously unselected package automake.
Preparing to unpack .../13-automake_1%3a1.16.5-1.3_all.deb ...
Unpacking automake (1:1.16.5-1.3) ...
Selecting previously unselected package autopoint.
Preparing to unpack .../14-autopoint_0.21-14_all.deb ...
Unpacking autopoint (0.21-14) ...
Selecting previously unselected package bison.
Preparing to unpack .../15-bison_2%3a3.8.2+dfsg-1_armhf.deb ...
Unpacking bison (2:3.8.2+dfsg-1) ...
Selecting previously unselected package libdebhelper-perl.
Preparing to unpack .../16-libdebhelper-perl_13.11.9_all.deb ...
Unpacking libdebhelper-perl (13.11.9) ...
Selecting previously unselected package libtool.
Preparing to unpack .../17-libtool_2.4.7-7_all.deb ...
Unpacking libtool (2.4.7-7) ...
Selecting previously unselected package dh-autoreconf.
Preparing to unpack .../18-dh-autoreconf_20_all.deb ...
Unpacking dh-autoreconf (20) ...
Selecting previously unselected package libarchive-zip-perl.
Preparing to unpack .../19-libarchive-zip-perl_1.68-1_all.deb ...
Unpacking libarchive-zip-perl (1.68-1) ...
Selecting previously unselected package libsub-override-perl.
Preparing to unpack .../20-libsub-override-perl_0.10-1_all.deb ...
Unpacking libsub-override-perl (0.10-1) ...
Selecting previously unselected package libfile-stripnondeterminism-perl.
Preparing to unpack .../21-libfile-stripnondeterminism-perl_1.13.1-1_all.deb ...
Unpacking libfile-stripnondeterminism-perl (1.13.1-1) ...
Selecting previously unselected package dh-strip-nondeterminism.
Preparing to unpack .../22-dh-strip-nondeterminism_1.13.1-1_all.deb ...
Unpacking dh-strip-nondeterminism (1.13.1-1) ...
Selecting previously unselected package libelf1:armhf.
Preparing to unpack .../23-libelf1_0.188-2.1+rpi1_armhf.deb ...
Unpacking libelf1:armhf (0.188-2.1+rpi1) ...
Selecting previously unselected package dwz.
Preparing to unpack .../24-dwz_0.15-1_armhf.deb ...
Unpacking dwz (0.15-1) ...
Selecting previously unselected package libicu72:armhf.
Preparing to unpack .../25-libicu72_72.1-4_armhf.deb ...
Unpacking libicu72:armhf (72.1-4) ...
Selecting previously unselected package libxml2:armhf.
Preparing to unpack .../26-libxml2_2.9.14+dfsg-1.3_armhf.deb ...
Unpacking libxml2:armhf (2.9.14+dfsg-1.3) ...
Selecting previously unselected package gettext.
Preparing to unpack .../27-gettext_0.21-14_armhf.deb ...
Unpacking gettext (0.21-14) ...
Selecting previously unselected package intltool-debian.
Preparing to unpack .../28-intltool-debian_0.35.0+20060710.6_all.deb ...
Unpacking intltool-debian (0.35.0+20060710.6) ...
Selecting previously unselected package po-debconf.
Preparing to unpack .../29-po-debconf_1.0.21+nmu1_all.deb ...
Unpacking po-debconf (1.0.21+nmu1) ...
Selecting previously unselected package debhelper.
Preparing to unpack .../30-debhelper_13.11.9_all.deb ...
Unpacking debhelper (13.11.9) ...
Selecting previously unselected package dh-exec.
Preparing to unpack .../31-dh-exec_0.28_armhf.deb ...
Unpacking dh-exec (0.28) ...
Selecting previously unselected package libattr1-dev:armhf.
Preparing to unpack .../32-libattr1-dev_1%3a2.5.1-5_armhf.deb ...
Unpacking libattr1-dev:armhf (1:2.5.1-5) ...
Selecting previously unselected package libacl1-dev:armhf.
Preparing to unpack .../33-libacl1-dev_2.3.1-4_armhf.deb ...
Unpacking libacl1-dev:armhf (2.3.1-4) ...
Selecting previously unselected package libpcre2-16-0:armhf.
Preparing to unpack .../34-libpcre2-16-0_10.42-4_armhf.deb ...
Unpacking libpcre2-16-0:armhf (10.42-4) ...
Selecting previously unselected package libpcre2-32-0:armhf.
Preparing to unpack .../35-libpcre2-32-0_10.42-4_armhf.deb ...
Unpacking libpcre2-32-0:armhf (10.42-4) ...
Selecting previously unselected package libpcre2-posix3:armhf.
Preparing to unpack .../36-libpcre2-posix3_10.42-4_armhf.deb ...
Unpacking libpcre2-posix3:armhf (10.42-4) ...
Selecting previously unselected package libpcre2-dev:armhf.
Preparing to unpack .../37-libpcre2-dev_10.42-4_armhf.deb ...
Unpacking libpcre2-dev:armhf (10.42-4) ...
Selecting previously unselected package libsepol-dev:armhf.
Preparing to unpack .../38-libsepol-dev_3.5-2_armhf.deb ...
Unpacking libsepol-dev:armhf (3.5-2) ...
Selecting previously unselected package libselinux1-dev:armhf.
Preparing to unpack .../39-libselinux1-dev_3.5-1_armhf.deb ...
Unpacking libselinux1-dev:armhf (3.5-1) ...
Selecting previously unselected package sbuild-build-depends-main-dummy.
Preparing to unpack .../40-sbuild-build-depends-main-dummy_0.invalid.0_armhf.deb ...
Unpacking sbuild-build-depends-main-dummy (0.invalid.0) ...
Setting up libpipeline1:armhf (1.5.7-1) ...
Setting up libicu72:armhf (72.1-4) ...
Setting up bsdextrautils (2.39.3-2) ...
Setting up libattr1-dev:armhf (1:2.5.1-5) ...
Setting up libmagic-mgc (1:5.45-2) ...
Setting up libarchive-zip-perl (1.68-1) ...
Setting up libdebhelper-perl (13.11.9) ...
Setting up libmagic1:armhf (1:5.45-2) ...
Setting up gettext-base (0.21-14) ...
Setting up m4 (1.4.19-4) ...
Setting up file (1:5.45-2) ...
Setting up libpcre2-16-0:armhf (10.42-4) ...
Setting up autotools-dev (20220109.1) ...
Setting up libpcre2-32-0:armhf (10.42-4) ...
Setting up autopoint (0.21-14) ...
Setting up libsepol-dev:armhf (3.5-2) ...
Setting up autoconf (2.71-3) ...
Setting up libpcre2-posix3:armhf (10.42-4) ...
Setting up sensible-utils (0.0.20) ...
Setting up libuchardet0:armhf (0.0.8-1) ...
Setting up bison (2:3.8.2+dfsg-1) ...
update-alternatives: using /usr/bin/bison.yacc to provide /usr/bin/yacc (yacc) in auto mode
Setting up libsub-override-perl (0.10-1) ...
Setting up libelf1:armhf (0.188-2.1+rpi1) ...
Setting up libxml2:armhf (2.9.14+dfsg-1.3) ...
Setting up libacl1-dev:armhf (2.3.1-4) ...
Setting up automake (1:1.16.5-1.3) ...
update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode
Setting up libfile-stripnondeterminism-perl (1.13.1-1) ...
Setting up gettext (0.21-14) ...
Setting up libpcre2-dev:armhf (10.42-4) ...
Setting up libtool (2.4.7-7) ...
Setting up libselinux1-dev:armhf (3.5-1) ...
Setting up intltool-debian (0.35.0+20060710.6) ...
Setting up dh-autoreconf (20) ...
Setting up dh-strip-nondeterminism (1.13.1-1) ...
Setting up dwz (0.15-1) ...
Setting up groff-base (1.23.0-3) ...
Setting up po-debconf (1.0.21+nmu1) ...
Setting up man-db (2.12.0-1) ...
Not building database; man-db/auto-update is not 'true'.
Setting up debhelper (13.11.9) ...
Setting up dh-exec (0.28) ...
Setting up sbuild-build-depends-main-dummy (0.invalid.0) ...
Processing triggers for libc-bin (2.37-12+rpi2) ...

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

Arch check ok (armhf included in any all)

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

Kernel: Linux 6.1.47-v8+ #1 SMP PREEMPT Fri Sep  1 07:05:33 BST 2023 arm64 (aarch64)
Toolchain package versions: binutils_2.41-6+rpi1 dpkg-dev_1.22.1+rpi1 g++-12_12.3.0-13+rpi1 g++-13_13.2.0-7+rpi1 gcc-12_12.3.0-13+rpi1 gcc-13_13.2.0-7+rpi1 libc6-dev_2.37-12+rpi2 libstdc++-12-dev_12.3.0-13+rpi1 libstdc++-13-dev_13.2.0-7+rpi1 libstdc++6_13.2.0-7+rpi1 linux-libc-dev_6.5.6-1+rpi1
Package versions: adduser_3.137 apt_2.7.6 autoconf_2.71-3 automake_1:1.16.5-1.3 autopoint_0.21-14 autotools-dev_20220109.1 base-files_13+rpi1 base-passwd_3.6.3 bash_5.2.21-2 binutils_2.41-6+rpi1 binutils-arm-linux-gnueabihf_2.41-6+rpi1 binutils-common_2.41-6+rpi1 bison_2:3.8.2+dfsg-1 bsdextrautils_2.39.3-2 bsdutils_1:2.39.3-2 build-essential_12.10 bzip2_1.0.8-5+b2 coreutils_9.1-1 cpp_4:13.2.0-1+rpi1 cpp-12_12.3.0-13+rpi1 cpp-13_13.2.0-7+rpi1 dash_0.5.12-6 debconf_1.5.82 debhelper_13.11.9 debianutils_5.14 dh-autoreconf_20 dh-exec_0.28 dh-strip-nondeterminism_1.13.1-1 diffutils_1:3.10-1 dirmngr_2.2.40-1.1 dpkg_1.22.1+rpi1 dpkg-dev_1.22.1+rpi1 dwz_0.15-1 e2fsprogs_1.47.0-2 fakeroot_1.32.2-1 file_1:5.45-2 findutils_4.9.0-5 g++_4:13.2.0-1+rpi1 g++-12_12.3.0-13+rpi1 g++-13_13.2.0-7+rpi1 gcc_4:13.2.0-1+rpi1 gcc-10-base_10.4.0-7+rpi1 gcc-12_12.3.0-13+rpi1 gcc-12-base_12.3.0-13+rpi1 gcc-13_13.2.0-7+rpi1 gcc-13-base_13.2.0-7+rpi1 gcc-7-base_7.5.0-6+rpi1+b2 gcc-8-base_8.4.0-7+rpi1 gcc-9-base_9.4.0-2+rpi1 gettext_0.21-14 gettext-base_0.21-14 gnupg_2.2.40-1.1 gnupg-l10n_2.2.40-1.1 gnupg-utils_2.2.40-1.1 gpg_2.2.40-1.1 gpg-agent_2.2.40-1.1 gpg-wks-client_2.2.40-1.1 gpg-wks-server_2.2.40-1.1 gpgconf_2.2.40-1.1 gpgsm_2.2.40-1.1 gpgv_2.2.40-1.1 grep_3.11-3 groff-base_1.23.0-3 gzip_1.12-1 hostname_3.23+nmu1 init-system-helpers_1.66 intltool-debian_0.35.0+20060710.6 libacl1_2.3.1-4 libacl1-dev_2.3.1-4 libapt-pkg6.0_2.7.6 libarchive-zip-perl_1.68-1 libasan8_13.2.0-7+rpi1 libassuan0_2.5.6-1 libatomic1_13.2.0-7+rpi1 libattr1_1:2.5.1-5 libattr1-dev_1:2.5.1-5 libaudit-common_1:3.1.2-1 libaudit1_1:3.1.2-1 libbinutils_2.41-6+rpi1 libblkid1_2.39.3-2 libbz2-1.0_1.0.8-5+b2 libc-bin_2.37-12+rpi2 libc-dev-bin_2.37-12+rpi2 libc6_2.37-12+rpi2 libc6-dev_2.37-12+rpi2 libcap-ng0_0.8.3-3 libcap2_1:2.66-4 libcc1-0_13.2.0-7+rpi1 libcom-err2_1.47.0-2 libcrypt-dev_1:4.4.36-2 libcrypt1_1:4.4.36-2 libctf-nobfd0_2.41-6+rpi1 libctf0_2.41-6+rpi1 libdb5.3_5.3.28+dfsg2-4 libdebconfclient0_0.271 libdebhelper-perl_13.11.9 libdpkg-perl_1.22.1+rpi1 libelf1_0.188-2.1+rpi1 libext2fs2_1.47.0-2 libfakeroot_1.32.2-1 libffi8_3.4.4-2 libfile-find-rule-perl_0.34-3 libfile-stripnondeterminism-perl_1.13.1-1 libgcc-12-dev_12.3.0-13+rpi1 libgcc-13-dev_13.2.0-7+rpi1 libgcc-s1_13.2.0-7+rpi1 libgcrypt20_1.10.3-2 libgdbm-compat4_1.23-5 libgdbm6_1.23-5 libgmp10_2:6.3.0+dfsg-2 libgnutls30_3.8.2-1 libgomp1_13.2.0-7+rpi1 libgpg-error0_1.47-3 libgssapi-krb5-2_1.20.1-5 libhogweed6_3.9.1-2 libicu72_72.1-4 libidn2-0_2.3.4-1 libisl23_0.26-3 libjansson4_2.14-2 libk5crypto3_1.20.1-5 libkeyutils1_1.6.3-2 libkrb5-3_1.20.1-5 libkrb5support0_1.20.1-5 libksba8_1.6.5-2 libldap-2.5-0_2.5.13+dfsg-5+rpi1 liblocale-gettext-perl_1.07-6 liblz4-1_1.9.4-1+rpi1+b1 liblzma5_5.4.5-0.1 libmagic-mgc_1:5.45-2 libmagic1_1:5.45-2 libmd0_1.1.0-1 libmount1_2.39.3-2 libmpc3_1.3.1-1 libmpfr6_4.2.1-1 libncursesw6_6.4+20231209-1 libnettle8_3.9.1-2 libnpth0_1.6-3 libnsl-dev_1.3.0-3 libnsl2_1.3.0-3 libnumber-compare-perl_0.03-3 libp11-kit0_0.25.3-2 libpam-modules_1.5.2-9.1 libpam-modules-bin_1.5.2-9.1 libpam-runtime_1.5.2-9.1 libpam0g_1.5.2-9.1 libpcre2-16-0_10.42-4 libpcre2-32-0_10.42-4 libpcre2-8-0_10.42-4 libpcre2-dev_10.42-4 libpcre2-posix3_10.42-4 libperl5.36_5.36.0-10 libpipeline1_1.5.7-1 libreadline8_8.2-3 libsasl2-2_2.1.28+dfsg1-4 libsasl2-modules-db_2.1.28+dfsg1-4 libseccomp2_2.5.4-2+rpi1 libselinux1_3.5-1 libselinux1-dev_3.5-1 libsemanage-common_3.5-1 libsemanage2_3.5-1 libsepol-dev_3.5-2 libsepol2_3.5-2 libsframe1_2.41-6+rpi1 libsmartcols1_2.39.3-2 libsqlite3-0_3.44.2-1 libss2_1.47.0-2 libssl3_3.1.4-2 libstdc++-12-dev_12.3.0-13+rpi1 libstdc++-13-dev_13.2.0-7+rpi1 libstdc++6_13.2.0-7+rpi1 libsub-override-perl_0.10-1 libsystemd0_254.5-1+rpi1 libtasn1-6_4.19.0-3 libtext-charwidth-perl_0.04-11 libtext-glob-perl_0.11-3 libtext-iconv-perl_1.7-8 libtinfo6_6.4+20231209-1 libtirpc-common_1.3.4+ds-1 libtirpc-dev_1.3.4+ds-1 libtirpc3_1.3.4+ds-1 libtool_2.4.7-7 libubsan1_13.2.0-7+rpi1 libuchardet0_0.0.8-1 libudev1_254.5-1+rpi1 libunistring5_1.1-2 libuuid1_2.39.3-2 libxml2_2.9.14+dfsg-1.3 libxxhash0_0.8.2-2 libzstd1_1.5.5+dfsg2-2 linux-libc-dev_6.5.6-1+rpi1 login_1:4.13+dfsg1-3 logsave_1.47.0-2 lsb-base_11.6+rpi1 m4_1.4.19-4 make_4.3-4.1 man-db_2.12.0-1 mawk_1.3.4.20231126-1 mount_2.39.3-2 nano_7.2-1 ncurses-base_6.4+20231209-1 ncurses-bin_6.4+20231209-1 passwd_1:4.13+dfsg1-3 patch_2.7.6-7 perl_5.36.0-10 perl-base_5.36.0-10 perl-modules-5.36_5.36.0-10 pinentry-curses_1.2.1-3 po-debconf_1.0.21+nmu1 raspbian-archive-keyring_20120528.2 readline-common_8.2-3 rpcsvc-proto_1.4.3-1 sbuild-build-depends-main-dummy_0.invalid.0 sed_4.9-1 sensible-utils_0.0.20 sysvinit-utils_3.08-5 tar_1.34+dfsg-1.3 tzdata_2023c-11 usr-is-merged_38 usrmerge_38 util-linux_2.39.3-2 xz-utils_5.4.5-0.1 zlib1g_1:1.2.13.dfsg-3

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


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

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 3.0 (quilt)
Source: tar
Binary: tar, tar-scripts
Architecture: any all
Version: 1.35+dfsg-2
Maintainer: Janos Lenart <ocsi@debian.org>
Uploaders: Carl Worth <cworth@cworth.org>
Homepage: https://www.gnu.org/software/tar/
Standards-Version: 4.6.2
Vcs-Browser: https://salsa.debian.org/debian/tar
Vcs-Git: https://salsa.debian.org/debian/tar.git
Build-Depends: debhelper-compat (= 13), dh-exec, gettext, autoconf, automake, autopoint, bison, libacl1-dev, libselinux1-dev [linux-any]
Package-List:
 tar deb utils required arch=any essential=yes
 tar-scripts deb utils optional arch=all
Checksums-Sha1:
 d910d9a9dc1252a793ca1837ac4f1080a64fca1f 2111608 tar_1.35+dfsg.orig.tar.xz
 00c7070600db619d5b73dd33bfdaad552812ba2e 20824 tar_1.35+dfsg-2.debian.tar.xz
Checksums-Sha256:
 9ae57e981c1e73c0eebc2b26c9b0c4497fe310ef1d516ea430efb5470b71f7a8 2111608 tar_1.35+dfsg.orig.tar.xz
 1db261298197c910a79134cecda87636d3e17fa42a824378dca7132b9390d447 20824 tar_1.35+dfsg-2.debian.tar.xz
Files:
 9e853834ac6ec4dc3b62b0325b7a33f6 2111608 tar_1.35+dfsg.orig.tar.xz
 010cd428b85ddaf5aaaf46535c2d0a55 20824 tar_1.35+dfsg-2.debian.tar.xz

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEkpeKbhleSSGCX3/w808JdE6fXdkFAmWOxycACgkQ808JdE6f
XdkW6A/+LmW4d0leZASwaBcNfw+Vao3Hg0BJy1eRaX1znsH5yYek+AW1zvWUsfpI
FenyssbsuMAicvEcQBo97YOmRymntsh1LFPSF5ULJtsVtQe5YXLvy3D/Mz3+VyNk
Db3vh77pzrSuZq3yAZDEsLq6taFwLjto0lk4vpAo0o3b6Zg/hXDLrYbFujApQeJs
7ZawJqUfMAQrh9LPDxlAIYS2bNP+CDC8mOqyY8pb9j6DpVSIcsn9MHTAY+Fh+3ie
+aYCaEXVkRN+pK206gC/Fc8bxX0vVombkAfFtkPnCR0oEs9bJDUlOxVZxX76Jhgg
/VwLMrLtmM0uiHQL3J+N7Lnqpb4eVlgDW0xtB8CadPnuNFGUNo9znohIGvwLHd39
04IJO8fsGwByc5UZwNRcdJvYGNTwrU7sMS2ROsYJxujnuzsI0/KxbKEDw9s6Wntg
MjzqSM7iJBCU/i08GIu3/rgHegh1ShxoGNbYpOv7oR9F6b2fjigpqJGFtgKEtqsZ
9G4zU4TUtDb/YbxLPSbZIhq0fR0yPq5Cex7MDld4/DevZ5qJmPfC+ZL0AIuR4uwi
s9pBM5+phsC/uH8fSj71f76tFJ+ai6QgB/VkKFU4SL4wJrl3oDPfnXp/Mwt9DGT9
fFLONB074mWKdh7OeW7td0eARpNPEXa1LELipi3gaA+cyQKIcT4=
=Fspj
-----END PGP SIGNATURE-----

gpgv: Signature made Fri Dec 29 13:18:31 2023 UTC
gpgv:                using RSA key 92978A6E195E4921825F7FF0F34F09744E9F5DD9
gpgv: Can't check signature: No public key
dpkg-source: warning: cannot verify inline signature for ./tar_1.35+dfsg-2.dsc: no acceptable signature found
dpkg-source: info: extracting tar in /<<PKGBUILDDIR>>
dpkg-source: info: unpacking tar_1.35+dfsg.orig.tar.xz
dpkg-source: info: unpacking tar_1.35+dfsg-2.debian.tar.xz
dpkg-source: info: using patch list from debian/patches/series
dpkg-source: info: applying pristine-tar.diff
dpkg-source: info: applying listed03-linux-only
dpkg-source: info: applying oldgnu-unknown-mode-bits.patch
dpkg-source: info: applying proper_it_translation.patch
dpkg-source: info: applying exclude17.patch
dpkg-source: info: applying exclude18.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
LANG=en_GB.UTF-8
LC_ALL=C.UTF-8
LOGNAME=buildd
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
SCHROOT_ALIAS_NAME=trixie-staging-armhf-sbuild
SCHROOT_CHROOT_NAME=trixie-staging-armhf-sbuild
SCHROOT_COMMAND=env
SCHROOT_GID=124
SCHROOT_GROUP=buildd
SCHROOT_SESSION_ID=trixie-staging-armhf-sbuild-aac04366-6721-490d-8578-ce591079bdd8
SCHROOT_UID=114
SCHROOT_USER=buildd
SHELL=/bin/sh
USER=buildd

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

Command: dpkg-buildpackage --sanitize-env -us -uc -mRaspbian pi5 test autobuilder <root@raspbian.org> -B -rfakeroot
dpkg-buildpackage: info: source package tar
dpkg-buildpackage: info: source version 1.35+dfsg-2
dpkg-buildpackage: info: source distribution unstable
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture armhf
 debian/rules clean
dh clean
   debian/rules override_dh_clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
mv debian/testsuite.orig tests/testsuite
mv: cannot stat 'debian/testsuite.orig': No such file or directory
make[1]: [debian/rules:12: override_dh_clean] Error 1 (ignored)
dh_clean
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
 debian/rules binary-arch
dh binary-arch
   dh_update_autotools_config -a
   dh_autoreconf -a
Copying file po/Makevars.template
   debian/rules override_dh_auto_configure
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_auto_configure -- \
	RSH="/usr/bin/rsh" \
	--libexecdir=/usr/sbin \
	--enable-backup-scripts \
	--with-lzma=xz \
	--disable-silent-rules
	./configure --build=arm-linux-gnueabihf --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir=\${prefix}/lib/arm-linux-gnueabihf --runstatedir=/run --disable-maintainer-mode --disable-dependency-tracking RSH=/usr/bin/rsh --libexecdir=/usr/sbin --enable-backup-scripts --with-lzma=xz --disable-silent-rules
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/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 '114' is supported by ustar format... yes
checking whether GID '124' 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 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 the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking whether the compiler is clang... no
checking for compiler option needed when checking for declarations... none
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... none
checking for ranlib... ranlib
checking for bison... bison -y
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for wchar.h... yes
checking for minix/config.h... no
checking for fcntl.h... yes
checking for linux/fd.h... yes
checking for memory.h... yes
checking for net/errno.h... no
checking for sgtty.h... 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 locale.h... yes
checking for features.h... yes
checking for linewrap.h... no
checking for uchar.h... yes
checking for sys/socket.h... yes
checking for dirent.h... yes
checking for error.h... yes
checking for linux/xattr.h... yes
checking for fnmatch.h... yes
checking for stdio_ext.h... yes
checking for getopt.h... yes
checking for sys/cdefs.h... yes
checking for threads.h... yes
checking for limits.h... yes
checking for crtdefs.h... no
checking for wctype.h... yes
checking for langinfo.h... yes
checking for xlocale.h... no
checking for sys/mman.h... yes
checking for priv.h... no
checking for malloc.h... yes
checking for selinux/selinux.h... yes
checking for stdbool.h... yes
checking for stdckdint.h... no
checking for sys/random.h... yes
checking for sysexits.h... yes
checking for utime.h... yes
checking for netdb.h... yes
checking for sys/wait.h... yes
checking for pwd.h... yes
checking for grp.h... yes
checking whether it is safe to define __EXTENSIONS__... yes
checking whether _XOPEN_SOURCE should be defined... no
checking build system type... arm-unknown-linux-gnueabihf
checking host system type... arm-unknown-linux-gnueabihf
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for Minix Amsterdam compiler... no
checking for ar... ar
checking for _LARGEFILE_SOURCE value needed for large files... no
checking for gcc option to enable large file support... none needed
checking for gcc option for timestamps after 2038... -D_TIME_BITS=64
checking for gcc option to enable large file support... (cached) none needed
checking for gcc option for timestamps after 2038... (cached) -D_TIME_BITS=64
checking for sys/buf.h... no
checking for sys/mkdev.h... no
checking for sys/sysmacros.h... yes
checking for st_fstype string in struct stat... no
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 mbrtowc... yes
checking for mbsinit... yes
checking for canonicalize_file_name... yes
checking for realpath... yes
checking for lstat... yes
checking for chown... yes
checking for fchown... yes
checking for _set_invalid_parameter_handler... no
checking for fchdir... yes
checking for fdopendir... yes
checking for fchmodat... yes
checking for lchmod... yes
checking for fcntl... yes
checking for symlink... yes
checking for listxattr... yes
checking for fnmatch... yes
checking for mbsrtowcs... yes
checking for fstatat... yes
checking for getdtablesize... yes
checking for getexecname... no
checking for gettimeofday... yes
checking for isblank... yes
checking for iswcntrl... yes
checking for link... yes
checking for readlink... yes
checking for openat... yes
checking for mprotect... yes
checking for mkdirat... yes
checking for mknod... yes
checking for pipe... yes
checking for iswctype... yes
checking for renameat... yes
checking for setenv... yes
checking for sleep... yes
checking for snprintf... yes
checking for strndup... yes
checking for strtoimax... yes
checking for strtoumax... yes
checking for localtime_r... yes
checking for unlinkat... yes
checking for vasnprintf... no
checking for wcrtomb... yes
checking for wcwidth... yes
checking for mkfifo... yes
checking for setlocale... yes
checking for fsync... 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 for acl/libacl.h... yes
checking for acl_entries... yes
checking for ACL_FIRST_ENTRY... yes
checking for ACL_TYPE_EXTENDED... no
checking for size_t... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for inline... inline
checking for C/C++ restrict keyword... __restrict__
checking for gcc options needed to detect all undeclared functions... none needed
checking whether clearerr_unlocked is declared... yes
checking whether feof_unlocked is declared... yes
checking whether ferror_unlocked is declared... yes
checking whether fflush_unlocked is declared... yes
checking whether fgets_unlocked is declared... yes
checking whether fputc_unlocked is declared... yes
checking whether fputs_unlocked is declared... yes
checking whether fread_unlocked is declared... yes
checking whether fwrite_unlocked is declared... yes
checking whether getc_unlocked is declared... yes
checking whether getchar_unlocked is declared... yes
checking whether putc_unlocked is declared... yes
checking whether putchar_unlocked is declared... yes
checking whether strerror_r is declared... yes
checking whether strerror_r returns char *... yes
checking whether the preprocessor supports include_next... yes
checking whether source code line length is unlimited... yes
checking for d_ino member in directory struct... yes
checking for long file names... yes
checking whether <wchar.h> uses 'inline' correctly... yes
checking for nl_langinfo and CODESET... yes
checking for a traditional french locale... none
checking whether char8_t is correctly defined... yes
checking whether char16_t is correctly defined... yes
checking whether char32_t is correctly defined... yes
checking for bit size of wchar_t... 32
checking for mbstate_t... yes
checking for a traditional japanese locale... none
checking for a french Unicode locale... none
checking for a transitional chinese locale... none
checking whether mbrtowc handles incomplete characters... guessing yes
checking whether mbrtowc works as well as mbtowc... guessing yes
checking whether mbrtoc32 is declared... yes
checking for mbrtoc32... yes
checking whether mbrtoc32 works as well as mbrtowc... guessing yes
checking whether malloc is ptrdiff_t safe... yes
checking whether malloc, realloc, calloc set errno on failure... yes
checking whether lstat correctly handles trailing slash... yes
checking whether // is distinct from /... no
checking whether realpath works... yes
checking for faccessat... yes
checking for getcwd... yes
checking for unistd.h... (cached) yes
checking for working chown... yes
checking whether chown dereferences symlinks... yes
checking whether chown honors trailing slash... yes
checking whether chown always updates ctime... yes
checking if environ is properly declared... yes
checking for complete errno.h... yes
checking for error... yes
checking whether error_at_line is declared... yes
checking for error_at_line... yes
checking for working error function... yes
checking type of array argument to getgroups... gid_t
checking whether ctype.h defines __header_inline... no
checking whether fchdir is declared... yes
checking for working fcntl.h... yes
checking for promoted mode_t type... mode_t
checking whether fopen recognizes a trailing slash... yes
checking whether fflush works on input streams... no
checking whether stdin defaults to large file offsets... yes
checking whether fseeko is declared... yes
checking for fseeko... yes
checking whether fflush works on input streams... (cached) no
checking whether stat file-mode macros are broken... no
checking for nlink_t... yes
checking whether getcwd (NULL, 0) allocates memory for result... yes
checking for getcwd with POSIX signature... yes
checking whether getcwd is declared... yes
checking whether getdelim is declared... yes
checking whether getdtablesize is declared... yes
checking whether getline is declared... yes
checking for getopt.h... (cached) yes
checking for getopt_long_only... yes
checking whether getopt is POSIX compatible... yes
checking for working GNU getopt function... yes
checking for working GNU getopt_long function... yes
checking whether timespec_get is declared... yes
checking for timespec_get... yes
checking for struct timeval... yes
checking for wide-enough struct timeval.tv_sec member... yes
checking for pthread.h... yes
checking for pthread_kill in -lpthread... yes
checking whether POSIX threads API is available... yes
checking whether setlocale (LC_ALL, NULL) is multithread-safe... yes
checking whether setlocale (category, NULL) is multithread-safe... yes
checking whether limits.h has WORD_BIT, BOOL_WIDTH etc.... yes
checking whether limits.h has SSIZE_MAX... yes
checking for wint_t... yes
checking whether wint_t is large enough... yes
checking whether the compiler produces multi-arch binaries... no
checking whether stdint.h conforms to C99... yes
checking whether stdint.h works without ISO C predefines... yes
checking whether stdint.h has UINTMAX_WIDTH etc.... yes
checking whether 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 iswcntrl works... yes
checking for towlower... yes
checking for wctype_t... yes
checking for wctrans_t... yes
checking whether langinfo.h defines CODESET... yes
checking whether langinfo.h defines T_FMT_AMPM... yes
checking whether langinfo.h defines ALTMON_1... yes
checking whether langinfo.h defines ERA... yes
checking whether langinfo.h defines YESEXPR... yes
checking for O_CLOEXEC... yes
checking for wchar_t... yes
checking for good max_align_t... yes
checking whether NULL can be used in arbitrary expressions... yes
checking for unreachable... no
checking whether locale.h defines locale_t... yes
checking whether locale.h conforms to POSIX:2001... yes
checking whether struct lconv is properly defined... yes
checking whether malloc (0) returns nonnull... yes
checking for mmap... yes
checking for MAP_ANONYMOUS... yes
checking whether memchr works... yes
checking whether memrchr is declared... yes
checking whether <limits.h> defines MIN and MAX... no
checking whether <sys/param.h> defines MIN and MAX... yes
checking for compiler option needed when checking for future declarations... none
checking whether time_t is signed... yes
checking whether alarm is declared... yes
checking for working mktime... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for struct tm.tm_zone... yes
checking for struct tm.tm_gmtoff... yes
checking for compound literals... yes
checking for library containing setfilecon... -lselinux
checking whether setenv is declared... yes
checking for search.h... yes
checking for tsearch... yes
checking for sigset_t... yes
checking for volatile sig_atomic_t... yes
checking for sighandler_t... yes
checking whether snprintf returns a byte count as in C99... yes
checking whether printf supports POSIX/XSI format strings with positions... yes
checking whether snprintf is declared... yes
checking whether fcloseall is declared... yes
checking whether getw is declared... yes
checking whether putw is declared... yes
checking which flavor of printf attribute matches inttypes macros... system
checking whether ecvt is declared... yes
checking whether fcvt is declared... yes
checking whether gcvt is declared... yes
checking whether MB_CUR_MAX is correct... guessing yes
checking whether strdup is declared... yes
checking whether strerror(0) succeeds... yes
checking whether strndup is declared... yes
checking whether strnlen is declared... yes
checking whether strtoimax is declared... yes
checking whether strtoumax is declared... yes
checking for struct timespec in <time.h>... yes
checking for TIME_UTC in <time.h>... yes
checking whether execvpe is declared... yes
checking whether unsetenv is declared... yes
checking whether the utimes function works... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for intmax_t... yes
checking whether snprintf truncates the result as in C99... yes
checking where to find the exponent in a 'double'... word 1 bit 20
checking for wcslen... yes
checking for snprintf... (cached) yes
checking for strnlen... yes
checking for wcrtomb... (cached) yes
checking whether _snprintf is declared... no
checking whether vsnprintf is declared... yes
checking whether wcsdup is declared... yes
checking for C compiler option to allow warnings... -Wno-error
checking for alignas and alignof... yes, <stdalign.h> macros
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 for static_assert... yes, an <assert.h> macro
checking whether btowc(0) is correct... yes
checking whether btowc(EOF) is correct... guessing yes
checking whether btowc is consistent with mbrtowc in the C locale... no
checking for __builtin_expect... yes
checking whether calloc (0, n) and calloc (n, 0) return nonnull... yes
checking for readlinkat... yes
checking whether this system supports file names of any length... no
checking whether chmod works... yes
checking for library containing clock_gettime... none required
checking for clock_getres... yes
checking for clock_gettime... yes
checking for clock_settime... yes
checking for closedir... yes
checking for d_ino member in directory struct... (cached) yes
checking for dirfd... yes
checking whether dirfd is declared... yes
checking whether dirfd is a macro... no
checking whether // is distinct from /... (cached) no
checking whether dup works... yes
checking whether dup2 works... yes
checking for euidaccess... yes
checking for faccessat... (cached) yes
checking whether fchmodat works... 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 fdopendir is declared... yes
checking whether fdopendir works... yes
checking for struct stat.st_blocks... yes
checking for mempcpy... yes
checking for flexible array member... yes
checking whether conversion from 'int' to 'long double' works... yes
checking for working GNU fnmatch... yes
checking whether fopen supports the mode character 'x'... yes
checking whether fopen supports the mode character 'e'... yes
checking for __fpending... yes
checking whether __fpending is declared... yes
checking whether free is known to preserve errno... yes
checking for fseeko... (cached) yes
checking whether fflush works on input streams... (cached) no
checking for _fseeki64... no
checking whether fstatat (..., 0) works... yes
checking for futimens... yes
checking whether futimens works... yes
checking whether getcwd handles long file names properly... yes
checking for getpagesize... yes
checking whether getcwd succeeds when 4k < cwd_length < 16k... yes
checking for getdelim... yes
checking for working getdelim function... yes
checking whether getdtablesize works... yes
checking for getgroups... yes
checking for working getgroups... yes
checking whether getgroups handles negative values... yes
checking for getline... yes
checking for working getline function... yes
checking for getpagesize... (cached) yes
checking whether getpagesize is declared... yes
checking for getprogname... no
checking whether program_invocation_name is declared... (cached) yes
checking whether program_invocation_name is declared... (cached) yes
checking whether program_invocation_short_name is declared... (cached) yes
checking whether __argv is declared... no
checking for getrandom... yes
checking whether getrandom is compatible with its GNU+BSD signature... yes
checking for gettimeofday with POSIX signature... yes
checking for group_member... yes
checking for iswblank... yes
checking whether iswblank is declared... yes
checking whether iswdigit is ISO C compliant... guessing yes
checking whether iswxdigit is ISO C compliant... guessing yes
checking for lchown... yes
checking whether the compiler supports the __inline keyword... yes
checking whether link obeys POSIX... yes
checking for __xpg4... no
checking whether link(2) dereferences a symlink... no
checking for linkat... yes
checking whether linkat() can link symlinks... yes
checking whether linkat handles trailing slash correctly... yes
checking whether localeconv works... yes
checking whether lseek detects pipes... yes
checking whether SEEK_DATA works but is incompatible with GNU... no
checking whether malloc (0) returns nonnull... (cached) yes
checking whether mbrtoc32 works on empty input... yes
checking whether the C locale is free of encoding errors... no
checking whether mbrtowc handles a NULL pwc argument... guessing yes
checking whether mbrtowc handles a NULL string argument... guessing yes
checking whether mbrtowc has a correct return value... guessing yes
checking whether mbrtowc returns 0 when parsing a NUL character... guessing yes
checking whether mbrtowc stores incomplete characters... guessing no
checking whether mbrtowc works on empty input... yes
checking whether the C locale is free of encoding errors... no
checking whether mbsrtowcs works... guessing yes
checking whether the C locale is free of encoding errors... (cached) no
checking for mbtowc... yes
checking for mempcpy... (cached) yes
checking for memrchr... yes
checking whether mkdir handles trailing slash... yes
checking whether mkdir handles trailing dot... yes
checking for mkdtemp... yes
checking for mkfifo... yes
checking whether mkfifo rejects trailing slashes... yes
checking for mknodat... yes
checking for mkfifoat... yes
checking whether mkfifoat rejects trailing slashes... yes
checking whether mknod can create fifo without root privileges... yes
checking for __mktime_internal... no
checking for nl_langinfo... yes
checking whether YESEXPR works... yes
checking for obstacks that work with any size object... no
checking whether open recognizes a trailing slash... yes
checking for opendir... yes
checking for bison... bison
checking for bison 2.4 or newer... 3.8.2, ok
checking for struct tm.tm_zone... (cached) yes
checking for getppriv... no
checking whether program_invocation_name is declared... (cached) yes
checking whether program_invocation_short_name is declared... (cached) yes
checking for raise... yes
checking for rawmemchr... yes
checking for readdir... yes
checking whether readlink signature is correct... yes
checking whether readlink handles trailing slash correctly... yes
checking whether readlink truncates results correctly... yes
checking for readlinkat... (cached) yes
checking whether readlinkat signature is correct... yes
checking whether realloc (0, 0) returns nonnull... yes
checking for reallocarray... 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 linux/fs.h... yes
checking for renameat2... yes
checking for linux/fs.h... (cached) yes
checking for renameat2... (cached) yes
checking for rewinddir... yes
checking whether rmdir works... yes
checking for rpmatch... yes
checking for selinux/flask.h... no
checking for selinux/selinux.h... (cached) yes
checking for selinux/context.h... yes
checking for selinux/label.h... yes
checking whether setenv validates arguments... yes
checking whether setlocale (LC_ALL, NULL) is multithread-safe... (cached) yes
checking whether setlocale (category, NULL) is multithread-safe... (cached) yes
checking for 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 for ssize_t... (cached) yes
checking whether stat handles trailing slashes on files... yes
checking for struct stat.st_atim.tv_nsec... yes
checking whether struct stat.st_atim is of type struct timespec... yes
checking for struct stat.st_birthtimespec.tv_nsec... no
checking for struct stat.st_birthtimensec... no
checking for struct stat.st_birthtim.tv_nsec... no
checking for va_copy... yes
checking for bool, true, false... no
checking for stpcpy... yes
checking for strcasecmp... yes
checking for strncasecmp... yes
checking whether strncasecmp is declared... yes
checking for strchrnul... yes
checking whether strchrnul works... yes
checking for working strerror function... yes
checking for working strndup... yes
checking for working strnlen... yes
checking whether strtoimax works... yes
checking for strtol... yes
checking whether strtol works... no
checking for strtoll... yes
checking whether strtoll works... no
checking for strtoul... yes
checking whether strtoul works... no
checking for strtoull... yes
checking whether strtoull works... no
checking whether symlink handles trailing slash correctly... yes
checking for symlinkat... yes
checking whether symlinkat handles trailing slash correctly... yes
checking whether localtime_r is declared... yes
checking whether localtime_r is compatible with its POSIX signature... yes
checking whether localtime works even near extrema... yes
checking for timezone_t... no
checking for timegm... 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 for utime... yes
checking whether utime handles trailing slashes on files... yes
checking for futimes... yes
checking for futimesat... yes
checking for lutimes... yes
checking for futimens... (cached) yes
checking for utimensat... yes
checking for utimensat... (cached) yes
checking whether utimensat works... yes
checking for variable-length arrays... yes
checking for ptrdiff_t... yes
checking for vasprintf... yes
checking for vsnprintf... yes
checking whether snprintf respects a size of 1... (cached) yes
checking whether wcrtomb works in the C locale... yes
checking whether wcrtomb return value is correct... guessing yes
checking whether wcwidth is declared... yes
checking whether wcwidth works reasonably in UTF-8 locales... yes
checking for wmemchr... yes
checking for wmempcpy... yes
checking for stdint.h... (cached) 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... yes
checking for library containing gethostbyname... none required
checking for sys/xattr.h... yes
checking for library containing getxattr... none required
checking for library containing fgetxattr... none required
checking for library containing lgetxattr... none required
checking for library containing setxattr... none required
checking for library containing fsetxattr... none required
checking for library containing lsetxattr... none required
checking for library containing listxattr... none required
checking for library containing flistxattr... none required
checking for library containing llistxattr... none required
checking whether getgrgid is declared... yes
checking whether getpwuid is declared... yes
checking whether time is declared... yes
checking for waitpid... yes
checking for remote shell... /usr/bin/rsh
checking for default archive format... GNU
checking for default archive... -
checking for default blocking... 20
checking for default quoting style... escape
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking 32-bit host C ABI... yes
checking for ELF binary format... yes
checking for the common suffixes of directories in the library search path... lib,lib,lib
checking for iconv... yes
checking for working iconv... yes
checking for iconv declaration... 
         extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
checking for iconv.h... yes
checking for iconv_t... yes
checking for a sed that does not truncate output... /usr/bin/sed
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyPreferredLanguages... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating tests/Makefile
config.status: creating tests/atlocal
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating gnu/Makefile
config.status: creating lib/Makefile
config.status: creating po/Makefile.in
config.status: creating scripts/Makefile
config.status: creating rmt/Makefile
config.status: creating src/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
config.status: executing tests/atconfig commands
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   dh_auto_build -a
	make -j4
make[1]: Entering directory '/<<PKGBUILDDIR>>'
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'
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
  -e 's|@''HAVE_ALLOCA_H''@|1|g' \
  ./alloca.in.h > alloca.h-t
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  echo '#if HAVE_WINSOCK2_H'; \
  echo '# include <winsock2.h> /* avoid mingw pollution on DATADIR */'; \
  echo '#endif'; \
  printf '#define PREFIX %s\n' \"/usr\"; \
  printf '#define EXEC_PREFIX %s\n' \"/usr\"; \
  printf '#define BINDIR %s\n' \"/usr/bin\"; \
  printf '#define SBINDIR %s\n' \"/usr/sbin\"; \
  printf '#define LIBEXECDIR %s\n' \"/usr/sbin\"; \
  printf '#define DATAROOTDIR %s\n' \"/usr/share\"; \
  printf '#define DATADIR %s\n' \"/usr/share\"; \
  printf '#define SYSCONFDIR %s\n' \"/etc\"; \
  printf '#define SHAREDSTATEDIR %s\n' \"/usr/com\"; \
  printf '#define LOCALSTATEDIR %s\n' \"/var\"; \
  printf '#define RUNSTATEDIR %s\n' \"/run\"; \
  printf '#define INCLUDEDIR %s\n' \"/usr/include\"; \
  printf '#define OLDINCLUDEDIR %s\n' \"/usr/include\"; \
  printf '#define DOCDIR %s\n' \"/usr/share/doc/tar\"; \
  printf '#define INFODIR %s\n' \"/usr/share/info\"; \
  printf '#define HTMLDIR %s\n' \"/usr/share/doc/tar\"; \
  printf '#define DVIDIR %s\n' \"/usr/share/doc/tar\"; \
  printf '#define PDFDIR %s\n' \"/usr/share/doc/tar\"; \
  printf '#define PSDIR %s\n' \"/usr/share/doc/tar\"; \
  printf '#define LIBDIR %s\n' \"/usr/lib/arm-linux-gnueabihf\"; \
  printf '#define LISPDIR %s\n' \"/usr/share/emacs/site-lisp\"; \
  printf '#define LOCALEDIR %s\n' \"/usr/share/locale\"; \
  printf '#define MANDIR %s\n' \"/usr/share/man\"; \
  printf '#define MANEXT %s\n' \"\"; \
  printf '#define PKGDATADIR %s\n' \"/usr/share/tar\"; \
  printf '#define PKGINCLUDEDIR %s\n' \"/usr/include/tar\"; \
  printf '#define PKGLIBDIR %s\n' \"/usr/lib/arm-linux-gnueabihf/tar\"; \
  printf '#define PKGLIBEXECDIR %s\n' \"/usr/sbin/tar\"; \
} | sed '/""/d' > configmake.h-t
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_CTYPE_H''@|<ctype.h>|g' \
      -e 's/@''GNULIB_ISBLANK''@/1/g' \
      -e 's/@''HAVE_ISBLANK''@/1/g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \
      ./ctype.in.h > ctype.h-t
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -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/@''DIR_HAS_FD_MEMBER''@/1/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_READDIR''@|0|g' \
      -e 's|@''REPLACE_REWINDDIR''@|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 alloca.h-t alloca.h
mv configmake.h-t configmake.h
mv ctype.h-t ctype.h
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''HAVE_ERROR_H''@|1|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''NEXT_ERROR_H''@|<error.h>|g' \
      -e 's|@''HAVE_ERROR''@|1|g' \
      -e 's|@''HAVE_ERROR_AT_LINE''@|1|g' \
      -e 's|@''REPLACE_ERROR''@|0|g' \
      -e 's|@''REPLACE_ERROR_AT_LINE''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      ./error.in.h > error.h-t
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_FCNTL_H''@|<fcntl.h>|g' \
      -e 's/@''GNULIB_CREAT''@/0/g' \
      -e 's/@''GNULIB_FCNTL''@/1/g' \
      -e 's/@''GNULIB_NONBLOCKING''@/0/g' \
      -e 's/@''GNULIB_OPEN''@/1/g' \
      -e 's/@''GNULIB_OPENAT''@/1/g' \
      -e 's/@''GNULIB_MDA_CREAT''@/1/g' \
      -e 's/@''GNULIB_MDA_OPEN''@/1/g' \
      -e 's|@''HAVE_FCNTL''@|1|g' \
      -e 's|@''HAVE_OPENAT''@|1|g' \
      -e 's|@''REPLACE_CREAT''@|0|g' \
      -e 's|@''REPLACE_FCNTL''@|1|g' \
      -e 's|@''REPLACE_OPEN''@|0|g' \
      -e 's|@''REPLACE_OPENAT''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \
      ./fcntl.in.h > fcntl.h-t
mv dirent.h-t dirent.h
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -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 error.h-t error.h
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
  -e 's|@''HAVE_SYS_CDEFS_H''@|1|g' \
  ./getopt-cdefs.in.h > getopt-cdefs.h-t
mv fcntl.h-t fcntl.h
/usr/bin/mkdir -p 'malloc'
mv getopt.h-t getopt.h
/usr/bin/mkdir -p 'malloc'
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
  -e '/libc_hidden_proto/d' \
  ./malloc/dynarray.h > malloc/dynarray.gl.h-t
/usr/bin/mkdir -p 'malloc'
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -e 's|<malloc/dynarray\.h>|<malloc/dynarray.gl.h>|g' \
      -e 's|__attribute_maybe_unused__|_GL_ATTRIBUTE_MAYBE_UNUSED|g' \
      -e 's|__attribute_nonnull__|_GL_ATTRIBUTE_NONNULL|g' \
      -e 's|__attribute_warn_unused_result__|_GL_ATTRIBUTE_NODISCARD|g' \
      -e 's|__glibc_likely|_GL_LIKELY|g' \
      -e 's|__glibc_unlikely|_GL_UNLIKELY|g' \
      ./malloc/dynarray-skeleton.c > malloc/dynarray-skeleton.gl.h-t
mv getopt-cdefs.h-t getopt-cdefs.h
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -e 's|__always_inline|inline _GL_ATTRIBUTE_ALWAYS_INLINE|g' \
      -e 's|__glibc_likely|_GL_LIKELY|g' \
      -e 's|__glibc_unlikely|_GL_UNLIKELY|g' \
      -e '/libc_hidden_proto/d' \
      ./malloc/scratch_buffer.h > malloc/scratch_buffer.gl.h-t
mv malloc/dynarray.gl.h-t malloc/dynarray.gl.h
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -e 's/@''HAVE_INTTYPES_H''@/1/g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_INTTYPES_H''@|<inttypes.h>|g' \
      -e 's/@''APPLE_UNIVERSAL_BUILD''@/0/g' \
      -e 's/@''PRIPTR_PREFIX''@/""/g' \
      -e 's/@''GNULIB_IMAXABS''@/0/g' \
      -e 's/@''GNULIB_IMAXDIV''@/0/g' \
      -e 's/@''GNULIB_STRTOIMAX''@/1/g' \
      -e 's/@''GNULIB_STRTOUMAX''@/1/g' \
      -e 's/@''HAVE_DECL_IMAXABS''@/1/g' \
      -e 's/@''HAVE_DECL_IMAXDIV''@/1/g' \
      -e 's/@''HAVE_DECL_STRTOIMAX''@/1/g' \
      -e 's/@''HAVE_DECL_STRTOUMAX''@/1/g' \
      -e 's/@''HAVE_IMAXDIV_T''@/1/g' \
      -e 's/@''REPLACE_IMAXABS''@/0/g' \
      -e 's/@''REPLACE_IMAXDIV''@/0/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 malloc/scratch_buffer.gl.h-t malloc/scratch_buffer.gl.h
mv malloc/dynarray-skeleton.gl.h-t malloc/dynarray-skeleton.gl.h
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''HAVE_LANGINFO_H''@|1|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_LANGINFO_H''@|<langinfo.h>|g' \
      -e 's/@''GNULIB_NL_LANGINFO''@/1/g' \
      -e 's|@''HAVE_LANGINFO_CODESET''@|1|g' \
      -e 's|@''HAVE_LANGINFO_T_FMT_AMPM''@|1|g' \
      -e 's|@''HAVE_LANGINFO_ALTMON''@|1|g' \
      -e 's|@''HAVE_LANGINFO_ERA''@|1|g' \
      -e 's|@''HAVE_LANGINFO_YESEXPR''@|1|g' \
      -e 's|@''HAVE_NL_LANGINFO''@|1|g' \
      -e 's|@''REPLACE_NL_LANGINFO''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \
      ./langinfo.in.h > langinfo.h-t
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_LIMITS_H''@|<limits.h>|g' \
      ./limits.in.h > limits.h-t
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_LOCALE_H''@|<locale.h>|g' \
      -e 's/@''GNULIB_LOCALECONV''@/1/g' \
      -e 's/@''GNULIB_SETLOCALE''@/0/g' \
      -e 's/@''GNULIB_SETLOCALE_NULL''@/1/g' \
      -e 's/@''GNULIB_DUPLOCALE''@/0/g' \
      -e 's/@''GNULIB_LOCALENAME''@/0/g' \
      -e 's|@''HAVE_NEWLOCALE''@|1|g' \
      -e 's|@''HAVE_DUPLOCALE''@|1|g' \
      -e 's|@''HAVE_FREELOCALE''@|1|g' \
      -e 's|@''HAVE_XLOCALE_H''@|0|g' \
      -e 's|@''REPLACE_LOCALECONV''@|0|g' \
      -e 's|@''REPLACE_SETLOCALE''@|0|g' \
      -e 's|@''REPLACE_NEWLOCALE''@|0|g' \
      -e 's|@''REPLACE_DUPLOCALE''@|0|g' \
      -e 's|@''REPLACE_FREELOCALE''@|0|g' \
      -e 's|@''REPLACE_STRUCT_LCONV''@|0|g' \
      -e 's|@''LOCALENAME_ENHANCE_LOCALE_FUNCS''@|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 inttypes.h-t inttypes.h
mv limits.h-t limits.h
/usr/bin/mkdir -p 'selinux'
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -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 langinfo.h-t langinfo.h
mv locale.h-t locale.h
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's/@''HAVE_SELINUX_SELINUX_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_SELINUX_SELINUX_H''@|<selinux/selinux.h>|g' \
      ./se-selinux.in.h > selinux/selinux.h-t
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
  ./stdckdint.in.h > stdckdint.h-t
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -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_STDDEF_H''@|<stddef.h>|g' \
      -e 's|@''HAVE_MAX_ALIGN_T''@|1|g' \
      -e 's|@''HAVE_WCHAR_T''@|1|g' \
      -e 's|@''REPLACE_NULL''@|0|g' \
      ./stddef.in.h > stddef.h-t
mv selinux/selinux.h-t selinux/selinux.h
mv signal.h-t signal.h
mv stdckdint.h-t stdckdint.h
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_STDIO_H''@|<stdio.h>|g' \
      -e 's/@''GNULIB_DPRINTF''@/0/g' \
      -e 's/@''GNULIB_FCLOSE''@/0/g' \
      -e 's/@''GNULIB_FDOPEN''@/0/g' \
      -e 's/@''GNULIB_FFLUSH''@/0/g' \
      -e 's/@''GNULIB_FGETC''@/1/g' \
      -e 's/@''GNULIB_FGETS''@/1/g' \
      -e 's/@''GNULIB_FOPEN''@/1/g' \
      -e 's/@''GNULIB_FOPEN_GNU''@/1/g' \
      -e 's/@''GNULIB_FPRINTF''@/1/g' \
      -e 's/@''GNULIB_FPRINTF_POSIX''@/0/g' \
      -e 's/@''GNULIB_FPURGE''@/0/g' \
      -e 's/@''GNULIB_FPUTC''@/1/g' \
      -e 's/@''GNULIB_FPUTS''@/1/g' \
      -e 's/@''GNULIB_FREAD''@/1/g' \
      -e 's/@''GNULIB_FREOPEN''@/0/g' \
      -e 's/@''GNULIB_FSCANF''@/1/g' \
      -e 's/@''GNULIB_FSEEK''@/1/g' \
      -e 's/@''GNULIB_FSEEKO''@/1/g' \
      -e 's/@''GNULIB_FTELL''@/0/g' \
      -e 's/@''GNULIB_FTELLO''@/0/g' \
      -e 's/@''GNULIB_FWRITE''@/1/g' \
      -e 's/@''GNULIB_GETC''@/1/g' \
      -e 's/@''GNULIB_GETCHAR''@/1/g' \
      -e 's/@''GNULIB_GETDELIM''@/1/g' \
      -e 's/@''GNULIB_GETLINE''@/1/g' \
      -e 's/@''GNULIB_OBSTACK_PRINTF''@/0/g' \
      -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/0/g' \
      -e 's/@''GNULIB_PCLOSE''@/0/g' \
      -e 's/@''GNULIB_PERROR''@/0/g' \
      -e 's/@''GNULIB_POPEN''@/0/g' \
      -e 's/@''GNULIB_PRINTF''@/1/g' \
      -e 's/@''GNULIB_PRINTF_POSIX''@/0/g' \
      -e 's/@''GNULIB_PUTC''@/1/g' \
      -e 's/@''GNULIB_PUTCHAR''@/1/g' \
      -e 's/@''GNULIB_PUTS''@/1/g' \
      -e 's/@''GNULIB_REMOVE''@/0/g' \
      -e 's/@''GNULIB_RENAME''@/1/g' \
      -e 's/@''GNULIB_RENAMEAT''@/1/g' \
      -e 's/@''GNULIB_SCANF''@/1/g' \
      -e 's/@''GNULIB_SNPRINTF''@/1/g' \
      -e 's/@''GNULIB_SPRINTF_POSIX''@/0/g' \
      -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/0/g' \
      -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/0/g' \
      -e 's/@''GNULIB_TMPFILE''@/0/g' \
      -e 's/@''GNULIB_VASPRINTF''@/1/g' \
      -e 's/@''GNULIB_VDPRINTF''@/0/g' \
      -e 's/@''GNULIB_VFPRINTF''@/1/g' \
      -e 's/@''GNULIB_VFPRINTF_POSIX''@/0/g' \
      -e 's/@''GNULIB_VFSCANF''@/0/g' \
      -e 's/@''GNULIB_VSCANF''@/0/g' \
      -e 's/@''GNULIB_VPRINTF''@/1/g' \
      -e 's/@''GNULIB_VPRINTF_POSIX''@/0/g' \
      -e 's/@''GNULIB_VSNPRINTF''@/1/g' \
      -e 's/@''GNULIB_VSPRINTF_POSIX''@/0/g' \
      -e 's/@''GNULIB_MDA_FCLOSEALL''@/1/g' \
      -e 's/@''GNULIB_MDA_FDOPEN''@/1/g' \
      -e 's/@''GNULIB_MDA_FILENO''@/1/g' \
      -e 's/@''GNULIB_MDA_GETW''@/1/g' \
      -e 's/@''GNULIB_MDA_PUTW''@/1/g' \
      -e 's/@''GNULIB_MDA_TEMPNAM''@/1/g' \
      < ./stdio.in.h | \
  sed -e 's|@''HAVE_DECL_FCLOSEALL''@|1|g' \
      -e 's|@''HAVE_DECL_FPURGE''@|1|g' \
      -e 's|@''HAVE_DECL_FSEEKO''@|1|g' \
      -e 's|@''HAVE_DECL_FTELLO''@|1|g' \
      -e 's|@''HAVE_DECL_GETDELIM''@|1|g' \
      -e 's|@''HAVE_DECL_GETLINE''@|1|g' \
      -e 's|@''HAVE_DECL_GETW''@|1|g' \
      -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|1|g' \
      -e 's|@''HAVE_DECL_PUTW''@|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''@|1|g' \
      -e 's|@''REPLACE_FDOPEN''@|0|g' \
      -e 's|@''REPLACE_FFLUSH''@|0|g' \
      -e 's|@''REPLACE_FOPEN''@|1|g' \
      -e 's|@''REPLACE_FOPEN_FOR_FOPEN_GNU''@|1|g' \
      -e 's|@''REPLACE_FPRINTF''@|0|g' \
      -e 's|@''REPLACE_FPURGE''@|0|g' \
      -e 's|@''REPLACE_FREOPEN''@|0|g' \
      -e 's|@''REPLACE_FSEEK''@|1|g' \
      -e 's|@''REPLACE_FSEEKO''@|1|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 stddef.h-t stddef.h
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_STDLIB_H''@|<stdlib.h>|g' \
      -e 's/@''GNULIB__EXIT''@/0/g' \
      -e 's/@''GNULIB_ALIGNED_ALLOC''@/0/g' \
      -e 's/@''GNULIB_ATOLL''@/0/g' \
      -e 's/@''GNULIB_CALLOC_GNU''@/1/g' \
      -e 's/@''GNULIB_CALLOC_POSIX''@/1/g' \
      -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/1/g' \
      -e 's/@''GNULIB_FREE_POSIX''@/1/g' \
      -e 's/@''GNULIB_GETLOADAVG''@/0/g' \
      -e 's/@''GNULIB_GETPROGNAME''@/1/g' \
      -e 's/@''GNULIB_GETSUBOPT''@/0/g' \
      -e 's/@''GNULIB_GRANTPT''@/0/g' \
      -e 's/@''GNULIB_MALLOC_GNU''@/1/g' \
      -e 's/@''GNULIB_MALLOC_POSIX''@/1/g' \
      -e 's/@''GNULIB_MBSTOWCS''@/0/g' \
      -e 's/@''GNULIB_MBTOWC''@/1/g' \
      -e 's/@''GNULIB_MKDTEMP''@/1/g' \
      -e 's/@''GNULIB_MKOSTEMP''@/0/g' \
      -e 's/@''GNULIB_MKOSTEMPS''@/0/g' \
      -e 's/@''GNULIB_MKSTEMP''@/0/g' \
      -e 's/@''GNULIB_MKSTEMPS''@/0/g' \
      -e 's/@''GNULIB_POSIX_MEMALIGN''@/0/g' \
      -e 's/@''GNULIB_POSIX_OPENPT''@/0/g' \
      -e 's/@''GNULIB_PTSNAME''@/0/g' \
      -e 's/@''GNULIB_PTSNAME_R''@/0/g' \
      -e 's/@''GNULIB_PUTENV''@/0/g' \
      -e 's/@''GNULIB_QSORT_R''@/0/g' \
      -e 's/@''GNULIB_RANDOM''@/0/g' \
      -e 's/@''GNULIB_RANDOM_R''@/0/g' \
      -e 's/@''GNULIB_REALLOC_GNU''@/1/g' \
      -e 's/@''GNULIB_REALLOC_POSIX''@/1/g' \
      -e 's/@''GNULIB_REALLOCARRAY''@/1/g' \
      -e 's/@''GNULIB_REALPATH''@/1/g' \
      -e 's/@''GNULIB_RPMATCH''@/1/g' \
      -e 's/@''GNULIB_SECURE_GETENV''@/0/g' \
      -e 's/@''GNULIB_SETENV''@/1/g' \
      -e 's/@''GNULIB_STRTOD''@/0/g' \
      -e 's/@''GNULIB_STRTOL''@/1/g' \
      -e 's/@''GNULIB_STRTOLD''@/0/g' \
      -e 's/@''GNULIB_STRTOLL''@/1/g' \
      -e 's/@''GNULIB_STRTOUL''@/1/g' \
      -e 's/@''GNULIB_STRTOULL''@/1/g' \
      -e 's/@''GNULIB_SYSTEM_POSIX''@/0/g' \
      -e 's/@''GNULIB_UNLOCKPT''@/0/g' \
      -e 's/@''GNULIB_UNSETENV''@/1/g' \
      -e 's/@''GNULIB_WCTOMB''@/0/g' \
      -e 's/@''GNULIB_MDA_ECVT''@/1/g' \
      -e 's/@''GNULIB_MDA_FCVT''@/1/g' \
      -e 's/@''GNULIB_MDA_GCVT''@/1/g' \
      -e 's/@''GNULIB_MDA_MKTEMP''@/1/g' \
      -e 's/@''GNULIB_MDA_PUTENV''@/1/g' \
      < ./stdlib.in.h | \
  sed -e 's|@''HAVE__EXIT''@|1|g' \
      -e 's|@''HAVE_ALIGNED_ALLOC''@|1|g' \
      -e 's|@''HAVE_ATOLL''@|1|g' \
      -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|1|g' \
      -e 's|@''HAVE_DECL_ECVT''@|1|g' \
      -e 's|@''HAVE_DECL_FCVT''@|1|g' \
      -e 's|@''HAVE_DECL_GCVT''@|1|g' \
      -e 's|@''HAVE_DECL_GETLOADAVG''@|1|g' \
      -e 's|@''HAVE_DECL_PROGRAM_INVOCATION_NAME''@|1|g' \
      -e 's|@''HAVE_GETPROGNAME''@|0|g' \
      -e 's|@''HAVE_GETSUBOPT''@|1|g' \
      -e 's|@''HAVE_GRANTPT''@|1|g' \
      -e 's|@''HAVE_INITSTATE''@|1|g' \
      -e 's|@''HAVE_DECL_INITSTATE''@|1|g' \
      -e 's|@''HAVE_MBTOWC''@|1|g' \
      -e 's|@''HAVE_MKDTEMP''@|1|g' \
      -e 's|@''HAVE_MKOSTEMP''@|1|g' \
      -e 's|@''HAVE_MKOSTEMPS''@|1|g' \
      -e 's|@''HAVE_MKSTEMP''@|1|g' \
      -e 's|@''HAVE_MKSTEMPS''@|1|g' \
      -e 's|@''HAVE_POSIX_MEMALIGN''@|1|g' \
      -e 's|@''HAVE_POSIX_OPENPT''@|1|g' \
      -e 's|@''HAVE_PTSNAME''@|1|g' \
      -e 's|@''HAVE_PTSNAME_R''@|1|g' \
      -e 's|@''HAVE_QSORT_R''@|1|g' \
      -e 's|@''HAVE_RANDOM''@|1|g' \
      -e 's|@''HAVE_RANDOM_H''@|1|g' \
      -e 's|@''HAVE_RANDOM_R''@|1|g' \
      -e 's|@''HAVE_REALLOCARRAY''@|1|g' \
      -e 's|@''HAVE_REALPATH''@|1|g' \
      -e 's|@''HAVE_RPMATCH''@|1|g' \
      -e 's|@''HAVE_SECURE_GETENV''@|1|g' \
      -e 's|@''HAVE_DECL_SETENV''@|1|g' \
      -e 's|@''HAVE_SETSTATE''@|1|g' \
      -e 's|@''HAVE_DECL_SETSTATE''@|1|g' \
      -e 's|@''HAVE_STRTOD''@|1|g' \
      -e 's|@''HAVE_STRTOL''@|1|g' \
      -e 's|@''HAVE_STRTOLD''@|1|g' \
      -e 's|@''HAVE_STRTOLL''@|1|g' \
      -e 's|@''HAVE_STRTOUL''@|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__EXIT''@|0|g' \
      -e 's|@''REPLACE_ALIGNED_ALLOC''@|0|g' \
      -e 's|@''REPLACE_CALLOC_FOR_CALLOC_GNU''@|0|g' \
      -e 's|@''REPLACE_CALLOC_FOR_CALLOC_POSIX''@|0|g' \
      -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|0|g' \
      -e 's|@''REPLACE_FREE''@|0|g' \
      -e 's|@''REPLACE_GETLOADAVG''@|0|g' \
      -e 's|@''REPLACE_GETPROGNAME''@|0|g' \
      -e 's|@''REPLACE_GETSUBOPT''@|0|g' \
      -e 's|@''REPLACE_INITSTATE''@|0|g' \
      -e 's|@''REPLACE_MALLOC_FOR_MALLOC_GNU''@|0|g' \
      -e 's|@''REPLACE_MALLOC_FOR_MALLOC_POSIX''@|0|g' \
      -e 's|@''REPLACE_MB_CUR_MAX''@|0|g' \
      -e 's|@''REPLACE_MBSTOWCS''@|0|g' \
      -e 's|@''REPLACE_MBTOWC''@|0|g' \
      -e 's|@''REPLACE_MKOSTEMP''@|0|g' \
      -e 's|@''REPLACE_MKOSTEMPS''@|0|g' \
      -e 's|@''REPLACE_MKSTEMP''@|0|g' \
      -e 's|@''REPLACE_POSIX_MEMALIGN''@|0|g' \
      -e 's|@''REPLACE_POSIX_OPENPT''@|0|g' \
      -e 's|@''REPLACE_PTSNAME''@|0|g' \
      -e 's|@''REPLACE_PTSNAME_R''@|0|g' \
      -e 's|@''REPLACE_PUTENV''@|0|g' \
      -e 's|@''REPLACE_QSORT_R''@|0|g' \
      -e 's|@''REPLACE_RANDOM''@|0|g' \
      -e 's|@''REPLACE_RANDOM_R''@|0|g' \
      -e 's|@''REPLACE_REALLOC_FOR_REALLOC_GNU''@|0|g' \
      -e 's|@''REPLACE_REALLOC_FOR_REALLOC_POSIX''@|0|g' \
      -e 's|@''REPLACE_REALLOCARRAY''@|0|g' \
      -e 's|@''REPLACE_REALPATH''@|0|g' \
      -e 's|@''REPLACE_SETENV''@|0|g' \
      -e 's|@''REPLACE_SETSTATE''@|0|g' \
      -e 's|@''REPLACE_STRTOD''@|0|g' \
      -e 's|@''REPLACE_STRTOL''@|1|g' \
      -e 's|@''REPLACE_STRTOLD''@|0|g' \
      -e 's|@''REPLACE_STRTOLL''@|1|g' \
      -e 's|@''REPLACE_STRTOUL''@|1|g' \
      -e 's|@''REPLACE_STRTOULL''@|1|g' \
      -e 's|@''REPLACE_UNSETENV''@|0|g' \
      -e 's|@''REPLACE_WCTOMB''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _Noreturn/r ./_Noreturn.h' \
      -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \
      > stdlib.h-t
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_STRING_H''@|<string.h>|g' \
      -e 's/@''GNULIB_EXPLICIT_BZERO''@/0/g' \
      -e 's/@''GNULIB_FFSL''@/0/g' \
      -e 's/@''GNULIB_FFSLL''@/0/g' \
      -e 's/@''GNULIB_MBSLEN''@/0/g' \
      -e 's/@''GNULIB_MBSNLEN''@/0/g' \
      -e 's/@''GNULIB_MBSCHR''@/0/g' \
      -e 's/@''GNULIB_MBSRCHR''@/0/g' \
      -e 's/@''GNULIB_MBSSTR''@/0/g' \
      -e 's/@''GNULIB_MBSCASECMP''@/1/g' \
      -e 's/@''GNULIB_MBSNCASECMP''@/0/g' \
      -e 's/@''GNULIB_MBSPCASECMP''@/0/g' \
      -e 's/@''GNULIB_MBSCASESTR''@/0/g' \
      -e 's/@''GNULIB_MBSCSPN''@/0/g' \
      -e 's/@''GNULIB_MBSPBRK''@/0/g' \
      -e 's/@''GNULIB_MBSSPN''@/0/g' \
      -e 's/@''GNULIB_MBSSEP''@/0/g' \
      -e 's/@''GNULIB_MBSTOK_R''@/0/g' \
      -e 's/@''GNULIB_MEMCHR''@/1/g' \
      -e 's/@''GNULIB_MEMMEM''@/0/g' \
      -e 's/@''GNULIB_MEMPCPY''@/1/g' \
      -e 's/@''GNULIB_MEMRCHR''@/1/g' \
      -e 's/@''GNULIB_MEMSET_EXPLICIT''@/0/g' \
      -e 's/@''GNULIB_RAWMEMCHR''@/1/g' \
      -e 's/@''GNULIB_STPCPY''@/1/g' \
      -e 's/@''GNULIB_STPNCPY''@/0/g' \
      -e 's/@''GNULIB_STRCHRNUL''@/1/g' \
      -e 's/@''GNULIB_STRDUP''@/1/g' \
      -e 's/@''GNULIB_STRNCAT''@/0/g' \
      -e 's/@''GNULIB_STRNDUP''@/1/g' \
      -e 's/@''GNULIB_STRNLEN''@/1/g' \
      -e 's/@''GNULIB_STRPBRK''@/0/g' \
      -e 's/@''GNULIB_STRSEP''@/0/g' \
      -e 's/@''GNULIB_STRSTR''@/0/g' \
      -e 's/@''GNULIB_STRCASESTR''@/0/g' \
      -e 's/@''GNULIB_STRTOK_R''@/0/g' \
      -e 's/@''GNULIB_STRERROR''@/1/g' \
      -e 's/@''GNULIB_STRERROR_R''@/0/g' \
      -e 's/@''GNULIB_STRERRORNAME_NP''@/0/g' \
      -e 's/@''GNULIB_SIGABBREV_NP''@/0/g' \
      -e 's/@''GNULIB_SIGDESCR_NP''@/0/g' \
      -e 's/@''GNULIB_STRSIGNAL''@/0/g' \
      -e 's/@''GNULIB_STRVERSCMP''@/0/g' \
      -e 's/@''GNULIB_MDA_MEMCCPY''@/1/g' \
      -e 's/@''GNULIB_MDA_STRDUP''@/1/g' \
      -e 's/@''GNULIB_FREE_POSIX''@/1/g' \
      < ./string.in.h | \
  sed -e 's|@''HAVE_EXPLICIT_BZERO''@|1|g' \
      -e 's|@''HAVE_FFSL''@|1|g' \
      -e 's|@''HAVE_FFSLL''@|1|g' \
      -e 's|@''HAVE_MBSLEN''@|0|g' \
      -e 's|@''HAVE_DECL_MEMMEM''@|1|g' \
      -e 's|@''HAVE_MEMPCPY''@|1|g' \
      -e 's|@''HAVE_DECL_MEMRCHR''@|1|g' \
      -e 's|@''HAVE_MEMSET_EXPLICIT''@|1|g' \
      -e 's|@''HAVE_RAWMEMCHR''@|1|g' \
      -e 's|@''HAVE_STPCPY''@|1|g' \
      -e 's|@''HAVE_STPNCPY''@|1|g' \
      -e 's|@''HAVE_STRCHRNUL''@|1|g' \
      -e 's|@''HAVE_DECL_STRDUP''@|1|g' \
      -e 's|@''HAVE_DECL_STRNDUP''@|1|g' \
      -e 's|@''HAVE_DECL_STRNLEN''@|1|g' \
      -e 's|@''HAVE_STRPBRK''@|1|g' \
      -e 's|@''HAVE_STRSEP''@|1|g' \
      -e 's|@''HAVE_STRCASESTR''@|1|g' \
      -e 's|@''HAVE_DECL_STRTOK_R''@|1|g' \
      -e 's|@''HAVE_DECL_STRERROR_R''@|1|g' \
      -e 's|@''HAVE_STRERRORNAME_NP''@|1|g' \
      -e 's|@''HAVE_SIGABBREV_NP''@|1|g' \
      -e 's|@''HAVE_SIGDESCR_NP''@|1|g' \
      -e 's|@''HAVE_DECL_STRSIGNAL''@|1|g' \
      -e 's|@''HAVE_STRVERSCMP''@|1|g' \
      -e 's|@''REPLACE_FFSLL''@|0|g' \
      -e 's|@''REPLACE_MEMCHR''@|0|g' \
      -e 's|@''REPLACE_MEMMEM''@|0|g' \
      -e 's|@''REPLACE_MEMPCPY''@|0|g' \
      -e 's|@''REPLACE_FREE''@|0|g' \
      -e 's|@''REPLACE_STPCPY''@|0|g' \
      -e 's|@''REPLACE_STPNCPY''@|0|g' \
      -e 's|@''REPLACE_STRCHRNUL''@|0|g' \
      -e 's|@''REPLACE_STRDUP''@|0|g' \
      -e 's|@''REPLACE_STRNCAT''@|0|g' \
      -e 's|@''REPLACE_STRNDUP''@|0|g' \
      -e 's|@''REPLACE_STRNLEN''@|0|g' \
      -e 's|@''REPLACE_STRSTR''@|0|g' \
      -e 's|@''REPLACE_STRCASESTR''@|0|g' \
      -e 's|@''REPLACE_STRTOK_R''@|0|g' \
      -e 's|@''REPLACE_STRERROR''@|0|g' \
      -e 's|@''REPLACE_STRERROR_R''@|0|g' \
      -e 's|@''REPLACE_STRERRORNAME_NP''@|0|g' \
      -e 's|@''REPLACE_STRSIGNAL''@|0|g' \
      -e 's|@''UNDEFINE_STRTOK_R''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \
      > string.h-t
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -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
mv stdio.h-t stdio.h
mv string.h-t string.h
/usr/bin/mkdir -p 'sys'
/usr/bin/mkdir -p 'sys'
/usr/bin/mkdir -p 'sys'
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_SYS_RANDOM_H''@|<sys/random.h>|g' \
      -e 's|@''HAVE_SYS_RANDOM_H''@|1|g' \
      -e 's/@''GNULIB_GETRANDOM''@/1/g' \
      -e 's/@''HAVE_GETRANDOM''@/1/g' \
      -e 's/@''REPLACE_GETRANDOM''@/0/g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \
      ./sys_random.in.h > sys/random.h-t
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_SYS_STAT_H''@|<sys/stat.h>|g' \
      -e 's|@''WINDOWS_64_BIT_ST_SIZE''@|0|g' \
      -e 's|@''WINDOWS_STAT_TIMESPEC''@|0|g' \
      -e 's/@''GNULIB_CHMOD''@/1/g' \
      -e 's/@''GNULIB_FCHMODAT''@/1/g' \
      -e 's/@''GNULIB_FSTAT''@/1/g' \
      -e 's/@''GNULIB_FSTATAT''@/1/g' \
      -e 's/@''GNULIB_FUTIMENS''@/1/g' \
      -e 's/@''GNULIB_GETUMASK''@/0/g' \
      -e 's/@''GNULIB_LCHMOD''@/1/g' \
      -e 's/@''GNULIB_LSTAT''@/1/g' \
      -e 's/@''GNULIB_MKDIR''@/1/g' \
      -e 's/@''GNULIB_MKDIRAT''@/1/g' \
      -e 's/@''GNULIB_MKFIFO''@/1/g' \
      -e 's/@''GNULIB_MKFIFOAT''@/1/g' \
      -e 's/@''GNULIB_MKNOD''@/1/g' \
      -e 's/@''GNULIB_MKNODAT''@/1/g' \
      -e 's/@''GNULIB_STAT''@/1/g' \
      -e 's/@''GNULIB_UTIMENSAT''@/1/g' \
      -e 's/@''GNULIB_OVERRIDES_STRUCT_STAT''@/0/g' \
      -e 's/@''GNULIB_MDA_CHMOD''@/1/g' \
      -e 's/@''GNULIB_MDA_MKDIR''@/1/g' \
      -e 's/@''GNULIB_MDA_UMASK''@/1/g' \
      -e 's|@''HAVE_FCHMODAT''@|1|g' \
      -e 's|@''HAVE_FSTATAT''@|1|g' \
      -e 's|@''HAVE_FUTIMENS''@|1|g' \
      -e 's|@''HAVE_GETUMASK''@|1|g' \
      -e 's|@''HAVE_LCHMOD''@|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_CHMOD''@|0|g' \
      -e 's|@''REPLACE_FCHMODAT''@|0|g' \
      -e 's|@''REPLACE_FSTAT''@|0|g' \
      -e 's|@''REPLACE_FSTATAT''@|0|g' \
      -e 's|@''REPLACE_FUTIMENS''@|0|g' \
      -e 's|@''REPLACE_LSTAT''@|0|g' \
      -e 's|@''REPLACE_MKDIR''@|0|g' \
      -e 's|@''REPLACE_MKFIFO''@|0|g' \
      -e 's|@''REPLACE_MKFIFOAT''@|0|g' \
      -e 's|@''REPLACE_MKNOD''@|0|g' \
      -e 's|@''REPLACE_MKNODAT''@|0|g' \
      -e 's|@''REPLACE_STAT''@|0|g' \
      -e 's|@''REPLACE_UTIMENSAT''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \
      ./sys_stat.in.h > sys/stat.h-t
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -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 stdlib.h-t stdlib.h
mv sys/random.h-t sys/random.h
/usr/bin/mkdir -p 'sys'
mv sys/time.h-t sys/time.h
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_TIME_H''@|<time.h>|g' \
      -e 's/@''GNULIB_CTIME''@/0/g' \
      -e 's/@''GNULIB_LOCALTIME''@/0/g' \
      -e 's/@''GNULIB_MKTIME''@/1/g' \
      -e 's/@''GNULIB_NANOSLEEP''@/0/g' \
      -e 's/@''GNULIB_STRFTIME''@/0/g' \
      -e 's/@''GNULIB_STRPTIME''@/0/g' \
      -e 's/@''GNULIB_TIME''@/0/g' \
      -e 's/@''GNULIB_TIMEGM''@/1/g' \
      -e 's/@''GNULIB_TIMESPEC_GET''@/0/g' \
      -e 's/@''GNULIB_TIMESPEC_GETRES''@/0/g' \
      -e 's/@''GNULIB_TIME_R''@/1/g' \
      -e 's/@''GNULIB_TIME_RZ''@/1/g' \
      -e 's/@''GNULIB_TZSET''@/1/g' \
      -e 's/@''GNULIB_MDA_TZSET''@/1/g' \
      -e 's|@''HAVE_DECL_LOCALTIME_R''@|1|g' \
      -e 's|@''HAVE_NANOSLEEP''@|1|g' \
      -e 's|@''HAVE_STRPTIME''@|1|g' \
      -e 's|@''HAVE_TIMEGM''@|1|g' \
      -e 's|@''HAVE_TIMESPEC_GET''@|1|g' \
      -e 's|@''HAVE_TIMESPEC_GETRES''@|1|g' \
      -e 's|@''HAVE_TIMEZONE_T''@|0|g' \
      -e 's|@''REPLACE_CTIME''@|GNULIB_PORTCHECK|g' \
      -e 's|@''REPLACE_GMTIME''@|0|g' \
      -e 's|@''REPLACE_LOCALTIME''@|0|g' \
      -e 's|@''REPLACE_LOCALTIME_R''@|0|g' \
      -e 's|@''REPLACE_MKTIME''@|0|g' \
      -e 's|@''REPLACE_NANOSLEEP''@|GNULIB_PORTCHECK|g' \
      -e 's|@''REPLACE_STRFTIME''@|GNULIB_PORTCHECK|g' \
      -e 's|@''REPLACE_TIME''@|0|g' \
      -e 's|@''REPLACE_TIMEGM''@|0|g' \
      -e 's|@''REPLACE_TIMESPEC_GET''@|GNULIB_PORTCHECK|g' \
      -e 's|@''REPLACE_TZSET''@|0|g' \
      -e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|0|g' \
      -e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|0|g' \
      -e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|1|g' \
      -e 's|@''UNISTD_H_DEFINES_STRUCT_TIMESPEC''@|0|g' \
      -e 's|@''TIME_H_DEFINES_TIME_UTC''@|1|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \
      ./time.in.h > time.h-t
mv sys/stat.h-t sys/stat.h
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's/@''HAVE_UCHAR_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_UCHAR_H''@|<uchar.h>|g' \
      -e 's|@''CXX_HAS_CHAR8_TYPE''@|0|g' \
      -e 's|@''CXX_HAS_UCHAR_TYPES''@|0|g' \
      -e 's|@''SMALL_WCHAR_T''@|0|g' \
      -e 's|@''GNULIBHEADERS_OVERRIDE_CHAR8_T''@|0|g' \
      -e 's|@''GNULIBHEADERS_OVERRIDE_CHAR16_T''@|0|g' \
      -e 's|@''GNULIBHEADERS_OVERRIDE_CHAR32_T''@|0|g' \
      -e 's/@''GNULIB_BTOC32''@/0/g' \
      -e 's/@''GNULIB_C32ISALNUM''@/1/g' \
      -e 's/@''GNULIB_C32ISALPHA''@/1/g' \
      -e 's/@''GNULIB_C32ISBLANK''@/1/g' \
      -e 's/@''GNULIB_C32ISCNTRL''@/1/g' \
      -e 's/@''GNULIB_C32ISDIGIT''@/1/g' \
      -e 's/@''GNULIB_C32ISGRAPH''@/1/g' \
      -e 's/@''GNULIB_C32ISLOWER''@/1/g' \
      -e 's/@''GNULIB_C32ISPRINT''@/1/g' \
      -e 's/@''GNULIB_C32ISPUNCT''@/1/g' \
      -e 's/@''GNULIB_C32ISSPACE''@/1/g' \
      -e 's/@''GNULIB_C32ISUPPER''@/1/g' \
      -e 's/@''GNULIB_C32ISXDIGIT''@/1/g' \
      -e 's/@''GNULIB_C32TOLOWER''@/1/g' \
      -e 's/@''GNULIB_C32TOUPPER''@/0/g' \
      -e 's/@''GNULIB_C32WIDTH''@/1/g' \
      -e 's/@''GNULIB_C32RTOMB''@/0/g' \
      -e 's/@''GNULIB_C32SNRTOMBS''@/0/g' \
      -e 's/@''GNULIB_C32SRTOMBS''@/0/g' \
      -e 's/@''GNULIB_C32STOMBS''@/0/g' \
      -e 's/@''GNULIB_C32SWIDTH''@/0/g' \
      -e 's/@''GNULIB_C32TOB''@/0/g' \
      -e 's/@''GNULIB_MBRTOC16''@/0/g' \
      -e 's/@''GNULIB_MBRTOC32''@/1/g' \
      -e 's/@''GNULIB_MBSNRTOC32S''@/0/g' \
      -e 's/@''GNULIB_MBSRTOC32S''@/0/g' \
      -e 's/@''GNULIB_MBSTOC32S''@/0/g' \
      -e 's|@''HAVE_C32RTOMB''@|1|g' \
      -e 's|@''HAVE_MBRTOC16''@|1|g' \
      -e 's|@''HAVE_MBRTOC32''@|1|g' \
      -e 's|@''REPLACE_C32RTOMB''@|0|g' \
      -e 's|@''REPLACE_MBRTOC16''@|0|g' \
      -e 's|@''REPLACE_MBRTOC32''@|1|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      ./uchar.in.h > uchar.h-t
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_SYS_TYPES_H''@|<sys/types.h>|g' \
      -e 's|@''WINDOWS_64_BIT_OFF_T''@|0|g' \
      -e 's|@''WINDOWS_STAT_INODES''@|0|g' \
      ./sys_types.in.h > sys/types.h-t
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -e 's|@''HAVE_UNISTRING_WOE32DLL_H''@|0|g' \
      -e 's/@''GNULIB_UNICASE_EMPTY_PREFIX_CONTEXT_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICASE_EMPTY_SUFFIX_CONTEXT_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      ./unicase.in.h > unicase.h-t
mv sys/types.h-t sys/types.h
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -e 's|@''HAVE_UNISTRING_WOE32DLL_H''@|0|g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_L_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_LC_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_LU_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_LL_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_LT_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_LM_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_LO_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_M_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_MN_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_MC_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_ME_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_N_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_ND_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_NL_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_NO_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_P_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_PC_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_PD_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_PS_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_PE_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_PI_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_PF_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_PO_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_S_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_SM_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_SC_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_SK_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_SO_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_Z_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_ZS_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_ZL_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_ZP_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_C_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_CC_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_CF_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_CS_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_CO_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_CATEGORY_CN_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_WHITE_SPACE_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_ALPHABETIC_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_OTHER_ALPHABETIC_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_NOT_A_CHARACTER_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_DEPRECATED_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_VARIATION_SELECTOR_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_PRIVATE_USE_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_UPPERCASE_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_OTHER_UPPERCASE_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_LOWERCASE_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_OTHER_LOWERCASE_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_TITLECASE_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_CASED_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_CASE_IGNORABLE_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_LOWERCASED_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_UPPERCASED_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_TITLECASED_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEFOLDED_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_CHANGES_WHEN_CASEMAPPED_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_SOFT_DOTTED_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      < ./unictype.in.h | \
  sed -e 's/@''GNULIB_UNICTYPE_PROPERTY_ID_START_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_OTHER_ID_START_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_ID_CONTINUE_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_XID_START_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_XID_CONTINUE_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_PATTERN_SYNTAX_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_JOIN_CONTROL_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_GRAPHEME_BASE_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_GRAPHEME_EXTEND_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_GRAPHEME_LINK_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_CONTROL_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_WHITESPACE_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_PDF_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_HEX_DIGIT_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_IDEOGRAPHIC_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_RADICAL_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_EMOJI_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_EMOJI_PRESENTATION_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_EMOJI_MODIFIER_BASE_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_EMOJI_COMPONENT_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_EXTENDED_PICTOGRAPHIC_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_ZERO_WIDTH_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_SPACE_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_NON_BREAK_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_ISO_CONTROL_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_FORMAT_CONTROL_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_DASH_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_HYPHEN_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_PUNCTUATION_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_LINE_SEPARATOR_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_QUOTATION_MARK_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_SENTENCE_TERMINAL_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_CURRENCY_SYMBOL_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_MATH_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_OTHER_MATH_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_LEFT_OF_PAIR_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_COMBINING_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_COMPOSITE_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_DECIMAL_DIGIT_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_NUMERIC_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_DIACRITIC_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_EXTENDER_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_IGNORABLE_CONTROL_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNICTYPE_PROPERTY_REGIONAL_INDICATOR_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      > unictype.h-t
mv unicase.h-t unicase.h
mv uchar.h-t uchar.h
mv time.h-t time.h
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -e 's|@''HAVE_UNISTRING_WOE32DLL_H''@|0|g' \
      -e 's/@''GNULIB_UNINORM_NFD_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNINORM_NFC_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNINORM_NFKD_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      -e 's/@''GNULIB_UNINORM_NFKC_DLL_VARIABLE''@/LIBUNISTRING_DLL_VARIABLE/g' \
      ./uninorm.in.h > uninorm.h-t
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''HAVE_UNISTD_H''@|1|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_UNISTD_H''@|<unistd.h>|g' \
      -e 's|@''WINDOWS_64_BIT_OFF_T''@|0|g' \
      -e 's/@''GNULIB_ACCESS''@/0/g' \
      -e 's/@''GNULIB_CHDIR''@/1/g' \
      -e 's/@''GNULIB_CHOWN''@/1/g' \
      -e 's/@''GNULIB_CLOSE''@/1/g' \
      -e 's/@''GNULIB_COPY_FILE_RANGE''@/0/g' \
      -e 's/@''GNULIB_DUP''@/1/g' \
      -e 's/@''GNULIB_DUP2''@/1/g' \
      -e 's/@''GNULIB_DUP3''@/0/g' \
      -e 's/@''GNULIB_ENVIRON''@/1/g' \
      -e 's/@''GNULIB_EUIDACCESS''@/1/g' \
      -e 's/@''GNULIB_EXECL''@/0/g' \
      -e 's/@''GNULIB_EXECLE''@/0/g' \
      -e 's/@''GNULIB_EXECLP''@/0/g' \
      -e 's/@''GNULIB_EXECV''@/0/g' \
      -e 's/@''GNULIB_EXECVE''@/0/g' \
      -e 's/@''GNULIB_EXECVP''@/0/g' \
      -e 's/@''GNULIB_EXECVPE''@/0/g' \
      -e 's/@''GNULIB_FACCESSAT''@/1/g' \
      -e 's/@''GNULIB_FCHDIR''@/1/g' \
      -e 's/@''GNULIB_FCHOWNAT''@/1/g' \
      -e 's/@''GNULIB_FDATASYNC''@/0/g' \
      -e 's/@''GNULIB_FSYNC''@/0/g' \
      -e 's/@''GNULIB_FTRUNCATE''@/0/g' \
      -e 's/@''GNULIB_GETCWD''@/1/g' \
      -e 's/@''GNULIB_GETDOMAINNAME''@/0/g' \
      -e 's/@''GNULIB_GETDTABLESIZE''@/1/g' \
      -e 's/@''GNULIB_GETENTROPY''@/0/g' \
      -e 's/@''GNULIB_GETGROUPS''@/1/g' \
      -e 's/@''GNULIB_GETHOSTNAME''@/0/g' \
      -e 's/@''GNULIB_GETLOGIN''@/0/g' \
      -e 's/@''GNULIB_GETLOGIN_R''@/0/g' \
      -e 's/@''GNULIB_GETOPT_POSIX''@/1/g' \
      -e 's/@''GNULIB_GETPAGESIZE''@/1/g' \
      -e 's/@''GNULIB_GETPASS''@/0/g' \
      -e 's/@''GNULIB_GETPASS_GNU''@/0/g' \
      -e 's/@''GNULIB_GETUSERSHELL''@/0/g' \
      -e 's/@''GNULIB_GROUP_MEMBER''@/1/g' \
      -e 's/@''GNULIB_ISATTY''@/0/g' \
      -e 's/@''GNULIB_LCHOWN''@/1/g' \
      -e 's/@''GNULIB_LINK''@/1/g' \
      -e 's/@''GNULIB_LINKAT''@/1/g' \
      -e 's/@''GNULIB_LSEEK''@/1/g' \
      -e 's/@''GNULIB_PIPE''@/1/g' \
      -e 's/@''GNULIB_PIPE2''@/0/g' \
      -e 's/@''GNULIB_PREAD''@/0/g' \
      -e 's/@''GNULIB_PWRITE''@/0/g' \
      -e 's/@''GNULIB_READ''@/1/g' \
      -e 's/@''GNULIB_READLINK''@/1/g' \
      -e 's/@''GNULIB_READLINKAT''@/1/g' \
      -e 's/@''GNULIB_RMDIR''@/1/g' \
      -e 's/@''GNULIB_SETHOSTNAME''@/0/g' \
      -e 's/@''GNULIB_SLEEP''@/1/g' \
      -e 's/@''GNULIB_SYMLINK''@/1/g' \
      -e 's/@''GNULIB_SYMLINKAT''@/1/g' \
      -e 's/@''GNULIB_TRUNCATE''@/0/g' \
      -e 's/@''GNULIB_TTYNAME_R''@/0/g' \
      -e 's/@''GNULIB_UNISTD_H_GETOPT''@/01/g' \
      -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/0/g' \
      -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/0/g' \
      -e 's/@''GNULIB_UNLINK''@/1/g' \
      -e 's/@''GNULIB_UNLINKAT''@/1/g' \
      -e 's/@''GNULIB_USLEEP''@/0/g' \
      -e 's/@''GNULIB_WRITE''@/1/g' \
      -e 's/@''GNULIB_MDA_ACCESS''@/1/g' \
      -e 's/@''GNULIB_MDA_CHDIR''@/1/g' \
      -e 's/@''GNULIB_MDA_CLOSE''@/1/g' \
      -e 's/@''GNULIB_MDA_DUP''@/1/g' \
      -e 's/@''GNULIB_MDA_DUP2''@/1/g' \
      -e 's/@''GNULIB_MDA_EXECL''@/1/g' \
      -e 's/@''GNULIB_MDA_EXECLE''@/1/g' \
      -e 's/@''GNULIB_MDA_EXECLP''@/1/g' \
      -e 's/@''GNULIB_MDA_EXECV''@/1/g' \
      -e 's/@''GNULIB_MDA_EXECVE''@/1/g' \
      -e 's/@''GNULIB_MDA_EXECVP''@/1/g' \
      -e 's/@''GNULIB_MDA_EXECVPE''@/1/g' \
      -e 's/@''GNULIB_MDA_GETCWD''@/1/g' \
      -e 's/@''GNULIB_MDA_GETPID''@/1/g' \
      -e 's/@''GNULIB_MDA_ISATTY''@/1/g' \
      -e 's/@''GNULIB_MDA_LSEEK''@/1/g' \
      -e 's/@''GNULIB_MDA_READ''@/1/g' \
      -e 's/@''GNULIB_MDA_RMDIR''@/1/g' \
      -e 's/@''GNULIB_MDA_SWAB''@/1/g' \
      -e 's/@''GNULIB_MDA_UNLINK''@/1/g' \
      -e 's/@''GNULIB_MDA_WRITE''@/1/g' \
      < ./unistd.in.h | \
  sed -e 's|@''HAVE_CHOWN''@|1|g' \
      -e 's|@''HAVE_COPY_FILE_RANGE''@|1|g' \
      -e 's|@''HAVE_DUP3''@|1|g' \
      -e 's|@''HAVE_EUIDACCESS''@|1|g' \
      -e 's|@''HAVE_EXECVPE''@|1|g' \
      -e 's|@''HAVE_FACCESSAT''@|1|g' \
      -e 's|@''HAVE_FCHDIR''@|1|g' \
      -e 's|@''HAVE_FCHOWNAT''@|1|g' \
      -e 's|@''HAVE_FDATASYNC''@|1|g' \
      -e 's|@''HAVE_FSYNC''@|1|g' \
      -e 's|@''HAVE_FTRUNCATE''@|1|g' \
      -e 's|@''HAVE_GETDTABLESIZE''@|1|g' \
      -e 's|@''HAVE_GETENTROPY''@|1|g' \
      -e 's|@''HAVE_GETGROUPS''@|1|g' \
      -e 's|@''HAVE_GETHOSTNAME''@|1|g' \
      -e 's|@''HAVE_GETPAGESIZE''@|1|g' \
      -e 's|@''HAVE_GETPASS''@|1|g' \
      -e 's|@''HAVE_GROUP_MEMBER''@|1|g' \
      -e 's|@''HAVE_LCHOWN''@|1|g' \
      -e 's|@''HAVE_LINK''@|1|g' \
      -e 's|@''HAVE_LINKAT''@|1|g' \
      -e 's|@''HAVE_PIPE''@|1|g' \
      -e 's|@''HAVE_PIPE2''@|1|g' \
      -e 's|@''HAVE_PREAD''@|1|g' \
      -e 's|@''HAVE_PWRITE''@|1|g' \
      -e 's|@''HAVE_READLINK''@|1|g' \
      -e 's|@''HAVE_READLINKAT''@|1|g' \
      -e 's|@''HAVE_SETHOSTNAME''@|1|g' \
      -e 's|@''HAVE_SLEEP''@|1|g' \
      -e 's|@''HAVE_SYMLINK''@|1|g' \
      -e 's|@''HAVE_SYMLINKAT''@|1|g' \
      -e 's|@''HAVE_UNLINKAT''@|1|g' \
      -e 's|@''HAVE_USLEEP''@|1|g' \
      -e 's|@''HAVE_DECL_ENVIRON''@|1|g' \
      -e 's|@''HAVE_DECL_EXECVPE''@|1|g' \
      -e 's|@''HAVE_DECL_FCHDIR''@|1|g' \
      -e 's|@''HAVE_DECL_FDATASYNC''@|1|g' \
      -e 's|@''HAVE_DECL_GETDOMAINNAME''@|1|g' \
      -e 's|@''HAVE_DECL_GETLOGIN''@|1|g' \
      -e 's|@''HAVE_DECL_GETLOGIN_R''@|1|g' \
      -e 's|@''HAVE_DECL_GETPAGESIZE''@|1|g' \
      -e 's|@''HAVE_DECL_GETUSERSHELL''@|1|g' \
      -e 's|@''HAVE_DECL_SETHOSTNAME''@|1|g' \
      -e 's|@''HAVE_DECL_TRUNCATE''@|1|g' \
      -e 's|@''HAVE_DECL_TTYNAME_R''@|1|g' \
      -e 's|@''HAVE_OS_H''@|0|g' \
      -e 's|@''HAVE_SYS_PARAM_H''@|0|g' \
  | \
  sed -e 's|@''REPLACE_ACCESS''@|0|g' \
      -e 's|@''REPLACE_CHOWN''@|0|g' \
      -e 's|@''REPLACE_CLOSE''@|0|g' \
      -e 's|@''REPLACE_COPY_FILE_RANGE''@|0|g' \
      -e 's|@''REPLACE_DUP''@|0|g' \
      -e 's|@''REPLACE_DUP2''@|0|g' \
      -e 's|@''REPLACE_DUP3''@|0|g' \
      -e 's|@''REPLACE_EXECL''@|0|g' \
      -e 's|@''REPLACE_EXECLE''@|0|g' \
      -e 's|@''REPLACE_EXECLP''@|0|g' \
      -e 's|@''REPLACE_EXECV''@|0|g' \
      -e 's|@''REPLACE_EXECVE''@|0|g' \
      -e 's|@''REPLACE_EXECVP''@|0|g' \
      -e 's|@''REPLACE_EXECVPE''@|0|g' \
      -e 's|@''REPLACE_FACCESSAT''@|0|g' \
      -e 's|@''REPLACE_FCHOWNAT''@|0|g' \
      -e 's|@''REPLACE_FDATASYNC''@|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_GETENTROPY''@|0|g' \
      -e 's|@''REPLACE_GETLOGIN_R''@|0|g' \
      -e 's|@''REPLACE_GETGROUPS''@|0|g' \
      -e 's|@''REPLACE_GETPAGESIZE''@|0|g' \
      -e 's|@''REPLACE_GETPASS''@|0|g' \
      -e 's|@''REPLACE_GETPASS_FOR_GETPASS_GNU''@|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_PIPE2''@|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_SETHOSTNAME''@|0|g' \
      -e 's|@''REPLACE_SLEEP''@|0|g' \
      -e 's|@''REPLACE_SYMLINK''@|0|g' \
      -e 's|@''REPLACE_SYMLINKAT''@|0|g' \
      -e 's|@''REPLACE_TRUNCATE''@|0|g' \
      -e 's|@''REPLACE_TTYNAME_R''@|0|g' \
      -e 's|@''REPLACE_UNLINK''@|0|g' \
      -e 's|@''REPLACE_UNLINKAT''@|0|g' \
      -e 's|@''REPLACE_USLEEP''@|0|g' \
      -e 's|@''REPLACE_WRITE''@|0|g' \
      -e 's|@''UNISTD_H_HAVE_SYS_RANDOM_H''@|1|g' \
      -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|0|g' \
      -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \
      > unistd.h-t
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G -n -e 'w unitypes.h-t' ./unitypes.in.h
mv uninorm.h-t uninorm.h
mv unitypes.h-t unitypes.h
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G -n -e 'w uniwidth.h-t' ./uniwidth.in.h
mv uniwidth.h-t uniwidth.h
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's/@''HAVE_UTIME_H''@/1/g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_UTIME_H''@|<utime.h>|g' \
      -e 's/@''GNULIB_UTIME''@/1/g' \
      -e 's/@''GNULIB_MDA_UTIME''@/1/g' \
      -e 's|@''HAVE_UTIME''@|1|g' \
      -e 's|@''REPLACE_UTIME''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \
      ./utime.in.h > utime.h-t
mv utime.h-t utime.h
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''HAVE_FEATURES_H''@|1|g' \
      -e 's|@''NEXT_WCHAR_H''@|<wchar.h>|g' \
      -e 's|@''HAVE_WCHAR_H''@|1|g' \
      -e 's/@''HAVE_CRTDEFS_H''@/0/g' \
      -e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/0/g' \
      -e 's/@''GNULIB_BTOWC''@/1/g' \
      -e 's/@''GNULIB_WCTOB''@/0/g' \
      -e 's/@''GNULIB_MBSINIT''@/1/g' \
      -e 's/@''GNULIB_MBRTOWC''@/1/g' \
      -e 's/@''GNULIB_MBRLEN''@/0/g' \
      -e 's/@''GNULIB_MBSRTOWCS''@/1/g' \
      -e 's/@''GNULIB_MBSNRTOWCS''@/0/g' \
      -e 's/@''GNULIB_WCRTOMB''@/1/g' \
      -e 's/@''GNULIB_WCSRTOMBS''@/0/g' \
      -e 's/@''GNULIB_WCSNRTOMBS''@/0/g' \
      -e 's/@''GNULIB_WCWIDTH''@/1/g' \
      -e 's/@''GNULIB_WMEMCHR''@/1/g' \
      -e 's/@''GNULIB_WMEMCMP''@/0/g' \
      -e 's/@''GNULIB_WMEMCPY''@/0/g' \
      -e 's/@''GNULIB_WMEMMOVE''@/0/g' \
      -e 's/@''GNULIB_WMEMPCPY''@/1/g' \
      -e 's/@''GNULIB_WMEMSET''@/0/g' \
      -e 's/@''GNULIB_WCSLEN''@/0/g' \
      -e 's/@''GNULIB_WCSNLEN''@/0/g' \
      -e 's/@''GNULIB_WCSCPY''@/0/g' \
      -e 's/@''GNULIB_WCPCPY''@/0/g' \
      -e 's/@''GNULIB_WCSNCPY''@/0/g' \
      -e 's/@''GNULIB_WCPNCPY''@/0/g' \
      -e 's/@''GNULIB_WCSCAT''@/0/g' \
      -e 's/@''GNULIB_WCSNCAT''@/0/g' \
      -e 's/@''GNULIB_WCSCMP''@/0/g' \
      -e 's/@''GNULIB_WCSNCMP''@/0/g' \
      -e 's/@''GNULIB_WCSCASECMP''@/0/g' \
      -e 's/@''GNULIB_WCSNCASECMP''@/0/g' \
      -e 's/@''GNULIB_WCSCOLL''@/0/g' \
      -e 's/@''GNULIB_WCSXFRM''@/0/g' \
      -e 's/@''GNULIB_WCSDUP''@/0/g' \
      -e 's/@''GNULIB_WCSCHR''@/0/g' \
      -e 's/@''GNULIB_WCSRCHR''@/0/g' \
      -e 's/@''GNULIB_WCSCSPN''@/0/g' \
      -e 's/@''GNULIB_WCSSPN''@/0/g' \
      -e 's/@''GNULIB_WCSPBRK''@/0/g' \
      -e 's/@''GNULIB_WCSSTR''@/0/g' \
      -e 's/@''GNULIB_WCSTOK''@/0/g' \
      -e 's/@''GNULIB_WCSWIDTH''@/0/g' \
      -e 's/@''GNULIB_WCSFTIME''@/0/g' \
      -e 's/@''GNULIB_MDA_WCSDUP''@/1/g' \
      -e 's/@''GNULIB_FREE_POSIX''@/1/g' \
      < ./wchar.in.h | \
  sed -e 's|@''HAVE_WINT_T''@|1|g' \
      -e 's|@''HAVE_BTOWC''@|1|g' \
      -e 's|@''HAVE_MBSINIT''@|1|g' \
      -e 's|@''HAVE_MBRTOWC''@|1|g' \
      -e 's|@''HAVE_MBRLEN''@|1|g' \
      -e 's|@''HAVE_MBSRTOWCS''@|1|g' \
      -e 's|@''HAVE_MBSNRTOWCS''@|1|g' \
      -e 's|@''HAVE_WCRTOMB''@|1|g' \
      -e 's|@''HAVE_WCSRTOMBS''@|1|g' \
      -e 's|@''HAVE_WCSNRTOMBS''@|1|g' \
      -e 's|@''HAVE_WMEMCHR''@|1|g' \
      -e 's|@''HAVE_WMEMCMP''@|1|g' \
      -e 's|@''HAVE_WMEMCPY''@|1|g' \
      -e 's|@''HAVE_WMEMMOVE''@|1|g' \
      -e 's|@''HAVE_WMEMPCPY''@|1|g' \
      -e 's|@''HAVE_WMEMSET''@|1|g' \
      -e 's|@''HAVE_WCSLEN''@|1|g' \
      -e 's|@''HAVE_WCSNLEN''@|1|g' \
      -e 's|@''HAVE_WCSCPY''@|1|g' \
      -e 's|@''HAVE_WCPCPY''@|1|g' \
      -e 's|@''HAVE_WCSNCPY''@|1|g' \
      -e 's|@''HAVE_WCPNCPY''@|1|g' \
      -e 's|@''HAVE_WCSCAT''@|1|g' \
      -e 's|@''HAVE_WCSNCAT''@|1|g' \
      -e 's|@''HAVE_WCSCMP''@|1|g' \
      -e 's|@''HAVE_WCSNCMP''@|1|g' \
      -e 's|@''HAVE_WCSCASECMP''@|1|g' \
      -e 's|@''HAVE_WCSNCASECMP''@|1|g' \
      -e 's|@''HAVE_WCSCOLL''@|1|g' \
      -e 's|@''HAVE_WCSXFRM''@|1|g' \
      -e 's|@''HAVE_WCSDUP''@|1|g' \
      -e 's|@''HAVE_WCSCHR''@|1|g' \
      -e 's|@''HAVE_WCSRCHR''@|1|g' \
      -e 's|@''HAVE_WCSCSPN''@|1|g' \
      -e 's|@''HAVE_WCSSPN''@|1|g' \
      -e 's|@''HAVE_WCSPBRK''@|1|g' \
      -e 's|@''HAVE_WCSSTR''@|1|g' \
      -e 's|@''HAVE_WCSTOK''@|1|g' \
      -e 's|@''HAVE_WCSWIDTH''@|1|g' \
      -e 's|@''HAVE_WCSFTIME''@|1|g' \
      -e 's|@''HAVE_DECL_WCTOB''@|1|g' \
      -e 's|@''HAVE_DECL_WCSDUP''@|1|g' \
      -e 's|@''HAVE_DECL_WCWIDTH''@|1|g' \
  | \
  sed -e 's|@''REPLACE_MBSTATE_T''@|0|g' \
      -e 's|@''REPLACE_BTOWC''@|1|g' \
      -e 's|@''REPLACE_WCTOB''@|0|g' \
      -e 's|@''REPLACE_FREE''@|0|g' \
      -e 's|@''REPLACE_MBSINIT''@|0|g' \
      -e 's|@''REPLACE_MBRTOWC''@|1|g' \
      -e 's|@''REPLACE_MBRLEN''@|0|g' \
      -e 's|@''REPLACE_MBSRTOWCS''@|1|g' \
      -e 's|@''REPLACE_MBSNRTOWCS''@|0|g' \
      -e 's|@''REPLACE_WCRTOMB''@|0|g' \
      -e 's|@''REPLACE_WCSRTOMBS''@|0|g' \
      -e 's|@''REPLACE_WCSNRTOMBS''@|0|g' \
      -e 's|@''REPLACE_WCWIDTH''@|0|g' \
      -e 's|@''REPLACE_WCSWIDTH''@|0|g' \
      -e 's|@''REPLACE_WCSFTIME''@|0|g' \
      -e 's|@''REPLACE_WCSCMP''@|0|g' \
      -e 's|@''REPLACE_WCSNCMP''@|0|g' \
      -e 's|@''REPLACE_WCSSTR''@|0|g' \
      -e 's|@''REPLACE_WCSTOK''@|0|g' \
      -e 's|@''REPLACE_WMEMCMP''@|0|g' \
      -e 's|@''REPLACE_WMEMPCPY''@|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
sed -e 1h -e '1s,.*,/* DO NOT EDIT! GENERATED AUTOMATICALLY! */,' -e 1G \
      -e 's|@''GUARD_PREFIX''@|GL|g' \
      -e 's/@''HAVE_WCTYPE_H''@/1/g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_WCTYPE_H''@|<wctype.h>|g' \
      -e 's/@''HAVE_CRTDEFS_H''@/0/g' \
      -e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/0/g' \
      -e 's/@''GNULIB_ISWBLANK''@/1/g' \
      -e 's/@''GNULIB_ISWDIGIT''@/1/g' \
      -e 's/@''GNULIB_ISWXDIGIT''@/1/g' \
      -e 's/@''GNULIB_WCTYPE''@/0/g' \
      -e 's/@''GNULIB_ISWCTYPE''@/0/g' \
      -e 's/@''GNULIB_WCTRANS''@/0/g' \
      -e 's/@''GNULIB_TOWCTRANS''@/0/g' \
      -e 's/@''HAVE_ISWBLANK''@/1/g' \
      -e 's/@''HAVE_ISWCNTRL''@/1/g' \
      -e 's/@''HAVE_WCTYPE_T''@/1/g' \
      -e 's/@''HAVE_WCTRANS_T''@/1/g' \
      -e 's/@''HAVE_WINT_T''@/1/g' \
      -e 's/@''REPLACE_ISWBLANK''@/0/g' \
      -e 's/@''REPLACE_ISWDIGIT''@/0/g' \
      -e 's/@''REPLACE_ISWXDIGIT''@/0/g' \
      -e 's/@''REPLACE_ISWCNTRL''@/0/g' \
      -e 's/@''REPLACE_TOWLOWER''@/0/g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \
      -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \
      ./wctype.in.h > wctype.h-t
mv unistd.h-t unistd.h
mv unictype.h-t unictype.h
mv wchar.h-t wchar.h
mv wctype.h-t wctype.h
make  all-recursive
make[4]: Entering directory '/<<PKGBUILDDIR>>/gnu'
make[5]: Entering directory '/<<PKGBUILDDIR>>/gnu'
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-acl-errno-valid.o `test -f 'acl-errno-valid.c' || echo './'`acl-errno-valid.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-acl-internal.o `test -f 'acl-internal.c' || echo './'`acl-internal.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-get-permissions.o `test -f 'get-permissions.c' || echo './'`get-permissions.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-set-permissions.o `test -f 'set-permissions.c' || echo './'`set-permissions.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-allocator.o `test -f 'allocator.c' || echo './'`allocator.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-areadlink.o `test -f 'areadlink.c' || echo './'`areadlink.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-areadlink-with-size.o `test -f 'areadlink-with-size.c' || echo './'`areadlink-with-size.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-areadlinkat.o `test -f 'areadlinkat.c' || echo './'`areadlinkat.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-areadlinkat-with-size.o `test -f 'areadlinkat-with-size.c' || echo './'`areadlinkat-with-size.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-argmatch.o `test -f 'argmatch.c' || echo './'`argmatch.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-argp-ba.o `test -f 'argp-ba.c' || echo './'`argp-ba.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-argp-eexst.o `test -f 'argp-eexst.c' || echo './'`argp-eexst.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-argp-fmtstream.o `test -f 'argp-fmtstream.c' || echo './'`argp-fmtstream.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-argp-fs-xinl.o `test -f 'argp-fs-xinl.c' || echo './'`argp-fs-xinl.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-argp-help.o `test -f 'argp-help.c' || echo './'`argp-help.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-argp-parse.o `test -f 'argp-parse.c' || echo './'`argp-parse.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-argp-pin.o `test -f 'argp-pin.c' || echo './'`argp-pin.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-argp-pv.o `test -f 'argp-pv.c' || echo './'`argp-pv.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-argp-pvh.o `test -f 'argp-pvh.c' || echo './'`argp-pvh.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-argp-xinl.o `test -f 'argp-xinl.c' || echo './'`argp-xinl.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-argp-version-etc.o `test -f 'argp-version-etc.c' || echo './'`argp-version-etc.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-openat-proc.o `test -f 'openat-proc.c' || echo './'`openat-proc.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-backupfile.o `test -f 'backupfile.c' || echo './'`backupfile.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-backup-find.o `test -f 'backup-find.c' || echo './'`backup-find.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-basename-lgpl.o `test -f 'basename-lgpl.c' || echo './'`basename-lgpl.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-bitrotate.o `test -f 'bitrotate.c' || echo './'`bitrotate.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-btowc.o `test -f 'btowc.c' || echo './'`btowc.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-c-ctype.o `test -f 'c-ctype.c' || echo './'`c-ctype.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-c-strcasecmp.o `test -f 'c-strcasecmp.c' || echo './'`c-strcasecmp.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-c-strncasecmp.o `test -f 'c-strncasecmp.c' || echo './'`c-strncasecmp.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-c32isalnum.o `test -f 'c32isalnum.c' || echo './'`c32isalnum.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-c32isalpha.o `test -f 'c32isalpha.c' || echo './'`c32isalpha.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-c32isblank.o `test -f 'c32isblank.c' || echo './'`c32isblank.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-c32iscntrl.o `test -f 'c32iscntrl.c' || echo './'`c32iscntrl.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-c32isdigit.o `test -f 'c32isdigit.c' || echo './'`c32isdigit.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-c32isgraph.o `test -f 'c32isgraph.c' || echo './'`c32isgraph.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-c32islower.o `test -f 'c32islower.c' || echo './'`c32islower.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-c32isprint.o `test -f 'c32isprint.c' || echo './'`c32isprint.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-c32ispunct.o `test -f 'c32ispunct.c' || echo './'`c32ispunct.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-c32isspace.o `test -f 'c32isspace.c' || echo './'`c32isspace.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-c32isupper.o `test -f 'c32isupper.c' || echo './'`c32isupper.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-c32isxdigit.o `test -f 'c32isxdigit.c' || echo './'`c32isxdigit.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-c32tolower.o `test -f 'c32tolower.c' || echo './'`c32tolower.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-c32width.o `test -f 'c32width.c' || echo './'`c32width.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-careadlinkat.o `test -f 'careadlinkat.c' || echo './'`careadlinkat.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-chdir-long.o `test -f 'chdir-long.c' || echo './'`chdir-long.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-cloexec.o `test -f 'cloexec.c' || echo './'`cloexec.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-close-stream.o `test -f 'close-stream.c' || echo './'`close-stream.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-closeout.o `test -f 'closeout.c' || echo './'`closeout.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-opendir-safer.o `test -f 'opendir-safer.c' || echo './'`opendir-safer.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-dirname.o `test -f 'dirname.c' || echo './'`dirname.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-basename.o `test -f 'basename.c' || echo './'`basename.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-dirname-lgpl.o `test -f 'dirname-lgpl.c' || echo './'`dirname-lgpl.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-stripslash.o `test -f 'stripslash.c' || echo './'`stripslash.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-exclude.o `test -f 'exclude.c' || echo './'`exclude.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-exitfail.o `test -f 'exitfail.c' || echo './'`exitfail.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-fcntl.o `test -f 'fcntl.c' || echo './'`fcntl.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-creat-safer.o `test -f 'creat-safer.c' || echo './'`creat-safer.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-open-safer.o `test -f 'open-safer.c' || echo './'`open-safer.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-fd-hook.o `test -f 'fd-hook.c' || echo './'`fd-hook.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-fd-safer-flag.o `test -f 'fd-safer-flag.c' || echo './'`fd-safer-flag.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-dup-safer-flag.o `test -f 'dup-safer-flag.c' || echo './'`dup-safer-flag.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-fdutimensat.o `test -f 'fdutimensat.c' || echo './'`fdutimensat.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-file-has-acl.o `test -f 'file-has-acl.c' || echo './'`file-has-acl.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-filenamecat-lgpl.o `test -f 'filenamecat-lgpl.c' || echo './'`filenamecat-lgpl.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-fprintftime.o `test -f 'fprintftime.c' || echo './'`fprintftime.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-fseek.o `test -f 'fseek.c' || echo './'`fseek.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-fseeko.o `test -f 'fseeko.c' || echo './'`fseeko.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-full-read.o `test -f 'full-read.c' || echo './'`full-read.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-full-write.o `test -f 'full-write.c' || echo './'`full-write.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-getopt.o `test -f 'getopt.c' || echo './'`getopt.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-getopt1.o `test -f 'getopt1.c' || echo './'`getopt1.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-getprogname.o `test -f 'getprogname.c' || echo './'`getprogname.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-gettime.o `test -f 'gettime.c' || echo './'`gettime.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-hard-locale.o `test -f 'hard-locale.c' || echo './'`hard-locale.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-hash.o `test -f 'hash.c' || echo './'`hash.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-human.o `test -f 'human.c' || echo './'`human.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-ialloc.o `test -f 'ialloc.c' || echo './'`ialloc.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-imaxtostr.o `test -f 'imaxtostr.c' || echo './'`imaxtostr.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-inttostr.o `test -f 'inttostr.c' || echo './'`inttostr.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-offtostr.o `test -f 'offtostr.c' || echo './'`offtostr.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-uinttostr.o `test -f 'uinttostr.c' || echo './'`uinttostr.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-umaxtostr.o `test -f 'umaxtostr.c' || echo './'`umaxtostr.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-localcharset.o `test -f 'localcharset.c' || echo './'`localcharset.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-malloca.o `test -f 'malloca.c' || echo './'`malloca.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-mbchar.o `test -f 'mbchar.c' || echo './'`mbchar.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-mbrtoc32.o `test -f 'mbrtoc32.c' || echo './'`mbrtoc32.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-mbrtowc.o `test -f 'mbrtowc.c' || echo './'`mbrtowc.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-mbscasecmp.o `test -f 'mbscasecmp.c' || echo './'`mbscasecmp.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-mbsrtowcs.o `test -f 'mbsrtowcs.c' || echo './'`mbsrtowcs.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-mbuiter.o `test -f 'mbuiter.c' || echo './'`mbuiter.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-modechange.o `test -f 'modechange.c' || echo './'`modechange.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-nstrftime.o `test -f 'nstrftime.c' || echo './'`nstrftime.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-obstack.o `test -f 'obstack.c' || echo './'`obstack.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-openat-die.o `test -f 'openat-die.c' || echo './'`openat-die.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-openat-safer.o `test -f 'openat-safer.c' || echo './'`openat-safer.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-opendirat.o `test -f 'opendirat.c' || echo './'`opendirat.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-parse-datetime.o `test -f 'parse-datetime.c' || echo './'`parse-datetime.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-priv-set.o `test -f 'priv-set.c' || echo './'`priv-set.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-progname.o `test -f 'progname.c' || echo './'`progname.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-quotearg.o `test -f 'quotearg.c' || echo './'`quotearg.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-renameatu.o `test -f 'renameatu.c' || echo './'`renameatu.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-safe-read.o `test -f 'safe-read.c' || echo './'`safe-read.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-safe-write.o `test -f 'safe-write.c' || echo './'`safe-write.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-save-cwd.o `test -f 'save-cwd.c' || echo './'`save-cwd.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-savedir.o `test -f 'savedir.c' || echo './'`savedir.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-selinux-at.o `test -f 'selinux-at.c' || echo './'`selinux-at.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-getfilecon.o `test -f 'getfilecon.c' || echo './'`getfilecon.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-se-context.o `test -f 'se-context.c' || echo './'`se-context.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-se-label.o `test -f 'se-label.c' || echo './'`se-label.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-se-selinux.o `test -f 'se-selinux.c' || echo './'`se-selinux.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-setlocale_null.o `test -f 'setlocale_null.c' || echo './'`setlocale_null.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-stat-time.o `test -f 'stat-time.c' || echo './'`stat-time.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-stdopen.o `test -f 'stdopen.c' || echo './'`stdopen.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-strnlen1.o `test -f 'strnlen1.c' || echo './'`strnlen1.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-strtol.o `test -f 'strtol.c' || echo './'`strtol.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-strtoll.o `test -f 'strtoll.c' || echo './'`strtoll.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-strtoul.o `test -f 'strtoul.c' || echo './'`strtoul.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-strtoull.o `test -f 'strtoull.c' || echo './'`strtoull.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-tempname.o `test -f 'tempname.c' || echo './'`tempname.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-time_rz.o `test -f 'time_rz.c' || echo './'`time_rz.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-timespec.o `test -f 'timespec.c' || echo './'`timespec.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-timespec-sub.o `test -f 'timespec-sub.c' || echo './'`timespec-sub.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-unistd.o `test -f 'unistd.c' || echo './'`unistd.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-dup-safer.o `test -f 'dup-safer.c' || echo './'`dup-safer.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-fd-safer.o `test -f 'fd-safer.c' || echo './'`fd-safer.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-pipe-safer.o `test -f 'pipe-safer.c' || echo './'`pipe-safer.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-unlinkdir.o `test -f 'unlinkdir.c' || echo './'`unlinkdir.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-utimens.o `test -f 'utimens.c' || echo './'`utimens.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-version-etc.o `test -f 'version-etc.c' || echo './'`version-etc.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-version-etc-fsf.o `test -f 'version-etc-fsf.c' || echo './'`version-etc-fsf.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-wctype-h.o `test -f 'wctype-h.c' || echo './'`wctype-h.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-xmalloc.o `test -f 'xmalloc.c' || echo './'`xmalloc.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-xalloc-die.o `test -f 'xalloc-die.c' || echo './'`xalloc-die.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-xgetcwd.o `test -f 'xgetcwd.c' || echo './'`xgetcwd.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-xsize.o `test -f 'xsize.c' || echo './'`xsize.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-xstrtol.o `test -f 'xstrtol.c' || echo './'`xstrtol.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-xstrtoul.o `test -f 'xstrtoul.c' || echo './'`xstrtoul.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-xstrtoumax.o `test -f 'xstrtoumax.c' || echo './'`xstrtoumax.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-xvasprintf.o `test -f 'xvasprintf.c' || echo './'`xvasprintf.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o libgnu_a-xasprintf.o `test -f 'xasprintf.c' || echo './'`xasprintf.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o asnprintf.o asnprintf.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o fopen.o fopen.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o mbsrtowcs-state.o mbsrtowcs-state.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o mktime.o mktime.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o printf-args.o printf-args.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o printf-parse.o printf-parse.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o vasnprintf.o vasnprintf.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o malloc/libgnu_a-dynarray_at_failure.o `test -f 'malloc/dynarray_at_failure.c' || echo './'`malloc/dynarray_at_failure.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o malloc/libgnu_a-dynarray_emplace_enlarge.o `test -f 'malloc/dynarray_emplace_enlarge.c' || echo './'`malloc/dynarray_emplace_enlarge.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o malloc/libgnu_a-dynarray_finalize.o `test -f 'malloc/dynarray_finalize.c' || echo './'`malloc/dynarray_finalize.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o malloc/libgnu_a-dynarray_resize.o `test -f 'malloc/dynarray_resize.c' || echo './'`malloc/dynarray_resize.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o malloc/libgnu_a-dynarray_resize_clear.o `test -f 'malloc/dynarray_resize_clear.c' || echo './'`malloc/dynarray_resize_clear.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o malloc/libgnu_a-scratch_buffer_grow.o `test -f 'malloc/scratch_buffer_grow.c' || echo './'`malloc/scratch_buffer_grow.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o malloc/libgnu_a-scratch_buffer_grow_preserve.o `test -f 'malloc/scratch_buffer_grow_preserve.c' || echo './'`malloc/scratch_buffer_grow_preserve.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o malloc/libgnu_a-scratch_buffer_set_array_size.o `test -f 'malloc/scratch_buffer_set_array_size.c' || echo './'`malloc/scratch_buffer_set_array_size.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o unicase/libgnu_a-tolower.o `test -f 'unicase/tolower.c' || echo './'`unicase/tolower.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o unictype/libgnu_a-ctype_alnum.o `test -f 'unictype/ctype_alnum.c' || echo './'`unictype/ctype_alnum.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o unictype/libgnu_a-ctype_alpha.o `test -f 'unictype/ctype_alpha.c' || echo './'`unictype/ctype_alpha.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o unictype/libgnu_a-ctype_blank.o `test -f 'unictype/ctype_blank.c' || echo './'`unictype/ctype_blank.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o unictype/libgnu_a-ctype_cntrl.o `test -f 'unictype/ctype_cntrl.c' || echo './'`unictype/ctype_cntrl.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o unictype/libgnu_a-ctype_digit.o `test -f 'unictype/ctype_digit.c' || echo './'`unictype/ctype_digit.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o unictype/libgnu_a-ctype_graph.o `test -f 'unictype/ctype_graph.c' || echo './'`unictype/ctype_graph.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o unictype/libgnu_a-ctype_lower.o `test -f 'unictype/ctype_lower.c' || echo './'`unictype/ctype_lower.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o unictype/libgnu_a-ctype_print.o `test -f 'unictype/ctype_print.c' || echo './'`unictype/ctype_print.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o unictype/libgnu_a-ctype_punct.o `test -f 'unictype/ctype_punct.c' || echo './'`unictype/ctype_punct.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o unictype/libgnu_a-ctype_space.o `test -f 'unictype/ctype_space.c' || echo './'`unictype/ctype_space.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o unictype/libgnu_a-ctype_upper.o `test -f 'unictype/ctype_upper.c' || echo './'`unictype/ctype_upper.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o unictype/libgnu_a-ctype_xdigit.o `test -f 'unictype/ctype_xdigit.c' || echo './'`unictype/ctype_xdigit.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o uniwidth/libgnu_a-width.o `test -f 'uniwidth/width.c' || echo './'`uniwidth/width.c
rm -f libgnu.a
ar cr libgnu.a libgnu_a-acl-errno-valid.o libgnu_a-acl-internal.o libgnu_a-get-permissions.o libgnu_a-set-permissions.o libgnu_a-allocator.o libgnu_a-areadlink.o libgnu_a-areadlink-with-size.o libgnu_a-areadlinkat.o libgnu_a-areadlinkat-with-size.o libgnu_a-argmatch.o libgnu_a-argp-ba.o libgnu_a-argp-eexst.o libgnu_a-argp-fmtstream.o libgnu_a-argp-fs-xinl.o libgnu_a-argp-help.o libgnu_a-argp-parse.o libgnu_a-argp-pin.o libgnu_a-argp-pv.o libgnu_a-argp-pvh.o libgnu_a-argp-xinl.o libgnu_a-argp-version-etc.o libgnu_a-openat-proc.o libgnu_a-backupfile.o libgnu_a-backup-find.o libgnu_a-basename-lgpl.o libgnu_a-bitrotate.o libgnu_a-btowc.o libgnu_a-c-ctype.o libgnu_a-c-strcasecmp.o libgnu_a-c-strncasecmp.o libgnu_a-c32isalnum.o libgnu_a-c32isalpha.o libgnu_a-c32isblank.o libgnu_a-c32iscntrl.o libgnu_a-c32isdigit.o libgnu_a-c32isgraph.o libgnu_a-c32islower.o libgnu_a-c32isprint.o libgnu_a-c32ispunct.o libgnu_a-c32isspace.o libgnu_a-c32isupper.o libgnu_a-c32isxdigit.o libgnu_a-c32tolower.o libgnu_a-c32width.o  libgnu_a-careadlinkat.o libgnu_a-chdir-long.o    libgnu_a-cloexec.o  libgnu_a-close-stream.o  libgnu_a-closeout.o libgnu_a-opendir-safer.o  libgnu_a-dirname.o libgnu_a-basename.o libgnu_a-dirname-lgpl.o libgnu_a-stripslash.o     libgnu_a-exclude.o libgnu_a-exitfail.o     libgnu_a-fcntl.o libgnu_a-creat-safer.o libgnu_a-open-safer.o libgnu_a-fd-hook.o libgnu_a-fd-safer-flag.o libgnu_a-dup-safer-flag.o  libgnu_a-fdutimensat.o libgnu_a-file-has-acl.o  libgnu_a-filenamecat-lgpl.o    libgnu_a-fprintftime.o  libgnu_a-fseek.o libgnu_a-fseeko.o   libgnu_a-full-read.o libgnu_a-full-write.o        libgnu_a-getopt.o libgnu_a-getopt1.o  libgnu_a-getprogname.o  libgnu_a-gettime.o  malloc/libgnu_a-dynarray_at_failure.o malloc/libgnu_a-dynarray_emplace_enlarge.o malloc/libgnu_a-dynarray_finalize.o malloc/libgnu_a-dynarray_resize.o malloc/libgnu_a-dynarray_resize_clear.o malloc/libgnu_a-scratch_buffer_grow.o malloc/libgnu_a-scratch_buffer_grow_preserve.o malloc/libgnu_a-scratch_buffer_set_array_size.o  libgnu_a-hard-locale.o libgnu_a-hash.o libgnu_a-human.o libgnu_a-ialloc.o libgnu_a-imaxtostr.o libgnu_a-inttostr.o libgnu_a-offtostr.o libgnu_a-uinttostr.o libgnu_a-umaxtostr.o         libgnu_a-localcharset.o    libgnu_a-malloca.o libgnu_a-mbchar.o libgnu_a-mbrtoc32.o libgnu_a-mbrtowc.o libgnu_a-mbscasecmp.o  libgnu_a-mbsrtowcs.o  libgnu_a-mbuiter.o           libgnu_a-modechange.o     libgnu_a-nstrftime.o libgnu_a-obstack.o   libgnu_a-openat-die.o libgnu_a-openat-safer.o  libgnu_a-opendirat.o libgnu_a-parse-datetime.o  libgnu_a-priv-set.o libgnu_a-progname.o libgnu_a-quotearg.o           libgnu_a-renameatu.o    libgnu_a-safe-read.o libgnu_a-safe-write.o libgnu_a-save-cwd.o libgnu_a-savedir.o libgnu_a-selinux-at.o libgnu_a-getfilecon.o libgnu_a-se-context.o libgnu_a-se-label.o libgnu_a-se-selinux.o  libgnu_a-setlocale_null.o    libgnu_a-stat-time.o   libgnu_a-stdopen.o          libgnu_a-strnlen1.o  libgnu_a-strtol.o libgnu_a-strtoll.o libgnu_a-strtoul.o libgnu_a-strtoull.o    libgnu_a-tempname.o  libgnu_a-time_rz.o  libgnu_a-timespec.o libgnu_a-timespec-sub.o  unicase/libgnu_a-tolower.o unictype/libgnu_a-ctype_alnum.o unictype/libgnu_a-ctype_alpha.o unictype/libgnu_a-ctype_blank.o unictype/libgnu_a-ctype_cntrl.o unictype/libgnu_a-ctype_digit.o unictype/libgnu_a-ctype_graph.o unictype/libgnu_a-ctype_lower.o unictype/libgnu_a-ctype_print.o unictype/libgnu_a-ctype_punct.o unictype/libgnu_a-ctype_space.o unictype/libgnu_a-ctype_upper.o unictype/libgnu_a-ctype_xdigit.o libgnu_a-unistd.o libgnu_a-dup-safer.o libgnu_a-fd-safer.o libgnu_a-pipe-safer.o uniwidth/libgnu_a-width.o   libgnu_a-unlinkdir.o   libgnu_a-utimens.o  libgnu_a-version-etc.o libgnu_a-version-etc-fsf.o  libgnu_a-wctype-h.o     libgnu_a-xmalloc.o libgnu_a-xalloc-die.o libgnu_a-xgetcwd.o libgnu_a-xsize.o libgnu_a-xstrtol.o libgnu_a-xstrtoul.o libgnu_a-xstrtoumax.o libgnu_a-xvasprintf.o libgnu_a-xasprintf.o asnprintf.o fopen.o mbsrtowcs-state.o mktime.o printf-args.o printf-parse.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/sbin/`echo rmt | sed 's,x,x,'`\"" >> rmt-command.h-t
echo "#endif" >> rmt-command.h-t
mv rmt-command.h-t rmt-command.h
make  all-am
make[4]: Entering directory '/<<PKGBUILDDIR>>/lib'
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o paxerror.o paxerror.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o paxexit-status.o paxexit-status.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o paxnames.o paxnames.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o rtapelib.o rtapelib.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o wordsplit.o wordsplit.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o xattr-at.o xattr-at.c
rm -f libtar.a
ar cr libtar.a paxerror.o paxexit-status.o paxnames.o rtapelib.o wordsplit.o xattr-at.o 
ranlib libtar.a
make[4]: Leaving directory '/<<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 -I../paxlib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o rmt.o rmt.c
gcc  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument  -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 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o buffer.o buffer.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o checkpoint.o checkpoint.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o compare.o compare.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o create.o create.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o delete.o delete.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o exit.o exit.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o exclist.o exclist.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o extract.o extract.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o xheader.o xheader.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o incremen.o incremen.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o list.o list.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o map.o map.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o misc.o misc.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o names.o names.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o sparse.o sparse.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o suffix.o suffix.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o system.o system.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o tar.o tar.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o transform.o transform.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o unlink.o unlink.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o update.o update.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o utf8.o utf8.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o warning.o warning.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../ -I../gnu -I../lib -I../lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o xattrs.o xattrs.c
gcc   -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument  -Wl,-z,relro -o tar buffer.o checkpoint.o compare.o create.o delete.o exit.o exclist.o extract.o xheader.o incremen.o list.o map.o misc.o names.o sparse.o suffix.o system.o tar.o transform.o unlink.o update.o utf8.o warning.o xattrs.o -lacl  ../lib/libtar.a ../gnu/libgnu.a -lacl       -lselinux  -lacl 
make[3]: Leaving directory '/<<PKGBUILDDIR>>/src'
Making all in scripts
make[3]: Entering directory '/<<PKGBUILDDIR>>/scripts'
sed "s,\@libexecdir\@,/usr/sbin,; s,\@sysconfdir\@,/etc,; s,\@PACKAGE_NAME\@,GNU tar,; s,\@VERSION\@,1.35,; s,\@PACKAGE_BUGREPORT\@,bug-tar@gnu.org,; s,\@DATE_FORMAT_OK\@,,;/^#ELSE_DATE_FORMAT_OK/,/^#ENDIF_DATE_FORMAT_OK/d;/^#IF_DATE_FORMAT_OK/d" backup.sh.in > backup.sh
sed "s,\@libexecdir\@,/usr/sbin,; s,\@sysconfdir\@,/etc,; s,\@PACKAGE_NAME\@,GNU tar,; s,\@VERSION\@,1.35,; s,\@PACKAGE_BUGREPORT\@,bug-tar@gnu.org,; s,\@DATE_FORMAT_OK\@,,;/^#ELSE_DATE_FORMAT_OK/,/^#ENDIF_DATE_FORMAT_OK/d;/^#IF_DATE_FORMAT_OK/d" dump-remind.in > dump-remind
sed "s,\@libexecdir\@,/usr/sbin,; s,\@sysconfdir\@,/etc,; s,\@PACKAGE_NAME\@,GNU tar,; s,\@VERSION\@,1.35,; s,\@PACKAGE_BUGREPORT\@,bug-tar@gnu.org,; s,\@DATE_FORMAT_OK\@,,;/^#ELSE_DATE_FORMAT_OK/,/^#ENDIF_DATE_FORMAT_OK/d;/^#IF_DATE_FORMAT_OK/d" backup.in > backup
sed "s,\@libexecdir\@,/usr/sbin,; s,\@sysconfdir\@,/etc,; s,\@PACKAGE_NAME\@,GNU tar,; s,\@VERSION\@,1.35,; 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>>'
   debian/rules override_dh_auto_test
make[1]: Entering directory '/<<PKGBUILDDIR>>'
cp tests/testsuite debian/testsuite.orig
dh_auto_test
	make -j4 check "TESTSUITEFLAGS=-j4 --verbose" VERBOSE=1
make[2]: Entering directory '/<<PKGBUILDDIR>>'
Making check in doc
make[3]: Entering directory '/<<PKGBUILDDIR>>/doc'
make[3]: Nothing to be done for 'check'.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/doc'
Making check in gnu
make[3]: Entering directory '/<<PKGBUILDDIR>>/gnu'
make  check-recursive
make[4]: Entering directory '/<<PKGBUILDDIR>>/gnu'
make[5]: Entering directory '/<<PKGBUILDDIR>>/gnu'
make[5]: Nothing to be done for 'check-am'.
make[5]: Leaving directory '/<<PKGBUILDDIR>>/gnu'
make[4]: Leaving directory '/<<PKGBUILDDIR>>/gnu'
make[3]: Leaving directory '/<<PKGBUILDDIR>>/gnu'
Making check in lib
make[3]: Entering directory '/<<PKGBUILDDIR>>/lib'
make  check-am
make[4]: Entering directory '/<<PKGBUILDDIR>>/lib'
make[4]: Nothing to be done for 'check-am'.
make[4]: Leaving directory '/<<PKGBUILDDIR>>/lib'
make[3]: Leaving directory '/<<PKGBUILDDIR>>/lib'
Making check in rmt
make[3]: Entering directory '/<<PKGBUILDDIR>>/rmt'
make[3]: Nothing to be done for 'check'.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/rmt'
Making check in src
make[3]: Entering directory '/<<PKGBUILDDIR>>/src'
make[3]: Nothing to be done for 'check'.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/src'
Making check in scripts
make[3]: Entering directory '/<<PKGBUILDDIR>>/scripts'
make[3]: Nothing to be done for 'check'.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/scripts'
Making check in po
make[3]: Entering directory '/<<PKGBUILDDIR>>/po'
make[3]: Nothing to be done for 'check'.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/po'
Making check in tests
make[3]: Entering directory '/<<PKGBUILDDIR>>/tests'
make  genfile checkseekhole ckmtime
make[4]: Entering directory '/<<PKGBUILDDIR>>/tests'
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../gnu -I../gnu -I../lib -DLOCALEDIR=\"/usr/share/locale\" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o genfile.o genfile.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../gnu -I../gnu -I../lib -DLOCALEDIR=\"/usr/share/locale\" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o argcv.o argcv.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../gnu -I../gnu -I../lib -DLOCALEDIR=\"/usr/share/locale\" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o checkseekhole.o checkseekhole.c
gcc -DHAVE_CONFIG_H -I. -I..  -I../gnu -I../gnu -I../gnu -I../lib -DLOCALEDIR=\"/usr/share/locale\" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -c -o ckmtime.o ckmtime.c
gcc  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument  -Wl,-z,relro -o checkseekhole checkseekhole.o ../gnu/libgnu.a -lacl       -lselinux  -lacl 
gcc  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument  -Wl,-z,relro -o ckmtime ckmtime.o ../gnu/libgnu.a -lacl       -lselinux  -lacl 
gcc  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument  -Wl,-z,relro -o genfile genfile.o argcv.o ../gnu/libgnu.a -lacl       -lselinux  -lacl 
make[4]: Leaving directory '/<<PKGBUILDDIR>>/tests'
make  check-local
make[4]: 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 -j4 --verbose
## ------------------------ ##
## GNU tar 1.35 test suite. ##
## ------------------------ ##




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

1. version.at:19: testing tar version ...
./version.at:21: tar --version | sed 1q
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)
4. options02.at:26: testing interspersed options ...
./options02.at:29:
echo > file1
tar c file1 -f archive
tar tf archive

1. version.at:19:  ok
4. options02.at:26: 3. options.at:24:  ok
 ok



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

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

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

6. opcomp01.at:21:  ok
7. opcomp02.at:21:  ok

5. options03.at:21:  ok

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

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

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

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

8. opcomp03.at:21:  ok
./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)


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

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


  file=$(TMPDIR=. mktemp fiXXXXXX)

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


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

  rm -rf $file

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

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

9. opcomp04.at:21:  ok
--- -	2024-01-03 04:59:19.797044491 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/11/stderr	2024-01-03 04:59:19.790941866 +0000
@@ -1,3 +1 @@
-tar: --acls can be used only on POSIX archives
-Try 'tar --help' or 'tar --usage' for more information.
 
11. opcomp06.at:21: 
 skipped (opcomp06.at:24)
./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)


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

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


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

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


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

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


./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)
14. dot.at:16: 12. defaults.at:16:  ok
 ok
13. interval.at:16:  ok



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

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


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

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


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

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

unset TAR_OPTIONS

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


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

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


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

2. pipe.at:29:  ok

15. dot-compat.at:16:  ok
16. dot-int.at:16:  ok
18. testsuite.at:243: testing compress: bzip2 ...
./testsuite.at:243:

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

unset TAR_OPTIONS

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


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

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


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



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

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

unset TAR_OPTIONS

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


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

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


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

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

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

unset TAR_OPTIONS

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


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


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

--- -	2024-01-03 04:59:19.905328538 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/20/stdout	2024-01-03 04:59:19.898941137 +0000
@@ -1,4 +1 @@
-empty
-testing .lz
-empty
 
20. testsuite.at:246: 17. testsuite.at:242:  skipped (testsuite.at:246)
 ok


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

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

unset TAR_OPTIONS

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


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


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

--- -	2024-01-03 04:59:19.927790590 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/21/stdout	2024-01-03 04:59:19.922940974 +0000
@@ -1,4 +1 @@
-empty
-testing .lzo
-empty
 
22. testsuite.at:248: testing compress: zstd ...
./testsuite.at:248:

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

unset TAR_OPTIONS

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


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

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


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

21. testsuite.at:247:  skipped (testsuite.at:247)
--- -	2024-01-03 04:59:19.933799568 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/22/stdout	2024-01-03 04:59:19.926940947 +0000
@@ -1,6 +1 @@
-empty
-testing .zst
-empty
-testing .tzst
-empty
 
22. testsuite.at:248: 18. testsuite.at:243:  ok
 skipped (testsuite.at:248)



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

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

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

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

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

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

19. testsuite.at:244:  ok
25. positional03.at:21: testing Several options ...
./positional03.at:24:

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

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


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

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

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

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


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


echo 3:
tar -cvf arc.tar -T input
)
23. positional01.at:21:  ok
25. positional03.at:21:  ok


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

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

cat >F2 <<'_ATEOF'
file3
file4
_ATEOF

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

./add-file.at:33:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

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

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

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


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


echo 3:
tar -cvf arc.tar -T input
)
29. T-rec.at:21: testing recursive file lists ...
./T-rec.at:24:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

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

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

tar cf archive -T F1
echo $?
tar tf archive
)
28. T-nest.at:21: testing nested file lists ...
./T-nest.at:24:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

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

cat >F2 <<'_ATEOF'
file3
file4
_ATEOF

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

./add-file.at:33:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

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

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

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


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


echo 3:
tar -cvf arc.tar -T input
)
29. T-rec.at:21:  ok
30. T-recurse.at:27: testing files-from & recurse: toggle ...
./T-recurse.at:30:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

mkdir directory1 directory2
touch directory1/file directory2/file

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


cat >F2A <<'_ATEOF'
directory1/
_ATEOF


cat >F2B <<'_ATEOF'
directory2/
_ATEOF


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

a=archive2
tar cf "$a" --no-recursion -T F2A --recursion -T F2B
tar tf "$a"
)


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

mkdir directory1 directory2
touch directory1/file directory2/file

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


cat >F2 <<'_ATEOF'
directory2/
_ATEOF


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

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


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

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

tar cf archive -T F1
tar tf archive | sort
)
./add-file.at:33:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

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

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

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


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


echo 3:
tar -cvf arc.tar -T input
)
./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: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

)
32. T-cd.at:21:  ok

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

)
./add-file.at:33:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

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

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

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


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


echo 3:
tar -cvf arc.tar -T input
)
33. T-empty.at:26: testing empty entries ...
./T-empty.at:36:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


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

tar cfvT archive ../file-list
)
./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: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

)
33. T-empty.at:26:  ok
26. add-file.at:21:  ok

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

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


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


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

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

tar cfTv archive file-list
)

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

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


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

cat file-list | tr '\n' '\0' | tar -c -f archive -v --null -T -
)
./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"
)
34. T-null.at:21: 31. T-recurse.at:66:  ok
 ok
35. T-null2.at:17:  ok



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

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


tar cf archive -T empty -T valid
tar tf archive
echo "=="
tar cf archive -T valid -T empty
tar tf archive
)
37. T-nonl.at:27: testing entries with missing newlines ...
./T-nonl.at:30:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

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


tar cf archive -T empty -T 1.nonl -T 2.nonl -T filelist
tar tf archive
echo ==
tar cf archive -T 2.nonl -T empty -T filelist -T 1.nonl
tar tf archive
)
30. T-recurse.at:27:  ok
38. T-dir00.at:28: testing recursive extraction from --files-from ...
./T-dir00.at:30:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


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

mkdir dir
genfile -f dir/file1
genfile -f dir/file2
tar cf archive dir
rm -rf dir
echo dir > list
tar xfTv archive list | sort
)

./T-dir00.at:30:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


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

mkdir dir
genfile -f dir/file1
genfile -f dir/file2
tar cf archive dir
rm -rf dir
echo dir > list
tar xfTv archive list | sort
)
36. T-zfile.at:26:  ok
39. T-dir01.at:28: testing trailing slash in --files-from ...
./T-dir01.at:30:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


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

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


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


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

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

echo "Testing the archive"
tar -tf archive
)
./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-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
)
41. verbose.at:26: testing tar cvf - ...
./verbose.at:29:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

genfile --file file --length 10240
echo Creating the archive
tar cvf - file > archive
echo Testing the archive
tar tf archive
)
./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
)
./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
)
./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-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
)
./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
)
./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
)
./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
)
./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
)
./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
)
./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
)
./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
)
./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
)
./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
)
38. T-dir00.at:28:  ok
41. verbose.at:26: 40. indexfile.at:26:  ok
 ok



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

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

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

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

mkdir directory1 directory2
touch directory1/file directory2/file
tar --create --file archive \
    --no-recursion directory1 \
    --recursion directory2 || exit 1
tar tf archive
tar cf archive directory1 directory2
tar tf archive \
    --no-recursion directory1 \
    --recursion directory2 || exit 1
)
43. recurse.at:21: testing recurse ...
./recurse.at:24:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

mkdir directory
touch directory/file
tar --create --file archive --no-recursion directory || exit 1
tar tf archive
)

42. gzip.at:23:  ok
./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
)
45. shortrec.at:25: testing short records ...
./shortrec.at:28:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

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

rm -r directory
)
./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
)

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

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

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



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


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


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


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

)
./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
)
./shortrec.at:28:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

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

rm -r directory
)
./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
)
./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
)
./shortrec.at:28:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

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

rm -r directory
)
./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
)
./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
)
./numeric.at:29:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

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

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



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


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


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


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

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

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

rm -r directory
)
43. recurse.at:21: ./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
)
 ok

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

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

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


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


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

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

ls directory|sort
)
44. recurs02.at:30:  ok
./numeric.at:29:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

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

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



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


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


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


decho --extract

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

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

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

mkdir en
mkdir to

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

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


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


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

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

ls directory|sort
)

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

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

mkdir en
mkdir to

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

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


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


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

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

ls directory|sort
)
./append.at:24:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *
touch file1
          touch file2
          tar cf archive file1
          tar rf archive file2
          tar tf archive)
./same-order02.at:28:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

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

mkdir en
mkdir to

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

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

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

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



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


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


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


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

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


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


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

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

ls directory|sort
)
./append.at:24:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *
touch file1
          touch file2
          tar cf archive file1
          tar rf archive file2
          tar tf archive)
./same-order02.at:28:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

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

mkdir en
mkdir to

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

ls en
echo separator
ls to
)
./append.at:24:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *
touch file1
          touch file2
          tar cf archive file1
          tar rf archive file2
          tar tf archive)
./same-order01.at:29:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


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


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

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

ls directory|sort
)
./append.at:24:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *
touch file1
          touch file2
          tar cf archive file1
          tar rf archive file2
          tar tf archive)
./same-order02.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

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

mkdir en
mkdir to

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

ls en
echo separator
ls to
)
47. same-order01.at:26:  ok
46. numeric.at:18:  ok
49. append.at:21:  ok


48. same-order02.at:25:  ok

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

mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX
touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2
tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1
tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2
tar tf archive
)
51. append02.at:54: testing append vs. create ...
./append02.at:57:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

genfile --file file1
genfile --file file2

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

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

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

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

echo Comparing archives
cmp archive.1 archive.2
)
52. append03.at:21: testing append with name transformation ...
./append03.at:26:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

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

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

./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
)
53. append04.at:29: testing append with verify ...
./append04.at:32:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

# Create two empty files:
touch file1 file2

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

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

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

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

genfile --file file1
genfile --file file2

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

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

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

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

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

genfile --file file1
genfile --file file2

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

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

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

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

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

genfile --file file1
genfile --file file2

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

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

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

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

echo Comparing archives
cmp archive.1 archive.2
)
50. append01.at:29:  ok
./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
)
./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
)
./append02.at:57:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --file file1
genfile --file file2

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

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

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

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

echo Comparing archives
cmp archive.1 archive.2
)

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

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

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

tar tf archive

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

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

decho 'resulting archive'
tar tf archive
)

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

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


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


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


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

)
./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
)
./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
)

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

genfile --file file
tar -cf archive.tar -V /label/ file
tar tf archive.tar
)
56. xform01.at:26:  ok
./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'

)
./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
)
./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
)

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

genfile --file file
tar cvf /dev/null file \
   --transform='s/file/other\/name/' \
   --show-transformed-name
)
./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
)
./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'

)
./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
)
53. append04.at:29:  ok
./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
)
./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
)
./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'

)

./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
)
58. xform03.at:21: testing transforming hard link targets ...
./xform03.at:24:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

mkdir d
mkdir d/a
genfile --file d/a/b
dir=$(pwd|sed s,^//*,,)/d
tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b 2>err
mkdir t
tar -C t -xf a.tar
find t -type f
)
54. append05.at:32:  ok
57. xform02.at:21:  ok

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

)

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


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


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

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

for option in exclude-tag exclude-tag-under exclude-tag-all
do
  echo OPTION $option
  tar -cf archive.tar --${option}=tagfile -v dir 2>err | sort
  cat err
  echo ARCHIVE
  tar tf archive.tar | sort
done
)
stderr:
./xform03.at:24: sed "/tar: Removing leading \`\/*\/' from/d" stderr
60. exclude01.at:19: testing exclude wildcards ...
./exclude01.at:22:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


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


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

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

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

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

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

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

mkdir d
mkdir d/a
genfile --file d/a/b
dir=$(pwd|sed s,^//*,,)/d
tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b 2>err
mkdir t
tar -C t -xf a.tar
find t -type f
)
55. xform-h.at:30:  ok
stderr:

./xform03.at:24: sed "/tar: Removing leading \`\/*\/' from/d" stderr
./xform03.at:24:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

mkdir d
mkdir d/a
genfile --file d/a/b
dir=$(pwd|sed s,^//*,,)/d
tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b 2>err
mkdir t
tar -C t -xf a.tar
find t -type f
)
61. exclude02.at:19: testing exclude: anchoring ...
./exclude02.at:22:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


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


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

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

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

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

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

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

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

rm -rf testdir file1.txt

)
./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
)
59. exclude.at:23:  ok
stderr:
./xform03.at:24: sed "/tar: Removing leading \`\/*\/' from/d" stderr
./xform03.at:24:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir d
mkdir d/a
genfile --file d/a/b
dir=$(pwd|sed s,^//*,,)/d
tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b 2>err
mkdir t
tar -C t -xf a.tar
find t -type f
)

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


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


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

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

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

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

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

rm -rf testdir

)
./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

)
stderr:
./xform03.at:24: sed "/tar: Removing leading \`\/*\/' from/d" stderr
./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
)
./xform03.at:24:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir d
mkdir d/a
genfile --file d/a/b
dir=$(pwd|sed s,^//*,,)/d
tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b 2>err
mkdir t
tar -C t -xf a.tar
find t -type f
)
stderr:
./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

)
./xform03.at:24: sed "/tar: Removing leading \`\/*\/' from/d" stderr
58. xform03.at:21:  ok
./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

)
./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
)

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


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


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

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

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

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

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

rm -rf testdir

)
./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

)
./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

)
./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
)
./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

)
./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

)
./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

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

)

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


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


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

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

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

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

rm -rf testdir exclfile

)
./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

)
61. exclude02.at:19:  ok
./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

)

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


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

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

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

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

tar -v -c -f archive --exclude-backups dir
)
./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

)
65. exclude06.at:26:  ok
./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
)
67. exclude08.at:36: testing --exclude-tag option ...
./exclude08.at:39:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


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

mkexcltest etest
tar -c -f etest.tar --exclude-tag=excludeme -v etest | sort
)
63. exclude04.at:19:  ok
./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
)
./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
)

./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
)
68. exclude09.at:37: testing --exclude-tag option and --listed-incremental ...
./exclude09.at:40:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


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

mkexcltest etest
tar -c -f etest.tar --exclude-tag=excludeme --listed=snar -v etest | sort
)
66. exclude07.at:19:  ok
./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
)
68. exclude09.at:37:  ok

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


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

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

decho "# Level 1"
cp snar-0 snar-1
tar -c -f etest-1.tar --exclude-tag=excludeme --listed=snar-1 -v etest | sort
)

./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
)
70. exclude11.at:36: testing --exclude-tag-under option ...
./exclude11.at:39:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


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

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


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

mkexcltest etest
tar -c -f etest.tar --exclude-tag-under=excludeme -v etest | sort
)
./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
)
69. exclude10.at:38:  ok
./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
)

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


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

mkexcltest etest
tar -c -f etest.tar --exclude-tag-under=excludeme --listed=snar -v etest | sort
)

./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
)
72. exclude13.at:39: testing --exclude-tag-under option in incremental pass ...
./exclude13.at:42:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


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

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

decho "# Level 1"
cp snar-0 snar-1
tar -c -f etest-1.tar --exclude-tag-under=excludeme --listed=snar-1 -v etest | sort
)
71. exclude12.at:37:  ok
./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
)

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


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

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

./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
)
74. exclude15.at:36: testing --exclude-tag-all and --listed-incremental ...
./exclude15.at:39:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


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

mkexcltest etest
tar -c -f etest.tar --exclude-tag-all=excludeme --listed=snar -v etest | sort
)

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


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

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

decho "# Level 1"
cp snar-0 snar-1
tar -c -f etest-1.tar --exclude-tag-all=excludeme --listed=snar-1 -v etest | sort
)
./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
)
74. exclude15.at:36:  ok

./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
)
76. exclude17.at:21: testing --exclude-vcs-ignores memory allocation ...
./exclude17.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 '*.o' >.cvsignore
tar -cf - --exclude-vcs-ignores . | tar -tf -
)
75. exclude16.at:38:  ok
./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
)

./exclude17.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 '*.o' >.cvsignore
tar -cf - --exclude-vcs-ignores . | tar -tf -
)
77. exclude18.at:30: testing --exclude-vcs extract list compare ...
./exclude18.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 gitrepo
cd gitrepo

# Make an empty VCS directory:
mkdir .svn

# Make a VCS directory with a file:
mkdir .git
touch .git/_A

# Make a VCS file:
touch .gitignore

# Make non-VCS files:
touch .git_B
touch _C

# Create an archive, include VCS:
cd ..
tar -cf gitrepo.tar gitrepo
rm -r gitrepo

echo Extract:
tar -xvf gitrepo.tar --exclude-vcs | sort

echo
echo List:
tar -tf gitrepo.tar --exclude-vcs | sort

echo
echo Diff:
tar -dvf gitrepo.tar --exclude-vcs gitrepo | sort

)
./exclude17.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 '*.o' >.cvsignore
tar -cf - --exclude-vcs-ignores . | tar -tf -
)
73. exclude14.at:36:  ok
./exclude17.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 '*.o' >.cvsignore
tar -cf - --exclude-vcs-ignores . | tar -tf -
)

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

genfile -l 50000 --file file1
genfile -l 1024 --file file2
tar cf archive file1 file2
tar -f - --delete file2 <archive >archout
tar tf archout
tar f archive --delete file2
cmp archive archout)
./exclude18.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 gitrepo
cd gitrepo

# Make an empty VCS directory:
mkdir .svn

# Make a VCS directory with a file:
mkdir .git
touch .git/_A

# Make a VCS file:
touch .gitignore

# Make non-VCS files:
touch .git_B
touch _C

# Create an archive, include VCS:
cd ..
tar -cf gitrepo.tar gitrepo
rm -r gitrepo

echo Extract:
tar -xvf gitrepo.tar --exclude-vcs | sort

echo
echo List:
tar -tf gitrepo.tar --exclude-vcs | sort

echo
echo Diff:
tar -dvf gitrepo.tar --exclude-vcs gitrepo | sort

)
./exclude17.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 '*.o' >.cvsignore
tar -cf - --exclude-vcs-ignores . | tar -tf -
)
76. exclude17.at:21:  ok
./delete01.at:26:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile -l 50000 --file file1
genfile -l 1024 --file file2
tar cf archive file1 file2
tar -f - --delete file2 <archive >archout
tar tf archout
tar f archive --delete file2
cmp archive archout)

./exclude18.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 gitrepo
cd gitrepo

# Make an empty VCS directory:
mkdir .svn

# Make a VCS directory with a file:
mkdir .git
touch .git/_A

# Make a VCS file:
touch .gitignore

# Make non-VCS files:
touch .git_B
touch _C

# Create an archive, include VCS:
cd ..
tar -cf gitrepo.tar gitrepo
rm -r gitrepo

echo Extract:
tar -xvf gitrepo.tar --exclude-vcs | sort

echo
echo List:
tar -tf gitrepo.tar --exclude-vcs | sort

echo
echo Diff:
tar -dvf gitrepo.tar --exclude-vcs gitrepo | sort

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

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

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

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

genfile -l 3073 -p zeros --file 1
cp 1 2
cp 2 3
tar cf archive 1 2 3
tar tf archive
cat archive | tar f - --delete 2 > archive2
echo separator
tar tf archive2
tar f - --delete 2 < archive > archive3
cmp archive2 archive3)
./exclude18.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 gitrepo
cd gitrepo

# Make an empty VCS directory:
mkdir .svn

# Make a VCS directory with a file:
mkdir .git
touch .git/_A

# Make a VCS file:
touch .gitignore

# Make non-VCS files:
touch .git_B
touch _C

# Create an archive, include VCS:
cd ..
tar -cf gitrepo.tar gitrepo
rm -r gitrepo

echo Extract:
tar -xvf gitrepo.tar --exclude-vcs | sort

echo
echo List:
tar -tf gitrepo.tar --exclude-vcs | sort

echo
echo Diff:
tar -dvf gitrepo.tar --exclude-vcs gitrepo | sort

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

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

genfile -l 3073 -p zeros --file 1
cp 1 2
cp 2 3
tar cf archive 1 2 3
tar tf archive
cat archive | tar f - --delete 2 > archive2
echo separator
tar tf archive2
tar f - --delete 2 < archive > archive3
cmp archive2 archive3)
78. delete01.at:23:  ok
./exclude18.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 gitrepo
cd gitrepo

# Make an empty VCS directory:
mkdir .svn

# Make a VCS directory with a file:
mkdir .git
touch .git/_A

# Make a VCS file:
touch .gitignore

# Make non-VCS files:
touch .git_B
touch _C

# Create an archive, include VCS:
cd ..
tar -cf gitrepo.tar gitrepo
rm -r gitrepo

echo Extract:
tar -xvf gitrepo.tar --exclude-vcs | sort

echo
echo List:
tar -tf gitrepo.tar --exclude-vcs | sort

echo
echo Diff:
tar -dvf gitrepo.tar --exclude-vcs gitrepo | sort

)

80. 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
)
./delete02.at:26:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile -l 3073 -p zeros --file 1
cp 1 2
cp 2 3
tar cf archive 1 2 3
tar tf archive
cat archive | tar f - --delete 2 > archive2
echo separator
tar tf archive2
tar f - --delete 2 < archive > archive3
cmp archive2 archive3)
77. exclude18.at:30:  ok
./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
)

./delete02.at:26:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile -l 3073 -p zeros --file 1
cp 1 2
cp 2 3
tar cf archive 1 2 3
tar tf archive
cat archive | tar f - --delete 2 > archive2
echo separator
tar tf archive2
tar f - --delete 2 < archive > archive3
cmp archive2 archive3)
81. delete04.at:23: testing deleting a large last member ...
./delete04.at:26:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

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

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

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

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

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

./delete04.at:26:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

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

mkdir b
touch a b/1 c
tar -cf archive.tar a b/1 c
case $TEST_TAR_FORMAT in
gnu) size=1500;;
pax) size=3072;;
esac
dd if=archive.tar of=trunc.tar bs=$size count=1 2>/dev/null
tar --delete 'b/' -f trunc.tar
)
./delete05.at:30:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

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

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

mkdir b
touch a b/1 c
tar -cf archive.tar a b/1 c
case $TEST_TAR_FORMAT in
gnu) size=1500;;
pax) size=3072;;
esac
dd if=archive.tar of=trunc.tar bs=$size count=1 2>/dev/null
tar --delete 'b/' -f trunc.tar
)
./delete05.at:30:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

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

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

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

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

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

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

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

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

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

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

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

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

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

mkdir directory
touch directory/file
tar cf archive directory || exit 1
tar xf archive --warning=no-timestamp || exit 1
)


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

touch file
ln -s file link 2> /dev/null || ln file link
tar cf archive link
rm link
touch link
tar xf archive
)
86. 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)
84. extrac01.at:23:  ok
./extrac02.at:28:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

touch file
ln -s file link 2> /dev/null || ln file link
tar cf archive link
rm link
touch link
tar xf archive
)

./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)
./extrac02.at:28:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

touch file
ln -s file link 2> /dev/null || ln file link
tar cf archive link
rm link
touch link
tar xf archive
)
87. extrac04.at:23: testing extract + fnmatch ...
./extrac04.at:26:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


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

touch file1
mkdir directory
mkdir directory/subdirectory
touch directory/file1
touch directory/file2
touch directory/subdirectory/file1
touch directory/subdirectory/file2
tar -cf archive ./file1 directory
tar -tf archive \
  --exclude='./*1' \
  --exclude='d*/*1' \
  --exclude='d*/s*/*2' | sort
)
./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)
./extrac02.at:28:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

touch file
ln -s file link 2> /dev/null || ln file link
tar cf archive link
rm link
touch link
tar xf archive
)
./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)
./extrac04.at:26:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


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

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

touch file
ln -s file link 2> /dev/null || ln file link
tar cf archive link
rm link
touch link
tar xf archive
)
./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)
86. extrac03.at:23:  ok
85. extrac02.at:23:  ok
./extrac04.at:26:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


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

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


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

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

tar cf archive jeden dwa trzy cztery || exit 1

mkdir dir
cd dir

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

cd ..
)
89. 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
)
./extrac04.at:26:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


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

touch file1
mkdir directory
mkdir directory/subdirectory
touch directory/file1
touch directory/file2
touch directory/subdirectory/file1
touch directory/subdirectory/file2
tar -cf archive ./file1 directory
tar -tf archive \
  --exclude='./*1' \
  --exclude='d*/*1' \
  --exclude='d*/s*/*2' | sort
)
88. extrac05.at:30:  ok
./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
)
./extrac04.at:26:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


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

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

90. 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
)
./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
)
87. extrac04.at:23:  ok
90. extrac07.at:27:  ok

./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
)
91. 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
)

92. 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
)
./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
)
./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
)
92. extrac09.at:34:  ok
89. extrac06.at:34:  ok
./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
)


94. extrac11.at:25: testing scarce file descriptors ...
./extrac11.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

exec </dev/null
dirs='a
      a/b
      a/b/c
      a/b/c/d
      a/b/c/d/e
      a/b/c/d/e/f
      a/b/c/d/e/f/g
      a/b/c/d/e/f/g/h
      a/b/c/d/e/f/g/h/i
      a/b/c/d/e/f/g/h/i/j
      a/b/c/d/e/f/g/h/i/j/k
'
files=
mkdir $dirs dest1 dest2 dest3 || exit
for dir in $dirs; do
  for file in X Y Z; do
    echo $file >$dir/$file || exit
    files="$files $file"
  done
done

# Check that "ulimit" itself works.  Close file descriptors before
# invoking ulimit, to work around a bug (or a "feature") in some shells,
# where they squirrel away dups of file descriptors into FD 10 and up
# before closing the originals.
( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
   ulimit -n 100 &&
   tar -cf archive1.tar a &&
   tar -xf archive1.tar -C dest1 a
  ) &&
  diff -r a dest1/a
) >/dev/null 2>&1 ||
   exit 77

# Another test that "ulimit" itself works:
# tar should fail when completely starved of file descriptors.
( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
   ulimit -n 4 &&
   tar -cf archive2.tar a &&
   tar -xf archive2.tar -C dest2 a
  ) &&
  diff -r a dest2/a
) >/dev/null 2>&1 &&
   exit 77

# Test if it is possible to limit the number of file descriptors to 10.
( ulimit -n 10 ) >/dev/null 2>&1 || exit 77

# Tar should work when there are few, but enough, file descriptors.
( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
   ulimit -n 10 &&
   tar -cf archive3.tar a &&
   tar -xf archive3.tar -C dest3 a
  ) &&
  diff -r a dest3/a >/dev/null 2>&1
) || { diff -r a dest3/a; exit 1; }
)
./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
)
93. 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
)
93. extrac10.at:29:  ok
./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
)

91. extrac08.at:33:  ok
95. 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
)
94. extrac11.at:25:  ok

95. extrac12.at:25:  ok

96. 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
)
97. 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
)

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

98. extrac15.at:25:  ok
96. extrac13.at:26:  ok
99. 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
)


99. extrac16.at:26:  ok
100. 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/
)
101. 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
)

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

101. extrac18.at:34:  ok
102. extrac19.at:21:  ok
103. extrac20.at:21: testing keep-directory-symlink ...
./extrac20.at:24:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


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


for i in a b c
do
  dir=in$i
  mkdir -p $dir/root/dir $dir/root/dirsymlink
  touch $dir/root/dirsymlink/file$i
  test $i != a && touch $dir/root/dirsymlink/file.conflict
  tar cf archive$i.tar -C $dir root
done

prep()
{
  echo "== $1 =="
  echo "== $1 ==" >&2
  backup_dir=$1
  dir=out
  mkdir -p $dir/root/dir
  ln -s dir $dir/root/dirsymlink
  test $round = normal && cd $dir >/dev/null
}

clean()
{
  test $round = normal && cd .. >/dev/null
  find $dir | sort
  mv $dir $backup_dir
}

# Expand to '-f ../$1' or '-f $1 -C $dir' depending on $round variable
file_spec()
{
  if test $round = normal
  then
    echo "-f ../$1"
  else
    echo "-f $1 -C $dir"
  fi
}

for round in normal dir
do
  # Check that 'dirsymlink' replaces 'dir'
  prep without_option_$round
  tar -x `file_spec archivea.tar` || exit 1
  tar -x `file_spec archiveb.tar` || exit 1
  clean

  # Keep directory symlink must keep root/dirsymlink
  prep with_option_$round
  tar -x --keep-directory-symlink `file_spec archivea.tar` || exit 1
  tar -x --keep-directory-symlink `file_spec archiveb.tar` || exit 1
  clean

  prep collision_$round
  tar -x --keep-directory-symlink `file_spec archivea.tar` --keep-old-files || exit 1
  tar -x --keep-directory-symlink `file_spec archiveb.tar` --keep-old-files || exit 1
  tar -x --keep-directory-symlink `file_spec archivec.tar` --keep-old-files && exit 1
  clean
done
)


105. extrac22.at:19: testing delay-directory-restore on reversed ordering ...
./extrac22.at:29:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77


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

mkdir t
(cd t
 genfile --length 100 --file data1
 mkdir dir1
 cp data1 dir1
 mkdir dir2
 cd dir2
 ln -s ../dir1/data1 data2
 cd ..
 chmod -w dir2)

cat >filelist <<'_ATEOF'
./dir2/data2
./dir2
./dir1/data1
./dir1
./data1
_ATEOF


tar -C t -c -f a.tar --no-recursion -T filelist

mkdir restore
tar -x -p --delay-directory-restore -C restore -f a.tar
# Previous versions of tar would fail here with the following diagnostics:
# tar: ./dir2/data2: Cannot unlink: Permission denied
)
104. extrac21.at:31: testing delay-directory-restore ...
./extrac21.at:33:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77


mkdir a a/b a/c
genfile --file a/b/D
genfile --file a/c/A
cd a/b
ln -sf ../c/A
cd ../..
chmod a-w a/b
tar --no-recurs -c -f A.tar a a/b a/b/D a/c a/b/A a/c/A
mkdir out
tar -C out -v -x -f A.tar --delay-directory-restore
)
./extrac22.at:29:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77


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

mkdir t
(cd t
 genfile --length 100 --file data1
 mkdir dir1
 cp data1 dir1
 mkdir dir2
 cd dir2
 ln -s ../dir1/data1 data2
 cd ..
 chmod -w dir2)

cat >filelist <<'_ATEOF'
./dir2/data2
./dir2
./dir1/data1
./dir1
./data1
_ATEOF


tar -C t -c -f a.tar --no-recursion -T filelist

mkdir restore
tar -x -p --delay-directory-restore -C restore -f a.tar
# Previous versions of tar would fail here with the following diagnostics:
# tar: ./dir2/data2: Cannot unlink: Permission denied
)
104. extrac21.at:31:  ok

106. extrac23.at:18: testing --no-overwrite-dir ...
./extrac23.at:32:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

# Test if the directory permissions are restored properly.
mkdir dir
chmod 755 dir
tar cf a.tar dir
chmod 777 dir
tar -xf a.tar --no-overwrite-dir
genfile --stat=mode.777 dir

# Test if temporary permissions are set correctly to allow the owner
# to write to the directory.
genfile --file dir/file
tar cf a.tar dir
rm dir/file
chmod 400 dir
tar -xf a.tar --no-overwrite-dir
genfile --stat=mode.777 dir
chmod 700 dir
find dir
)
./extrac22.at:29:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77


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

mkdir t
(cd t
 genfile --length 100 --file data1
 mkdir dir1
 cp data1 dir1
 mkdir dir2
 cd dir2
 ln -s ../dir1/data1 data2
 cd ..
 chmod -w dir2)

cat >filelist <<'_ATEOF'
./dir2/data2
./dir2
./dir1/data1
./dir1
./data1
_ATEOF


tar -C t -c -f a.tar --no-recursion -T filelist

mkdir restore
tar -x -p --delay-directory-restore -C restore -f a.tar
# Previous versions of tar would fail here with the following diagnostics:
# tar: ./dir2/data2: Cannot unlink: Permission denied
)
./extrac23.at:32:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

# Test if the directory permissions are restored properly.
mkdir dir
chmod 755 dir
tar cf a.tar dir
chmod 777 dir
tar -xf a.tar --no-overwrite-dir
genfile --stat=mode.777 dir

# Test if temporary permissions are set correctly to allow the owner
# to write to the directory.
genfile --file dir/file
tar cf a.tar dir
rm dir/file
chmod 400 dir
tar -xf a.tar --no-overwrite-dir
genfile --stat=mode.777 dir
chmod 700 dir
find dir
)
./extrac22.at:29:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77


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

mkdir t
(cd t
 genfile --length 100 --file data1
 mkdir dir1
 cp data1 dir1
 mkdir dir2
 cd dir2
 ln -s ../dir1/data1 data2
 cd ..
 chmod -w dir2)

cat >filelist <<'_ATEOF'
./dir2/data2
./dir2
./dir1/data1
./dir1
./data1
_ATEOF


tar -C t -c -f a.tar --no-recursion -T filelist

mkdir restore
tar -x -p --delay-directory-restore -C restore -f a.tar
# Previous versions of tar would fail here with the following diagnostics:
# tar: ./dir2/data2: Cannot unlink: Permission denied
)
./extrac20.at:24:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


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


for i in a b c
do
  dir=in$i
  mkdir -p $dir/root/dir $dir/root/dirsymlink
  touch $dir/root/dirsymlink/file$i
  test $i != a && touch $dir/root/dirsymlink/file.conflict
  tar cf archive$i.tar -C $dir root
done

prep()
{
  echo "== $1 =="
  echo "== $1 ==" >&2
  backup_dir=$1
  dir=out
  mkdir -p $dir/root/dir
  ln -s dir $dir/root/dirsymlink
  test $round = normal && cd $dir >/dev/null
}

clean()
{
  test $round = normal && cd .. >/dev/null
  find $dir | sort
  mv $dir $backup_dir
}

# Expand to '-f ../$1' or '-f $1 -C $dir' depending on $round variable
file_spec()
{
  if test $round = normal
  then
    echo "-f ../$1"
  else
    echo "-f $1 -C $dir"
  fi
}

for round in normal dir
do
  # Check that 'dirsymlink' replaces 'dir'
  prep without_option_$round
  tar -x `file_spec archivea.tar` || exit 1
  tar -x `file_spec archiveb.tar` || exit 1
  clean

  # Keep directory symlink must keep root/dirsymlink
  prep with_option_$round
  tar -x --keep-directory-symlink `file_spec archivea.tar` || exit 1
  tar -x --keep-directory-symlink `file_spec archiveb.tar` || exit 1
  clean

  prep collision_$round
  tar -x --keep-directory-symlink `file_spec archivea.tar` --keep-old-files || exit 1
  tar -x --keep-directory-symlink `file_spec archiveb.tar` --keep-old-files || exit 1
  tar -x --keep-directory-symlink `file_spec archivec.tar` --keep-old-files && exit 1
  clean
done
)
./extrac23.at:32:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

# Test if the directory permissions are restored properly.
mkdir dir
chmod 755 dir
tar cf a.tar dir
chmod 777 dir
tar -xf a.tar --no-overwrite-dir
genfile --stat=mode.777 dir

# Test if temporary permissions are set correctly to allow the owner
# to write to the directory.
genfile --file dir/file
tar cf a.tar dir
rm dir/file
chmod 400 dir
tar -xf a.tar --no-overwrite-dir
genfile --stat=mode.777 dir
chmod 700 dir
find dir
)
./extrac22.at:29:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77


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

mkdir t
(cd t
 genfile --length 100 --file data1
 mkdir dir1
 cp data1 dir1
 mkdir dir2
 cd dir2
 ln -s ../dir1/data1 data2
 cd ..
 chmod -w dir2)

cat >filelist <<'_ATEOF'
./dir2/data2
./dir2
./dir1/data1
./dir1
./data1
_ATEOF


tar -C t -c -f a.tar --no-recursion -T filelist

mkdir restore
tar -x -p --delay-directory-restore -C restore -f a.tar
# Previous versions of tar would fail here with the following diagnostics:
# tar: ./dir2/data2: Cannot unlink: Permission denied
)
./extrac23.at:32:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

# Test if the directory permissions are restored properly.
mkdir dir
chmod 755 dir
tar cf a.tar dir
chmod 777 dir
tar -xf a.tar --no-overwrite-dir
genfile --stat=mode.777 dir

# Test if temporary permissions are set correctly to allow the owner
# to write to the directory.
genfile --file dir/file
tar cf a.tar dir
rm dir/file
chmod 400 dir
tar -xf a.tar --no-overwrite-dir
genfile --stat=mode.777 dir
chmod 700 dir
find dir
)
105. extrac22.at:19:  ok
./extrac23.at:32:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

# Test if the directory permissions are restored properly.
mkdir dir
chmod 755 dir
tar cf a.tar dir
chmod 777 dir
tar -xf a.tar --no-overwrite-dir
genfile --stat=mode.777 dir

# Test if temporary permissions are set correctly to allow the owner
# to write to the directory.
genfile --file dir/file
tar cf a.tar dir
rm dir/file
chmod 400 dir
tar -xf a.tar --no-overwrite-dir
genfile --stat=mode.777 dir
chmod 700 dir
find dir
)

107. extrac24.at:18: testing --to-stdout ...
./extrac24.at:29:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

mkdir dir/
echo TEXT > dir/file
tar cf a.tar dir
rm -r dir
tar --extract --to-stdout --file a.tar
test -d dir
)
106. extrac23.at:18:  ok
./extrac24.at:29:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

mkdir dir/
echo TEXT > dir/file
tar cf a.tar dir
rm -r dir
tar --extract --to-stdout --file a.tar
test -d dir
)

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

mkdir dir/
echo TEXT > dir/file
tar cf a.tar dir
rm -r dir
tar --extract --to-stdout --file a.tar
test -d dir
)
108. extrac25.at:18: testing extract over parent dir that is dangling symlink ...
./extrac25.at:21:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

mkdir subdir
touch subdir/a.txt
tar -cf test.tar subdir/a.txt

rm -rf subdir
ln -s does_not_exist subdir
tar -xvf test.tar
)
./extrac20.at:24:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


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


for i in a b c
do
  dir=in$i
  mkdir -p $dir/root/dir $dir/root/dirsymlink
  touch $dir/root/dirsymlink/file$i
  test $i != a && touch $dir/root/dirsymlink/file.conflict
  tar cf archive$i.tar -C $dir root
done

prep()
{
  echo "== $1 =="
  echo "== $1 ==" >&2
  backup_dir=$1
  dir=out
  mkdir -p $dir/root/dir
  ln -s dir $dir/root/dirsymlink
  test $round = normal && cd $dir >/dev/null
}

clean()
{
  test $round = normal && cd .. >/dev/null
  find $dir | sort
  mv $dir $backup_dir
}

# Expand to '-f ../$1' or '-f $1 -C $dir' depending on $round variable
file_spec()
{
  if test $round = normal
  then
    echo "-f ../$1"
  else
    echo "-f $1 -C $dir"
  fi
}

for round in normal dir
do
  # Check that 'dirsymlink' replaces 'dir'
  prep without_option_$round
  tar -x `file_spec archivea.tar` || exit 1
  tar -x `file_spec archiveb.tar` || exit 1
  clean

  # Keep directory symlink must keep root/dirsymlink
  prep with_option_$round
  tar -x --keep-directory-symlink `file_spec archivea.tar` || exit 1
  tar -x --keep-directory-symlink `file_spec archiveb.tar` || exit 1
  clean

  prep collision_$round
  tar -x --keep-directory-symlink `file_spec archivea.tar` --keep-old-files || exit 1
  tar -x --keep-directory-symlink `file_spec archiveb.tar` --keep-old-files || exit 1
  tar -x --keep-directory-symlink `file_spec archivec.tar` --keep-old-files && exit 1
  clean
done
)
./extrac24.at:29:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir dir/
echo TEXT > dir/file
tar cf a.tar dir
rm -r dir
tar --extract --to-stdout --file a.tar
test -d dir
)
./extrac25.at:21:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

mkdir subdir
touch subdir/a.txt
tar -cf test.tar subdir/a.txt

rm -rf subdir
ln -s does_not_exist subdir
tar -xvf test.tar
)
./extrac24.at:29:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir dir/
echo TEXT > dir/file
tar cf a.tar dir
rm -r dir
tar --extract --to-stdout --file a.tar
test -d dir
)
./extrac25.at:21:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

mkdir subdir
touch subdir/a.txt
tar -cf test.tar subdir/a.txt

rm -rf subdir
ln -s does_not_exist subdir
tar -xvf test.tar
)
107. extrac24.at:18:  ok
./extrac25.at:21:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir subdir
touch subdir/a.txt
tar -cf test.tar subdir/a.txt

rm -rf subdir
ln -s does_not_exist subdir
tar -xvf test.tar
)

109. 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
)
./extrac25.at:21:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir subdir
touch subdir/a.txt
tar -cf test.tar subdir/a.txt

rm -rf subdir
ln -s does_not_exist subdir
tar -xvf test.tar
)
./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
)
108. extrac25.at:18:  ok
./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
)
110. difflink.at:17: testing link mismatch ...
./difflink.at:19:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

mkdir a
genfile -f a/x
ln -s x a/y
ln a/x a/z
tar cf a.tar a/x a/y a/z
rm a/z
ln -s x a/z
tar df a.tar
)
109. backup01.at:33:  ok
110. difflink.at:17:  ok


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


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


for i in a b c
do
  dir=in$i
  mkdir -p $dir/root/dir $dir/root/dirsymlink
  touch $dir/root/dirsymlink/file$i
  test $i != a && touch $dir/root/dirsymlink/file.conflict
  tar cf archive$i.tar -C $dir root
done

prep()
{
  echo "== $1 =="
  echo "== $1 ==" >&2
  backup_dir=$1
  dir=out
  mkdir -p $dir/root/dir
  ln -s dir $dir/root/dirsymlink
  test $round = normal && cd $dir >/dev/null
}

clean()
{
  test $round = normal && cd .. >/dev/null
  find $dir | sort
  mv $dir $backup_dir
}

# Expand to '-f ../$1' or '-f $1 -C $dir' depending on $round variable
file_spec()
{
  if test $round = normal
  then
    echo "-f ../$1"
  else
    echo "-f $1 -C $dir"
  fi
}

for round in normal dir
do
  # Check that 'dirsymlink' replaces 'dir'
  prep without_option_$round
  tar -x `file_spec archivea.tar` || exit 1
  tar -x `file_spec archiveb.tar` || exit 1
  clean

  # Keep directory symlink must keep root/dirsymlink
  prep with_option_$round
  tar -x --keep-directory-symlink `file_spec archivea.tar` || exit 1
  tar -x --keep-directory-symlink `file_spec archiveb.tar` || exit 1
  clean

  prep collision_$round
  tar -x --keep-directory-symlink `file_spec archivea.tar` --keep-old-files || exit 1
  tar -x --keep-directory-symlink `file_spec archiveb.tar` --keep-old-files || exit 1
  tar -x --keep-directory-symlink `file_spec archivec.tar` --keep-old-files && exit 1
  clean
done
)
111. 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
)
112. 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
)
./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
)
./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
)
./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
)
./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
)
111. label01.at:21:  ok

112. label02.at:21:  ok
113. 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 $?
)

114. 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
)
./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 $?
)
./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
)
./extrac20.at:24:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


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


for i in a b c
do
  dir=in$i
  mkdir -p $dir/root/dir $dir/root/dirsymlink
  touch $dir/root/dirsymlink/file$i
  test $i != a && touch $dir/root/dirsymlink/file.conflict
  tar cf archive$i.tar -C $dir root
done

prep()
{
  echo "== $1 =="
  echo "== $1 ==" >&2
  backup_dir=$1
  dir=out
  mkdir -p $dir/root/dir
  ln -s dir $dir/root/dirsymlink
  test $round = normal && cd $dir >/dev/null
}

clean()
{
  test $round = normal && cd .. >/dev/null
  find $dir | sort
  mv $dir $backup_dir
}

# Expand to '-f ../$1' or '-f $1 -C $dir' depending on $round variable
file_spec()
{
  if test $round = normal
  then
    echo "-f ../$1"
  else
    echo "-f $1 -C $dir"
  fi
}

for round in normal dir
do
  # Check that 'dirsymlink' replaces 'dir'
  prep without_option_$round
  tar -x `file_spec archivea.tar` || exit 1
  tar -x `file_spec archiveb.tar` || exit 1
  clean

  # Keep directory symlink must keep root/dirsymlink
  prep with_option_$round
  tar -x --keep-directory-symlink `file_spec archivea.tar` || exit 1
  tar -x --keep-directory-symlink `file_spec archiveb.tar` || exit 1
  clean

  prep collision_$round
  tar -x --keep-directory-symlink `file_spec archivea.tar` --keep-old-files || exit 1
  tar -x --keep-directory-symlink `file_spec archiveb.tar` --keep-old-files || exit 1
  tar -x --keep-directory-symlink `file_spec archivec.tar` --keep-old-files && exit 1
  clean
done
)
114. label04.at:27:  ok

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

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

117. 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
)
103. extrac20.at:21:  ok
./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
)

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

119. listed01.at:26: testing --listed for individual files ...
./listed01.at:29:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

mkdir directory
genfile --length 10240 --pattern zeros --file directory/file1
# Let the things settle
sleep 1

tar --create \
    --file=archive.1 \
    --listed-incremental=listing \
    directory/file*

tar tf archive.1 || exit 1

sleep 2

genfile --length 10240 --pattern zeros --file directory/file2

echo "separator"
cp listing listing.old
tar --create \
    --file=archive.2 \
    --listed-incremental=listing \
    directory/file* || exit 1

tar tf archive.2 || exit 1
)
./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

)
./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
)
./listed01.at:29:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

mkdir directory
genfile --length 10240 --pattern zeros --file directory/file1
# Let the things settle
sleep 1

tar --create \
    --file=archive.1 \
    --listed-incremental=listing \
    directory/file*

tar tf archive.1 || exit 1

sleep 2

genfile --length 10240 --pattern zeros --file directory/file2

echo "separator"
cp listing listing.old
tar --create \
    --file=archive.2 \
    --listed-incremental=listing \
    directory/file* || exit 1

tar tf archive.2 || exit 1
)
./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 -
)
./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

)
./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
)
119. listed01.at:26:  ok

120. listed02.at:28: testing working --listed ...
./listed02.at:31:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

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

echo Create directories

mkdir tart
sleep 1
mkdir tart/c0
sleep 1
mkdir tart/c1
sleep 1

for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2
do
  echo File $file > $file
  sleep 1
done

sleep 1
echo Creating main archive
echo >&2 "Creating main archive"
tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1

# The above prints two lines to stderr announcing the new directories c0 and c1.
# Ensure that they appear in this script's stderr in sorted order.
sort err 1>&2; rm -f err

sleep 1
echo Modifying filesystem
rm tart/a1

mv tart/b1 tart/b2
mv tart/c1 tart/c2
touch tart/c2/ca3

echo Directory contents
find tart -print | sort 2>/dev/null

sleep 1
echo Creating incremental archive
echo >&2 "Creating incremental archive"
cp -p tart.incr1 tart.incr2
tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1

sleep 1

rm -rf tart/*
echo Extracting main archive
echo >&2 "Extracting main archive"
tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1
echo Extracting incremental archive
# This command should produce three messages about deletion
# of the existing files, that may appear in any order. Piping
# to sort makes sure we don't depend on any particular ordering.
tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null

echo Final files:
find tart -print | sort 2>/dev/null
)
./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

)
116. incremental.at:23:  ok

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

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

123. listed05.at:33: testing --listed-incremental and remounted directories ...
./listed05.at:36:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 || exit 77

options="-C tartest --create --one-file-system --verbose"
rm -rf archive-01.snar archive-01.tar tartest subdir

# Create initial structure
mkdir tartest
echo "hi" > tartest/top-level-file
mkdir tartest/subdir
echo "hi" > tartest/subdir/subdir-file

echo "# Level 0"
tar $options --file archive-0.tar --listed-incremental=archive-0.snar .

echo "# Remount"
mv tartest/subdir .
mkdir tartest/subdir
mount -t ramfs none tartest/subdir || exit 77
tar -C subdir -c -f - . | tar -C tartest/subdir -x -f -

echo "# Level 1"
cp archive-0.snar archive-1.snar
tar $options --file archive-1.tar --listed-incremental=archive-1.snar .

umount tartest/subdir
)
--- -	2024-01-03 04:59:32.302342026 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/123/stderr	2024-01-03 04:59:32.294857410 +0000
@@ -1,4 +1 @@
-tar: .: Directory is new
-tar: ./subdir: Directory is new
-tar: ./subdir: directory is on a different filesystem; not dumped
 
--- -	2024-01-03 04:59:32.303952497 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/123/stdout	2024-01-03 04:59:32.298857383 +0000
@@ -1,10 +1 @@
-# Level 0
-./
-./subdir/
-./top-level-file
-./subdir/subdir-file
-# Remount
-# Level 1
-./
-./subdir/
 
123. listed05.at:33:  skipped (listed05.at:36)

124. incr03.at:28: testing renamed files in incrementals ...
./incr03.at:31:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

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

mkdir directory
genfile --file=directory/x
genfile --file=directory/y

sleep 1

tar -cf archive.1 -g db directory

mv directory/x directory/z
cp db db.old
tar -cf archive.2 -g db directory

mv directory orig

echo Listing of archive.1
tar -tf archive.1 | sort
echo Listing of archive.2
tar -tf archive.2 | sort

echo Directory after first restore
tar -xf archive.1 -g db --warning=no-timestamp
find directory | sort

echo Directory after second restore
tar -xf archive.2 -g db --warning=no-timestamp
find directory | sort
)
64. exclude05.at:21:  ok

125. incr04.at:29: testing proper icontents initialization ...
./incr04.at:34:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

install-sh -d a/b >/dev/null  || exit 77
awk 'BEGIN {
  for (i=1;i<=142;i++)
    printf("a/b/one_31_chars_long_file_name_%03d\n", i);
  }' < /dev/null | genfile --files-from -

sleep 1

echo "Initial dump"
tar cvf a0.tar -g a.sna a
mv a/b a/c
echo "Incremental dump"
tar cvf a1.tar -g a.sna a
)
./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 -
)
./incr03.at:31:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

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

mkdir directory
genfile --file=directory/x
genfile --file=directory/y

sleep 1

tar -cf archive.1 -g db directory

mv directory/x directory/z
cp db db.old
tar -cf archive.2 -g db directory

mv directory orig

echo Listing of archive.1
tar -tf archive.1 | sort
echo Listing of archive.2
tar -tf archive.2 | sort

echo Directory after first restore
tar -xf archive.1 -g db --warning=no-timestamp
find directory | sort

echo Directory after second restore
tar -xf archive.2 -g db --warning=no-timestamp
find directory | sort
)
./incr04.at:34:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

install-sh -d a/b >/dev/null  || exit 77
awk 'BEGIN {
  for (i=1;i<=142;i++)
    printf("a/b/one_31_chars_long_file_name_%03d\n", i);
  }' < /dev/null | genfile --files-from -

sleep 1

echo "Initial dump"
tar cvf a0.tar -g a.sna a
mv a/b a/c
echo "Incremental dump"
tar cvf a1.tar -g a.sna a
)
./incr03.at:31:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

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

mkdir directory
genfile --file=directory/x
genfile --file=directory/y

sleep 1

tar -cf archive.1 -g db directory

mv directory/x directory/z
cp db db.old
tar -cf archive.2 -g db directory

mv directory orig

echo Listing of archive.1
tar -tf archive.1 | sort
echo Listing of archive.2
tar -tf archive.2 | sort

echo Directory after first restore
tar -xf archive.1 -g db --warning=no-timestamp
find directory | sort

echo Directory after second restore
tar -xf archive.2 -g db --warning=no-timestamp
find directory | sort
)
./incr04.at:34:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

install-sh -d a/b >/dev/null  || exit 77
awk 'BEGIN {
  for (i=1;i<=142;i++)
    printf("a/b/one_31_chars_long_file_name_%03d\n", i);
  }' < /dev/null | genfile --files-from -

sleep 1

echo "Initial dump"
tar cvf a0.tar -g a.sna a
mv a/b a/c
echo "Incremental dump"
tar cvf a1.tar -g a.sna a
)
124. incr03.at:28:  ok

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

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

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

129. incr08.at:38: testing filename normalization ...
./incr08.at:41:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

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

mkdir tartest
cd tartest
mkdir foo
mkdir foo/subdir
mkdir foo/subdir/dir1
mkdir subdir
mkdir subdir/dir2
decho A
find .|sort

decho B
DIR=`pwd`
tar -cvf ../foo.tar --listed-incremental=../foo.snar -C foo . $DIR
)
stderr:
A
B
tar: .: Directory is new
tar: ./subdir: Directory is new
tar: ./subdir/dir1: Directory is new
tar: /<<PKGBUILDDIR>>/tests/testsuite.dir/129/gnu/tartest: Directory is new
tar: /<<PKGBUILDDIR>>/tests/testsuite.dir/129/gnu/tartest/subdir: Directory is new
tar: /<<PKGBUILDDIR>>/tests/testsuite.dir/129/gnu/tartest/subdir/dir2: Directory is new
tar: Removing leading `/' from member names
stdout:
A
.
./foo
./foo/subdir
./foo/subdir/dir1
./subdir
./subdir/dir2
B
./
./subdir/
./subdir/dir1/
/<<PKGBUILDDIR>>/tests/testsuite.dir/129/gnu/tartest/
/<<PKGBUILDDIR>>/tests/testsuite.dir/129/gnu/tartest/subdir/
/<<PKGBUILDDIR>>/tests/testsuite.dir/129/gnu/tartest/subdir/dir2/
./incr08.at:41:
DIR=`pwd`/gnu/tartest
sed "s|$DIR|ABSPATH|" stdout

./incr08.at:41:
DIR=`pwd`/gnu/tartest
sed "/tar: Removing leading \`\/*\/' from/d;s|$DIR|ABSPATH|" stderr
129. incr08.at:38:  ok

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

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

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

133. filerem01.at:36: testing file removed as we read it ...
./filerem01.at:39:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir dir
mkdir dir/sub
genfile --file dir/file1
genfile --file dir/sub/file2

genfile --run --checkpoint=3 --unlink dir/file1 -- \
       tar --blocking-factor=1 -c -f archive.tar \
       --listed-incremental db -v dir >/dev/null
)
stdout:
./filerem01.at:39:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir dir
mkdir dir/sub
genfile --file dir/file1
genfile --file dir/sub/file2

genfile --run --checkpoint=3 --unlink dir/file1 -- \
       tar --blocking-factor=1 -c -f archive.tar \
       --listed-incremental db -v dir >/dev/null
)
125. incr04.at:29:  ok
stdout:
133. filerem01.at:36:  ok


134. filerem02.at:26: testing toplevel file removed ...
./filerem02.at:29:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir dir
mkdir dir/sub
genfile --file dir/file1
genfile --file dir/sub/file2
mkdir dir2
genfile --file dir2/file1

genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \
       tar --blocking-factor=1 -c -f archive.tar \
       --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null
)
135. dirrem01.at:38: testing directory removed before reading ...
./dirrem01.at:41:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir dir
mkdir dir/sub
genfile --file dir/file1
genfile --file dir/sub/file2

case "$TEST_TAR_FORMAT" in
posix) CPT=5;;
gnu)   CPT=3;;
*)     exit 77
esac

genfile --run --checkpoint=$CPT --unlink dir/sub/file2 --unlink dir/sub -- \
       tar --blocking-factor=1 -c -f archive.tar \
       --listed-incremental db \
       --warning=no-file-changed \
       -v dir >/dev/null
)
stderr:
tar: dir2: Cannot stat: No such file or directory
tar: dir2: Cannot open: No such file or directory
tar: Exiting with failure status due to previous errors
stdout:
./filerem02.at:29:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir dir
mkdir dir/sub
genfile --file dir/file1
genfile --file dir/sub/file2
mkdir dir2
genfile --file dir2/file1

genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \
       tar --blocking-factor=1 -c -f archive.tar \
       --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null
)
stdout:
./dirrem01.at:41:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir dir
mkdir dir/sub
genfile --file dir/file1
genfile --file dir/sub/file2

case "$TEST_TAR_FORMAT" in
posix) CPT=5;;
gnu)   CPT=3;;
*)     exit 77
esac

genfile --run --checkpoint=$CPT --unlink dir/sub/file2 --unlink dir/sub -- \
       tar --blocking-factor=1 -c -f archive.tar \
       --listed-incremental db \
       --warning=no-file-changed \
       -v dir >/dev/null
)
stdout:
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:
135. dirrem01.at:38:  ok
134. filerem02.at:26:  ok


136. dirrem02.at:31: testing explicitly named directory removed before reading ...
./dirrem02.at:34:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir dir
mkdir dir/sub
genfile --file dir/file1
genfile --file dir/sub/file2

case "$TEST_TAR_FORMAT" in
posix) CPT=5;;
gnu)   CPT=3;;
*)     exit 77
esac

genfile --run --checkpoint=$CPT --unlink dir/sub/file2 --unlink dir/sub -- \
       tar --blocking-factor=1 -c -f archive.tar \
       --listed-incremental db \
       --warning=no-file-changed \
       -v dir dir/sub >/dev/null
)
137. rename01.at:24: testing renamed dirs in incrementals ...
./rename01.at:27:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


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


mkdir foo
genfile --file foo/file1
genfile --file foo/file2
mkdir foo/bar
genfile --file foo/bar/file

echo "Creating base archive"
tar -g incr -cf arch.1 -v foo

mv foo/bar foo/baz

echo "Creating incremental archive"
tar -g incr -cf arch.2 -v foo

mv foo old

tar xfg arch.1 /dev/null

echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"

tar xfg arch.2 /dev/null
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
)
stdout:
./dirrem02.at:34:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir dir
mkdir dir/sub
genfile --file dir/file1
genfile --file dir/sub/file2

case "$TEST_TAR_FORMAT" in
posix) CPT=5;;
gnu)   CPT=3;;
*)     exit 77
esac

genfile --run --checkpoint=$CPT --unlink dir/sub/file2 --unlink dir/sub -- \
       tar --blocking-factor=1 -c -f archive.tar \
       --listed-incremental db \
       --warning=no-file-changed \
       -v dir dir/sub >/dev/null
)
stdout:
./rename01.at:27:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


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


mkdir foo
genfile --file foo/file1
genfile --file foo/file2
mkdir foo/bar
genfile --file foo/bar/file

echo "Creating base archive"
tar -g incr -cf arch.1 -v foo

mv foo/bar foo/baz

echo "Creating incremental archive"
tar -g incr -cf arch.2 -v foo

mv foo old

tar xfg arch.1 /dev/null

echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"

tar xfg arch.2 /dev/null
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
)
136. dirrem02.at:31:  ok

138. rename02.at:24: testing move between hierarchies ...
./rename02.at:27:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


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

mkdir foo
genfile --file foo/file1
genfile --file foo/file2
mkdir foo/bar
genfile --file foo/bar/file.r
mkdir foo/bar/baz
genfile --file foo/bar/baz/file.z

sleep 1

echo "Creating base archive"
tar -g incr -cf arch.1 -v foo

mv foo/bar/baz foo

echo "Creating incremental archive"
tar -g incr -cf arch.2 -v foo

mv foo old

tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr
sort tmperr >&2

echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"

tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
)
./rename01.at:27:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


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


mkdir foo
genfile --file foo/file1
genfile --file foo/file2
mkdir foo/bar
genfile --file foo/bar/file

echo "Creating base archive"
tar -g incr -cf arch.1 -v foo

mv foo/bar foo/baz

echo "Creating incremental archive"
tar -g incr -cf arch.2 -v foo

mv foo old

tar xfg arch.1 /dev/null

echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"

tar xfg arch.2 /dev/null
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
)
137. rename01.at:24:  ok

139. rename03.at:23: testing cyclic renames ...
./rename03.at:26:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


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


mkdir foo
genfile --file foo/file1
genfile --file foo/file2

mkdir foo/a
genfile --file foo/a/filea

mkdir foo/b
genfile --file foo/b/fileb

mkdir foo/c
genfile --file foo/c/filec

sleep 1

echo "First dump"
echo "First dump">&2
tar -g incr -cf arch.1 -v foo 2>tmperr
sort tmperr >&2

# Shuffle directories:
(cd foo
mv a $$
mv c a
mv b c
mv $$ b)

echo "Second dump"
echo "Second dump" >&2
tar -g incr -cf arch.2 -v foo 2>tmperr
sort tmperr >&2

tar xfg arch.1 /dev/null --warning=no-timestamp

echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"

tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
)
./rename02.at:27:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


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

mkdir foo
genfile --file foo/file1
genfile --file foo/file2
mkdir foo/bar
genfile --file foo/bar/file.r
mkdir foo/bar/baz
genfile --file foo/bar/baz/file.z

sleep 1

echo "Creating base archive"
tar -g incr -cf arch.1 -v foo

mv foo/bar/baz foo

echo "Creating incremental archive"
tar -g incr -cf arch.2 -v foo

mv foo old

tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr
sort tmperr >&2

echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"

tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
)
./rename03.at:26:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


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


mkdir foo
genfile --file foo/file1
genfile --file foo/file2

mkdir foo/a
genfile --file foo/a/filea

mkdir foo/b
genfile --file foo/b/fileb

mkdir foo/c
genfile --file foo/c/filec

sleep 1

echo "First dump"
echo "First dump">&2
tar -g incr -cf arch.1 -v foo 2>tmperr
sort tmperr >&2

# Shuffle directories:
(cd foo
mv a $$
mv c a
mv b c
mv $$ b)

echo "Second dump"
echo "Second dump" >&2
tar -g incr -cf arch.2 -v foo 2>tmperr
sort tmperr >&2

tar xfg arch.1 /dev/null --warning=no-timestamp

echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"

tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
)
./rename02.at:27:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


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

mkdir foo
genfile --file foo/file1
genfile --file foo/file2
mkdir foo/bar
genfile --file foo/bar/file.r
mkdir foo/bar/baz
genfile --file foo/bar/baz/file.z

sleep 1

echo "Creating base archive"
tar -g incr -cf arch.1 -v foo

mv foo/bar/baz foo

echo "Creating incremental archive"
tar -g incr -cf arch.2 -v foo

mv foo old

tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr
sort tmperr >&2

echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"

tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
)
118. incr02.at:32:  ok

140. 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
)
./rename03.at:26:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


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


mkdir foo
genfile --file foo/file1
genfile --file foo/file2

mkdir foo/a
genfile --file foo/a/filea

mkdir foo/b
genfile --file foo/b/fileb

mkdir foo/c
genfile --file foo/c/filec

sleep 1

echo "First dump"
echo "First dump">&2
tar -g incr -cf arch.1 -v foo 2>tmperr
sort tmperr >&2

# Shuffle directories:
(cd foo
mv a $$
mv c a
mv b c
mv $$ b)

echo "Second dump"
echo "Second dump" >&2
tar -g incr -cf arch.2 -v foo 2>tmperr
sort tmperr >&2

tar xfg arch.1 /dev/null --warning=no-timestamp

echo "Begin directory listing 1"
find foo | sort
echo "End directory listing 1"

tar xfgv arch.2 /dev/null --warning=no-timestamp
echo Begin directory listing 2
find foo | sort
echo End directory listing 2
)
./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
)
140. rename04.at:27:  ok

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

142. rename06.at:19: testing chained renames ...
./rename06.at:29:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


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

decho Creating directory structure
mkdir test test/d1 test/d2
genfile --file test/d1/file1
genfile --file test/d2/file2

decho First dump
tar -c -g 0.snar -C test -f backup0.tar .

decho Altering directory structure
genfile --file test/d2/file3
mv test/d1 test/d3
mv test/d2 test/d1

decho Second dump
cp 0.snar 1.snar
tar -vc -g 1.snar -C test -f backup1.tar .

mkdir test1

decho First extract
tar -C test1 -x -g /dev/null -f backup0.tar

decho Second extract
tar -C test1 -x -g /dev/null -f backup1.tar

decho Resulting directory
find test1 | sort
)
./rename06.at:29:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


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

decho Creating directory structure
mkdir test test/d1 test/d2
genfile --file test/d1/file1
genfile --file test/d2/file2

decho First dump
tar -c -g 0.snar -C test -f backup0.tar .

decho Altering directory structure
genfile --file test/d2/file3
mv test/d1 test/d3
mv test/d2 test/d1

decho Second dump
cp 0.snar 1.snar
tar -vc -g 1.snar -C test -f backup1.tar .

mkdir test1

decho First extract
tar -C test1 -x -g /dev/null -f backup0.tar

decho Second extract
tar -C test1 -x -g /dev/null -f backup1.tar

decho Resulting directory
find test1 | sort
)
./rename06.at:29:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


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

decho Creating directory structure
mkdir test test/d1 test/d2
genfile --file test/d1/file1
genfile --file test/d2/file2

decho First dump
tar -c -g 0.snar -C test -f backup0.tar .

decho Altering directory structure
genfile --file test/d2/file3
mv test/d1 test/d3
mv test/d2 test/d1

decho Second dump
cp 0.snar 1.snar
tar -vc -g 1.snar -C test -f backup1.tar .

mkdir test1

decho First extract
tar -C test1 -x -g /dev/null -f backup0.tar

decho Second extract
tar -C test1 -x -g /dev/null -f backup1.tar

decho Resulting directory
find test1 | sort
)
142. rename06.at:19:  ok

143. 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
)
138. rename02.at:24:  ok

144. ignfail.at:23: testing ignfail ...
./ignfail.at:26:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

# The test is meaningless for super-user.

echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77


touch file
mkdir directory
touch directory/file

echo 1>&2 -----
chmod 000 file
tar cf archive file
status=$?
chmod 600 file
test $status = 2 || exit 1

echo 1>&2 -----
chmod 000 file
tar cf archive --ignore-failed-read file || exit 1
status=$?
chmod 600 file
test $status = 0 || exit 1

echo 1>&2 -----
chmod 000 directory
tar cf archive directory
status=$?
chmod 700 directory
test $status = 2 || exit 1

echo 1>&2 -----
chmod 000 directory
tar cf archive --ignore-failed-read directory || exit 1
status=$?
chmod 700 directory
test $status = 0
)
./ignfail.at:26:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

# The test is meaningless for super-user.

echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77


touch file
mkdir directory
touch directory/file

echo 1>&2 -----
chmod 000 file
tar cf archive file
status=$?
chmod 600 file
test $status = 2 || exit 1

echo 1>&2 -----
chmod 000 file
tar cf archive --ignore-failed-read file || exit 1
status=$?
chmod 600 file
test $status = 0 || exit 1

echo 1>&2 -----
chmod 000 directory
tar cf archive directory
status=$?
chmod 700 directory
test $status = 2 || exit 1

echo 1>&2 -----
chmod 000 directory
tar cf archive --ignore-failed-read directory || exit 1
status=$?
chmod 700 directory
test $status = 0
)
./ignfail.at:26:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

# The test is meaningless for super-user.

echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77


touch file
mkdir directory
touch directory/file

echo 1>&2 -----
chmod 000 file
tar cf archive file
status=$?
chmod 600 file
test $status = 2 || exit 1

echo 1>&2 -----
chmod 000 file
tar cf archive --ignore-failed-read file || exit 1
status=$?
chmod 600 file
test $status = 0 || exit 1

echo 1>&2 -----
chmod 000 directory
tar cf archive directory
status=$?
chmod 700 directory
test $status = 2 || exit 1

echo 1>&2 -----
chmod 000 directory
tar cf archive --ignore-failed-read directory || exit 1
status=$?
chmod 700 directory
test $status = 0
)
139. rename03.at:23:  ok

./ignfail.at:26:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

# The test is meaningless for super-user.

echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77


touch file
mkdir directory
touch directory/file

echo 1>&2 -----
chmod 000 file
tar cf archive file
status=$?
chmod 600 file
test $status = 2 || exit 1

echo 1>&2 -----
chmod 000 file
tar cf archive --ignore-failed-read file || exit 1
status=$?
chmod 600 file
test $status = 0 || exit 1

echo 1>&2 -----
chmod 000 directory
tar cf archive directory
status=$?
chmod 700 directory
test $status = 2 || exit 1

echo 1>&2 -----
chmod 000 directory
tar cf archive --ignore-failed-read directory || exit 1
status=$?
chmod 700 directory
test $status = 0
)
145. link01.at:33: testing link count gt 2 ...
./link01.at:36:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

mkdir directory
mkdir directory/test1
mkdir directory/test2

echo TEST > directory/test1/test.txt
ln directory/test1/test.txt directory/test2/test.txt || exit 77

tar cf archive directory/test1/test.txt directory/test1/test.txt

rm -r directory
tar xf archive --warning=no-timestamp

ls directory/test1
)
./link01.at:36:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

mkdir directory
mkdir directory/test1
mkdir directory/test2

echo TEST > directory/test1/test.txt
ln directory/test1/test.txt directory/test2/test.txt || exit 77

tar cf archive directory/test1/test.txt directory/test1/test.txt

rm -r directory
tar xf archive --warning=no-timestamp

ls directory/test1
)
./ignfail.at:26:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

# The test is meaningless for super-user.

echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77


touch file
mkdir directory
touch directory/file

echo 1>&2 -----
chmod 000 file
tar cf archive file
status=$?
chmod 600 file
test $status = 2 || exit 1

echo 1>&2 -----
chmod 000 file
tar cf archive --ignore-failed-read file || exit 1
status=$?
chmod 600 file
test $status = 0 || exit 1

echo 1>&2 -----
chmod 000 directory
tar cf archive directory
status=$?
chmod 700 directory
test $status = 2 || exit 1

echo 1>&2 -----
chmod 000 directory
tar cf archive --ignore-failed-read directory || exit 1
status=$?
chmod 700 directory
test $status = 0
)
./link01.at:36:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

mkdir directory
mkdir directory/test1
mkdir directory/test2

echo TEST > directory/test1/test.txt
ln directory/test1/test.txt directory/test2/test.txt || exit 77

tar cf archive directory/test1/test.txt directory/test1/test.txt

rm -r directory
tar xf archive --warning=no-timestamp

ls directory/test1
)
./link01.at:36:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir directory
mkdir directory/test1
mkdir directory/test2

echo TEST > directory/test1/test.txt
ln directory/test1/test.txt directory/test2/test.txt || exit 77

tar cf archive directory/test1/test.txt directory/test1/test.txt

rm -r directory
tar xf archive --warning=no-timestamp

ls directory/test1
)
144. ignfail.at:23:  ok

./link01.at:36:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir directory
mkdir directory/test1
mkdir directory/test2

echo TEST > directory/test1/test.txt
ln directory/test1/test.txt directory/test2/test.txt || exit 77

tar cf archive directory/test1/test.txt directory/test1/test.txt

rm -r directory
tar xf archive --warning=no-timestamp

ls directory/test1
)
146. 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'
)
145. link01.at:33:  ok
./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'
)
147. 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'
)
./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'
)
./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'
)
./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'
)
146. link02.at:32:  ok
./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'
)

148. 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
)
./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'
)
./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
)
./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'
)
./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
)
147. link03.at:24:  ok
./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
)
149. longv7.at:24: testing long names in V7 archives ...
./longv7.at:30:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

mkdir this_is_a_very_long_name_for_a_directory_which_causes_problems
touch this_is_a_very_long_name_for_a_directory_which_causes_problems/this_is_a_very_long_file_name_which_raises_issues.c

tar cf archive this_is_a_very_long_name_for_a_directory_which_causes_problems
echo separator
tar tf archive
)
149. longv7.at:24:  ok
148. link04.at:29:  ok


150. 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)
151. 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
)
151. lustar01.at:21:  ok
./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)

152. 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
)
150. long01.at:28:  ok
152. lustar02.at:21:  ok


153. 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)
154. old.at:23: testing old archives ...
./old.at:27:
mkdir directory
tar cfvo archive directory || exit 1
tar tf archive

154. old.at:23:  ok

153. lustar03.at:21:  ok

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

157. multiv01.at:23: testing multivolume dumps from pipes ...
./multiv01.at:30:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

exec <&-
genfile --length 7168 --file file1

for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \
              " 9" "10" "11" "12" "13" "14" "15" "16" ; do \
  echo "file2  block ${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla"
  for count in 2 3 4 5 6 7 8 ; do
    echo "bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla"
  done
done >file2

if test $TEST_TAR_FORMAT = pax; then
  TAPE_LENGTH=11
else
  TAPE_LENGTH=10
fi

tar -c --multi-volume --tape-length=$TAPE_LENGTH \
  -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1

mkdir extract-dir-pipe
dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null |
PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \
      -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \
      --tape-length=$TAPE_LENGTH --read-full-records || exit 1

cmp file1 extract-dir-pipe/file1
cmp file2 extract-dir-pipe/file2
)
./multiv01.at:30:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

exec <&-
genfile --length 7168 --file file1

for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \
              " 9" "10" "11" "12" "13" "14" "15" "16" ; do \
  echo "file2  block ${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla"
  for count in 2 3 4 5 6 7 8 ; do
    echo "bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla"
  done
done >file2

if test $TEST_TAR_FORMAT = pax; then
  TAPE_LENGTH=11
else
  TAPE_LENGTH=10
fi

tar -c --multi-volume --tape-length=$TAPE_LENGTH \
  -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1

mkdir extract-dir-pipe
dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null |
PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \
      -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \
      --tape-length=$TAPE_LENGTH --read-full-records || exit 1

cmp file1 extract-dir-pipe/file1
cmp file2 extract-dir-pipe/file2
)
./multiv01.at:30:
mkdir pax
(cd pax
TEST_TAR_FORMAT=pax
export TEST_TAR_FORMAT
TAR_OPTIONS="-H pax"
export TAR_OPTIONS
rm -rf *

exec <&-
genfile --length 7168 --file file1

for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \
              " 9" "10" "11" "12" "13" "14" "15" "16" ; do \
  echo "file2  block ${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla"
  for count in 2 3 4 5 6 7 8 ; do
    echo "bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla"
  done
done >file2

if test $TEST_TAR_FORMAT = pax; then
  TAPE_LENGTH=11
else
  TAPE_LENGTH=10
fi

tar -c --multi-volume --tape-length=$TAPE_LENGTH \
  -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1

mkdir extract-dir-pipe
dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null |
PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \
      -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \
      --tape-length=$TAPE_LENGTH --read-full-records || exit 1

cmp file1 extract-dir-pipe/file1
cmp file2 extract-dir-pipe/file2
)
157. multiv01.at:23:  ok

158. multiv02.at:28: testing skipping a straddling member ...
./multiv02.at:31:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --length 10240 --file en
genfile --length 20000 --file to
genfile --length 20000 --file tre
genfile --length 10240 --file fire

exec <&-

tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
echo separator
tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1
)
./multiv02.at:31:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --length 10240 --file en
genfile --length 20000 --file to
genfile --length 20000 --file tre
genfile --length 10240 --file fire

exec <&-

tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
echo separator
tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1
)
./multiv02.at:31:
mkdir pax
(cd pax
TEST_TAR_FORMAT=pax
export TEST_TAR_FORMAT
TAR_OPTIONS="-H pax"
export TAR_OPTIONS
rm -rf *

genfile --length 10240 --file en
genfile --length 20000 --file to
genfile --length 20000 --file tre
genfile --length 10240 --file fire

exec <&-

tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
echo separator
tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1
)
158. multiv02.at:28:  ok

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

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

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

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

163. multiv07.at:28: testing volumes split at an extended header ...
./multiv07.at:31:


test -z "$TEST_DATA_DIR" && exit 77
tarball_prereq xsplit-1.tar 0e008c84c517e48fbf23ca6a7033cde6 $TEST_DATA_DIR $TEST_DATA_URL || exit 77

test -z "$TEST_DATA_DIR" && exit 77
tarball_prereq xsplit-2.tar 03150b9852d285458f43734e9e0b9a45 $TEST_DATA_DIR $TEST_DATA_URL || exit 77

exec <&-

cd $TEST_DATA_DIR
tar -t -M -fxsplit-1.tar -fxsplit-2.tar

--- -	2024-01-03 04:59:40.403895713 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/163/stdout	2024-01-03 04:59:40.398802673 +0000
@@ -1,4 +1 @@
-Archive volumes split at an extended header Volume 1
-foo
-bar
 
163. multiv07.at:28:  skipped (multiv07.at:31)

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

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

./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
)
166. multiv10.at:37: testing file start at the beginning of a posix volume ...
./multiv10.at:40:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

set -e
genfile --length=15360 --file data1
genfile --length=15360 --file data2
tar -v -c -L 10 -M -f 1.tar -f 2.tar -f 3.tar -f 4.tar -f 5.tar data1 data2
tar -M -t -f 1.tar -f 2.tar -f 3.tar -f 4.tar -f 5.tar
mkdir out
tar -C out -M -x -f 1.tar -f 2.tar -f 3.tar -f 4.tar -f 5.tar
cmp data1 out/data1
cmp data2 out/data2
)
166. multiv10.at:37:  ok

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

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

169. sparse01.at:21: testing sparse files ...
./sparse01.at:24:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile --length 1000 -f begin
genfile --length 1000 -f end
genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77
tar -c -f archive --sparse begin sparsefile end || exit 1
echo separator

tar tfv archive
echo separator
mkdir directory
tar Cxf directory archive --warning=no-timestamp
genfile --stat=name,size sparsefile
cmp sparsefile directory/sparsefile
)
stdout:
separator
-rw-r--r-- buildd/buildd  1000 2024-01-03 04:59 begin
-rw-r--r-- buildd/buildd 3102720 2024-01-03 04:59 sparsefile
-rw-r--r-- buildd/buildd    1000 2024-01-03 04:59 end
separator
sparsefile 3102720
./sparse01.at:24:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --length 1000 -f begin
genfile --length 1000 -f end
genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77
tar -c -f archive --sparse begin sparsefile end || exit 1
echo separator

tar tfv archive
echo separator
mkdir directory
tar Cxf directory archive --warning=no-timestamp
genfile --stat=name,size sparsefile
cmp sparsefile directory/sparsefile
)
stdout:
separator
-rw-r--r-- buildd/buildd  1000 2024-01-03 04:59 begin
-rw-r--r-- buildd/buildd 3102720 2024-01-03 04:59 sparsefile
-rw-r--r-- buildd/buildd    1000 2024-01-03 04:59 end
separator
sparsefile 3102720
./sparse01.at:24:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --length 1000 -f begin
genfile --length 1000 -f end
genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77
tar -c -f archive --sparse begin sparsefile end || exit 1
echo separator

tar tfv archive
echo separator
mkdir directory
tar Cxf directory archive --warning=no-timestamp
genfile --stat=name,size sparsefile
cmp sparsefile directory/sparsefile
)
stdout:
separator
-rw-r--r-- buildd/buildd  1000 2024-01-03 04:59 begin
-rw-r--r-- buildd/buildd 3102720 2024-01-03 04:59 sparsefile
-rw-r--r-- buildd/buildd    1000 2024-01-03 04:59 end
separator
sparsefile 3102720
169. sparse01.at:21:  ok

170. sparse02.at:21: testing extracting sparse file over a pipe ...
./sparse02.at:28:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77
tar --hole-detection=raw -c -f archive --sparse sparsefile || exit 1
echo separator

tar xfO archive | cat - > sparsecopy || exit 1
cmp sparsefile sparsecopy
)
./sparse02.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77
tar --hole-detection=raw -c -f archive --sparse sparsefile || exit 1
echo separator

tar xfO archive | cat - > sparsecopy || exit 1
cmp sparsefile sparsecopy
)
./sparse02.at:28:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77
tar --hole-detection=raw -c -f archive --sparse sparsefile || exit 1
echo separator

tar xfO archive | cat - > sparsecopy || exit 1
cmp sparsefile sparsecopy
)
170. sparse02.at:21:  ok

171. sparse03.at:21: testing storing sparse files > 8G ...
./sparse03.at:29:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

test "${TARTEST_SKIP_LARGE_FILES:-0}" != 0 && exit 77
genfile --length 1000 --file begin
genfile --length 1000 --file end
genfile --sparse --file sparsefile --block-size 512 8G A || exit 77
tar -c -f archive --sparse begin sparsefile end || exit 1
echo separator

tar tfv archive
echo separator
mkdir directory
tar Cxf directory archive
genfile --stat=name,size sparsefile
cmp sparsefile directory/sparsefile
)
./listed02.at:31:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

ckmtime || exit 77

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

echo Create directories

mkdir tart
sleep 1
mkdir tart/c0
sleep 1
mkdir tart/c1
sleep 1

for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2
do
  echo File $file > $file
  sleep 1
done

sleep 1
echo Creating main archive
echo >&2 "Creating main archive"
tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1

# The above prints two lines to stderr announcing the new directories c0 and c1.
# Ensure that they appear in this script's stderr in sorted order.
sort err 1>&2; rm -f err

sleep 1
echo Modifying filesystem
rm tart/a1

mv tart/b1 tart/b2
mv tart/c1 tart/c2
touch tart/c2/ca3

echo Directory contents
find tart -print | sort 2>/dev/null

sleep 1
echo Creating incremental archive
echo >&2 "Creating incremental archive"
cp -p tart.incr1 tart.incr2
tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1

sleep 1

rm -rf tart/*
echo Extracting main archive
echo >&2 "Extracting main archive"
tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1
echo Extracting incremental archive
# This command should produce three messages about deletion
# of the existing files, that may appear in any order. Piping
# to sort makes sure we don't depend on any particular ordering.
tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null

echo Final files:
find tart -print | sort 2>/dev/null
)
./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
)
./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)
143. chtype.at:27:  ok

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

173. sparse05.at:21: testing listing sparse files bigger than 2^33 B ...
./sparse05.at:31:
mkdir pax
(cd pax
TEST_TAR_FORMAT=pax
export TEST_TAR_FORMAT
TAR_OPTIONS="-H pax"
export TAR_OPTIONS
rm -rf *

test "${TARTEST_SKIP_LARGE_FILES:-0}" != 0 && exit 77
cat >mapfile <<'_ATEOF'
0 =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
10M =2560
_ATEOF

genfile --sparse --file BIGFILE --block-size 4K - < mapfile || exit 77
tar -f - -c --sparse --posix BIGFILE | tar tvf - | awk '{ print $3, $(NF) }'
)
160. multiv04.at:36:  ok

174. sparse06.at:21: testing storing sparse file using seek method ...
./sparse06.at:32:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


checkseekhole || exit 77


TAR_OPTIONS="$TAR_OPTIONS --hole-detection=seek"
genfile --sparse --file bigsparse 0 ABC 8G DEF || exit 77
tar -cSf a bigsparse
test $? -eq 0 || exit 1


rm -rf out archive.tar smallsparse && mkdir out
genfile --sparse --quiet --file smallsparse 0 ABC || exit 77
tar -cSf archive.tar smallsparse
tar -xf archive.tar -C out
cmp smallsparse out/smallsparse


rm -rf out archive.tar smallsparse && mkdir out
genfile --sparse --quiet --file smallsparse 0 ABC 10M || exit 77
tar -cSf archive.tar smallsparse
tar -xf archive.tar -C out
cmp smallsparse out/smallsparse


rm -rf out archive.tar smallsparse && mkdir out
genfile --sparse --quiet --file smallsparse 0 ABC 10M DEF || exit 77
tar -cSf archive.tar smallsparse
tar -xf archive.tar -C out
cmp smallsparse out/smallsparse



rm -rf out archive.tar smallsparse && mkdir out
genfile --sparse --quiet --file smallsparse 10M || exit 77
tar -cSf archive.tar smallsparse
tar -xf archive.tar -C out
cmp smallsparse out/smallsparse


rm -rf out archive.tar smallsparse && mkdir out
genfile --sparse --quiet --file smallsparse 10M ABC || exit 77
tar -cSf archive.tar smallsparse
tar -xf archive.tar -C out
cmp smallsparse out/smallsparse


rm -rf out archive.tar smallsparse && mkdir out
genfile --sparse --quiet --file smallsparse 10M ABC 20M || exit 77
tar -cSf archive.tar smallsparse
tar -xf archive.tar -C out
cmp smallsparse out/smallsparse



rm -rf out archive.tar smallsparse && mkdir out
genfile --sparse --quiet --file smallsparse 10M DEF 20M GHI 30M JKL 40M || exit 77
tar -cSf archive.tar smallsparse
tar -xf archive.tar -C out
cmp smallsparse out/smallsparse


)
174. sparse06.at:21:  ok

175. sparse07.at:21: testing sparse files with unicode names ...
./sparse07.at:24:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile --sparse --file žluť --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77
tar -c -f archive --sparse žluť || exit 1

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

genfile --sparse --file žluť --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77
tar -c -f archive --sparse žluť || exit 1

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

genfile --sparse --file žluť --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77
tar -c -f archive --sparse žluť || exit 1

tar tf archive
)
175. sparse07.at:21:  ok

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

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

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

179. 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
)
179. spmvp10.at:21:  ok
120. listed02.at:28:  ok


180. sptrcreat.at:33: testing sparse file truncated while archiving ...
./sptrcreat.at:36:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile --sparse --block-size=1024 --file foo \
  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ || exit 77
genfile --file baz
genfile --run --checkpoint 3 --length 200m --truncate foo -- \
 tar --sparse -vcf bar foo baz
echo Exit status: $?
echo separator
genfile --file foo --seek 200m --length 11575296 --pattern=zeros
tar dvf bar | sed '/foo: Mod time differs/d')
181. sptrdiff00.at:26: testing file truncated in sparse region while comparing ...
./sptrdiff00.at:30:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile --sparse --block-size=1024 --file foo \
  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ || exit 77
genfile --file baz
echo creating
tar --sparse -vcf bar foo baz
echo comparing
genfile --run --checkpoint 3 --length 200m --truncate foo -- \
 tar --sparse -vdf bar
)
./sptrdiff00.at:30:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --sparse --block-size=1024 --file foo \
  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ || exit 77
genfile --file baz
echo creating
tar --sparse -vcf bar foo baz
echo comparing
genfile --run --checkpoint 3 --length 200m --truncate foo -- \
 tar --sparse -vdf bar
)
./sptrcreat.at:36:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --sparse --block-size=1024 --file foo \
  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ || exit 77
genfile --file baz
genfile --run --checkpoint 3 --length 200m --truncate foo -- \
 tar --sparse -vcf bar foo baz
echo Exit status: $?
echo separator
genfile --file foo --seek 200m --length 11575296 --pattern=zeros
tar dvf bar | sed '/foo: Mod time differs/d')
./sptrdiff00.at:30:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --sparse --block-size=1024 --file foo \
  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ || exit 77
genfile --file baz
echo creating
tar --sparse -vcf bar foo baz
echo comparing
genfile --run --checkpoint 3 --length 200m --truncate foo -- \
 tar --sparse -vdf bar
)
./sptrcreat.at:36:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --sparse --block-size=1024 --file foo \
  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ || exit 77
genfile --file baz
genfile --run --checkpoint 3 --length 200m --truncate foo -- \
 tar --sparse -vcf bar foo baz
echo Exit status: $?
echo separator
genfile --file foo --seek 200m --length 11575296 --pattern=zeros
tar dvf bar | sed '/foo: Mod time differs/d')
181. sptrdiff00.at:26:  ok

180. sptrcreat.at:33:  ok
182. sptrdiff01.at:26: testing file truncated in data region while comparing ...
./sptrdiff01.at:30:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile --sparse --block-size=1024 --file foo \
  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ || exit 77
genfile --file baz
echo creating
tar --sparse -vcf bar foo baz
echo comparing
genfile --run --checkpoint 5 --length 221278210 --truncate foo -- \
 tar --sparse -vdf bar
)

183. 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
)
./sptrdiff01.at:30:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --sparse --block-size=1024 --file foo \
  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ || exit 77
genfile --file baz
echo creating
tar --sparse -vcf bar foo baz
echo comparing
genfile --run --checkpoint 5 --length 221278210 --truncate foo -- \
 tar --sparse -vdf bar
)
./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
)
183. update.at:28:  ok

184. 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
)
./sptrdiff01.at:30:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --sparse --block-size=1024 --file foo \
  0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ || exit 77
genfile --file baz
echo creating
tar --sparse -vcf bar foo baz
echo comparing
genfile --run --checkpoint 5 --length 221278210 --truncate foo -- \
 tar --sparse -vdf bar
)
./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
)
182. sptrdiff01.at:26: ./update01.at:32:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
 ok
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
)

185. 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
)
./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
)
./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
)
./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
)
./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
)
184. update01.at:29:  ok

186. update03.at:20: testing update with chdir ...
./update03.at:27:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

mkdir dir1
mkdir dir2
mkdir dir1/subdir1 dir2/subdir2
genfile --file dir1/subdir1/a
genfile --file dir2/subdir2/a
echo Create
tar -vcf arc.tar -C dir1 subdir1 -C ../dir2 subdir2
genfile --file dir1/subdir1/b
genfile --file dir2/subdir2/c
echo Update
tar -vuf arc.tar -C dir1 subdir1 -C ../dir2 subdir2
)
./update03.at:27:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

mkdir dir1
mkdir dir2
mkdir dir1/subdir1 dir2/subdir2
genfile --file dir1/subdir1/a
genfile --file dir2/subdir2/a
echo Create
tar -vcf arc.tar -C dir1 subdir1 -C ../dir2 subdir2
genfile --file dir1/subdir1/b
genfile --file dir2/subdir2/c
echo Update
tar -vuf arc.tar -C dir1 subdir1 -C ../dir2 subdir2
)
./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
)
./update03.at:27:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

mkdir dir1
mkdir dir2
mkdir dir1/subdir1 dir2/subdir2
genfile --file dir1/subdir1/a
genfile --file dir2/subdir2/a
echo Create
tar -vcf arc.tar -C dir1 subdir1 -C ../dir2 subdir2
genfile --file dir1/subdir1/b
genfile --file dir2/subdir2/c
echo Update
tar -vuf arc.tar -C dir1 subdir1 -C ../dir2 subdir2
)
./update03.at:27:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir dir1
mkdir dir2
mkdir dir1/subdir1 dir2/subdir2
genfile --file dir1/subdir1/a
genfile --file dir2/subdir2/a
echo Create
tar -vcf arc.tar -C dir1 subdir1 -C ../dir2 subdir2
genfile --file dir1/subdir1/b
genfile --file dir2/subdir2/c
echo Update
tar -vuf arc.tar -C dir1 subdir1 -C ../dir2 subdir2
)
./update03.at:27:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir dir1
mkdir dir2
mkdir dir1/subdir1 dir2/subdir2
genfile --file dir1/subdir1/a
genfile --file dir2/subdir2/a
echo Create
tar -vcf arc.tar -C dir1 subdir1 -C ../dir2 subdir2
genfile --file dir1/subdir1/b
genfile --file dir2/subdir2/c
echo Update
tar -vuf arc.tar -C dir1 subdir1 -C ../dir2 subdir2
)
186. update03.at:20:  ok

187. update04.at:20: testing update with wildcards ...
./update04.at:23:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

genfile --file file.a
genfile --file file.b
genfile --file file.c
echo Create
tar cf archive ./file.*
sleep 1
echo "update" > file.b
echo First update
tar ufv archive --wildcards './file.*'

echo "Second update"
tar ufv archive --wildcards './file.*'

echo "Non-matching pattern"
tar ufv archive --wildcards './file.*' './foo.*'
echo $?
)
./update04.at:23:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --file file.a
genfile --file file.b
genfile --file file.c
echo Create
tar cf archive ./file.*
sleep 1
echo "update" > file.b
echo First update
tar ufv archive --wildcards './file.*'

echo "Second update"
tar ufv archive --wildcards './file.*'

echo "Non-matching pattern"
tar ufv archive --wildcards './file.*' './foo.*'
echo $?
)
./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
)
./update04.at:23:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

genfile --file file.a
genfile --file file.b
genfile --file file.c
echo Create
tar cf archive ./file.*
sleep 1
echo "update" > file.b
echo First update
tar ufv archive --wildcards './file.*'

echo "Second update"
tar ufv archive --wildcards './file.*'

echo "Non-matching pattern"
tar ufv archive --wildcards './file.*' './foo.*'
echo $?
)
./update04.at:23:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile --file file.a
genfile --file file.b
genfile --file file.c
echo Create
tar cf archive ./file.*
sleep 1
echo "update" > file.b
echo First update
tar ufv archive --wildcards './file.*'

echo "Second update"
tar ufv archive --wildcards './file.*'

echo "Non-matching pattern"
tar ufv archive --wildcards './file.*' './foo.*'
echo $?
)
stdout:
separator
-rw-r--r-- buildd/buildd  1000 2024-01-03 04:59 begin
-rw-r--r-- buildd/buildd 8589935104 2024-01-03 04:59 sparsefile
-rw-r--r-- buildd/buildd       1000 2024-01-03 04:59 end
separator
sparsefile 8589935104
171. sparse03.at:21:  ok
185. update02.at:26:  ok

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


./update04.at:23:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --file file.a
genfile --file file.b
genfile --file file.c
echo Create
tar cf archive ./file.*
sleep 1
echo "update" > file.b
echo First update
tar ufv archive --wildcards './file.*'

echo "Second update"
tar ufv archive --wildcards './file.*'

echo "Non-matching pattern"
tar ufv archive --wildcards './file.*' './foo.*'
echo $?
)
190. 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
)
189. volume.at:23: testing volume ...
./volume.at:26:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

tar -cf archive -V label -T /dev/null || exit 1

tar xfV archive label || exit 1
tar xfV archive 'la?el' || exit 1
tar xfV archive 'l*l' || exit 1

echo 1>&2 -----
tar xfV archive lab
test $? = 2 || exit 1
echo 1>&2 -----
tar xfV archive bel
test $? = 2 || exit 1
echo 1>&2 -----
tar xfV archive babel
test $? = 2
)
--- -	2024-01-03 05:00:25.545055022 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/190/stdout	2024-01-03 05:00:25.538497789 +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
 
190. volsize.at:29:  skipped (volsize.at:32)

191. comprec.at:21: testing compressed format recognition ...
./comprec.at:25:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


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

genfile --length 10240 --file file1
echo "separator"
tar cfz archive file1
echo "separator"
mv file1 orig
tar xfv archive --warning=no-timestamp
cmp orig file1
)
./volume.at:26:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

tar -cf archive -V label -T /dev/null || exit 1

tar xfV archive label || exit 1
tar xfV archive 'la?el' || exit 1
tar xfV archive 'l*l' || exit 1

echo 1>&2 -----
tar xfV archive lab
test $? = 2 || exit 1
echo 1>&2 -----
tar xfV archive bel
test $? = 2 || exit 1
echo 1>&2 -----
tar xfV archive babel
test $? = 2
)
189. volume.at:23:  ok
./comprec.at:25:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


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

genfile --length 10240 --file file1
echo "separator"
tar cfz archive file1
echo "separator"
mv file1 orig
tar xfv archive --warning=no-timestamp
cmp orig file1
)

192. 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
)
./comprec.at:25:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


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

genfile --length 10240 --file file1
echo "separator"
tar cfz archive file1
echo "separator"
mv file1 orig
tar xfv archive --warning=no-timestamp
cmp orig file1
)
192. shortfile.at:26:  ok

./comprec.at:25:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


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

genfile --length 10240 --file file1
echo "separator"
tar cfz archive file1
echo "separator"
mv file1 orig
tar xfv archive --warning=no-timestamp
cmp orig file1
)
193. 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
)
./comprec.at:25:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


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

genfile --length 10240 --file file1
echo "separator"
tar cfz archive file1
echo "separator"
mv file1 orig
tar xfv archive --warning=no-timestamp
cmp orig file1
)
./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
)
193. shortupd.at:31:  ok
191. comprec.at:21:  ok


195. grow.at:24: testing grow ...
./grow.at:27:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

genfile --file foo --length 50000k
genfile --file baz
genfile --run=10 --checkpoint 10 --length 1024 --append foo -- tar -vcf bar foo baz
)
194. truncate.at:29: testing truncate ...
./truncate.at:32:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

genfile --file foo --length 200k
genfile --file baz
genfile --run --checkpoint 10 --length 195k --truncate foo -- \
  tar -vcf bar foo baz
echo Exit status: $?
echo separator
genfile --file foo --seek 195k --length 5k --pattern=zeros
tar dvf bar|sed '/foo: Mod time differs/d')
./truncate.at:32:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --file foo --length 200k
genfile --file baz
genfile --run --checkpoint 10 --length 195k --truncate foo -- \
  tar -vcf bar foo baz
echo Exit status: $?
echo separator
genfile --file foo --seek 195k --length 5k --pattern=zeros
tar dvf bar|sed '/foo: Mod time differs/d')
./truncate.at:32:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

genfile --file foo --length 200k
genfile --file baz
genfile --run --checkpoint 10 --length 195k --truncate foo -- \
  tar -vcf bar foo baz
echo Exit status: $?
echo separator
genfile --file foo --seek 195k --length 5k --pattern=zeros
tar dvf bar|sed '/foo: Mod time differs/d')
./truncate.at:32:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile --file foo --length 200k
genfile --file baz
genfile --run --checkpoint 10 --length 195k --truncate foo -- \
  tar -vcf bar foo baz
echo Exit status: $?
echo separator
genfile --file foo --seek 195k --length 5k --pattern=zeros
tar dvf bar|sed '/foo: Mod time differs/d')
./truncate.at:32:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --file foo --length 200k
genfile --file baz
genfile --run --checkpoint 10 --length 195k --truncate foo -- \
  tar -vcf bar foo baz
echo Exit status: $?
echo separator
genfile --file foo --seek 195k --length 5k --pattern=zeros
tar dvf bar|sed '/foo: Mod time differs/d')
194. truncate.at:29:  ok

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

196. sigpipe.at:21:  ok

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

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

198. remfiles01.at:28:  ok

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

199. remfiles02.at:28:  ok

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

200. remfiles03.at:28:  ok

./grow.at:27:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --file foo --length 50000k
genfile --file baz
genfile --run=10 --checkpoint 10 --length 1024 --append foo -- tar -vcf bar foo baz
)
201. 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
)
187. update04.at:20:  ok

201. remfiles04a.at:25:  ok
202. 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
)
202. remfiles04b.at:33:  ok


204. 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
)
203. 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
)
204. remfiles05a.at:34:  ok
203. remfiles04c.at:33:  ok


206. 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
)
205. 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
)
205. remfiles05b.at:25:  ok
206. remfiles05c.at:25:  ok


207. 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
)
208. 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
)
207. remfiles06a.at:25:  ok
208. remfiles06b.at:25:  ok


209. 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
)
210. 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
)
210. remfiles07a.at:25:  ok
209. remfiles06c.at:25:  ok


211. 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
)
212. 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
)
211. remfiles07b.at:25:  ok
212. remfiles07c.at:25:  ok


214. 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 .
)
213. 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 .
)
213. remfiles08a.at:28:  ok
214. remfiles08b.at:31:  ok


216. 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 .
)
215. 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 .
)
215. remfiles08c.at:28:  ok
216. remfiles09a.at:25:  ok


217. 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 .
)
218. 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
)
217. remfiles09b.at:29:  ok
./grow.at:27:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

genfile --file foo --length 50000k
genfile --file baz
genfile --run=10 --checkpoint 10 --length 1024 --append foo -- tar -vcf bar foo baz
)

218. remfiles09c.at:25:  ok
219. remfiles10.at:20: testing remove-files ...
./remfiles10.at:23:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir foo
echo foo/file > foo/file
decho A
(cd foo && tar -cvf ../foo.tar --remove-files .)
tar_status=$?
decho B
find foo
exit $tar_status
)

stderr:
A
tar: .: Cannot rmdir: Invalid argument
tar: Exiting with failure status due to previous errors
B
./remfiles10.at:44: sed '2s/:[^:]*$//' stderr
219. remfiles10.at:20:  ok
220. xattr01.at:25: testing xattrs: basic functionality ...
./xattr01.at:28:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *



  file=$(TMPDIR=. mktemp fiXXXXXX)

  setfattr -n user.test -v test $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


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


  file=$(TMPDIR=. mktemp fiXXXXXX)
  setfattr -n user.test -v ahoj $file
  # check whether tar fails to store xattrs
  err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l )
  if test "$err" != "0"; then
    exit 77
  fi

mkdir dir
genfile --file dir/file

setfattr -n user.test -v OurDirValue dir
setfattr -n user.test -v OurFileValue dir/file

tar --xattrs -cf archive.tar dir

rm -rf dir
tar --xattrs -xf archive.tar

getfattr -h -d dir         | grep -v -e '^#' -e ^$
getfattr -h -d dir/file    | grep -v -e '^#' -e ^$
)

--- -	2024-01-03 05:00:27.189592285 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/220/stdout	2024-01-03 05:00:27.182486685 +0000
@@ -1,3 +1 @@
-user.test="OurDirValue"
-user.test="OurFileValue"
 
220. xattr01.at:25:  skipped (xattr01.at:28)

221. xattr02.at:25: testing xattrs: change directory with -C option ...
./xattr02.at:28:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *



  file=$(TMPDIR=. mktemp fiXXXXXX)

  setfattr -n user.test -v test $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


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


  file=$(TMPDIR=. mktemp fiXXXXXX)
  setfattr -n user.test -v ahoj $file
  # check whether tar fails to store xattrs
  err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l )
  if test "$err" != "0"; then
    exit 77
  fi


mkdir dir
mkdir dir/subdir
mkdir dir/subdir/subsubdir
genfile --file dir/file1
genfile --file dir/subdir/file2

setfattr -n user.test -v OurFile1Value dir/file1
setfattr -n user.test -v OurFile2Value dir/subdir/file2
setfattr -n user.test -v OurDirValue   dir/subdir/subsubdir

tar --xattrs -cf archive.tar -C dir file1 -C subdir file2 subsubdir

rm -rf dir

tar --xattrs -xf archive.tar

getfattr -h -d file1        | grep -v -e '^#' -e ^$
getfattr -h -d file2        | grep -v -e '^#' -e ^$
getfattr -h -d subsubdir    | grep -v -e '^#' -e ^$
)
--- -	2024-01-03 05:00:27.217927742 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/221/stdout	2024-01-03 05:00:27.206486523 +0000
@@ -1,4 +1 @@
-user.test="OurFile1Value"
-user.test="OurFile2Value"
-user.test="OurDirValue"
 
222. 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 ^$
)
221. xattr02.at:25:  skipped (xattr02.at:28)

--- -	2024-01-03 05:00:27.232384255 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/222/stdout	2024-01-03 05:00:27.226486388 +0000
@@ -1,4 +1 @@
-trusted.test="OurFile1Value"
-trusted.test="OurFile2Value"
-trusted.test="OurDirValue"
 
222. xattr03.at:25:  skipped (xattr03.at:28)

223. 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
)
224. 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
)
--- -	2024-01-03 05:00:27.269094933 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/223/stdout	2024-01-03 05:00:27.262486145 +0000
@@ -1,2 +1 @@
-user.test="value"
 
223. xattr04.at:26: 224. xattr05.at:28:  skipped (xattr04.at:29)
 skipped (xattr05.at:31)


226. xattr07.at:26: testing xattrs: xattrs and --skip-old-files ...
./xattr07.at:29:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *



  file=$(TMPDIR=. mktemp fiXXXXXX)

  setfattr -n user.test -v test $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


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


  file=$(TMPDIR=. mktemp fiXXXXXX)
  setfattr -n user.test -v ahoj $file
  # check whether tar fails to store xattrs
  err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l )
  if test "$err" != "0"; then
    exit 77
  fi

mkdir dir
genfile --file dir/file
genfile --file dir/file2

setfattr -n user.test -v OurDirValue dir
setfattr -n user.test -v OurFileValue dir/file
setfattr -n user.test -v OurFileValue dir/file2

tar --xattrs --no-recursion -cf archive.tar dir dir/file dir/file2

setfattr -n user.test -v OurDirValue2 dir
setfattr -n user.test -v OurFileValue2 dir/file
setfattr -n user.test -v OurFileValue2 dir/file2

# Check that tar continues to file2 too!
tar --xattrs -xvf archive.tar --skip-old-files
tar --xattrs -xvf archive.tar --keep-old-files

getfattr -h -d dir         | grep -v -e '^#' -e ^$
getfattr -h -d dir/file    | grep -v -e '^#' -e ^$
getfattr -h -d dir/file2   | grep -v -e '^#' -e ^$
)
225. xattr06.at:27: testing xattrs: exclude xattrs on create  ...
./xattr06.at:30:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *



  file=$(TMPDIR=. mktemp fiXXXXXX)

  setfattr -n user.test -v test $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


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


  file=$(TMPDIR=. mktemp fiXXXXXX)
  setfattr -n user.test -v ahoj $file
  # check whether tar fails to store xattrs
  err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l )
  if test "$err" != "0"; then
    exit 77
  fi


mkdir dir
mkdir output
genfile --file dir/file

for attr in excluded incla inclb inclc incl_excluded
do
  setfattr -n user.${attr} -v value dir/file || exit 77
done

tar --xattrs-include=user.incl'*' --xattrs-exclude=user.incl_excluded -cf archive.tar -C dir .
tar -xf archive.tar --xattrs-include=user.incl[ab] --xattrs-exclude=user.inclb -C output

getfattr -d output/file | grep -v \
    -e excluded \
    -e inclb \
    -e inclc > filtered
getfattr -d output/file > full
# if they differ then the attribute is still present
diff filtered full
)
225. xattr06.at:27:  skipped (xattr06.at:30)
--- -	2024-01-03 05:00:27.316365503 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/226/stderr	2024-01-03 05:00:27.310485820 +0000
@@ -1,7 +1 @@
-tar: dir: skipping existing file
-tar: dir/file: skipping existing file
-tar: dir/file2: skipping existing file
-tar: dir/file: Cannot open: File exists
-tar: dir/file2: Cannot open: File exists
-tar: Exiting with failure status due to previous errors
 
--- -	2024-01-03 05:00:27.318723431 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/226/stdout	2024-01-03 05:00:27.310485820 +0000
@@ -1,10 +1 @@
-dir/
-dir/file
-dir/file2
-dir/
-dir/file
-dir/file2
-user.test="OurDirValue2"
-user.test="OurFileValue2"
-user.test="OurFileValue2"
 
226. xattr07.at:26:  skipped (xattr07.at:29)


227. xattr08.at:26: testing xattrs: xattrs and read-only files ...
./xattr08.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 dir2
genfile --file dir/file

setfattr -n user.test -v OurDirValue dir/file
chmod a-w dir/file

tar --xattrs -C dir -cf archive.tar file
tar --xattrs -C dir2 -xf archive.tar
)
227. xattr08.at:26:  skipped (xattr08.at:29)
228. 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
)
228. acls01.at:25:  skipped (acls01.at:28)


229. 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
)
230. 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

)
229. acls02.at:25:  skipped (acls02.at:28)
230. acls03.at:30:  skipped (acls03.at:47)


232. 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
)
231. selnx01.at:25: testing selinux: basic store/restore ...
./selnx01.at:28:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


  file=$(TMPDIR=. mktemp fiXXXXXX)

  setfattr -n user.test -v test $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


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




  file=$(TMPDIR=. mktemp fiXXXXXX)

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


  chcon -h --user=unconfined_u $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi

  rm -rf $file

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


mkdir dir
genfile --file dir/file
ln -s file dir/link

getfattr -h -d -msecurity.selinux dir dir/file dir/link > start

restorecon -R dir
chcon -h --user=system_u     dir
chcon -h --user=unconfined_u dir/file
chcon -h --user=system_u     dir/link

# archive whole directory including selinux contexts
tar --selinux -cf archive.tar dir

# clear the directory
rm -rf dir

# ================================================
# check if selinux contexts are correctly restored

tar --selinux -xf archive.tar

# archive for later debugging
cp archive.tar archive_origin.tar

# check if selinux contexts were restored
getfattr -h -d dir dir/file dir/link -msecurity.selinux | \
    grep -v -e '^#' -e ^$ | cut -d: -f1

# ===========================================================================
# check if selinux contexts are not restored when --selinux option is missing

getfattr -h -d -msecurity.selinux dir dir/file dir/link > with_selinux
rm -rf dir
tar -xf archive.tar
getfattr -h -d -msecurity.selinux dir dir/file dir/link > without_selinux

diff with_selinux without_selinux > diff_with_without
if test "$?" -eq "0"; then
    echo "selinux contexts probably restored while --selinux is off"
fi

# =================================================================
# check if selinux is not archived when --selinux option is missing

tar -cf archive.tar dir

# clear the directory
rm -rf dir

# restore (with --selinux)
tar --selinux -xf archive.tar dir

getfattr -h -d -msecurity.selinux dir dir/file dir/link > final
diff start final > final_diff
if test "$?" -ne "0"; then
    echo "bad result"
fi

)
--- -	2024-01-03 05:00:27.442021654 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/231/stdout	2024-01-03 05:00:27.434484983 +0000
@@ -1,4 +1 @@
-security.selinux="system_u
-security.selinux="unconfined_u
-security.selinux="system_u
 
231. selnx01.at:25: --- -	2024-01-03 05:00:27.445508779 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/232/stdout	2024-01-03 05:00:27.438484956 +0000
@@ -1,2 +1 @@
-separator
 
232. selacl01.at:25:  skipped (selnx01.at:28)
 skipped (selacl01.at:28)


233. capabs_raw01.at:25: testing capabilities: binary store/restore ...
./capabs_raw01.at:28:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 || exit 77



  file=$(TMPDIR=. mktemp fiXXXXXX)

  setfattr -n user.test -v test $file &> /dev/null
  if test "$?" != 0; then
    exit 77
  fi


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


  file=$(TMPDIR=. mktemp fiXXXXXX)
  setfattr -n user.test -v ahoj $file
  # check whether tar fails to store xattrs
  err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l )
  if test "$err" != "0"; then
    exit 77
  fi


  file=$(TMPDIR=. mktemp fiXXXXXX)

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


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

  rm -rf $file


mkdir dir
genfile --file dir/file

setcap "= cap_chown=ei" dir/file

# archive whole directory including binary xattrs
tar --xattrs -cf archive.tar dir

# clear the directory
rm -rf dir

# restore _all_ xattrs (not just the user.* domain)
tar --xattrs --xattrs-include='*' -xf archive.tar

# Newer systems print = instead of + here
getcap dir/file | sed 's/+/=/'
)
--- -	2024-01-03 05:00:27.486268059 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/233/stdout	2024-01-03 05:00:27.478484686 +0000
@@ -1,2 +1 @@
-dir/file = cap_chown=ei
 
233. capabs_raw01.at:25: 234. 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
)
 skipped (capabs_raw01.at:28)

./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
)
235. 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
)
./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
)
./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
)
./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
)
./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
)
./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
)
./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
)
234. onetop01.at:21:  ok

235. onetop02.at:21:  ok

236. 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
)
237. 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
)
./grow.at:27:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile --file foo --length 50000k
genfile --file baz
genfile --run=10 --checkpoint 10 --length 1024 --append foo -- tar -vcf bar foo baz
)
./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
)
./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
)
./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
)
./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
)
./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
)
./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
)
./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
)
237. onetop04.at:21:  ok

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

239. gtarfail.at:21: testing gtarfail ...
./gtarfail.at:26:

test -z "$STAR_TESTSCRIPTS" && exit 77
tarball_prereq gtarfail.tar bf7612e401aaa679edbb07ae1183811b $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77


tar --utc -tvf $STAR_TESTSCRIPTS/gtarfail.tar

--- -	2024-01-03 05:00:27.925913904 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/239/stdout	2024-01-03 05:00:27.918481714 +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
 
239. gtarfail.at:21: ./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
)
 skipped (gtarfail.at:26)

240. gtarfail2.at:21: testing gtarfail2 ...
./gtarfail2.at:26:

test -z "$STAR_TESTSCRIPTS" && exit 77
tarball_prereq gtarfail2.tar 6b607d1faec14b82f69525d9c5b66e53 $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77

tar --utc -tvf $STAR_TESTSCRIPTS/gtarfail2.tar

--- -	2024-01-03 05:00:27.960378894 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/240/stdout	2024-01-03 05:00:27.954481471 +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
 
240. gtarfail2.at:21:  skipped (gtarfail2.at:26)

241. multi-fail.at:21: testing multi-fail ...
./multi-fail.at:26:

test -z "$STAR_TESTSCRIPTS" && exit 77
tarball_prereq gnu-multi-fail-volume1.gtar 7c28663dd98b0bd91ceb4be7af55254e $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77


test -z "$STAR_TESTSCRIPTS" && exit 77
tarball_prereq gnu-multi-fail-volume2.gtar b5d41c4c3ec440687d4a44957b5079a8 $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77


tar --utc -tvM -f $STAR_TESTSCRIPTS/gnu-multi-fail-volume1.gtar \
               -f $STAR_TESTSCRIPTS/gnu-multi-fail-volume2.gtar <&-

--- -	2024-01-03 05:00:27.997974603 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/241/stdout	2024-01-03 05:00:27.986481255 +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
 
241. multi-fail.at:21:  skipped (multi-fail.at:26)
./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
)

242. ustar-big-2g.at:21: testing ustar-big-2g ...
./ustar-big-2g.at:26:
test "${TARTEST_SKIP_LARGE_FILES:-0}" != 0 && exit 77

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


test -z "$STAR_TESTSCRIPTS" && exit 77
tarball_prereq ustar-big-2g.tar.bz2 b63979733629c8fcdf40b60065422767 $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77


tar --utc -tvjf $STAR_TESTSCRIPTS/ustar-big-2g.tar.bz2

./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
)
stderr:
--- -	2024-01-03 05:00:28.052819473 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/242/stdout	2024-01-03 05:00:28.046480849 +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
 
242. ustar-big-2g.at:21:  skipped (ustar-big-2g.at:26)

243. ustar-big-8g.at:21: testing ustar-big-8g ...
./ustar-big-8g.at:26:
test "${TARTEST_SKIP_LARGE_FILES:-0}" != 0 && exit 77

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


test -z "$STAR_TESTSCRIPTS" && exit 77
tarball_prereq ustar-big-8g.tar.bz2 60ff503fa4b8288bef7ada89e9c91b0f $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77


tar --utc -tvjf $STAR_TESTSCRIPTS/ustar-big-8g.tar.bz2

stderr:
./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
)
--- -	2024-01-03 05:00:28.102067196 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/243/stdout	2024-01-03 05:00:28.090480552 +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
 
243. ustar-big-8g.at:21:  skipped (ustar-big-8g.at:26)

244. pax-big-10g.at:21: testing pax-big-10g ...
./pax-big-10g.at:26:
test "${TARTEST_SKIP_LARGE_FILES:-0}" != 0 && exit 77

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


test -z "$STAR_TESTSCRIPTS" && exit 77
tarball_prereq pax-big-10g.tar.bz2 ca15c23acc8d8bb1f27e60113a5f8bff $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77


tar --utc -tvjf $STAR_TESTSCRIPTS/pax-big-10g.tar.bz2

stderr:
--- -	2024-01-03 05:00:28.151036088 +0000
+++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/244/stdout	2024-01-03 05:00:28.146480174 +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
 
244. pax-big-10g.at:21:  skipped (pax-big-10g.at:26)
238. onetop05.at:21:  ok
./grow.at:27:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --file foo --length 50000k
genfile --file baz
genfile --run=10 --checkpoint 10 --length 1024 --append foo -- tar -vcf bar foo baz
)
195. grow.at:24:  ok
173. sparse05.at:21:  ok

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

217 tests were successful.
27 tests were skipped.
make[4]: Leaving directory '/<<PKGBUILDDIR>>/tests'
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>>'
   create-stamp debian/debhelper-build-stamp
   dh_prep -a
   dh_auto_install -a
	make -j4 install DESTDIR=/<<BUILDDIR>>/tar-1.35\+dfsg/debian/tmp AM_UPDATE_INFO_DIR=no
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'
make[5]: Nothing to be done for 'install-exec-am'.
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'.
 /usr/bin/mkdir -p '/<<PKGBUILDDIR>>/debian/tmp/usr/sbin'
  /usr/bin/install -c rmt '/<<PKGBUILDDIR>>/debian/tmp/usr/sbin'
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'
make[3]: Nothing to be done for 'install-data-am'.
 /usr/bin/mkdir -p '/<<PKGBUILDDIR>>/debian/tmp/usr/bin'
  /usr/bin/install -c tar '/<<PKGBUILDDIR>>/debian/tmp/usr/bin'
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'
make[3]: Nothing to be done for 'install-data-am'.
 /usr/bin/mkdir -p '/<<PKGBUILDDIR>>/debian/tmp/usr/sbin'
 /usr/bin/mkdir -p '/<<PKGBUILDDIR>>/debian/tmp/usr/sbin'
 /usr/bin/install -c backup.sh dump-remind '/<<PKGBUILDDIR>>/debian/tmp/usr/sbin'
 /usr/bin/install -c backup restore '/<<PKGBUILDDIR>>/debian/tmp/usr/sbin'
make[3]: Leaving directory '/<<PKGBUILDDIR>>/scripts'
make[2]: Leaving directory '/<<PKGBUILDDIR>>/scripts'
Making install in po
make[2]: Entering directory '/<<PKGBUILDDIR>>/po'
installing bg.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/bg/LC_MESSAGES/tar.mo
installing ca.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/ca/LC_MESSAGES/tar.mo
installing cs.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/cs/LC_MESSAGES/tar.mo
installing da.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/da/LC_MESSAGES/tar.mo
installing de.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/de/LC_MESSAGES/tar.mo
installing el.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/el/LC_MESSAGES/tar.mo
installing eo.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/eo/LC_MESSAGES/tar.mo
installing es.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/es/LC_MESSAGES/tar.mo
installing et.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/et/LC_MESSAGES/tar.mo
installing eu.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/eu/LC_MESSAGES/tar.mo
installing fi.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/fi/LC_MESSAGES/tar.mo
installing fr.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/fr/LC_MESSAGES/tar.mo
installing ga.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/ga/LC_MESSAGES/tar.mo
installing gl.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/gl/LC_MESSAGES/tar.mo
installing hr.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/hr/LC_MESSAGES/tar.mo
installing hu.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/hu/LC_MESSAGES/tar.mo
installing id.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/id/LC_MESSAGES/tar.mo
installing it.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/it/LC_MESSAGES/tar.mo
installing ja.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/ja/LC_MESSAGES/tar.mo
installing ka.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/ka/LC_MESSAGES/tar.mo
installing ko.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/ko/LC_MESSAGES/tar.mo
installing ky.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/ky/LC_MESSAGES/tar.mo
installing ms.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/ms/LC_MESSAGES/tar.mo
installing nb.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/nb/LC_MESSAGES/tar.mo
installing nl.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/nl/LC_MESSAGES/tar.mo
installing pl.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/pl/LC_MESSAGES/tar.mo
installing pt.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/pt/LC_MESSAGES/tar.mo
installing pt_BR.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/pt_BR/LC_MESSAGES/tar.mo
installing ro.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/ro/LC_MESSAGES/tar.mo
installing ru.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/ru/LC_MESSAGES/tar.mo
installing sk.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/sk/LC_MESSAGES/tar.mo
installing sl.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/sl/LC_MESSAGES/tar.mo
installing sr.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/sr/LC_MESSAGES/tar.mo
installing sv.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/sv/LC_MESSAGES/tar.mo
installing tr.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/tr/LC_MESSAGES/tar.mo
installing uk.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/uk/LC_MESSAGES/tar.mo
installing vi.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/vi/LC_MESSAGES/tar.mo
installing zh_CN.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/zh_CN/LC_MESSAGES/tar.mo
installing zh_TW.gmo as /<<PKGBUILDDIR>>/debian/tmp/usr/share/locale/zh_TW/LC_MESSAGES/tar.mo
if test "tar" = "gettext-tools"; then \
  /usr/bin/mkdir -p /<<PKGBUILDDIR>>/debian/tmp/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/tmp/usr/share/gettext/po/$file; \
  done; \
  for file in Makevars; do \
    rm -f /<<PKGBUILDDIR>>/debian/tmp/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>>'
   debian/rules override_dh_install
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_install
cp doc/rmt.8 debian/rmt-tar.8
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   debian/rules override_dh_installdocs
make[1]: Entering directory '/<<PKGBUILDDIR>>'
cp -a ChangeLog.1 debian/changelog.1
dh_installdocs
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   dh_installchangelogs -a
   dh_installman -a
   dh_installmime -a
   dh_perl -a
   dh_link -a
   dh_strip_nondeterminism -a
	Normalized debian/tar/usr/share/locale/bg/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/ca/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/cs/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/da/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/de/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/el/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/eo/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/es/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/et/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/eu/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/fi/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/fr/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/ga/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/gl/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/hr/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/hu/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/id/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/it/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/ja/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/ka/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/sk/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/sl/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/sr/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/sv/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/tr/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/uk/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/vi/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/zh_CN/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/zh_TW/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/ko/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/ky/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/ms/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/nb/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/nl/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/pl/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/pt/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/pt_BR/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/ro/LC_MESSAGES/tar.mo
	Normalized debian/tar/usr/share/locale/ru/LC_MESSAGES/tar.mo
   dh_compress -a
   dh_fixperms -a
   dh_missing -a
   dh_dwz -a
dwz: debian/tar/bin/tar: DWARF compression not beneficial - old size 539467 new size 545375
   dh_strip -a
   dh_makeshlibs -a
   dh_shlibdeps -a
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/tar/bin/tar debian/tar/usr/sbin/rmt-tar were not linked against ld-linux-armhf.so.3 (they use none of the library's symbols)
   dh_installdeb -a
   dh_gencontrol -a
   dh_md5sums -a
   dh_builddeb -a
dpkg-deb: building package 'tar-dbgsym' in '../tar-dbgsym_1.35+dfsg-2_armhf.deb'.
dpkg-deb: building package 'tar' in '../tar_1.35+dfsg-2_armhf.deb'.
 dpkg-genbuildinfo --build=any -O../tar_1.35+dfsg-2_armhf.buildinfo
 dpkg-genchanges --build=any -mRaspbian pi5 test autobuilder <root@raspbian.org> -O../tar_1.35+dfsg-2_armhf.changes
dpkg-genchanges: info: binary-only arch-specific upload (source code and arch-indep packages not included)
 dpkg-source --after-build .
dpkg-buildpackage: info: binary-only upload (no source included)
--------------------------------------------------------------------------------
Build finished at 2024-01-03T05:01:04Z

Finished
--------

I: Built successfully

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


tar_1.35+dfsg-2_armhf.changes:
------------------------------

Format: 1.8
Date: Fri, 29 Dec 2023 14:15:35 +0100
Source: tar
Binary: tar tar-dbgsym
Architecture: armhf
Version: 1.35+dfsg-2
Distribution: trixie-staging
Urgency: medium
Maintainer: Raspbian pi5 test autobuilder <root@raspbian.org>
Changed-By: Gianfranco Costamagna <locutusofborg@debian.org>
Description:
 tar        - GNU version of the tar archiving utility
Changes:
 tar (1.35+dfsg-2) unstable; urgency=medium
 .
   * Team upload (salsa.debian.org/debian namespace)
   * Add missing changelog entries from previous upload
   * Drop workaround for tar < 1.35
   * Add files to not-installed to fix FTBFS on arch:all
     and arch:any when they are not built together
Checksums-Sha1:
 8b22f743db09ab93215ea5a44ad0e7dabee12036 658344 tar-dbgsym_1.35+dfsg-2_armhf.deb
 0b3f848d52220d7723c5eae9490d22f701b49a94 5494 tar_1.35+dfsg-2_armhf.buildinfo
 481eeddf8b8e9c6ad8ea54cf617ca7d9e3ceaad5 773996 tar_1.35+dfsg-2_armhf.deb
Checksums-Sha256:
 8b52559ba7f8781954fdb882139ec0fac4ef780d0e36ccd55913c428ea36082d 658344 tar-dbgsym_1.35+dfsg-2_armhf.deb
 40411a712109d4731d73efd2979c73ead769e8290dc9293204c36d111b619b0d 5494 tar_1.35+dfsg-2_armhf.buildinfo
 5ab1fb0a5a01049ac91d50de8d6d7f4b0d2de07e934ff82ea70a29138c134919 773996 tar_1.35+dfsg-2_armhf.deb
Files:
 c49196ffc48d3187efb1929d7dba175a 658344 debug optional tar-dbgsym_1.35+dfsg-2_armhf.deb
 986645e761d226bbaa3a65e211cda3ca 5494 utils required tar_1.35+dfsg-2_armhf.buildinfo
 ab7771eec81bc7236067208ab37609bd 773996 utils required tar_1.35+dfsg-2_armhf.deb

+------------------------------------------------------------------------------+
| Buildinfo                                                                    |
+------------------------------------------------------------------------------+

Format: 1.0
Source: tar
Binary: tar tar-dbgsym
Architecture: armhf
Version: 1.35+dfsg-2
Checksums-Md5:
 c49196ffc48d3187efb1929d7dba175a 658344 tar-dbgsym_1.35+dfsg-2_armhf.deb
 ab7771eec81bc7236067208ab37609bd 773996 tar_1.35+dfsg-2_armhf.deb
Checksums-Sha1:
 8b22f743db09ab93215ea5a44ad0e7dabee12036 658344 tar-dbgsym_1.35+dfsg-2_armhf.deb
 481eeddf8b8e9c6ad8ea54cf617ca7d9e3ceaad5 773996 tar_1.35+dfsg-2_armhf.deb
Checksums-Sha256:
 8b52559ba7f8781954fdb882139ec0fac4ef780d0e36ccd55913c428ea36082d 658344 tar-dbgsym_1.35+dfsg-2_armhf.deb
 5ab1fb0a5a01049ac91d50de8d6d7f4b0d2de07e934ff82ea70a29138c134919 773996 tar_1.35+dfsg-2_armhf.deb
Build-Origin: Raspbian
Build-Architecture: armhf
Build-Date: Wed, 03 Jan 2024 05:01:03 +0000
Build-Path: /<<PKGBUILDDIR>>
Build-Tainted-By:
 merged-usr-via-aliased-dirs
Installed-Build-Depends:
 autoconf (= 2.71-3),
 automake (= 1:1.16.5-1.3),
 autopoint (= 0.21-14),
 autotools-dev (= 20220109.1),
 base-files (= 13+rpi1),
 base-passwd (= 3.6.3),
 bash (= 5.2.21-2),
 binutils (= 2.41-6+rpi1),
 binutils-arm-linux-gnueabihf (= 2.41-6+rpi1),
 binutils-common (= 2.41-6+rpi1),
 bison (= 2:3.8.2+dfsg-1),
 bsdextrautils (= 2.39.3-2),
 bsdutils (= 1:2.39.3-2),
 build-essential (= 12.10),
 bzip2 (= 1.0.8-5+b2),
 coreutils (= 9.1-1),
 cpp (= 4:13.2.0-1+rpi1),
 cpp-12 (= 12.3.0-13+rpi1),
 cpp-13 (= 13.2.0-7+rpi1),
 dash (= 0.5.12-6),
 debconf (= 1.5.82),
 debhelper (= 13.11.9),
 debianutils (= 5.14),
 dh-autoreconf (= 20),
 dh-exec (= 0.28),
 dh-strip-nondeterminism (= 1.13.1-1),
 diffutils (= 1:3.10-1),
 dpkg (= 1.22.1+rpi1),
 dpkg-dev (= 1.22.1+rpi1),
 dwz (= 0.15-1),
 file (= 1:5.45-2),
 findutils (= 4.9.0-5),
 g++ (= 4:13.2.0-1+rpi1),
 g++-13 (= 13.2.0-7+rpi1),
 gcc (= 4:13.2.0-1+rpi1),
 gcc-12 (= 12.3.0-13+rpi1),
 gcc-12-base (= 12.3.0-13+rpi1),
 gcc-13 (= 13.2.0-7+rpi1),
 gcc-13-base (= 13.2.0-7+rpi1),
 gettext (= 0.21-14),
 gettext-base (= 0.21-14),
 grep (= 3.11-3),
 groff-base (= 1.23.0-3),
 gzip (= 1.12-1),
 hostname (= 3.23+nmu1),
 init-system-helpers (= 1.66),
 intltool-debian (= 0.35.0+20060710.6),
 libacl1 (= 2.3.1-4),
 libacl1-dev (= 2.3.1-4),
 libarchive-zip-perl (= 1.68-1),
 libasan8 (= 13.2.0-7+rpi1),
 libatomic1 (= 13.2.0-7+rpi1),
 libattr1 (= 1:2.5.1-5),
 libattr1-dev (= 1:2.5.1-5),
 libaudit-common (= 1:3.1.2-1),
 libaudit1 (= 1:3.1.2-1),
 libbinutils (= 2.41-6+rpi1),
 libblkid1 (= 2.39.3-2),
 libbz2-1.0 (= 1.0.8-5+b2),
 libc-bin (= 2.37-12+rpi2),
 libc-dev-bin (= 2.37-12+rpi2),
 libc6 (= 2.37-12+rpi2),
 libc6-dev (= 2.37-12+rpi2),
 libcap-ng0 (= 0.8.3-3),
 libcap2 (= 1:2.66-4),
 libcc1-0 (= 13.2.0-7+rpi1),
 libcom-err2 (= 1.47.0-2),
 libcrypt-dev (= 1:4.4.36-2),
 libcrypt1 (= 1:4.4.36-2),
 libctf-nobfd0 (= 2.41-6+rpi1),
 libctf0 (= 2.41-6+rpi1),
 libdb5.3 (= 5.3.28+dfsg2-4),
 libdebconfclient0 (= 0.271),
 libdebhelper-perl (= 13.11.9),
 libdpkg-perl (= 1.22.1+rpi1),
 libelf1 (= 0.188-2.1+rpi1),
 libfile-find-rule-perl (= 0.34-3),
 libfile-stripnondeterminism-perl (= 1.13.1-1),
 libgcc-12-dev (= 12.3.0-13+rpi1),
 libgcc-13-dev (= 13.2.0-7+rpi1),
 libgcc-s1 (= 13.2.0-7+rpi1),
 libgcrypt20 (= 1.10.3-2),
 libgdbm-compat4 (= 1.23-5),
 libgdbm6 (= 1.23-5),
 libgmp10 (= 2:6.3.0+dfsg-2),
 libgomp1 (= 13.2.0-7+rpi1),
 libgpg-error0 (= 1.47-3),
 libgssapi-krb5-2 (= 1.20.1-5),
 libicu72 (= 72.1-4),
 libisl23 (= 0.26-3),
 libjansson4 (= 2.14-2),
 libk5crypto3 (= 1.20.1-5),
 libkeyutils1 (= 1.6.3-2),
 libkrb5-3 (= 1.20.1-5),
 libkrb5support0 (= 1.20.1-5),
 liblz4-1 (= 1.9.4-1+rpi1+b1),
 liblzma5 (= 5.4.5-0.1),
 libmagic-mgc (= 1:5.45-2),
 libmagic1 (= 1:5.45-2),
 libmd0 (= 1.1.0-1),
 libmount1 (= 2.39.3-2),
 libmpc3 (= 1.3.1-1),
 libmpfr6 (= 4.2.1-1),
 libnsl-dev (= 1.3.0-3),
 libnsl2 (= 1.3.0-3),
 libnumber-compare-perl (= 0.03-3),
 libpam-modules (= 1.5.2-9.1),
 libpam-modules-bin (= 1.5.2-9.1),
 libpam-runtime (= 1.5.2-9.1),
 libpam0g (= 1.5.2-9.1),
 libpcre2-16-0 (= 10.42-4),
 libpcre2-32-0 (= 10.42-4),
 libpcre2-8-0 (= 10.42-4),
 libpcre2-dev (= 10.42-4),
 libpcre2-posix3 (= 10.42-4),
 libperl5.36 (= 5.36.0-10),
 libpipeline1 (= 1.5.7-1),
 libseccomp2 (= 2.5.4-2+rpi1),
 libselinux1 (= 3.5-1),
 libselinux1-dev (= 3.5-1),
 libsepol-dev (= 3.5-2),
 libsepol2 (= 3.5-2),
 libsframe1 (= 2.41-6+rpi1),
 libsmartcols1 (= 2.39.3-2),
 libssl3 (= 3.1.4-2),
 libstdc++-13-dev (= 13.2.0-7+rpi1),
 libstdc++6 (= 13.2.0-7+rpi1),
 libsub-override-perl (= 0.10-1),
 libsystemd0 (= 254.5-1+rpi1),
 libtext-glob-perl (= 0.11-3),
 libtinfo6 (= 6.4+20231209-1),
 libtirpc-common (= 1.3.4+ds-1),
 libtirpc-dev (= 1.3.4+ds-1),
 libtirpc3 (= 1.3.4+ds-1),
 libtool (= 2.4.7-7),
 libubsan1 (= 13.2.0-7+rpi1),
 libuchardet0 (= 0.0.8-1),
 libudev1 (= 254.5-1+rpi1),
 libunistring5 (= 1.1-2),
 libuuid1 (= 2.39.3-2),
 libxml2 (= 2.9.14+dfsg-1.3),
 libzstd1 (= 1.5.5+dfsg2-2),
 linux-libc-dev (= 6.5.6-1+rpi1),
 login (= 1:4.13+dfsg1-3),
 m4 (= 1.4.19-4),
 make (= 4.3-4.1),
 man-db (= 2.12.0-1),
 mawk (= 1.3.4.20231126-1),
 ncurses-base (= 6.4+20231209-1),
 ncurses-bin (= 6.4+20231209-1),
 patch (= 2.7.6-7),
 perl (= 5.36.0-10),
 perl-base (= 5.36.0-10),
 perl-modules-5.36 (= 5.36.0-10),
 po-debconf (= 1.0.21+nmu1),
 rpcsvc-proto (= 1.4.3-1),
 sed (= 4.9-1),
 sensible-utils (= 0.0.20),
 sysvinit-utils (= 3.08-5),
 tar (= 1.34+dfsg-1.3),
 usr-is-merged (= 38),
 usrmerge (= 38),
 util-linux (= 2.39.3-2),
 xz-utils (= 5.4.5-0.1),
 zlib1g (= 1:1.2.13.dfsg-3)
Environment:
 DEB_BUILD_OPTIONS="parallel=4"
 LANG="en_GB.UTF-8"
 LC_ALL="C.UTF-8"
 LC_COLLATE="C.UTF-8"
 SOURCE_DATE_EPOCH="1703855735"


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


tar-dbgsym_1.35+dfsg-2_armhf.deb
--------------------------------

 new Debian package, version 2.0.
 size 658344 bytes: control archive=616 bytes.
     361 bytes,    12 lines      control
     295 bytes,     3 lines      md5sums
 Package: tar-dbgsym
 Source: tar
 Version: 1.35+dfsg-2
 Auto-Built-Package: debug-symbols
 Architecture: armhf
 Maintainer: Janos Lenart <ocsi@debian.org>
 Installed-Size: 722
 Depends: tar (= 1.35+dfsg-2)
 Section: debug
 Priority: optional
 Description: debug symbols for tar
 Build-Ids: 0de07721f86208096ab39c20740500935ea6f2a9 bc9458bce0cf94a251a9c75420ac2f27d935aac4

drwxr-xr-x root/root         0 2023-12-29 13:15 ./
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/lib/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/lib/debug/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/lib/debug/.build-id/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/lib/debug/.build-id/0d/
-rw-r--r-- root/root     82424 2023-12-29 13:15 ./usr/lib/debug/.build-id/0d/e07721f86208096ab39c20740500935ea6f2a9.debug
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/lib/debug/.build-id/bc/
-rw-r--r-- root/root    631972 2023-12-29 13:15 ./usr/lib/debug/.build-id/bc/9458bce0cf94a251a9c75420ac2f27d935aac4.debug
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/lib/debug/.dwz/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/lib/debug/.dwz/arm-linux-gnueabihf/
-rw-r--r-- root/root     10216 2023-12-29 13:15 ./usr/lib/debug/.dwz/arm-linux-gnueabihf/tar.debug
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/doc/
lrwxrwxrwx root/root         0 2023-12-29 13:15 ./usr/share/doc/tar-dbgsym -> tar


tar_1.35+dfsg-2_armhf.deb
-------------------------

 new Debian package, version 2.0.
 size 773996 bytes: control archive=2348 bytes.
     841 bytes,    21 lines      control
    3766 bytes,    54 lines      md5sums
     270 bytes,    14 lines   *  postinst             #!/bin/sh
     231 bytes,    16 lines   *  prerm                #!/bin/sh
 Package: tar
 Version: 1.35+dfsg-2
 Architecture: armhf
 Essential: yes
 Maintainer: Janos Lenart <ocsi@debian.org>
 Installed-Size: 2973
 Pre-Depends: libacl1 (>= 2.2.23), libc6 (>= 2.34), libselinux1 (>= 3.1~)
 Suggests: bzip2, ncompress, xz-utils, tar-scripts, tar-doc
 Conflicts: cpio (<= 2.4.2-38)
 Breaks: dpkg-dev (<< 1.14.26)
 Replaces: cpio (<< 2.4.2-39)
 Section: utils
 Priority: required
 Multi-Arch: foreign
 Homepage: https://www.gnu.org/software/tar/
 Description: GNU version of the tar archiving utility
  Tar is a program for packaging a set of files as a single archive in tar
  format.  The function it performs is conceptually similar to cpio, and to
  things like PKZIP in the DOS world.  It is heavily used by the Debian package
  management system, and is useful for performing system backups and exchanging
  sets of files with others.

drwxr-xr-x root/root         0 2023-12-29 13:15 ./
drwxr-xr-x root/root         0 2023-12-29 13:15 ./bin/
-rwxr-xr-x root/root    360668 2023-12-29 13:15 ./bin/tar
drwxr-xr-x root/root         0 2023-12-29 13:15 ./etc/
lrwxrwxrwx root/root         0 2023-12-29 13:15 ./etc/rmt -> /usr/sbin/rmt
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/lib/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/lib/mime/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/lib/mime/packages/
-rw-r--r-- root/root       321 2023-12-29 08:29 ./usr/lib/mime/packages/tar
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/sbin/
-rwxr-xr-x root/root     47140 2023-12-29 13:15 ./usr/sbin/rmt-tar
-rwxr-xr-x root/root       936 2023-12-29 08:29 ./usr/sbin/tarcat
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/doc/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/doc/tar/
-rw-r--r-- root/root       601 2023-12-20 07:15 ./usr/share/doc/tar/AUTHORS
-rw-r--r-- root/root     23590 2023-12-20 07:15 ./usr/share/doc/tar/NEWS.gz
-rw-r--r-- root/root       849 2023-12-29 08:29 ./usr/share/doc/tar/README.Debian
-rw-r--r-- root/root     10637 2023-12-20 07:15 ./usr/share/doc/tar/THANKS.gz
-rw-r--r-- root/root     63288 2023-12-20 07:15 ./usr/share/doc/tar/changelog.1.gz
-rw-r--r-- root/root      1440 2023-12-29 13:15 ./usr/share/doc/tar/changelog.Debian.gz
-rw-r--r-- root/root    167129 2023-12-20 07:15 ./usr/share/doc/tar/changelog.gz
-rw-r--r-- root/root      6560 2023-12-29 08:29 ./usr/share/doc/tar/copyright
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/bg/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/bg/LC_MESSAGES/
-rw-r--r-- root/root     85525 2023-12-29 13:15 ./usr/share/locale/bg/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/ca/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/ca/LC_MESSAGES/
-rw-r--r-- root/root     62123 2023-12-29 13:15 ./usr/share/locale/ca/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/cs/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/cs/LC_MESSAGES/
-rw-r--r-- root/root     63708 2023-12-29 13:15 ./usr/share/locale/cs/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/da/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/da/LC_MESSAGES/
-rw-r--r-- root/root     58291 2023-12-29 13:15 ./usr/share/locale/da/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/de/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/de/LC_MESSAGES/
-rw-r--r-- root/root     63721 2023-12-29 13:15 ./usr/share/locale/de/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/el/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/el/LC_MESSAGES/
-rw-r--r-- root/root     13857 2023-12-29 13:15 ./usr/share/locale/el/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/eo/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/eo/LC_MESSAGES/
-rw-r--r-- root/root     59321 2023-12-29 13:15 ./usr/share/locale/eo/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/es/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/es/LC_MESSAGES/
-rw-r--r-- root/root     64056 2023-12-29 13:15 ./usr/share/locale/es/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/et/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/et/LC_MESSAGES/
-rw-r--r-- root/root     58742 2023-12-29 13:15 ./usr/share/locale/et/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/eu/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/eu/LC_MESSAGES/
-rw-r--r-- root/root     31314 2023-12-29 13:15 ./usr/share/locale/eu/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/fi/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/fi/LC_MESSAGES/
-rw-r--r-- root/root     55692 2023-12-29 13:15 ./usr/share/locale/fi/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/fr/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/fr/LC_MESSAGES/
-rw-r--r-- root/root     65314 2023-12-29 13:15 ./usr/share/locale/fr/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/ga/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/ga/LC_MESSAGES/
-rw-r--r-- root/root     63206 2023-12-29 13:15 ./usr/share/locale/ga/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/gl/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/gl/LC_MESSAGES/
-rw-r--r-- root/root     10288 2023-12-29 13:15 ./usr/share/locale/gl/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/hr/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/hr/LC_MESSAGES/
-rw-r--r-- root/root     62624 2023-12-29 13:15 ./usr/share/locale/hr/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/hu/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/hu/LC_MESSAGES/
-rw-r--r-- root/root     65464 2023-12-29 13:15 ./usr/share/locale/hu/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/id/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/id/LC_MESSAGES/
-rw-r--r-- root/root     60966 2023-12-29 13:15 ./usr/share/locale/id/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/it/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/it/LC_MESSAGES/
-rw-r--r-- root/root     61806 2023-12-29 13:15 ./usr/share/locale/it/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/ja/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/ja/LC_MESSAGES/
-rw-r--r-- root/root     58317 2023-12-29 13:15 ./usr/share/locale/ja/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/ka/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/ka/LC_MESSAGES/
-rw-r--r-- root/root     35755 2023-12-29 13:15 ./usr/share/locale/ka/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/ko/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/ko/LC_MESSAGES/
-rw-r--r-- root/root     65165 2023-12-29 13:15 ./usr/share/locale/ko/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/ky/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/ky/LC_MESSAGES/
-rw-r--r-- root/root     53652 2023-12-29 13:15 ./usr/share/locale/ky/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/ms/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/ms/LC_MESSAGES/
-rw-r--r-- root/root      9251 2023-12-29 13:15 ./usr/share/locale/ms/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/nb/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/nb/LC_MESSAGES/
-rw-r--r-- root/root     59064 2023-12-29 13:15 ./usr/share/locale/nb/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/nl/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/nl/LC_MESSAGES/
-rw-r--r-- root/root     62792 2023-12-29 13:15 ./usr/share/locale/nl/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/pl/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/pl/LC_MESSAGES/
-rw-r--r-- root/root     63808 2023-12-29 13:15 ./usr/share/locale/pl/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/pt/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/pt/LC_MESSAGES/
-rw-r--r-- root/root     60658 2023-12-29 13:15 ./usr/share/locale/pt/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/pt_BR/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/pt_BR/LC_MESSAGES/
-rw-r--r-- root/root     62037 2023-12-29 13:15 ./usr/share/locale/pt_BR/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/ro/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/ro/LC_MESSAGES/
-rw-r--r-- root/root     65049 2023-12-29 13:15 ./usr/share/locale/ro/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/ru/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/ru/LC_MESSAGES/
-rw-r--r-- root/root     81715 2023-12-29 13:15 ./usr/share/locale/ru/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/sk/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/sk/LC_MESSAGES/
-rw-r--r-- root/root      9862 2023-12-29 13:15 ./usr/share/locale/sk/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/sl/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/sl/LC_MESSAGES/
-rw-r--r-- root/root     57629 2023-12-29 13:15 ./usr/share/locale/sl/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/sr/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/sr/LC_MESSAGES/
-rw-r--r-- root/root     80284 2023-12-29 13:15 ./usr/share/locale/sr/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/sv/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/sv/LC_MESSAGES/
-rw-r--r-- root/root     60843 2023-12-29 13:15 ./usr/share/locale/sv/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/tr/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/tr/LC_MESSAGES/
-rw-r--r-- root/root     61012 2023-12-29 13:15 ./usr/share/locale/tr/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/uk/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/uk/LC_MESSAGES/
-rw-r--r-- root/root     81231 2023-12-29 13:15 ./usr/share/locale/uk/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/vi/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/vi/LC_MESSAGES/
-rw-r--r-- root/root     68077 2023-12-29 13:15 ./usr/share/locale/vi/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/zh_CN/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/zh_CN/LC_MESSAGES/
-rw-r--r-- root/root     56889 2023-12-29 13:15 ./usr/share/locale/zh_CN/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/zh_TW/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/locale/zh_TW/LC_MESSAGES/
-rw-r--r-- root/root     57419 2023-12-29 13:15 ./usr/share/locale/zh_TW/LC_MESSAGES/tar.mo
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/man/
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/man/man1/
-rw-r--r-- root/root     13546 2023-12-29 13:15 ./usr/share/man/man1/tar.1.gz
-rw-r--r-- root/root       366 2023-12-29 13:15 ./usr/share/man/man1/tarcat.1.gz
drwxr-xr-x root/root         0 2023-12-29 13:15 ./usr/share/man/man8/
-rw-r--r-- root/root      2399 2023-12-29 13:15 ./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 Type: any
Build-Space: 52676
Build-Time: 173
Distribution: trixie-staging
Host Architecture: armhf
Install-Time: 32
Job: tar_1.35+dfsg-2
Machine Architecture: arm64
Package: tar
Package-Time: 214
Source-Version: 1.35+dfsg-2
Space: 52676
Status: successful
Version: 1.35+dfsg-2
--------------------------------------------------------------------------------
Finished at 2024-01-03T05:01:04Z
Build needed 00:03:34, 52676k disk space