I: pbuilder: network access will be disabled during build I: Current time: Fri Apr 11 05:12:10 -12 2025 I: pbuilder-time-stamp: 1744391530 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/bookworm-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [tar_1.34+dfsg-1.2+deb12u1.dsc] I: copying [./tar_1.34+dfsg.orig.tar.xz] I: copying [./tar_1.34+dfsg-1.2+deb12u1.debian.tar.xz] I: Extracting source gpgv: Signature made Fri Jan 19 21:35:15 2024 -12 gpgv: using RSA key 4644409808C171E05531DDEE054CB8F31343CF44 gpgv: issuer "carnil@debian.org" gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./tar_1.34+dfsg-1.2+deb12u1.dsc: no acceptable signature found dpkg-source: info: extracting tar in tar-1.34+dfsg dpkg-source: info: unpacking tar_1.34+dfsg.orig.tar.xz dpkg-source: info: unpacking tar_1.34+dfsg-1.2+deb12u1.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying gcc-10-warnings.diff dpkg-source: info: applying pristine-tar.diff dpkg-source: info: applying listed03-linux-only dpkg-source: info: applying oldgnu-unknown-mode-bits.patch dpkg-source: info: applying proper_it_translation.patch dpkg-source: info: applying Fix-boundary-checking-in-base-256-decoder.patch dpkg-source: info: applying Fix-handling-of-extended-header-prefixes.patch I: using fakeroot in build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/1039554/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='amd64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=16 ' DISTRIBUTION='bookworm' HOME='/root' HOST_ARCH='amd64' IFS=' ' INVOCATION_ID='539ce59ba4b14d659140d0dc34dc83bd' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='1039554' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.RHQ0Qq76/pbuilderrc_MApw --distribution bookworm --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bookworm-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.RHQ0Qq76/b1 --logfile b1/build.log tar_1.34+dfsg-1.2+deb12u1.dsc' SUDO_GID='110' SUDO_UID='105' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://85.184.249.68:3128' I: uname -a Linux ionos5-amd64 6.5.0-0.deb12.4-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.5.10-1~bpo12+1 (2023-11-23) x86_64 GNU/Linux I: ls -l /bin total 5632 -rwxr-xr-x 1 root root 1265648 Apr 23 2023 bash -rwxr-xr-x 3 root root 39224 Sep 18 2022 bunzip2 -rwxr-xr-x 3 root root 39224 Sep 18 2022 bzcat lrwxrwxrwx 1 root root 6 Sep 18 2022 bzcmp -> bzdiff -rwxr-xr-x 1 root root 2225 Sep 18 2022 bzdiff lrwxrwxrwx 1 root root 6 Sep 18 2022 bzegrep -> bzgrep -rwxr-xr-x 1 root root 4893 Nov 27 2021 bzexe lrwxrwxrwx 1 root root 6 Sep 18 2022 bzfgrep -> bzgrep -rwxr-xr-x 1 root root 3775 Sep 18 2022 bzgrep -rwxr-xr-x 3 root root 39224 Sep 18 2022 bzip2 -rwxr-xr-x 1 root root 14568 Sep 18 2022 bzip2recover lrwxrwxrwx 1 root root 6 Sep 18 2022 bzless -> bzmore -rwxr-xr-x 1 root root 1297 Sep 18 2022 bzmore -rwxr-xr-x 1 root root 44016 Sep 20 2022 cat -rwxr-xr-x 1 root root 68656 Sep 20 2022 chgrp -rwxr-xr-x 1 root root 64496 Sep 20 2022 chmod -rwxr-xr-x 1 root root 72752 Sep 20 2022 chown -rwxr-xr-x 1 root root 151152 Sep 20 2022 cp -rwxr-xr-x 1 root root 125640 Jan 5 2023 dash -rwxr-xr-x 1 root root 121904 Sep 20 2022 date -rwxr-xr-x 1 root root 89240 Sep 20 2022 dd -rwxr-xr-x 1 root root 102200 Sep 20 2022 df -rwxr-xr-x 1 root root 151344 Sep 20 2022 dir -rwxr-xr-x 1 root root 88656 Mar 22 2023 dmesg lrwxrwxrwx 1 root root 8 Dec 19 2022 dnsdomainname -> hostname lrwxrwxrwx 1 root root 8 Dec 19 2022 domainname -> hostname -rwxr-xr-x 1 root root 43856 Sep 20 2022 echo -rwxr-xr-x 1 root root 41 Jan 24 2023 egrep -rwxr-xr-x 1 root root 35664 Sep 20 2022 false -rwxr-xr-x 1 root root 41 Jan 24 2023 fgrep -rwxr-xr-x 1 root root 85600 Mar 22 2023 findmnt -rwsr-xr-x 1 root root 35128 Mar 22 2023 fusermount -rwxr-xr-x 1 root root 203152 Jan 24 2023 grep -rwxr-xr-x 2 root root 2346 Apr 9 2022 gunzip -rwxr-xr-x 1 root root 6447 Apr 9 2022 gzexe -rwxr-xr-x 1 root root 98136 Apr 9 2022 gzip -rwxr-xr-x 1 root root 22680 Dec 19 2022 hostname -rwxr-xr-x 1 root root 72824 Sep 20 2022 ln -rwxr-xr-x 1 root root 53024 Mar 23 2023 login -rwxr-xr-x 1 root root 151344 Sep 20 2022 ls -rwxr-xr-x 1 root root 207168 Mar 22 2023 lsblk -rwxr-xr-x 1 root root 97552 Sep 20 2022 mkdir -rwxr-xr-x 1 root root 72912 Sep 20 2022 mknod -rwxr-xr-x 1 root root 43952 Sep 20 2022 mktemp -rwxr-xr-x 1 root root 59712 Mar 22 2023 more -rwsr-xr-x 1 root root 59704 Mar 22 2023 mount -rwxr-xr-x 1 root root 18744 Mar 22 2023 mountpoint -rwxr-xr-x 1 root root 142968 Sep 20 2022 mv lrwxrwxrwx 1 root root 8 Dec 19 2022 nisdomainname -> hostname lrwxrwxrwx 1 root root 14 Apr 2 2023 pidof -> /sbin/killall5 -rwxr-xr-x 1 root root 43952 Sep 20 2022 pwd lrwxrwxrwx 1 root root 4 Apr 23 2023 rbash -> bash -rwxr-xr-x 1 root root 52112 Sep 20 2022 readlink -rwxr-xr-x 1 root root 72752 Sep 20 2022 rm -rwxr-xr-x 1 root root 56240 Sep 20 2022 rmdir -rwxr-xr-x 1 root root 27560 Jul 28 2023 run-parts -rwxr-xr-x 1 root root 126424 Jan 5 2023 sed lrwxrwxrwx 1 root root 4 Jan 5 2023 sh -> dash -rwxr-xr-x 1 root root 43888 Sep 20 2022 sleep -rwxr-xr-x 1 root root 85008 Sep 20 2022 stty -rwsr-xr-x 1 root root 72000 Mar 22 2023 su -rwxr-xr-x 1 root root 39824 Sep 20 2022 sync -rwxr-xr-x 1 root root 531984 Jan 19 2024 tar -rwxr-xr-x 1 root root 14520 Jul 28 2023 tempfile -rwxr-xr-x 1 root root 109616 Sep 20 2022 touch -rwxr-xr-x 1 root root 35664 Sep 20 2022 true -rwxr-xr-x 1 root root 14568 Mar 22 2023 ulockmgr_server -rwsr-xr-x 1 root root 35128 Mar 22 2023 umount -rwxr-xr-x 1 root root 43888 Sep 20 2022 uname -rwxr-xr-x 2 root root 2346 Apr 9 2022 uncompress -rwxr-xr-x 1 root root 151344 Sep 20 2022 vdir -rwxr-xr-x 1 root root 72024 Mar 22 2023 wdctl lrwxrwxrwx 1 root root 8 Dec 19 2022 ypdomainname -> hostname -rwxr-xr-x 1 root root 1984 Apr 9 2022 zcat -rwxr-xr-x 1 root root 1678 Apr 9 2022 zcmp -rwxr-xr-x 1 root root 6460 Apr 9 2022 zdiff -rwxr-xr-x 1 root root 29 Apr 9 2022 zegrep -rwxr-xr-x 1 root root 29 Apr 9 2022 zfgrep -rwxr-xr-x 1 root root 2081 Apr 9 2022 zforce -rwxr-xr-x 1 root root 8103 Apr 9 2022 zgrep -rwxr-xr-x 1 root root 2206 Apr 9 2022 zless -rwxr-xr-x 1 root root 1842 Apr 9 2022 zmore -rwxr-xr-x 1 root root 4577 Apr 9 2022 znew I: user script /srv/workspace/pbuilder/1039554/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: amd64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper (>> 10), gettext, autoconf, automake, autopoint, bison, libacl1-dev, libselinux1-dev dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19555 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper (>> 10); however: Package debhelper is not installed. pbuilder-satisfydepends-dummy depends on gettext; however: Package gettext is not installed. pbuilder-satisfydepends-dummy depends on autoconf; however: Package autoconf is not installed. pbuilder-satisfydepends-dummy depends on automake; however: Package automake is not installed. pbuilder-satisfydepends-dummy depends on autopoint; however: Package autopoint is not installed. pbuilder-satisfydepends-dummy depends on bison; however: Package bison is not installed. pbuilder-satisfydepends-dummy depends on libacl1-dev; however: Package libacl1-dev is not installed. pbuilder-satisfydepends-dummy depends on libselinux1-dev; however: Package libselinux1-dev is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bison{a} bsdextrautils{a} debhelper{a} dh-autoreconf{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libacl1-dev{a} libarchive-zip-perl{a} libattr1-dev{a} libdebhelper-perl{a} libelf1{a} libfile-stripnondeterminism-perl{a} libicu72{a} libmagic-mgc{a} libmagic1{a} libpcre2-16-0{a} libpcre2-32-0{a} libpcre2-dev{a} libpcre2-posix3{a} libpipeline1{a} libselinux1-dev{a} libsepol-dev{a} libsub-override-perl{a} libtool{a} libuchardet0{a} libxml2{a} m4{a} man-db{a} po-debconf{a} sensible-utils{a} The following packages are RECOMMENDED but will NOT be installed: curl libarchive-cpio-perl libltdl-dev libmail-sendmail-perl lynx wget 0 packages upgraded, 39 newly installed, 0 to remove and 0 not upgraded. Need to get 21.8 MB of archives. After unpacking 82.3 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian bookworm/main amd64 sensible-utils all 0.0.17+nmu1 [19.0 kB] Get: 2 http://deb.debian.org/debian bookworm/main amd64 libmagic-mgc amd64 1:5.44-3 [305 kB] Get: 3 http://deb.debian.org/debian bookworm/main amd64 libmagic1 amd64 1:5.44-3 [104 kB] Get: 4 http://deb.debian.org/debian bookworm/main amd64 file amd64 1:5.44-3 [42.5 kB] Get: 5 http://deb.debian.org/debian bookworm/main amd64 gettext-base amd64 0.21-12 [160 kB] Get: 6 http://deb.debian.org/debian bookworm/main amd64 libuchardet0 amd64 0.0.7-1 [67.8 kB] Get: 7 http://deb.debian.org/debian bookworm/main amd64 groff-base amd64 1.22.4-10 [916 kB] Get: 8 http://deb.debian.org/debian bookworm/main amd64 bsdextrautils amd64 2.38.1-5+b1 [86.6 kB] Get: 9 http://deb.debian.org/debian bookworm/main amd64 libpipeline1 amd64 1.5.7-1 [38.5 kB] Get: 10 http://deb.debian.org/debian bookworm/main amd64 man-db amd64 2.11.2-2 [1386 kB] Get: 11 http://deb.debian.org/debian bookworm/main amd64 m4 amd64 1.4.19-3 [287 kB] Get: 12 http://deb.debian.org/debian bookworm/main amd64 autoconf all 2.71-3 [332 kB] Get: 13 http://deb.debian.org/debian bookworm/main amd64 autotools-dev all 20220109.1 [51.6 kB] Get: 14 http://deb.debian.org/debian bookworm/main amd64 automake all 1:1.16.5-1.3 [823 kB] Get: 15 http://deb.debian.org/debian bookworm/main amd64 autopoint all 0.21-12 [495 kB] Get: 16 http://deb.debian.org/debian bookworm/main amd64 bison amd64 2:3.8.2+dfsg-1+b1 [1175 kB] Get: 17 http://deb.debian.org/debian bookworm/main amd64 libdebhelper-perl all 13.11.4 [81.2 kB] Get: 18 http://deb.debian.org/debian bookworm/main amd64 libtool all 2.4.7-5 [517 kB] Get: 19 http://deb.debian.org/debian bookworm/main amd64 dh-autoreconf all 20 [17.1 kB] Get: 20 http://deb.debian.org/debian bookworm/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 21 http://deb.debian.org/debian bookworm/main amd64 libsub-override-perl all 0.09-4 [9304 B] Get: 22 http://deb.debian.org/debian bookworm/main amd64 libfile-stripnondeterminism-perl all 1.13.1-1 [19.4 kB] Get: 23 http://deb.debian.org/debian bookworm/main amd64 dh-strip-nondeterminism all 1.13.1-1 [8620 B] Get: 24 http://deb.debian.org/debian bookworm/main amd64 libelf1 amd64 0.188-2.1 [174 kB] Get: 25 http://deb.debian.org/debian bookworm/main amd64 dwz amd64 0.15-1 [109 kB] Get: 26 http://deb.debian.org/debian bookworm/main amd64 libicu72 amd64 72.1-3 [9376 kB] Get: 27 http://deb.debian.org/debian bookworm/main amd64 libxml2 amd64 2.9.14+dfsg-1.3~deb12u1 [687 kB] Get: 28 http://deb.debian.org/debian bookworm/main amd64 gettext amd64 0.21-12 [1300 kB] Get: 29 http://deb.debian.org/debian bookworm/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 30 http://deb.debian.org/debian bookworm/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 31 http://deb.debian.org/debian bookworm/main amd64 debhelper all 13.11.4 [942 kB] Get: 32 http://deb.debian.org/debian bookworm/main amd64 libattr1-dev amd64 1:2.5.1-4 [35.5 kB] Get: 33 http://deb.debian.org/debian bookworm/main amd64 libacl1-dev amd64 2.3.1-3 [92.4 kB] Get: 34 http://deb.debian.org/debian bookworm/main amd64 libpcre2-16-0 amd64 10.42-1 [245 kB] Get: 35 http://deb.debian.org/debian bookworm/main amd64 libpcre2-32-0 amd64 10.42-1 [234 kB] Get: 36 http://deb.debian.org/debian bookworm/main amd64 libpcre2-posix3 amd64 10.42-1 [55.4 kB] Get: 37 http://deb.debian.org/debian bookworm/main amd64 libpcre2-dev amd64 10.42-1 [753 kB] Get: 38 http://deb.debian.org/debian bookworm/main amd64 libsepol-dev amd64 3.4-2.1 [351 kB] Get: 39 http://deb.debian.org/debian bookworm/main amd64 libselinux1-dev amd64 3.4-1+b6 [157 kB] Fetched 21.8 MB in 1s (36.1 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package sensible-utils. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19555 files and directories currently installed.) Preparing to unpack .../00-sensible-utils_0.0.17+nmu1_all.deb ... Unpacking sensible-utils (0.0.17+nmu1) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../01-libmagic-mgc_1%3a5.44-3_amd64.deb ... Unpacking libmagic-mgc (1:5.44-3) ... Selecting previously unselected package libmagic1:amd64. Preparing to unpack .../02-libmagic1_1%3a5.44-3_amd64.deb ... Unpacking libmagic1:amd64 (1:5.44-3) ... Selecting previously unselected package file. Preparing to unpack .../03-file_1%3a5.44-3_amd64.deb ... Unpacking file (1:5.44-3) ... Selecting previously unselected package gettext-base. Preparing to unpack .../04-gettext-base_0.21-12_amd64.deb ... Unpacking gettext-base (0.21-12) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../05-libuchardet0_0.0.7-1_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.7-1) ... Selecting previously unselected package groff-base. Preparing to unpack .../06-groff-base_1.22.4-10_amd64.deb ... Unpacking groff-base (1.22.4-10) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../07-bsdextrautils_2.38.1-5+b1_amd64.deb ... Unpacking bsdextrautils (2.38.1-5+b1) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../08-libpipeline1_1.5.7-1_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.7-1) ... Selecting previously unselected package man-db. Preparing to unpack .../09-man-db_2.11.2-2_amd64.deb ... Unpacking man-db (2.11.2-2) ... Selecting previously unselected package m4. Preparing to unpack .../10-m4_1.4.19-3_amd64.deb ... Unpacking m4 (1.4.19-3) ... 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-12_all.deb ... Unpacking autopoint (0.21-12) ... Selecting previously unselected package bison. Preparing to unpack .../15-bison_2%3a3.8.2+dfsg-1+b1_amd64.deb ... Unpacking bison (2:3.8.2+dfsg-1+b1) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../16-libdebhelper-perl_13.11.4_all.deb ... Unpacking libdebhelper-perl (13.11.4) ... Selecting previously unselected package libtool. Preparing to unpack .../17-libtool_2.4.7-5_all.deb ... Unpacking libtool (2.4.7-5) ... 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.09-4_all.deb ... Unpacking libsub-override-perl (0.09-4) ... 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:amd64. Preparing to unpack .../23-libelf1_0.188-2.1_amd64.deb ... Unpacking libelf1:amd64 (0.188-2.1) ... Selecting previously unselected package dwz. Preparing to unpack .../24-dwz_0.15-1_amd64.deb ... Unpacking dwz (0.15-1) ... Selecting previously unselected package libicu72:amd64. Preparing to unpack .../25-libicu72_72.1-3_amd64.deb ... Unpacking libicu72:amd64 (72.1-3) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../26-libxml2_2.9.14+dfsg-1.3~deb12u1_amd64.deb ... Unpacking libxml2:amd64 (2.9.14+dfsg-1.3~deb12u1) ... Selecting previously unselected package gettext. Preparing to unpack .../27-gettext_0.21-12_amd64.deb ... Unpacking gettext (0.21-12) ... 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.4_all.deb ... Unpacking debhelper (13.11.4) ... Selecting previously unselected package libattr1-dev:amd64. Preparing to unpack .../31-libattr1-dev_1%3a2.5.1-4_amd64.deb ... Unpacking libattr1-dev:amd64 (1:2.5.1-4) ... Selecting previously unselected package libacl1-dev:amd64. Preparing to unpack .../32-libacl1-dev_2.3.1-3_amd64.deb ... Unpacking libacl1-dev:amd64 (2.3.1-3) ... Selecting previously unselected package libpcre2-16-0:amd64. Preparing to unpack .../33-libpcre2-16-0_10.42-1_amd64.deb ... Unpacking libpcre2-16-0:amd64 (10.42-1) ... Selecting previously unselected package libpcre2-32-0:amd64. Preparing to unpack .../34-libpcre2-32-0_10.42-1_amd64.deb ... Unpacking libpcre2-32-0:amd64 (10.42-1) ... Selecting previously unselected package libpcre2-posix3:amd64. Preparing to unpack .../35-libpcre2-posix3_10.42-1_amd64.deb ... Unpacking libpcre2-posix3:amd64 (10.42-1) ... Selecting previously unselected package libpcre2-dev:amd64. Preparing to unpack .../36-libpcre2-dev_10.42-1_amd64.deb ... Unpacking libpcre2-dev:amd64 (10.42-1) ... Selecting previously unselected package libsepol-dev:amd64. Preparing to unpack .../37-libsepol-dev_3.4-2.1_amd64.deb ... Unpacking libsepol-dev:amd64 (3.4-2.1) ... Selecting previously unselected package libselinux1-dev:amd64. Preparing to unpack .../38-libselinux1-dev_3.4-1+b6_amd64.deb ... Unpacking libselinux1-dev:amd64 (3.4-1+b6) ... Setting up libpipeline1:amd64 (1.5.7-1) ... Setting up libicu72:amd64 (72.1-3) ... Setting up bsdextrautils (2.38.1-5+b1) ... Setting up libattr1-dev:amd64 (1:2.5.1-4) ... Setting up libmagic-mgc (1:5.44-3) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libdebhelper-perl (13.11.4) ... Setting up libmagic1:amd64 (1:5.44-3) ... Setting up gettext-base (0.21-12) ... Setting up m4 (1.4.19-3) ... Setting up file (1:5.44-3) ... Setting up libpcre2-16-0:amd64 (10.42-1) ... Setting up autotools-dev (20220109.1) ... Setting up libpcre2-32-0:amd64 (10.42-1) ... Setting up autopoint (0.21-12) ... Setting up libsepol-dev:amd64 (3.4-2.1) ... Setting up autoconf (2.71-3) ... Setting up libpcre2-posix3:amd64 (10.42-1) ... Setting up sensible-utils (0.0.17+nmu1) ... Setting up libuchardet0:amd64 (0.0.7-1) ... Setting up bison (2:3.8.2+dfsg-1+b1) ... update-alternatives: using /usr/bin/bison.yacc to provide /usr/bin/yacc (yacc) in auto mode Setting up libsub-override-perl (0.09-4) ... Setting up libelf1:amd64 (0.188-2.1) ... Setting up libxml2:amd64 (2.9.14+dfsg-1.3~deb12u1) ... Setting up libacl1-dev:amd64 (2.3.1-3) ... 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-12) ... Setting up libpcre2-dev:amd64 (10.42-1) ... Setting up libtool (2.4.7-5) ... Setting up libselinux1-dev:amd64 (3.4-1+b6) ... 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.22.4-10) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up man-db (2.11.2-2) ... Not building database; man-db/auto-update is not 'true'. Setting up debhelper (13.11.4) ... Processing triggers for libc-bin (2.36-9+deb12u4) ... Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps Reading package lists... Building dependency tree... Reading state information... fakeroot is already the newest version (1.31-1.2). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package I: Running cd /build/reproducible-path/tar-1.34+dfsg/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../tar_1.34+dfsg-1.2+deb12u1_source.changes dpkg-buildpackage: info: source package tar dpkg-buildpackage: info: source version 1.34+dfsg-1.2+deb12u1 dpkg-buildpackage: info: source distribution bookworm dpkg-buildpackage: info: source changed by Salvatore Bonaccorso dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 fakeroot debian/rules clean dh_testdir dh_testroot rm -f build-stamp configure-stamp [ ! -f Makefile ] || /usr/bin/make distclean dh_clean debian/rules build dh_testdir cp -f /usr/share/misc/config.sub build-aux/config.sub cp -f /usr/share/misc/config.guess build-aux/config.guess autoreconf --force -v --install autoreconf: export WARNINGS= autoreconf: Entering directory '.' autoreconf: running: autopoint --force Copying file build-aux/config.rpath Copying file m4/glibc2.m4 Copying file m4/glibc21.m4 Copying file m4/iconv.m4 Copying file m4/intdiv0.m4 Copying file m4/intl.m4 Copying file m4/intldir.m4 Copying file m4/intmax.m4 Copying file m4/inttypes-pri.m4 Copying file m4/lcmessage.m4 Copying file m4/lock.m4 Copying file m4/longdouble.m4 Copying file m4/longlong.m4 Copying file m4/printf-posix.m4 Copying file m4/uintmax_t.m4 Copying file m4/ulonglong.m4 Copying file po/Makefile.in.in Copying file po/Makevars.template autoreconf: running: aclocal --force -I m4 autoreconf: configure.ac: tracing autoreconf: configure.ac: not using Libtool autoreconf: configure.ac: not using Intltool autoreconf: configure.ac: not using Gtkdoc autoreconf: running: /usr/bin/autoconf --force configure.ac:30: warning: The macro `AC_PROG_CC_STDC' is obsolete. configure.ac:30: You should run autoupdate. ./lib/autoconf/c.m4:1666: AC_PROG_CC_STDC is expanded from... configure.ac:30: the top level configure.ac:55: warning: The macro `AC_TRY_COMPILE' is obsolete. configure.ac:55: You should run autoupdate. ./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... ./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... configure.ac:55: the top level configure.ac:118: warning: The macro `AC_TRY_CPP' is obsolete. configure.ac:118: You should run autoupdate. ./lib/autoconf/general.m4:2762: AC_TRY_CPP is expanded from... lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... ./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... ./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... m4/rmt.m4:2: PU_RMT is expanded from... m4/paxutils.m4:3: tar_PAXUTILS is expanded from... configure.ac:118: the top level configure.ac:118: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:118: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... m4/rmt.m4:2: PU_RMT is expanded from... m4/paxutils.m4:3: tar_PAXUTILS is expanded from... configure.ac:118: the top level configure.ac:118: warning: The macro `AC_HEADER_STDC' is obsolete. configure.ac:118: You should run autoupdate. ./lib/autoconf/headers.m4:704: AC_HEADER_STDC is expanded from... m4/system.m4:8: PU_SYSTEM is expanded from... m4/paxutils.m4:3: tar_PAXUTILS is expanded from... configure.ac:118: the top level configure.ac:118: warning: The macro `AC_HEADER_TIME' is obsolete. configure.ac:118: You should run autoupdate. ./lib/autoconf/headers.m4:743: AC_HEADER_TIME is expanded from... m4/system.m4:8: PU_SYSTEM is expanded from... m4/paxutils.m4:3: tar_PAXUTILS is expanded from... configure.ac:118: the top level configure.ac:118: warning: The macro `AC_STRUCT_ST_BLKSIZE' is obsolete. configure.ac:118: You should run autoupdate. ./lib/autoconf/types.m4:1000: AC_STRUCT_ST_BLKSIZE is expanded from... m4/system.m4:8: PU_SYSTEM is expanded from... m4/paxutils.m4:3: tar_PAXUTILS is expanded from... configure.ac:118: the top level configure.ac:258: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:258: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... acinclude.m4:20: TAR_COMPR_PROGRAM is expanded from... configure.ac:258: the top level configure.ac:259: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:259: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... acinclude.m4:20: TAR_COMPR_PROGRAM is expanded from... configure.ac:259: the top level configure.ac:260: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:260: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... acinclude.m4:20: TAR_COMPR_PROGRAM is expanded from... configure.ac:260: the top level configure.ac:261: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:261: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... acinclude.m4:20: TAR_COMPR_PROGRAM is expanded from... configure.ac:261: the top level configure.ac:262: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:262: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... acinclude.m4:20: TAR_COMPR_PROGRAM is expanded from... configure.ac:262: the top level configure.ac:263: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:263: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... acinclude.m4:20: TAR_COMPR_PROGRAM is expanded from... configure.ac:263: the top level configure.ac:264: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:264: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... acinclude.m4:20: TAR_COMPR_PROGRAM is expanded from... configure.ac:264: the top level configure.ac:265: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:265: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... acinclude.m4:20: TAR_COMPR_PROGRAM is expanded from... configure.ac:265: the top level configure.ac:346: warning: The macro `AC_TRY_LINK' is obsolete. configure.ac:346: You should run autoupdate. ./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from... lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... ./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... ./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... m4/iconv.m4:20: AM_ICONV_LINK is expanded from... m4/iconv.m4:75: AM_ICONV is expanded from... configure.ac:346: the top level configure.ac:346: warning: The macro `AC_TRY_COMPILE' is obsolete. configure.ac:346: You should run autoupdate. ./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... ./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... m4/iconv.m4:75: AM_ICONV is expanded from... configure.ac:346: the top level configure.ac:358: warning: The macro `AC_TRY_LINK' is obsolete. configure.ac:358: You should run autoupdate. ./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from... lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... ./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... ./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... m4/iconv.m4:20: AM_ICONV_LINK is expanded from... m4/gettext.m4:55: AM_GNU_GETTEXT is expanded from... configure.ac:358: the top level configure.ac:369: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:369: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:369: the top level configure.ac:384: warning: AC_OUTPUT should be used without arguments. configure.ac:384: You should run autoupdate. autoreconf: running: /usr/bin/autoheader --force autoreconf: running: automake --add-missing --copy --force-missing autoreconf: Leaving directory '.' RSH="/usr/bin/rsh" CPPFLAGS="-Wdate-time -D_FORTIFY_SOURCE=2" CFLAGS="-g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument" LDFLAGS="-Wl,-z,relro" ./configure \ --prefix=/usr \ --libexecdir=/usr/sbin \ --enable-backup-scripts \ --with-lzma=xz \ --disable-silent-rules \ checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a race-free mkdir -p... /bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether UID '1111' is supported by ustar format... yes checking whether GID '1111' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar checking whether make supports nested variables... (cached) yes checking whether make supports the include directive... yes (GNU style) checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether 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 dependency style of gcc... gcc3 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 sys/socket.h... yes checking for dirent.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 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... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for Minix Amsterdam compiler... no checking for ar... ar checking for _LARGEFILE_SOURCE value needed for large files... no checking for special C compiler options needed for large files... no checking for _FILE_OFFSET_BITS value needed for large files... no checking for special C compiler options needed for large files... (cached) no checking for _FILE_OFFSET_BITS value needed for large files... (cached) no checking for inline... inline 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 canonicalize_file_name... yes checking for faccessat... yes checking for realpath... yes checking for readlinkat... yes checking for chown... yes checking for fchown... yes checking for _set_invalid_parameter_handler... no checking for fchdir... yes checking for fdopendir... yes checking for fchmodat... yes checking for lchmod... yes checking for fcntl... yes checking for symlink... yes checking for mempcpy... yes checking for fnmatch... yes checking for mbsrtowcs... yes checking for fstatat... yes checking for futimens... yes checking for getdelim... yes checking for getdtablesize... yes checking for getprogname... no checking for getexecname... no checking for getrandom... yes checking for gettimeofday... yes checking for isblank... yes checking for iswcntrl... yes checking for iswblank... yes checking for lstat... yes checking for link... yes checking for readlink... yes checking for openat... yes checking for linkat... yes checking for mbsinit... yes checking for mbrtowc... yes checking for mprotect... yes checking for mkdirat... yes checking for mkfifoat... yes checking for mknodat... yes checking for mknod... yes checking for nl_langinfo... yes checking for pipe... yes checking for iswctype... yes checking for renameat... yes checking for renameat2... yes checking for setenv... yes checking for sleep... yes checking for snprintf... yes checking for strndup... yes checking for strtoimax... yes checking for strtoumax... yes checking for symlinkat... yes checking for localtime_r... yes checking for timegm... yes checking for unlinkat... yes checking for futimes... yes checking for futimesat... yes checking for utimensat... yes checking for lutimes... yes checking for vasnprintf... no checking for wcrtomb... yes checking for wcwidth... yes checking for wmempcpy... yes checking for mkfifo... yes checking for setlocale... yes checking for fsync... yes checking for size_t... yes checking for working alloca.h... yes checking for alloca... yes checking for C/C++ restrict keyword... __restrict__ checking 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 for d_ino member in directory struct... yes checking for long file names... yes checking whether uses 'inline' correctly... yes checking for nl_langinfo and CODESET... yes checking for a traditional french locale... fr_FR checking whether lstat correctly handles trailing slash... yes checking whether // is distinct from /... no checking whether realpath works... yes checking for getcwd... yes checking for unistd.h... (cached) yes checking for working chown... yes checking whether chown dereferences symlinks... yes checking whether chown honors trailing slash... yes checking whether chown always updates ctime... yes checking whether the preprocessor supports include_next... yes checking whether source code line length is unlimited... yes checking if environ is properly declared... yes checking for complete errno.h... yes checking type of array argument to getgroups... gid_t checking whether fchdir is declared... yes checking for working fcntl.h... yes checking for promoted mode_t type... mode_t checking for mbstate_t... yes checking whether stdin defaults to large file offsets... yes checking whether fseeko is declared... yes checking for fseeko... yes checking whether stat file-mode macros are broken... no checking for nlink_t... yes checking whether getcwd (NULL, 0) allocates memory for result... yes checking for getcwd with POSIX signature... yes checking whether getcwd is declared... yes checking whether getdelim is declared... yes checking whether getdtablesize is declared... yes checking whether getline is declared... yes checking for getopt.h... (cached) yes checking for getopt_long_only... yes checking whether getopt is POSIX compatible... yes checking for working GNU getopt function... yes checking for working GNU getopt_long function... yes checking for struct timeval... yes checking for wide-enough struct timeval.tv_sec member... yes checking 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 LLONG_MAX, WORD_BIT, ULLONG_WIDTH etc.... yes checking for wint_t... yes checking whether wint_t is large enough... yes checking whether the compiler produces multi-arch binaries... no checking whether stdint.h conforms to C99... yes checking whether stdint.h works without ISO C predefines... yes checking whether stdint.h has UINTMAX_WIDTH etc.... yes checking whether iswcntrl works... yes checking for towlower... yes checking for wctype_t... yes checking for wctrans_t... yes checking for a traditional japanese locale... ja_JP.EUC-JP checking for a french Unicode locale... fr_FR.UTF-8 checking for a transitional chinese locale... zh_CN.GB18030 checking for O_CLOEXEC... yes checking for wchar_t... yes checking for good max_align_t... yes checking whether NULL can be used in arbitrary expressions... yes checking whether locale.h defines locale_t... yes checking whether malloc, realloc, calloc are POSIX compliant... yes checking for GNU libc compatible malloc... yes checking for mmap... yes checking for MAP_ANONYMOUS... yes checking whether memchr works... yes checking whether memrchr is declared... yes checking whether defines MIN and MAX... no checking whether defines MIN and MAX... yes checking whether time_t is signed... yes checking whether alarm is declared... yes checking for working mktime... yes checking whether struct tm is in sys/time.h or time.h... time.h checking for struct tm.tm_zone... yes checking for struct tm.tm_gmtoff... yes checking for stdbool.h that conforms to C99... yes checking for _Bool... yes checking for compound literals... yes checking for library containing setfilecon... -lselinux checking whether setenv is declared... yes checking for search.h... yes checking for tsearch... yes checking for sigset_t... yes checking whether snprintf returns a byte count as in C99... yes checking whether snprintf is declared... yes checking whether fcloseall is declared... yes checking whether ecvt is declared... yes checking whether fcvt is declared... yes checking whether gcvt is declared... yes checking whether strdup is declared... yes checking whether strerror(0) succeeds... yes checking whether strndup is declared... yes checking whether strnlen is declared... yes checking whether strtoimax is declared... yes checking whether strtoumax is declared... yes checking for struct timespec in ... yes checking for TIME_UTC in ... yes checking whether execvpe is declared... yes checking whether unsetenv is declared... yes checking whether the utimes function works... yes checking for inttypes.h... yes checking for stdint.h... yes checking for intmax_t... yes checking where to find the exponent in a 'double'... word 1 bit 20 checking whether snprintf truncates the result as in C99... yes checking for snprintf... (cached) yes checking for strnlen... yes checking for wcslen... yes checking for wcsnlen... yes checking for mbrtowc... (cached) yes checking for wcrtomb... (cached) yes checking whether _snprintf is declared... no checking whether vsnprintf is declared... yes checking for sys/acl.h... (cached) yes checking for library containing acl_get_file... (cached) -lacl checking for acl_get_file... yes checking for acl_get_fd... yes checking for acl_set_file... yes checking for acl_set_fd... yes checking for acl_free... yes checking for acl_from_mode... yes checking for acl_from_text... yes checking for acl_delete_def_file... yes checking for acl_extended_file... yes checking for acl_delete_fd_np... no checking for acl_delete_file_np... no checking for acl_copy_ext_native... no checking for acl_create_entry_np... no checking for acl_to_short_text... no checking for acl_free_text... no checking for working acl_get_file... yes checking for acl/libacl.h... yes checking for acl_entries... yes checking for ACL_FIRST_ENTRY... yes checking for ACL_TYPE_EXTENDED... no checking for alloca as a compiler built-in... yes checking whether program_invocation_name is declared... yes checking whether program_invocation_short_name is declared... yes checking whether program_invocation_name is defined... yes checking whether program_invocation_short_name is defined... yes checking whether btowc(0) is correct... yes checking whether btowc(EOF) is correct... yes checking for __builtin_expect... yes checking whether this system supports file names of any length... no checking for library containing clock_gettime... none required checking for clock_gettime... yes checking for clock_settime... yes checking for closedir... yes checking for d_ino member in directory struct... (cached) yes checking for dirfd... yes checking whether dirfd is declared... yes checking whether dirfd is a macro... no checking whether // is distinct from /... (cached) no checking whether dup works... yes checking whether dup2 works... yes checking for error_at_line... yes checking for euidaccess... yes checking whether fchmodat+AT_SYMLINK_NOFOLLOW works on non-symlinks... 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 getxattr with XATTR_NAME_POSIX_ACL macros... yes checking for struct stat.st_blocks... yes checking for flexible array member... yes checking whether conversion from 'int' to 'long double' works... yes checking for working GNU fnmatch... yes checking whether fopen recognizes a trailing slash... yes checking whether fopen supports the mode character 'x'... yes checking whether fopen supports the mode character 'e'... yes checking for __fpending... yes checking whether __fpending is declared... yes checking whether free is known to preserve errno... yes checking for fseeko... (cached) yes checking whether fstatat (..., 0) works... yes checking whether futimens works... yes checking whether getcwd handles long file names properly... yes checking for getpagesize... yes checking whether getcwd succeeds when 4k < cwd_length < 16k... yes checking for working getdelim function... yes checking whether getdtablesize works... yes checking for getgroups... yes checking for working getgroups... yes checking whether getgroups handles negative values... yes checking for getline... yes checking for working getline function... yes checking for getpagesize... (cached) yes checking whether getpagesize is declared... yes checking whether program_invocation_name is declared... (cached) yes checking whether program_invocation_short_name is declared... (cached) yes checking whether __argv is declared... no checking whether getrandom is compatible with its GNU+BSD signature... yes checking for gettimeofday with POSIX signature... yes checking for group_member... yes checking whether INT32_MAX < INTMAX_MAX... yes checking whether INT64_MAX == LONG_MAX... yes checking whether UINT32_MAX < UINTMAX_MAX... yes checking whether UINT64_MAX == ULONG_MAX... yes checking whether iswblank is declared... yes checking whether iswdigit is ISO C compliant... yes checking whether iswxdigit is ISO C compliant... yes checking whether langinfo.h defines CODESET... yes checking whether langinfo.h defines T_FMT_AMPM... yes checking whether langinfo.h defines ALTMON_1... yes checking whether langinfo.h defines ERA... yes checking whether langinfo.h defines YESEXPR... yes checking for lchown... yes checking whether the compiler supports the __inline keyword... yes checking whether link obeys POSIX... yes checking for __xpg4... no checking whether link(2) dereferences a symlink... no checking whether linkat() can link symlinks... yes checking whether linkat handles trailing slash correctly... yes checking whether locale.h conforms to POSIX:2001... yes checking whether struct lconv is properly defined... yes checking whether lseek detects pipes... yes checking for GNU libc compatible malloc... (cached) yes checking whether mbrtowc handles incomplete characters... yes checking whether mbrtowc works as well as mbtowc... yes checking whether mbrtowc handles a NULL pwc argument... yes checking whether mbrtowc handles a NULL string argument... yes checking whether mbrtowc has a correct return value... yes checking whether mbrtowc returns 0 when parsing a NUL character... yes checking whether mbrtowc stores incomplete characters... no checking whether mbrtowc works on empty input... yes checking whether the C locale is free of encoding errors... no checking whether mbrtowc handles incomplete characters... (cached) yes checking whether mbrtowc works as well as mbtowc... (cached) yes checking whether mbrtowc handles incomplete characters... (cached) yes checking whether mbrtowc works as well as mbtowc... (cached) yes checking whether mbsrtowcs works... yes checking for mbtowc... yes checking for mempcpy... (cached) yes checking for memrchr... yes checking whether mkdir handles trailing slash... yes checking whether mkdir handles trailing dot... yes checking for mkdtemp... yes checking for mkfifo... yes checking whether mkfifo rejects trailing slashes... yes checking whether mkfifoat rejects trailing slashes... yes checking whether mknod can create fifo without root privileges... yes checking for __mktime_internal... no checking whether YESEXPR works... yes checking for obstacks that work with any size object... no checking whether open recognizes a trailing slash... yes checking for opendir... yes checking for bison... bison checking for bison 2.4 or newer... 3.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 whether readlinkat signature is correct... yes checking for working re_compile_pattern... no checking for libintl.h... yes checking whether isblank is declared... yes checking whether rename honors trailing slash on destination... yes checking whether rename honors trailing slash on source... yes checking whether rename manages hard links correctly... yes checking whether rename manages existing destinations correctly... yes checking for linux/fs.h... yes checking for linux/fs.h... (cached) yes checking for rewinddir... yes checking whether rmdir works... yes checking for rpmatch... yes checking 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 volatile sig_atomic_t... yes checking for sighandler_t... yes checking for stdint.h... (cached) yes checking for SIZE_MAX... yes checking whether sleep is declared... yes checking for working sleep... yes checking for snprintf... (cached) yes checking whether snprintf respects a size of 1... yes checking whether printf supports POSIX/XSI format strings with positions... yes checking for ssize_t... (cached) yes checking whether stat handles trailing slashes on files... yes checking for struct stat.st_atim.tv_nsec... yes checking whether struct stat.st_atim is of type struct timespec... yes checking for struct stat.st_birthtimespec.tv_nsec... no checking for struct stat.st_birthtimensec... no checking for struct stat.st_birthtim.tv_nsec... no checking for working stdalign.h... yes checking for va_copy... yes checking for good max_align_t... (cached) yes checking whether NULL can be used in arbitrary expressions... (cached) yes checking which flavor of printf attribute matches inttypes macros... system checking for stpcpy... yes checking for strcasecmp... yes checking for strncasecmp... yes checking whether strncasecmp is declared... yes checking for strchrnul... yes checking whether strchrnul works... yes checking for working strerror function... yes checking for working strndup... yes checking for working strnlen... yes checking whether strtoimax works... yes checking for strtol... yes checking for strtoll... yes checking for strtoul... yes checking for strtoull... yes checking whether symlink handles trailing slash correctly... yes checking whether symlinkat handles trailing slash correctly... yes checking for nlink_t... (cached) yes checking whether localtime_r is declared... yes checking whether localtime_r is compatible with its POSIX signature... yes checking whether localtime works even near extrema... yes checking for timezone_t... no checking whether unlink honors trailing slashes... yes checking whether unlink of a parent directory fails as it should... guessing yes checking for unsetenv... yes checking for unsetenv() return type... int checking whether unsetenv obeys POSIX... yes checking for utime... yes checking whether utime handles trailing slashes on files... yes checking whether utimensat works... yes checking for ptrdiff_t... yes checking for vasprintf... yes checking for vsnprintf... yes checking whether snprintf respects a size of 1... (cached) yes checking whether printf supports POSIX/XSI format strings with positions... (cached) yes checking whether wcsdup is declared... yes checking whether mbrtowc handles incomplete characters... (cached) yes checking whether mbrtowc works as well as mbtowc... (cached) yes checking whether wcrtomb works in the C locale... yes checking whether wcrtomb return value is correct... yes checking whether iswcntrl works... (cached) yes checking for towlower... (cached) yes checking for wctype_t... (cached) yes checking for wctrans_t... (cached) yes checking whether wcwidth is declared... yes checking whether wcwidth works reasonably in UTF-8 locales... yes checking for wmemchr... yes checking for stdint.h... (cached) yes checking for egrep... (cached) /bin/grep -E checking for struct stat.st_blksize... yes checking for library containing setsockopt... none required checking for library containing setsockopt... (cached) none required checking for sys/mtio.h... (cached) yes checking which ioctl field to test for reversed bytes... mt_type checking whether to build rmt... yes checking for remote tape header files... yes checking for sys/buf.h... (cached) no checking for struct stat.st_blksize... (cached) yes checking for library containing gethostbyname... none required checking 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... no checking for ELF binary format... yes checking for the common suffixes of directories in the library search path... lib,lib,lib checking for iconv... yes checking for iconv declaration... extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); checking for iconv.h... yes checking for iconv_t... yes checking for a sed that does not truncate output... /bin/sed checking whether NLS is requested... yes checking for msgfmt... /usr/bin/msgfmt checking for gmsgfmt... /usr/bin/msgfmt checking for xgettext... /usr/bin/xgettext checking for msgmerge... /usr/bin/msgmerge checking for CFPreferencesCopyAppValue... no checking for CFLocaleCopyPreferredLanguages... no checking for GNU gettext in libc... yes checking whether to use NLS... yes checking where the gettext function comes from... libc checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating tests/Makefile config.status: creating tests/atlocal config.status: creating Makefile config.status: creating doc/Makefile config.status: creating gnu/Makefile config.status: creating lib/Makefile config.status: creating po/Makefile.in config.status: creating scripts/Makefile config.status: creating rmt/Makefile config.status: creating src/Makefile config.status: creating config.h config.status: executing depfiles commands config.status: executing po-directories commands config.status: creating po/POTFILES config.status: creating po/Makefile config.status: executing tests/atconfig commands touch configure-stamp dh_testdir RSH="/usr/bin/rsh" CPPFLAGS="-Wdate-time -D_FORTIFY_SOURCE=2" CFLAGS="-g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument" \ LDFLAGS="-Wl,-z,relro" /usr/bin/make -j16 --jobserver-auth=3,4 make[1]: warning: -j16 forced in submake: resetting jobserver mode. make[1]: Entering directory '/build/reproducible-path/tar-1.34+dfsg' /usr/bin/make all-recursive make[2]: Entering directory '/build/reproducible-path/tar-1.34+dfsg' Making all in doc make[3]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/doc' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/doc' Making all in gnu make[3]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/gnu' rm -f alloca.h-t alloca.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''HAVE_ALLOCA_H''@|1|g' < ./alloca.in.h; \ } > alloca.h-t && \ mv -f alloca.h-t alloca.h rm -f configmake.h-t && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ echo '#if HAVE_WINSOCK2_H'; \ echo '# include /* avoid mingw pollution on DATADIR */'; \ echo '#endif'; \ echo '#define PREFIX "/usr"'; \ echo '#define EXEC_PREFIX "/usr"'; \ echo '#define BINDIR "/usr/bin"'; \ echo '#define SBINDIR "/usr/sbin"'; \ echo '#define LIBEXECDIR "/usr/sbin"'; \ echo '#define DATAROOTDIR "/usr/share"'; \ echo '#define DATADIR "/usr/share"'; \ echo '#define SYSCONFDIR "/usr/etc"'; \ echo '#define SHAREDSTATEDIR "/usr/com"'; \ echo '#define LOCALSTATEDIR "/usr/var"'; \ echo '#define RUNSTATEDIR "/usr/var/run"'; \ echo '#define INCLUDEDIR "/usr/include"'; \ echo '#define OLDINCLUDEDIR "/usr/include"'; \ echo '#define DOCDIR "/usr/share/doc/tar"'; \ echo '#define INFODIR "/usr/share/info"'; \ echo '#define HTMLDIR "/usr/share/doc/tar"'; \ echo '#define DVIDIR "/usr/share/doc/tar"'; \ echo '#define PDFDIR "/usr/share/doc/tar"'; \ echo '#define PSDIR "/usr/share/doc/tar"'; \ echo '#define LIBDIR "/usr/lib"'; \ echo '#define LISPDIR "/usr/share/emacs/site-lisp"'; \ echo '#define LOCALEDIR "/usr/share/locale"'; \ echo '#define MANDIR "/usr/share/man"'; \ echo '#define MANEXT ""'; \ echo '#define PKGDATADIR "/usr/share/tar"'; \ echo '#define PKGINCLUDEDIR "/usr/include/tar"'; \ echo '#define PKGLIBDIR "/usr/lib/tar"'; \ echo '#define PKGLIBEXECDIR "/usr/sbin/tar"'; \ } | sed '/""/d' > configmake.h-t && \ mv -f configmake.h-t configmake.h rm -f ctype.h-t ctype.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_CTYPE_H''@||g' \ -e 's/@''GNULIB_ISBLANK''@/1/g' \ -e 's/@''HAVE_ISBLANK''@/1/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \ -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \ < ./ctype.in.h; \ } > ctype.h-t && \ mv ctype.h-t ctype.h rm -f dirent.h-t dirent.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_DIRENT_H''@|1|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_DIRENT_H''@||g' \ -e 's/@''GNULIB_OPENDIR''@/1/g' \ -e 's/@''GNULIB_READDIR''@/1/g' \ -e 's/@''GNULIB_REWINDDIR''@/1/g' \ -e 's/@''GNULIB_CLOSEDIR''@/1/g' \ -e 's/@''GNULIB_DIRFD''@/1/g' \ -e 's/@''GNULIB_FDOPENDIR''@/1/g' \ -e 's/@''GNULIB_SCANDIR''@/0/g' \ -e 's/@''GNULIB_ALPHASORT''@/0/g' \ -e 's/@''HAVE_OPENDIR''@/1/g' \ -e 's/@''HAVE_READDIR''@/1/g' \ -e 's/@''HAVE_REWINDDIR''@/1/g' \ -e 's/@''HAVE_CLOSEDIR''@/1/g' \ -e 's|@''HAVE_DECL_DIRFD''@|1|g' \ -e 's|@''HAVE_DECL_FDOPENDIR''@|1|g' \ -e 's|@''HAVE_FDOPENDIR''@|1|g' \ -e 's|@''HAVE_SCANDIR''@|1|g' \ -e 's|@''HAVE_ALPHASORT''@|1|g' \ -e 's|@''REPLACE_OPENDIR''@|0|g' \ -e 's|@''REPLACE_CLOSEDIR''@|0|g' \ -e 's|@''REPLACE_DIRFD''@|0|g' \ -e 's|@''REPLACE_FDOPENDIR''@|0|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \ -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \ -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \ < ./dirent.in.h; \ } > dirent.h-t && \ mv dirent.h-t dirent.h rm -f fcntl.h-t fcntl.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_FCNTL_H''@||g' \ -e 's/@''GNULIB_CREAT''@/0/g' \ -e 's/@''GNULIB_FCNTL''@/1/g' \ -e 's/@''GNULIB_NONBLOCKING''@/0/g' \ -e 's/@''GNULIB_OPEN''@/1/g' \ -e 's/@''GNULIB_OPENAT''@/1/g' \ -e 's/@''GNULIB_MDA_CREAT''@/1/g' \ -e 's/@''GNULIB_MDA_OPEN''@/1/g' \ -e 's|@''HAVE_FCNTL''@|1|g' \ -e 's|@''HAVE_OPENAT''@|1|g' \ -e 's|@''REPLACE_CREAT''@|0|g' \ -e 's|@''REPLACE_FCNTL''@|1|g' \ -e 's|@''REPLACE_OPEN''@|0|g' \ -e 's|@''REPLACE_OPENAT''@|0|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \ -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \ -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \ < ./fcntl.in.h; \ } > fcntl.h-t && \ mv fcntl.h-t fcntl.h rm -f getopt.h-t getopt.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_GETOPT_H''@|1|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_GETOPT_H''@||g' \ -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \ < ./getopt.in.h; \ } > getopt.h-t && \ mv -f getopt.h-t getopt.h rm -f getopt-cdefs.h-t getopt-cdefs.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''HAVE_SYS_CDEFS_H''@|1|g' \ < ./getopt-cdefs.in.h; \ } > getopt-cdefs.h-t && \ mv -f getopt-cdefs.h-t getopt-cdefs.h rm -f inttypes.h-t inttypes.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's/@''HAVE_INTTYPES_H''@/1/g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_INTTYPES_H''@||g' \ -e 's/@''APPLE_UNIVERSAL_BUILD''@/0/g' \ -e 's/@''PRIPTR_PREFIX''@/"l"/g' \ -e 's/@''GNULIB_IMAXABS''@/0/g' \ -e 's/@''GNULIB_IMAXDIV''@/0/g' \ -e 's/@''GNULIB_STRTOIMAX''@/1/g' \ -e 's/@''GNULIB_STRTOUMAX''@/1/g' \ -e 's/@''HAVE_DECL_IMAXABS''@/1/g' \ -e 's/@''HAVE_DECL_IMAXDIV''@/1/g' \ -e 's/@''HAVE_DECL_STRTOIMAX''@/1/g' \ -e 's/@''HAVE_DECL_STRTOUMAX''@/1/g' \ -e 's/@''HAVE_IMAXDIV_T''@/1/g' \ -e 's/@''REPLACE_STRTOIMAX''@/0/g' \ -e 's/@''REPLACE_STRTOUMAX''@/0/g' \ -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/1/g' \ -e 's/@''INT64_MAX_EQ_LONG_MAX''@/1/g' \ -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/1/g' \ -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/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' \ < ./inttypes.in.h; \ } > inttypes.h-t && \ mv inttypes.h-t inttypes.h rm -f langinfo.h-t langinfo.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_LANGINFO_H''@|1|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_LANGINFO_H''@||g' \ -e 's/@''GNULIB_NL_LANGINFO''@/1/g' \ -e 's|@''HAVE_LANGINFO_CODESET''@|1|g' \ -e 's|@''HAVE_LANGINFO_T_FMT_AMPM''@|1|g' \ -e 's|@''HAVE_LANGINFO_ALTMON''@|1|g' \ -e 's|@''HAVE_LANGINFO_ERA''@|1|g' \ -e 's|@''HAVE_LANGINFO_YESEXPR''@|1|g' \ -e 's|@''HAVE_NL_LANGINFO''@|1|g' \ -e 's|@''REPLACE_NL_LANGINFO''@|0|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \ -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \ < ./langinfo.in.h; \ } > langinfo.h-t && \ mv langinfo.h-t langinfo.h rm -f limits.h-t limits.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_LIMITS_H''@||g' \ < ./limits.in.h; \ } > limits.h-t && \ mv limits.h-t limits.h rm -f locale.h-t locale.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_LOCALE_H''@||g' \ -e 's/@''GNULIB_LOCALECONV''@/1/g' \ -e 's/@''GNULIB_SETLOCALE''@/0/g' \ -e 's/@''GNULIB_SETLOCALE_NULL''@/1/g' \ -e 's/@''GNULIB_DUPLOCALE''@/0/g' \ -e 's/@''GNULIB_LOCALENAME''@/0/g' \ -e 's|@''HAVE_NEWLOCALE''@|1|g' \ -e 's|@''HAVE_DUPLOCALE''@|1|g' \ -e 's|@''HAVE_FREELOCALE''@|1|g' \ -e 's|@''HAVE_XLOCALE_H''@|0|g' \ -e 's|@''REPLACE_LOCALECONV''@|0|g' \ -e 's|@''REPLACE_SETLOCALE''@|0|g' \ -e 's|@''REPLACE_NEWLOCALE''@|0|g' \ -e 's|@''REPLACE_DUPLOCALE''@|0|g' \ -e 's|@''REPLACE_FREELOCALE''@|0|g' \ -e 's|@''REPLACE_STRUCT_LCONV''@|0|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \ -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \ -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \ < ./locale.in.h; \ } > locale.h-t && \ mv locale.h-t locale.h /bin/mkdir -p selinux rm -f selinux/selinux.h-t selinux/selinux.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_SELINUX_SELINUX_H''@||g' \ -e '/definition of _GL_UNUSED_PARAMETER/r ./unused-parameter.h' \ < ./se-selinux.in.h; \ } > selinux/selinux.h-t && \ chmod a-x selinux/selinux.h-t && \ mv selinux/selinux.h-t selinux/selinux.h rm -f signal.h-t signal.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_SIGNAL_H''@||g' \ -e 's/@''GNULIB_PTHREAD_SIGMASK''@/0/g' \ -e 's/@''GNULIB_RAISE''@/1/g' \ -e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/0/g' \ -e 's/@''GNULIB_SIGPROCMASK''@/0/g' \ -e 's/@''GNULIB_SIGACTION''@/0/g' \ -e 's|@''HAVE_POSIX_SIGNALBLOCKING''@|1|g' \ -e 's|@''HAVE_PTHREAD_SIGMASK''@|1|g' \ -e 's|@''HAVE_RAISE''@|1|g' \ -e 's|@''HAVE_SIGSET_T''@|1|g' \ -e 's|@''HAVE_SIGINFO_T''@|1|g' \ -e 's|@''HAVE_SIGACTION''@|1|g' \ -e 's|@''HAVE_STRUCT_SIGACTION_SA_SIGACTION''@|1|g' \ -e 's|@''HAVE_TYPE_VOLATILE_SIG_ATOMIC_T''@|1|g' \ -e 's|@''HAVE_SIGHANDLER_T''@|1|g' \ -e 's|@''REPLACE_PTHREAD_SIGMASK''@|0|g' \ -e 's|@''REPLACE_RAISE''@|0|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \ -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \ -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \ < ./signal.in.h; \ } > signal.h-t && \ mv signal.h-t signal.h rm -f stdio.h-t stdio.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_STDIO_H''@||g' \ -e 's/@''GNULIB_DPRINTF''@/0/g' \ -e 's/@''GNULIB_FCLOSE''@/0/g' \ -e 's/@''GNULIB_FDOPEN''@/0/g' \ -e 's/@''GNULIB_FFLUSH''@/0/g' \ -e 's/@''GNULIB_FGETC''@/1/g' \ -e 's/@''GNULIB_FGETS''@/1/g' \ -e 's/@''GNULIB_FOPEN''@/1/g' \ -e 's/@''GNULIB_FPRINTF''@/1/g' \ -e 's/@''GNULIB_FPRINTF_POSIX''@/0/g' \ -e 's/@''GNULIB_FPURGE''@/0/g' \ -e 's/@''GNULIB_FPUTC''@/1/g' \ -e 's/@''GNULIB_FPUTS''@/1/g' \ -e 's/@''GNULIB_FREAD''@/1/g' \ -e 's/@''GNULIB_FREOPEN''@/0/g' \ -e 's/@''GNULIB_FSCANF''@/1/g' \ -e 's/@''GNULIB_FSEEK''@/1/g' \ -e 's/@''GNULIB_FSEEKO''@/1/g' \ -e 's/@''GNULIB_FTELL''@/0/g' \ -e 's/@''GNULIB_FTELLO''@/0/g' \ -e 's/@''GNULIB_FWRITE''@/1/g' \ -e 's/@''GNULIB_GETC''@/1/g' \ -e 's/@''GNULIB_GETCHAR''@/1/g' \ -e 's/@''GNULIB_GETDELIM''@/1/g' \ -e 's/@''GNULIB_GETLINE''@/1/g' \ -e 's/@''GNULIB_OBSTACK_PRINTF''@/0/g' \ -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/0/g' \ -e 's/@''GNULIB_PCLOSE''@/0/g' \ -e 's/@''GNULIB_PERROR''@/0/g' \ -e 's/@''GNULIB_POPEN''@/0/g' \ -e 's/@''GNULIB_PRINTF''@/1/g' \ -e 's/@''GNULIB_PRINTF_POSIX''@/0/g' \ -e 's/@''GNULIB_PUTC''@/1/g' \ -e 's/@''GNULIB_PUTCHAR''@/1/g' \ -e 's/@''GNULIB_PUTS''@/1/g' \ -e 's/@''GNULIB_REMOVE''@/0/g' \ -e 's/@''GNULIB_RENAME''@/1/g' \ -e 's/@''GNULIB_RENAMEAT''@/1/g' \ -e 's/@''GNULIB_SCANF''@/1/g' \ -e 's/@''GNULIB_SNPRINTF''@/1/g' \ -e 's/@''GNULIB_SPRINTF_POSIX''@/0/g' \ -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/0/g' \ -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/0/g' \ -e 's/@''GNULIB_TMPFILE''@/0/g' \ -e 's/@''GNULIB_VASPRINTF''@/1/g' \ -e 's/@''GNULIB_VDPRINTF''@/0/g' \ -e 's/@''GNULIB_VFPRINTF''@/1/g' \ -e 's/@''GNULIB_VFPRINTF_POSIX''@/0/g' \ -e 's/@''GNULIB_VFSCANF''@/0/g' \ -e 's/@''GNULIB_VSCANF''@/0/g' \ -e 's/@''GNULIB_VPRINTF''@/1/g' \ -e 's/@''GNULIB_VPRINTF_POSIX''@/0/g' \ -e 's/@''GNULIB_VSNPRINTF''@/1/g' \ -e 's/@''GNULIB_VSPRINTF_POSIX''@/0/g' \ -e 's/@''GNULIB_MDA_FCLOSEALL''@/1/g' \ -e 's/@''GNULIB_MDA_FDOPEN''@/1/g' \ -e 's/@''GNULIB_MDA_FILENO''@/1/g' \ -e 's/@''GNULIB_MDA_GETW''@/1/g' \ -e 's/@''GNULIB_MDA_PUTW''@/1/g' \ -e 's/@''GNULIB_MDA_TEMPNAM''@/1/g' \ < ./stdio.in.h | \ sed -e 's|@''HAVE_DECL_FCLOSEALL''@|1|g' \ -e 's|@''HAVE_DECL_FPURGE''@|1|g' \ -e 's|@''HAVE_DECL_FSEEKO''@|1|g' \ -e 's|@''HAVE_DECL_FTELLO''@|1|g' \ -e 's|@''HAVE_DECL_GETDELIM''@|1|g' \ -e 's|@''HAVE_DECL_GETLINE''@|1|g' \ -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|1|g' \ -e 's|@''HAVE_DECL_SNPRINTF''@|1|g' \ -e 's|@''HAVE_DECL_VSNPRINTF''@|1|g' \ -e 's|@''HAVE_DPRINTF''@|1|g' \ -e 's|@''HAVE_FSEEKO''@|1|g' \ -e 's|@''HAVE_FTELLO''@|1|g' \ -e 's|@''HAVE_PCLOSE''@|1|g' \ -e 's|@''HAVE_POPEN''@|1|g' \ -e 's|@''HAVE_RENAMEAT''@|1|g' \ -e 's|@''HAVE_VASPRINTF''@|1|g' \ -e 's|@''HAVE_VDPRINTF''@|1|g' \ -e 's|@''REPLACE_DPRINTF''@|0|g' \ -e 's|@''REPLACE_FCLOSE''@|0|g' \ -e 's|@''REPLACE_FDOPEN''@|0|g' \ -e 's|@''REPLACE_FFLUSH''@|0|g' \ -e 's|@''REPLACE_FOPEN''@|0|g' \ -e 's|@''REPLACE_FPRINTF''@|0|g' \ -e 's|@''REPLACE_FPURGE''@|0|g' \ -e 's|@''REPLACE_FREOPEN''@|0|g' \ -e 's|@''REPLACE_FSEEK''@|0|g' \ -e 's|@''REPLACE_FSEEKO''@|0|g' \ -e 's|@''REPLACE_FTELL''@|0|g' \ -e 's|@''REPLACE_FTELLO''@|0|g' \ -e 's|@''REPLACE_GETDELIM''@|0|g' \ -e 's|@''REPLACE_GETLINE''@|0|g' \ -e 's|@''REPLACE_OBSTACK_PRINTF''@|0|g' \ -e 's|@''REPLACE_PERROR''@|0|g' \ -e 's|@''REPLACE_POPEN''@|0|g' \ -e 's|@''REPLACE_PRINTF''@|0|g' \ -e 's|@''REPLACE_REMOVE''@|0|g' \ -e 's|@''REPLACE_RENAME''@|0|g' \ -e 's|@''REPLACE_RENAMEAT''@|0|g' \ -e 's|@''REPLACE_SNPRINTF''@|0|g' \ -e 's|@''REPLACE_SPRINTF''@|0|g' \ -e 's|@''REPLACE_STDIO_READ_FUNCS''@|0|g' \ -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|0|g' \ -e 's|@''REPLACE_TMPFILE''@|0|g' \ -e 's|@''REPLACE_VASPRINTF''@|0|g' \ -e 's|@''REPLACE_VDPRINTF''@|0|g' \ -e 's|@''REPLACE_VFPRINTF''@|0|g' \ -e 's|@''REPLACE_VPRINTF''@|0|g' \ -e 's|@''REPLACE_VSNPRINTF''@|0|g' \ -e 's|@''REPLACE_VSPRINTF''@|0|g' \ -e 's|@''ASM_SYMBOL_PREFIX''@||g' \ -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \ -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \ -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h'; \ } > stdio.h-t && \ mv stdio.h-t stdio.h rm -f stdlib.h-t stdlib.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_STDLIB_H''@||g' \ -e 's/@''GNULIB__EXIT''@/0/g' \ -e 's/@''GNULIB_ALIGNED_ALLOC''@/0/g' \ -e 's/@''GNULIB_ATOLL''@/0/g' \ -e 's/@''GNULIB_CALLOC_POSIX''@/0/g' \ -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/1/g' \ -e 's/@''GNULIB_FREE_POSIX''@/1/g' \ -e 's/@''GNULIB_GETLOADAVG''@/0/g' \ -e 's/@''GNULIB_GETSUBOPT''@/0/g' \ -e 's/@''GNULIB_GRANTPT''@/0/g' \ -e 's/@''GNULIB_MALLOC_POSIX''@/1/g' \ -e 's/@''GNULIB_MBTOWC''@/1/g' \ -e 's/@''GNULIB_MKDTEMP''@/1/g' \ -e 's/@''GNULIB_MKOSTEMP''@/0/g' \ -e 's/@''GNULIB_MKOSTEMPS''@/0/g' \ -e 's/@''GNULIB_MKSTEMP''@/0/g' \ -e 's/@''GNULIB_MKSTEMPS''@/0/g' \ -e 's/@''GNULIB_POSIX_MEMALIGN''@/0/g' \ -e 's/@''GNULIB_POSIX_OPENPT''@/0/g' \ -e 's/@''GNULIB_PTSNAME''@/0/g' \ -e 's/@''GNULIB_PTSNAME_R''@/0/g' \ -e 's/@''GNULIB_PUTENV''@/0/g' \ -e 's/@''GNULIB_QSORT_R''@/0/g' \ -e 's/@''GNULIB_RANDOM''@/0/g' \ -e 's/@''GNULIB_RANDOM_R''@/0/g' \ -e 's/@''GNULIB_REALLOC_POSIX''@/1/g' \ -e 's/@''GNULIB_REALLOCARRAY''@/0/g' \ -e 's/@''GNULIB_REALPATH''@/1/g' \ -e 's/@''GNULIB_RPMATCH''@/1/g' \ -e 's/@''GNULIB_SECURE_GETENV''@/0/g' \ -e 's/@''GNULIB_SETENV''@/1/g' \ -e 's/@''GNULIB_STRTOD''@/0/g' \ -e 's/@''GNULIB_STRTOLD''@/0/g' \ -e 's/@''GNULIB_STRTOLL''@/1/g' \ -e 's/@''GNULIB_STRTOULL''@/1/g' \ -e 's/@''GNULIB_SYSTEM_POSIX''@/0/g' \ -e 's/@''GNULIB_UNLOCKPT''@/0/g' \ -e 's/@''GNULIB_UNSETENV''@/1/g' \ -e 's/@''GNULIB_WCTOMB''@/0/g' \ -e 's/@''GNULIB_MDA_ECVT''@/1/g' \ -e 's/@''GNULIB_MDA_FCVT''@/1/g' \ -e 's/@''GNULIB_MDA_GCVT''@/1/g' \ -e 's/@''GNULIB_MDA_MKTEMP''@/1/g' \ -e 's/@''GNULIB_MDA_PUTENV''@/1/g' \ < ./stdlib.in.h | \ sed -e 's|@''HAVE__EXIT''@|1|g' \ -e 's|@''HAVE_ALIGNED_ALLOC''@|1|g' \ -e 's|@''HAVE_ATOLL''@|1|g' \ -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|1|g' \ -e 's|@''HAVE_DECL_ECVT''@|1|g' \ -e 's|@''HAVE_DECL_FCVT''@|1|g' \ -e 's|@''HAVE_DECL_GCVT''@|1|g' \ -e 's|@''HAVE_DECL_GETLOADAVG''@|1|g' \ -e 's|@''HAVE_GETSUBOPT''@|1|g' \ -e 's|@''HAVE_GRANTPT''@|1|g' \ -e 's|@''HAVE_INITSTATE''@|1|g' \ -e 's|@''HAVE_DECL_INITSTATE''@|1|g' \ -e 's|@''HAVE_MBTOWC''@|1|g' \ -e 's|@''HAVE_MKDTEMP''@|1|g' \ -e 's|@''HAVE_MKOSTEMP''@|1|g' \ -e 's|@''HAVE_MKOSTEMPS''@|1|g' \ -e 's|@''HAVE_MKSTEMP''@|1|g' \ -e 's|@''HAVE_MKSTEMPS''@|1|g' \ -e 's|@''HAVE_POSIX_MEMALIGN''@|1|g' \ -e 's|@''HAVE_POSIX_OPENPT''@|1|g' \ -e 's|@''HAVE_PTSNAME''@|1|g' \ -e 's|@''HAVE_PTSNAME_R''@|1|g' \ -e 's|@''HAVE_QSORT_R''@|1|g' \ -e 's|@''HAVE_RANDOM''@|1|g' \ -e 's|@''HAVE_RANDOM_H''@|1|g' \ -e 's|@''HAVE_RANDOM_R''@|1|g' \ -e 's|@''HAVE_REALLOCARRAY''@|1|g' \ -e 's|@''HAVE_REALPATH''@|1|g' \ -e 's|@''HAVE_RPMATCH''@|1|g' \ -e 's|@''HAVE_SECURE_GETENV''@|1|g' \ -e 's|@''HAVE_DECL_SETENV''@|1|g' \ -e 's|@''HAVE_SETSTATE''@|1|g' \ -e 's|@''HAVE_DECL_SETSTATE''@|1|g' \ -e 's|@''HAVE_STRTOD''@|1|g' \ -e 's|@''HAVE_STRTOLD''@|1|g' \ -e 's|@''HAVE_STRTOLL''@|1|g' \ -e 's|@''HAVE_STRTOULL''@|1|g' \ -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|1|g' \ -e 's|@''HAVE_SYS_LOADAVG_H''@|0|g' \ -e 's|@''HAVE_UNLOCKPT''@|1|g' \ -e 's|@''HAVE_DECL_UNSETENV''@|1|g' \ -e 's|@''REPLACE_ALIGNED_ALLOC''@|0|g' \ -e 's|@''REPLACE_CALLOC''@|0|g' \ -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|0|g' \ -e 's|@''REPLACE_FREE''@|0|g' \ -e 's|@''REPLACE_INITSTATE''@|0|g' \ -e 's|@''REPLACE_MALLOC''@|0|g' \ -e 's|@''REPLACE_MBTOWC''@|0|g' \ -e 's|@''REPLACE_MKSTEMP''@|0|g' \ -e 's|@''REPLACE_POSIX_MEMALIGN''@|0|g' \ -e 's|@''REPLACE_PTSNAME''@|0|g' \ -e 's|@''REPLACE_PTSNAME_R''@|0|g' \ -e 's|@''REPLACE_PUTENV''@|0|g' \ -e 's|@''REPLACE_QSORT_R''@|0|g' \ -e 's|@''REPLACE_RANDOM''@|0|g' \ -e 's|@''REPLACE_RANDOM_R''@|0|g' \ -e 's|@''REPLACE_REALLOC''@|0|g' \ -e 's|@''REPLACE_REALPATH''@|0|g' \ -e 's|@''REPLACE_SETENV''@|0|g' \ -e 's|@''REPLACE_SETSTATE''@|0|g' \ -e 's|@''REPLACE_STRTOD''@|0|g' \ -e 's|@''REPLACE_STRTOLD''@|0|g' \ -e 's|@''REPLACE_UNSETENV''@|0|g' \ -e 's|@''REPLACE_WCTOMB''@|0|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \ -e '/definition of _Noreturn/r ./_Noreturn.h' \ -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \ -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h'; \ } > stdlib.h-t && \ mv stdlib.h-t stdlib.h rm -f string.h-t string.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_STRING_H''@||g' \ -e 's/@''GNULIB_EXPLICIT_BZERO''@/0/g' \ -e 's/@''GNULIB_FFSL''@/0/g' \ -e 's/@''GNULIB_FFSLL''@/0/g' \ -e 's/@''GNULIB_MBSLEN''@/0/g' \ -e 's/@''GNULIB_MBSNLEN''@/0/g' \ -e 's/@''GNULIB_MBSCHR''@/0/g' \ -e 's/@''GNULIB_MBSRCHR''@/0/g' \ -e 's/@''GNULIB_MBSSTR''@/0/g' \ -e 's/@''GNULIB_MBSCASECMP''@/1/g' \ -e 's/@''GNULIB_MBSNCASECMP''@/0/g' \ -e 's/@''GNULIB_MBSPCASECMP''@/0/g' \ -e 's/@''GNULIB_MBSCASESTR''@/0/g' \ -e 's/@''GNULIB_MBSCSPN''@/0/g' \ -e 's/@''GNULIB_MBSPBRK''@/0/g' \ -e 's/@''GNULIB_MBSSPN''@/0/g' \ -e 's/@''GNULIB_MBSSEP''@/0/g' \ -e 's/@''GNULIB_MBSTOK_R''@/0/g' \ -e 's/@''GNULIB_MEMCHR''@/1/g' \ -e 's/@''GNULIB_MEMMEM''@/0/g' \ -e 's/@''GNULIB_MEMPCPY''@/1/g' \ -e 's/@''GNULIB_MEMRCHR''@/1/g' \ -e 's/@''GNULIB_RAWMEMCHR''@/1/g' \ -e 's/@''GNULIB_STPCPY''@/1/g' \ -e 's/@''GNULIB_STPNCPY''@/0/g' \ -e 's/@''GNULIB_STRCHRNUL''@/1/g' \ -e 's/@''GNULIB_STRDUP''@/1/g' \ -e 's/@''GNULIB_STRNCAT''@/0/g' \ -e 's/@''GNULIB_STRNDUP''@/1/g' \ -e 's/@''GNULIB_STRNLEN''@/1/g' \ -e 's/@''GNULIB_STRPBRK''@/0/g' \ -e 's/@''GNULIB_STRSEP''@/0/g' \ -e 's/@''GNULIB_STRSTR''@/0/g' \ -e 's/@''GNULIB_STRCASESTR''@/0/g' \ -e 's/@''GNULIB_STRTOK_R''@/0/g' \ -e 's/@''GNULIB_STRERROR''@/1/g' \ -e 's/@''GNULIB_STRERROR_R''@/0/g' \ -e 's/@''GNULIB_STRERRORNAME_NP''@/0/g' \ -e 's/@''GNULIB_SIGABBREV_NP''@/0/g' \ -e 's/@''GNULIB_SIGDESCR_NP''@/0/g' \ -e 's/@''GNULIB_STRSIGNAL''@/0/g' \ -e 's/@''GNULIB_STRVERSCMP''@/0/g' \ -e 's/@''GNULIB_MDA_MEMCCPY''@/1/g' \ -e 's/@''GNULIB_MDA_STRDUP''@/1/g' \ < ./string.in.h | \ sed -e 's|@''HAVE_EXPLICIT_BZERO''@|1|g' \ -e 's|@''HAVE_FFSL''@|1|g' \ -e 's|@''HAVE_FFSLL''@|1|g' \ -e 's|@''HAVE_MBSLEN''@|0|g' \ -e 's|@''HAVE_DECL_MEMMEM''@|1|g' \ -e 's|@''HAVE_MEMPCPY''@|1|g' \ -e 's|@''HAVE_DECL_MEMRCHR''@|1|g' \ -e 's|@''HAVE_RAWMEMCHR''@|1|g' \ -e 's|@''HAVE_STPCPY''@|1|g' \ -e 's|@''HAVE_STPNCPY''@|1|g' \ -e 's|@''HAVE_STRCHRNUL''@|1|g' \ -e 's|@''HAVE_DECL_STRDUP''@|1|g' \ -e 's|@''HAVE_DECL_STRNDUP''@|1|g' \ -e 's|@''HAVE_DECL_STRNLEN''@|1|g' \ -e 's|@''HAVE_STRPBRK''@|1|g' \ -e 's|@''HAVE_STRSEP''@|1|g' \ -e 's|@''HAVE_STRCASESTR''@|1|g' \ -e 's|@''HAVE_DECL_STRTOK_R''@|1|g' \ -e 's|@''HAVE_DECL_STRERROR_R''@|1|g' \ -e 's|@''HAVE_STRERRORNAME_NP''@|1|g' \ -e 's|@''HAVE_SIGABBREV_NP''@|1|g' \ -e 's|@''HAVE_SIGDESCR_NP''@|1|g' \ -e 's|@''HAVE_DECL_STRSIGNAL''@|1|g' \ -e 's|@''HAVE_STRVERSCMP''@|1|g' \ -e 's|@''REPLACE_FFSLL''@|0|g' \ -e 's|@''REPLACE_MEMCHR''@|0|g' \ -e 's|@''REPLACE_MEMMEM''@|0|g' \ -e 's|@''REPLACE_STPNCPY''@|0|g' \ -e 's|@''REPLACE_STRCHRNUL''@|0|g' \ -e 's|@''REPLACE_STRDUP''@|0|g' \ -e 's|@''REPLACE_STRNCAT''@|0|g' \ -e 's|@''REPLACE_STRNDUP''@|0|g' \ -e 's|@''REPLACE_STRNLEN''@|0|g' \ -e 's|@''REPLACE_STRSTR''@|0|g' \ -e 's|@''REPLACE_STRCASESTR''@|0|g' \ -e 's|@''REPLACE_STRTOK_R''@|0|g' \ -e 's|@''REPLACE_STRERROR''@|0|g' \ -e 's|@''REPLACE_STRERROR_R''@|0|g' \ -e 's|@''REPLACE_STRERRORNAME_NP''@|0|g' \ -e 's|@''REPLACE_STRSIGNAL''@|0|g' \ -e 's|@''UNDEFINE_STRTOK_R''@|0|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \ -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \ -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h'; \ < ./string.in.h; \ } > string.h-t && \ mv string.h-t string.h rm -f strings.h-t strings.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_STRINGS_H''@|1|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_STRINGS_H''@||g' \ -e 's/@''GNULIB_FFS''@/0/g' \ -e 's|@''HAVE_FFS''@|1|g' \ -e 's|@''HAVE_STRCASECMP''@|1|g' \ -e 's|@''HAVE_DECL_STRNCASECMP''@|1|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \ -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \ -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \ < ./strings.in.h; \ } > strings.h-t && \ mv strings.h-t strings.h /bin/mkdir -p sys rm -f sys/random.h-t sys/random.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_SYS_RANDOM_H''@||g' \ -e 's|@''HAVE_SYS_RANDOM_H''@|1|g' \ -e 's/@''GNULIB_GETRANDOM''@/1/g' \ -e 's/@''HAVE_GETRANDOM''@/1/g' \ -e 's/@''REPLACE_GETRANDOM''@/0/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \ -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \ -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \ < ./sys_random.in.h; \ } > sys/random.h-t && \ mv -f sys/random.h-t sys/random.h /bin/mkdir -p sys /bin/mkdir -p sys rm -f sys/stat.h-t sys/stat.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_SYS_STAT_H''@||g' \ -e 's|@''WINDOWS_64_BIT_ST_SIZE''@|0|g' \ -e 's|@''WINDOWS_STAT_TIMESPEC''@|0|g' \ -e 's/@''GNULIB_FCHMODAT''@/1/g' \ -e 's/@''GNULIB_FSTAT''@/1/g' \ -e 's/@''GNULIB_FSTATAT''@/1/g' \ -e 's/@''GNULIB_FUTIMENS''@/1/g' \ -e 's/@''GNULIB_GETUMASK''@/0/g' \ -e 's/@''GNULIB_LCHMOD''@/1/g' \ -e 's/@''GNULIB_LSTAT''@/1/g' \ -e 's/@''GNULIB_MKDIR''@/1/g' \ -e 's/@''GNULIB_MKDIRAT''@/1/g' \ -e 's/@''GNULIB_MKFIFO''@/1/g' \ -e 's/@''GNULIB_MKFIFOAT''@/1/g' \ -e 's/@''GNULIB_MKNOD''@/1/g' \ -e 's/@''GNULIB_MKNODAT''@/1/g' \ -e 's/@''GNULIB_STAT''@/1/g' \ -e 's/@''GNULIB_UTIMENSAT''@/1/g' \ -e 's/@''GNULIB_OVERRIDES_STRUCT_STAT''@/0/g' \ -e 's/@''GNULIB_MDA_CHMOD''@/1/g' \ -e 's/@''GNULIB_MDA_MKDIR''@/1/g' \ -e 's/@''GNULIB_MDA_UMASK''@/1/g' \ -e 's|@''HAVE_FCHMODAT''@|1|g' \ -e 's|@''HAVE_FSTATAT''@|1|g' \ -e 's|@''HAVE_FUTIMENS''@|1|g' \ -e 's|@''HAVE_GETUMASK''@|1|g' \ -e 's|@''HAVE_LCHMOD''@|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_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 && \ mv sys/stat.h-t sys/stat.h rm -f sys/time.h-t sys/time.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's/@''HAVE_SYS_TIME_H''@/1/g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_SYS_TIME_H''@||g' \ -e 's/@''GNULIB_GETTIMEOFDAY''@/1/g' \ -e 's|@''HAVE_WINSOCK2_H''@|0|g' \ -e 's/@''HAVE_GETTIMEOFDAY''@/1/g' \ -e 's/@''HAVE_STRUCT_TIMEVAL''@/1/g' \ -e 's/@''REPLACE_GETTIMEOFDAY''@/0/g' \ -e 's/@''REPLACE_STRUCT_TIMEVAL''@/0/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \ -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \ -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \ < ./sys_time.in.h; \ } > sys/time.h-t && \ mv sys/time.h-t sys/time.h /bin/mkdir -p sys rm -f time.h-t time.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_TIME_H''@||g' \ -e 's/@''GNULIB_CTIME''@/0/g' \ -e 's/@''GNULIB_LOCALTIME''@/0/g' \ -e 's/@''GNULIB_MKTIME''@/1/g' \ -e 's/@''GNULIB_NANOSLEEP''@/0/g' \ -e 's/@''GNULIB_STRFTIME''@/0/g' \ -e 's/@''GNULIB_STRPTIME''@/0/g' \ -e 's/@''GNULIB_TIMEGM''@/1/g' \ -e 's/@''GNULIB_TIMESPEC_GET''@/0/g' \ -e 's/@''GNULIB_TIME_R''@/1/g' \ -e 's/@''GNULIB_TIME_RZ''@/1/g' \ -e 's/@''GNULIB_TZSET''@/1/g' \ -e 's/@''GNULIB_MDA_TZSET''@/1/g' \ -e 's|@''HAVE_DECL_LOCALTIME_R''@|1|g' \ -e 's|@''HAVE_NANOSLEEP''@|1|g' \ -e 's|@''HAVE_STRPTIME''@|1|g' \ -e 's|@''HAVE_TIMEGM''@|1|g' \ -e 's|@''HAVE_TIMESPEC_GET''@|1|g' \ -e 's|@''HAVE_TIMEZONE_T''@|0|g' \ -e 's|@''REPLACE_CTIME''@|GNULIB_PORTCHECK|g' \ -e 's|@''REPLACE_GMTIME''@|0|g' \ -e 's|@''REPLACE_LOCALTIME''@|0|g' \ -e 's|@''REPLACE_LOCALTIME_R''@|0|g' \ -e 's|@''REPLACE_MKTIME''@|0|g' \ -e 's|@''REPLACE_NANOSLEEP''@|GNULIB_PORTCHECK|g' \ -e 's|@''REPLACE_STRFTIME''@|GNULIB_PORTCHECK|g' \ -e 's|@''REPLACE_TIMEGM''@|0|g' \ -e 's|@''REPLACE_TZSET''@|0|g' \ -e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|0|g' \ -e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|0|g' \ -e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|1|g' \ -e 's|@''UNISTD_H_DEFINES_STRUCT_TIMESPEC''@|0|g' \ -e 's|@''TIME_H_DEFINES_TIME_UTC''@|1|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \ -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \ -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \ < ./time.in.h; \ } > time.h-t && \ mv time.h-t time.h rm -f sys/types.h-t sys/types.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_SYS_TYPES_H''@||g' \ -e 's|@''WINDOWS_64_BIT_OFF_T''@|0|g' \ -e 's|@''WINDOWS_STAT_INODES''@|0|g' \ < ./sys_types.in.h; \ } > sys/types.h-t && \ mv sys/types.h-t sys/types.h rm -f unistd.h-t unistd.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_UNISTD_H''@|1|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_UNISTD_H''@||g' \ -e 's|@''WINDOWS_64_BIT_OFF_T''@|0|g' \ -e 's/@''GNULIB_ACCESS''@/0/g' \ -e 's/@''GNULIB_CHDIR''@/1/g' \ -e 's/@''GNULIB_CHOWN''@/1/g' \ -e 's/@''GNULIB_CLOSE''@/1/g' \ -e 's/@''GNULIB_COPY_FILE_RANGE''@/0/g' \ -e 's/@''GNULIB_DUP''@/1/g' \ -e 's/@''GNULIB_DUP2''@/1/g' \ -e 's/@''GNULIB_DUP3''@/0/g' \ -e 's/@''GNULIB_ENVIRON''@/1/g' \ -e 's/@''GNULIB_EUIDACCESS''@/1/g' \ -e 's/@''GNULIB_EXECL''@/0/g' \ -e 's/@''GNULIB_EXECLE''@/0/g' \ -e 's/@''GNULIB_EXECLP''@/0/g' \ -e 's/@''GNULIB_EXECV''@/0/g' \ -e 's/@''GNULIB_EXECVE''@/0/g' \ -e 's/@''GNULIB_EXECVP''@/0/g' \ -e 's/@''GNULIB_EXECVPE''@/0/g' \ -e 's/@''GNULIB_FACCESSAT''@/1/g' \ -e 's/@''GNULIB_FCHDIR''@/1/g' \ -e 's/@''GNULIB_FCHOWNAT''@/1/g' \ -e 's/@''GNULIB_FDATASYNC''@/0/g' \ -e 's/@''GNULIB_FSYNC''@/0/g' \ -e 's/@''GNULIB_FTRUNCATE''@/0/g' \ -e 's/@''GNULIB_GETCWD''@/1/g' \ -e 's/@''GNULIB_GETDOMAINNAME''@/0/g' \ -e 's/@''GNULIB_GETDTABLESIZE''@/1/g' \ -e 's/@''GNULIB_GETENTROPY''@/0/g' \ -e 's/@''GNULIB_GETGROUPS''@/1/g' \ -e 's/@''GNULIB_GETHOSTNAME''@/0/g' \ -e 's/@''GNULIB_GETLOGIN''@/0/g' \ -e 's/@''GNULIB_GETLOGIN_R''@/0/g' \ -e 's/@''GNULIB_GETOPT_POSIX''@/1/g' \ -e 's/@''GNULIB_GETPAGESIZE''@/1/g' \ -e 's/@''GNULIB_GETPASS''@/0/g' \ -e 's/@''GNULIB_GETUSERSHELL''@/0/g' \ -e 's/@''GNULIB_GROUP_MEMBER''@/1/g' \ -e 's/@''GNULIB_ISATTY''@/0/g' \ -e 's/@''GNULIB_LCHOWN''@/1/g' \ -e 's/@''GNULIB_LINK''@/1/g' \ -e 's/@''GNULIB_LINKAT''@/1/g' \ -e 's/@''GNULIB_LSEEK''@/1/g' \ -e 's/@''GNULIB_PIPE''@/1/g' \ -e 's/@''GNULIB_PIPE2''@/0/g' \ -e 's/@''GNULIB_PREAD''@/0/g' \ -e 's/@''GNULIB_PWRITE''@/0/g' \ -e 's/@''GNULIB_READ''@/1/g' \ -e 's/@''GNULIB_READLINK''@/1/g' \ -e 's/@''GNULIB_READLINKAT''@/1/g' \ -e 's/@''GNULIB_RMDIR''@/1/g' \ -e 's/@''GNULIB_SETHOSTNAME''@/0/g' \ -e 's/@''GNULIB_SLEEP''@/1/g' \ -e 's/@''GNULIB_SYMLINK''@/1/g' \ -e 's/@''GNULIB_SYMLINKAT''@/1/g' \ -e 's/@''GNULIB_TRUNCATE''@/0/g' \ -e 's/@''GNULIB_TTYNAME_R''@/0/g' \ -e 's/@''GNULIB_UNISTD_H_GETOPT''@/01/g' \ -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/0/g' \ -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/0/g' \ -e 's/@''GNULIB_UNLINK''@/1/g' \ -e 's/@''GNULIB_UNLINKAT''@/1/g' \ -e 's/@''GNULIB_USLEEP''@/0/g' \ -e 's/@''GNULIB_WRITE''@/1/g' \ -e 's/@''GNULIB_MDA_ACCESS''@/1/g' \ -e 's/@''GNULIB_MDA_CHDIR''@/1/g' \ -e 's/@''GNULIB_MDA_CLOSE''@/1/g' \ -e 's/@''GNULIB_MDA_DUP''@/1/g' \ -e 's/@''GNULIB_MDA_DUP2''@/1/g' \ -e 's/@''GNULIB_MDA_EXECL''@/1/g' \ -e 's/@''GNULIB_MDA_EXECLE''@/1/g' \ -e 's/@''GNULIB_MDA_EXECLP''@/1/g' \ -e 's/@''GNULIB_MDA_EXECV''@/1/g' \ -e 's/@''GNULIB_MDA_EXECVE''@/1/g' \ -e 's/@''GNULIB_MDA_EXECVP''@/1/g' \ -e 's/@''GNULIB_MDA_EXECVPE''@/1/g' \ -e 's/@''GNULIB_MDA_GETCWD''@/1/g' \ -e 's/@''GNULIB_MDA_GETPID''@/1/g' \ -e 's/@''GNULIB_MDA_ISATTY''@/1/g' \ -e 's/@''GNULIB_MDA_LSEEK''@/1/g' \ -e 's/@''GNULIB_MDA_READ''@/1/g' \ -e 's/@''GNULIB_MDA_RMDIR''@/1/g' \ -e 's/@''GNULIB_MDA_SWAB''@/1/g' \ -e 's/@''GNULIB_MDA_UNLINK''@/1/g' \ -e 's/@''GNULIB_MDA_WRITE''@/1/g' \ < ./unistd.in.h | \ sed -e 's|@''HAVE_CHOWN''@|1|g' \ -e 's|@''HAVE_COPY_FILE_RANGE''@|1|g' \ -e 's|@''HAVE_DUP3''@|1|g' \ -e 's|@''HAVE_EUIDACCESS''@|1|g' \ -e 's|@''HAVE_EXECVPE''@|1|g' \ -e 's|@''HAVE_FACCESSAT''@|1|g' \ -e 's|@''HAVE_FCHDIR''@|1|g' \ -e 's|@''HAVE_FCHOWNAT''@|1|g' \ -e 's|@''HAVE_FDATASYNC''@|1|g' \ -e 's|@''HAVE_FSYNC''@|1|g' \ -e 's|@''HAVE_FTRUNCATE''@|1|g' \ -e 's|@''HAVE_GETDTABLESIZE''@|1|g' \ -e 's|@''HAVE_GETENTROPY''@|1|g' \ -e 's|@''HAVE_GETGROUPS''@|1|g' \ -e 's|@''HAVE_GETHOSTNAME''@|1|g' \ -e 's|@''HAVE_GETPAGESIZE''@|1|g' \ -e 's|@''HAVE_GETPASS''@|1|g' \ -e 's|@''HAVE_GROUP_MEMBER''@|1|g' \ -e 's|@''HAVE_LCHOWN''@|1|g' \ -e 's|@''HAVE_LINK''@|1|g' \ -e 's|@''HAVE_LINKAT''@|1|g' \ -e 's|@''HAVE_PIPE''@|1|g' \ -e 's|@''HAVE_PIPE2''@|1|g' \ -e 's|@''HAVE_PREAD''@|1|g' \ -e 's|@''HAVE_PWRITE''@|1|g' \ -e 's|@''HAVE_READLINK''@|1|g' \ -e 's|@''HAVE_READLINKAT''@|1|g' \ -e 's|@''HAVE_SETHOSTNAME''@|1|g' \ -e 's|@''HAVE_SLEEP''@|1|g' \ -e 's|@''HAVE_SYMLINK''@|1|g' \ -e 's|@''HAVE_SYMLINKAT''@|1|g' \ -e 's|@''HAVE_UNLINKAT''@|1|g' \ -e 's|@''HAVE_USLEEP''@|1|g' \ -e 's|@''HAVE_DECL_ENVIRON''@|1|g' \ -e 's|@''HAVE_DECL_EXECVPE''@|1|g' \ -e 's|@''HAVE_DECL_FCHDIR''@|1|g' \ -e 's|@''HAVE_DECL_FDATASYNC''@|1|g' \ -e 's|@''HAVE_DECL_GETDOMAINNAME''@|1|g' \ -e 's|@''HAVE_DECL_GETLOGIN''@|1|g' \ -e 's|@''HAVE_DECL_GETLOGIN_R''@|1|g' \ -e 's|@''HAVE_DECL_GETPAGESIZE''@|1|g' \ -e 's|@''HAVE_DECL_GETUSERSHELL''@|1|g' \ -e 's|@''HAVE_DECL_SETHOSTNAME''@|1|g' \ -e 's|@''HAVE_DECL_TRUNCATE''@|1|g' \ -e 's|@''HAVE_DECL_TTYNAME_R''@|1|g' \ -e 's|@''HAVE_OS_H''@|0|g' \ -e 's|@''HAVE_SYS_PARAM_H''@|0|g' \ | \ sed -e 's|@''REPLACE_ACCESS''@|0|g' \ -e 's|@''REPLACE_CHOWN''@|0|g' \ -e 's|@''REPLACE_CLOSE''@|0|g' \ -e 's|@''REPLACE_DUP''@|0|g' \ -e 's|@''REPLACE_DUP2''@|0|g' \ -e 's|@''REPLACE_EXECL''@|0|g' \ -e 's|@''REPLACE_EXECLE''@|0|g' \ -e 's|@''REPLACE_EXECLP''@|0|g' \ -e 's|@''REPLACE_EXECV''@|0|g' \ -e 's|@''REPLACE_EXECVE''@|0|g' \ -e 's|@''REPLACE_EXECVP''@|0|g' \ -e 's|@''REPLACE_EXECVPE''@|0|g' \ -e 's|@''REPLACE_FACCESSAT''@|0|g' \ -e 's|@''REPLACE_FCHOWNAT''@|0|g' \ -e 's|@''REPLACE_FTRUNCATE''@|0|g' \ -e 's|@''REPLACE_GETCWD''@|0|g' \ -e 's|@''REPLACE_GETDOMAINNAME''@|0|g' \ -e 's|@''REPLACE_GETDTABLESIZE''@|0|g' \ -e 's|@''REPLACE_GETLOGIN_R''@|0|g' \ -e 's|@''REPLACE_GETGROUPS''@|0|g' \ -e 's|@''REPLACE_GETPAGESIZE''@|0|g' \ -e 's|@''REPLACE_GETPASS''@|0|g' \ -e 's|@''REPLACE_ISATTY''@|0|g' \ -e 's|@''REPLACE_LCHOWN''@|0|g' \ -e 's|@''REPLACE_LINK''@|0|g' \ -e 's|@''REPLACE_LINKAT''@|0|g' \ -e 's|@''REPLACE_LSEEK''@|0|g' \ -e 's|@''REPLACE_PREAD''@|0|g' \ -e 's|@''REPLACE_PWRITE''@|0|g' \ -e 's|@''REPLACE_READ''@|0|g' \ -e 's|@''REPLACE_READLINK''@|0|g' \ -e 's|@''REPLACE_READLINKAT''@|0|g' \ -e 's|@''REPLACE_RMDIR''@|0|g' \ -e 's|@''REPLACE_SLEEP''@|0|g' \ -e 's|@''REPLACE_SYMLINK''@|0|g' \ -e 's|@''REPLACE_SYMLINKAT''@|0|g' \ -e 's|@''REPLACE_TRUNCATE''@|0|g' \ -e 's|@''REPLACE_TTYNAME_R''@|0|g' \ -e 's|@''REPLACE_UNLINK''@|0|g' \ -e 's|@''REPLACE_UNLINKAT''@|0|g' \ -e 's|@''REPLACE_USLEEP''@|0|g' \ -e 's|@''REPLACE_WRITE''@|0|g' \ -e 's|@''UNISTD_H_HAVE_SYS_RANDOM_H''@|1|g' \ -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|0|g' \ -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|0|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \ -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \ -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h'; \ } > unistd.h-t && \ mv unistd.h-t unistd.h rm -f unitypes.h-t unitypes.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ cat ./unitypes.in.h; \ } > unitypes.h-t && \ mv -f unitypes.h-t unitypes.h rm -f uniwidth.h-t uniwidth.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ cat ./uniwidth.in.h; \ } > uniwidth.h-t && \ mv -f uniwidth.h-t uniwidth.h rm -f utime.h-t utime.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's/@''HAVE_UTIME_H''@/1/g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_UTIME_H''@||g' \ -e 's/@''GNULIB_UTIME''@/1/g' \ -e 's/@''GNULIB_MDA_UTIME''@/1/g' \ -e 's|@''HAVE_UTIME''@|1|g' \ -e 's|@''REPLACE_UTIME''@|0|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \ -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \ -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \ < ./utime.in.h; \ } > utime.h-t && \ mv utime.h-t utime.h rm -f wchar.h-t wchar.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''HAVE_FEATURES_H''@|1|g' \ -e 's|@''NEXT_WCHAR_H''@||g' \ -e 's|@''HAVE_WCHAR_H''@|1|g' \ -e 's/@''HAVE_CRTDEFS_H''@/0/g' \ -e 's/@''GNULIB_OVERRIDES_WINT_T''@/0/g' \ -e 's/@''GNULIB_BTOWC''@/1/g' \ -e 's/@''GNULIB_WCTOB''@/0/g' \ -e 's/@''GNULIB_MBSINIT''@/1/g' \ -e 's/@''GNULIB_MBRTOWC''@/1/g' \ -e 's/@''GNULIB_MBRLEN''@/0/g' \ -e 's/@''GNULIB_MBSRTOWCS''@/1/g' \ -e 's/@''GNULIB_MBSNRTOWCS''@/0/g' \ -e 's/@''GNULIB_WCRTOMB''@/1/g' \ -e 's/@''GNULIB_WCSRTOMBS''@/0/g' \ -e 's/@''GNULIB_WCSNRTOMBS''@/0/g' \ -e 's/@''GNULIB_WCWIDTH''@/1/g' \ -e 's/@''GNULIB_WMEMCHR''@/1/g' \ -e 's/@''GNULIB_WMEMCMP''@/0/g' \ -e 's/@''GNULIB_WMEMCPY''@/0/g' \ -e 's/@''GNULIB_WMEMMOVE''@/0/g' \ -e 's/@''GNULIB_WMEMPCPY''@/1/g' \ -e 's/@''GNULIB_WMEMSET''@/0/g' \ -e 's/@''GNULIB_WCSLEN''@/0/g' \ -e 's/@''GNULIB_WCSNLEN''@/0/g' \ -e 's/@''GNULIB_WCSCPY''@/0/g' \ -e 's/@''GNULIB_WCPCPY''@/0/g' \ -e 's/@''GNULIB_WCSNCPY''@/0/g' \ -e 's/@''GNULIB_WCPNCPY''@/0/g' \ -e 's/@''GNULIB_WCSCAT''@/0/g' \ -e 's/@''GNULIB_WCSNCAT''@/0/g' \ -e 's/@''GNULIB_WCSCMP''@/0/g' \ -e 's/@''GNULIB_WCSNCMP''@/0/g' \ -e 's/@''GNULIB_WCSCASECMP''@/0/g' \ -e 's/@''GNULIB_WCSNCASECMP''@/0/g' \ -e 's/@''GNULIB_WCSCOLL''@/0/g' \ -e 's/@''GNULIB_WCSXFRM''@/0/g' \ -e 's/@''GNULIB_WCSDUP''@/0/g' \ -e 's/@''GNULIB_WCSCHR''@/0/g' \ -e 's/@''GNULIB_WCSRCHR''@/0/g' \ -e 's/@''GNULIB_WCSCSPN''@/0/g' \ -e 's/@''GNULIB_WCSSPN''@/0/g' \ -e 's/@''GNULIB_WCSPBRK''@/0/g' \ -e 's/@''GNULIB_WCSSTR''@/0/g' \ -e 's/@''GNULIB_WCSTOK''@/0/g' \ -e 's/@''GNULIB_WCSWIDTH''@/0/g' \ -e 's/@''GNULIB_WCSFTIME''@/0/g' \ -e 's/@''GNULIB_MDA_WCSDUP''@/1/g' \ < ./wchar.in.h | \ sed -e 's|@''HAVE_WINT_T''@|1|g' \ -e 's|@''HAVE_BTOWC''@|1|g' \ -e 's|@''HAVE_MBSINIT''@|1|g' \ -e 's|@''HAVE_MBRTOWC''@|1|g' \ -e 's|@''HAVE_MBRLEN''@|1|g' \ -e 's|@''HAVE_MBSRTOWCS''@|1|g' \ -e 's|@''HAVE_MBSNRTOWCS''@|1|g' \ -e 's|@''HAVE_WCRTOMB''@|1|g' \ -e 's|@''HAVE_WCSRTOMBS''@|1|g' \ -e 's|@''HAVE_WCSNRTOMBS''@|1|g' \ -e 's|@''HAVE_WMEMCHR''@|1|g' \ -e 's|@''HAVE_WMEMCMP''@|1|g' \ -e 's|@''HAVE_WMEMCPY''@|1|g' \ -e 's|@''HAVE_WMEMMOVE''@|1|g' \ -e 's|@''HAVE_WMEMPCPY''@|1|g' \ -e 's|@''HAVE_WMEMSET''@|1|g' \ -e 's|@''HAVE_WCSLEN''@|1|g' \ -e 's|@''HAVE_WCSNLEN''@|1|g' \ -e 's|@''HAVE_WCSCPY''@|1|g' \ -e 's|@''HAVE_WCPCPY''@|1|g' \ -e 's|@''HAVE_WCSNCPY''@|1|g' \ -e 's|@''HAVE_WCPNCPY''@|1|g' \ -e 's|@''HAVE_WCSCAT''@|1|g' \ -e 's|@''HAVE_WCSNCAT''@|1|g' \ -e 's|@''HAVE_WCSCMP''@|1|g' \ -e 's|@''HAVE_WCSNCMP''@|1|g' \ -e 's|@''HAVE_WCSCASECMP''@|1|g' \ -e 's|@''HAVE_WCSNCASECMP''@|1|g' \ -e 's|@''HAVE_WCSCOLL''@|1|g' \ -e 's|@''HAVE_WCSXFRM''@|1|g' \ -e 's|@''HAVE_WCSDUP''@|1|g' \ -e 's|@''HAVE_WCSCHR''@|1|g' \ -e 's|@''HAVE_WCSRCHR''@|1|g' \ -e 's|@''HAVE_WCSCSPN''@|1|g' \ -e 's|@''HAVE_WCSSPN''@|1|g' \ -e 's|@''HAVE_WCSPBRK''@|1|g' \ -e 's|@''HAVE_WCSSTR''@|1|g' \ -e 's|@''HAVE_WCSTOK''@|1|g' \ -e 's|@''HAVE_WCSWIDTH''@|1|g' \ -e 's|@''HAVE_WCSFTIME''@|1|g' \ -e 's|@''HAVE_DECL_WCTOB''@|1|g' \ -e 's|@''HAVE_DECL_WCSDUP''@|1|g' \ -e 's|@''HAVE_DECL_WCWIDTH''@|1|g' \ | \ sed -e 's|@''REPLACE_MBSTATE_T''@|0|g' \ -e 's|@''REPLACE_BTOWC''@|0|g' \ -e 's|@''REPLACE_WCTOB''@|0|g' \ -e 's|@''REPLACE_MBSINIT''@|0|g' \ -e 's|@''REPLACE_MBRTOWC''@|1|g' \ -e 's|@''REPLACE_MBRLEN''@|0|g' \ -e 's|@''REPLACE_MBSRTOWCS''@|0|g' \ -e 's|@''REPLACE_MBSNRTOWCS''@|0|g' \ -e 's|@''REPLACE_WCRTOMB''@|0|g' \ -e 's|@''REPLACE_WCSRTOMBS''@|0|g' \ -e 's|@''REPLACE_WCSNRTOMBS''@|0|g' \ -e 's|@''REPLACE_WCWIDTH''@|0|g' \ -e 's|@''REPLACE_WCSWIDTH''@|0|g' \ -e 's|@''REPLACE_WCSFTIME''@|0|g' \ -e 's|@''REPLACE_WCSTOK''@|0|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \ -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \ -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h'; \ } > wchar.h-t && \ mv wchar.h-t wchar.h rm -f wctype.h-t wctype.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's/@''HAVE_WCTYPE_H''@/1/g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_WCTYPE_H''@||g' \ -e 's/@''HAVE_CRTDEFS_H''@/0/g' \ -e 's/@''GNULIB_OVERRIDES_WINT_T''@/0/g' \ -e 's/@''GNULIB_ISWBLANK''@/1/g' \ -e 's/@''GNULIB_ISWDIGIT''@/1/g' \ -e 's/@''GNULIB_ISWXDIGIT''@/1/g' \ -e 's/@''GNULIB_WCTYPE''@/0/g' \ -e 's/@''GNULIB_ISWCTYPE''@/0/g' \ -e 's/@''GNULIB_WCTRANS''@/0/g' \ -e 's/@''GNULIB_TOWCTRANS''@/0/g' \ -e 's/@''HAVE_ISWBLANK''@/1/g' \ -e 's/@''HAVE_ISWCNTRL''@/1/g' \ -e 's/@''HAVE_WCTYPE_T''@/1/g' \ -e 's/@''HAVE_WCTRANS_T''@/1/g' \ -e 's/@''HAVE_WINT_T''@/1/g' \ -e 's/@''REPLACE_ISWBLANK''@/0/g' \ -e 's/@''REPLACE_ISWDIGIT''@/0/g' \ -e 's/@''REPLACE_ISWXDIGIT''@/0/g' \ -e 's/@''REPLACE_ISWCNTRL''@/0/g' \ -e 's/@''REPLACE_TOWLOWER''@/0/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \ -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \ < ./wctype.in.h; \ } > wctype.h-t && \ mv wctype.h-t wctype.h /usr/bin/make all-recursive make[4]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/gnu' make[5]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/gnu' depbase=`echo acl-errno-valid.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT acl-errno-valid.o -MD -MP -MF $depbase.Tpo -c -o acl-errno-valid.o acl-errno-valid.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo acl-internal.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT acl-internal.o -MD -MP -MF $depbase.Tpo -c -o acl-internal.o acl-internal.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo get-permissions.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT get-permissions.o -MD -MP -MF $depbase.Tpo -c -o get-permissions.o get-permissions.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo set-permissions.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT set-permissions.o -MD -MP -MF $depbase.Tpo -c -o set-permissions.o set-permissions.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo allocator.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT allocator.o -MD -MP -MF $depbase.Tpo -c -o allocator.o allocator.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo areadlink.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT areadlink.o -MD -MP -MF $depbase.Tpo -c -o areadlink.o areadlink.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo areadlink-with-size.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT areadlink-with-size.o -MD -MP -MF $depbase.Tpo -c -o areadlink-with-size.o areadlink-with-size.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo areadlinkat.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT areadlinkat.o -MD -MP -MF $depbase.Tpo -c -o areadlinkat.o areadlinkat.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo areadlinkat-with-size.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT areadlinkat-with-size.o -MD -MP -MF $depbase.Tpo -c -o areadlinkat-with-size.o areadlinkat-with-size.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo argmatch.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT argmatch.o -MD -MP -MF $depbase.Tpo -c -o argmatch.o argmatch.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo argp-ba.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT argp-ba.o -MD -MP -MF $depbase.Tpo -c -o argp-ba.o argp-ba.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo argp-eexst.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT argp-eexst.o -MD -MP -MF $depbase.Tpo -c -o argp-eexst.o argp-eexst.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo argp-fmtstream.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT argp-fmtstream.o -MD -MP -MF $depbase.Tpo -c -o argp-fmtstream.o argp-fmtstream.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo argp-fs-xinl.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT argp-fs-xinl.o -MD -MP -MF $depbase.Tpo -c -o argp-fs-xinl.o argp-fs-xinl.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo argp-help.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT argp-help.o -MD -MP -MF $depbase.Tpo -c -o argp-help.o argp-help.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo argp-parse.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT argp-parse.o -MD -MP -MF $depbase.Tpo -c -o argp-parse.o argp-parse.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo argp-pin.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT argp-pin.o -MD -MP -MF $depbase.Tpo -c -o argp-pin.o argp-pin.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo argp-pv.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT argp-pv.o -MD -MP -MF $depbase.Tpo -c -o argp-pv.o argp-pv.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo argp-pvh.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT argp-pvh.o -MD -MP -MF $depbase.Tpo -c -o argp-pvh.o argp-pvh.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo argp-xinl.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT argp-xinl.o -MD -MP -MF $depbase.Tpo -c -o argp-xinl.o argp-xinl.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo argp-version-etc.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT argp-version-etc.o -MD -MP -MF $depbase.Tpo -c -o argp-version-etc.o argp-version-etc.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo openat-proc.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT openat-proc.o -MD -MP -MF $depbase.Tpo -c -o openat-proc.o openat-proc.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo backupfile.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT backupfile.o -MD -MP -MF $depbase.Tpo -c -o backupfile.o backupfile.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo backup-find.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT backup-find.o -MD -MP -MF $depbase.Tpo -c -o backup-find.o backup-find.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo basename-lgpl.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT basename-lgpl.o -MD -MP -MF $depbase.Tpo -c -o basename-lgpl.o basename-lgpl.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo bitrotate.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT bitrotate.o -MD -MP -MF $depbase.Tpo -c -o bitrotate.o bitrotate.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo c-ctype.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT c-ctype.o -MD -MP -MF $depbase.Tpo -c -o c-ctype.o c-ctype.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo c-strcasecmp.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT c-strcasecmp.o -MD -MP -MF $depbase.Tpo -c -o c-strcasecmp.o c-strcasecmp.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo c-strncasecmp.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT c-strncasecmp.o -MD -MP -MF $depbase.Tpo -c -o c-strncasecmp.o c-strncasecmp.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo careadlinkat.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT careadlinkat.o -MD -MP -MF $depbase.Tpo -c -o careadlinkat.o careadlinkat.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo cloexec.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT cloexec.o -MD -MP -MF $depbase.Tpo -c -o cloexec.o cloexec.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo close-stream.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT close-stream.o -MD -MP -MF $depbase.Tpo -c -o close-stream.o close-stream.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo closeout.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT closeout.o -MD -MP -MF $depbase.Tpo -c -o closeout.o closeout.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo opendir-safer.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT opendir-safer.o -MD -MP -MF $depbase.Tpo -c -o opendir-safer.o opendir-safer.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo dirname.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT dirname.o -MD -MP -MF $depbase.Tpo -c -o dirname.o dirname.c &&\ mv -f $depbase.Tpo $depbase.Po careadlinkat.c: In function 'careadlinkat': careadlinkat.c:184:5: warning: #warning "GCC might issue a bogus -Wreturn-local-addr warning here." [-Wcpp] 184 | #warning "GCC might issue a bogus -Wreturn-local-addr warning here." | ^~~~~~~ careadlinkat.c:185:5: warning: #warning "See ." [-Wcpp] 185 | #warning "See ." | ^~~~~~~ depbase=`echo basename.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT basename.o -MD -MP -MF $depbase.Tpo -c -o basename.o basename.c &&\ mv -f $depbase.Tpo $depbase.Po careadlinkat.c:188:10: warning: function may return address of local variable [-Wreturn-local-addr] 188 | return readlink_stk (fd, filename, buffer, buffer_size, alloc, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 189 | preadlinkat, stack_buf); | ~~~~~~~~~~~~~~~~~~~~~~~ careadlinkat.c:187:8: note: declared here 187 | char stack_buf[STACK_BUF_SIZE]; | ^~~~~~~~~ depbase=`echo dirname-lgpl.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT dirname-lgpl.o -MD -MP -MF $depbase.Tpo -c -o dirname-lgpl.o dirname-lgpl.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo stripslash.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT stripslash.o -MD -MP -MF $depbase.Tpo -c -o stripslash.o stripslash.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo exclude.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT exclude.o -MD -MP -MF $depbase.Tpo -c -o exclude.o exclude.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo exitfail.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT exitfail.o -MD -MP -MF $depbase.Tpo -c -o exitfail.o exitfail.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo creat-safer.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT creat-safer.o -MD -MP -MF $depbase.Tpo -c -o creat-safer.o creat-safer.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo open-safer.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT open-safer.o -MD -MP -MF $depbase.Tpo -c -o open-safer.o open-safer.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo fd-hook.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT fd-hook.o -MD -MP -MF $depbase.Tpo -c -o fd-hook.o fd-hook.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo fd-safer-flag.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT fd-safer-flag.o -MD -MP -MF $depbase.Tpo -c -o fd-safer-flag.o fd-safer-flag.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo dup-safer-flag.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT dup-safer-flag.o -MD -MP -MF $depbase.Tpo -c -o dup-safer-flag.o dup-safer-flag.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo fdutimensat.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT fdutimensat.o -MD -MP -MF $depbase.Tpo -c -o fdutimensat.o fdutimensat.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo file-has-acl.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT file-has-acl.o -MD -MP -MF $depbase.Tpo -c -o file-has-acl.o file-has-acl.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo filenamecat-lgpl.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT filenamecat-lgpl.o -MD -MP -MF $depbase.Tpo -c -o filenamecat-lgpl.o filenamecat-lgpl.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo fprintftime.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT fprintftime.o -MD -MP -MF $depbase.Tpo -c -o fprintftime.o fprintftime.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo full-write.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT full-write.o -MD -MP -MF $depbase.Tpo -c -o full-write.o full-write.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo getprogname.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT getprogname.o -MD -MP -MF $depbase.Tpo -c -o getprogname.o getprogname.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo gettime.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT gettime.o -MD -MP -MF $depbase.Tpo -c -o gettime.o gettime.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo hard-locale.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT hard-locale.o -MD -MP -MF $depbase.Tpo -c -o hard-locale.o hard-locale.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo hash.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT hash.o -MD -MP -MF $depbase.Tpo -c -o hash.o hash.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo human.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT human.o -MD -MP -MF $depbase.Tpo -c -o human.o human.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo imaxtostr.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT imaxtostr.o -MD -MP -MF $depbase.Tpo -c -o imaxtostr.o imaxtostr.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo inttostr.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT inttostr.o -MD -MP -MF $depbase.Tpo -c -o inttostr.o inttostr.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo offtostr.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT offtostr.o -MD -MP -MF $depbase.Tpo -c -o offtostr.o offtostr.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo uinttostr.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT uinttostr.o -MD -MP -MF $depbase.Tpo -c -o uinttostr.o uinttostr.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo umaxtostr.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT umaxtostr.o -MD -MP -MF $depbase.Tpo -c -o umaxtostr.o umaxtostr.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo localcharset.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT localcharset.o -MD -MP -MF $depbase.Tpo -c -o localcharset.o localcharset.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo malloca.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT malloca.o -MD -MP -MF $depbase.Tpo -c -o malloca.o malloca.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo mbchar.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT mbchar.o -MD -MP -MF $depbase.Tpo -c -o mbchar.o mbchar.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo mbscasecmp.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT mbscasecmp.o -MD -MP -MF $depbase.Tpo -c -o mbscasecmp.o mbscasecmp.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo mbuiter.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT mbuiter.o -MD -MP -MF $depbase.Tpo -c -o mbuiter.o mbuiter.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo modechange.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT modechange.o -MD -MP -MF $depbase.Tpo -c -o modechange.o modechange.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo nstrftime.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT nstrftime.o -MD -MP -MF $depbase.Tpo -c -o nstrftime.o nstrftime.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo openat-die.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT openat-die.o -MD -MP -MF $depbase.Tpo -c -o openat-die.o openat-die.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo openat-safer.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT openat-safer.o -MD -MP -MF $depbase.Tpo -c -o openat-safer.o openat-safer.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo opendirat.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT opendirat.o -MD -MP -MF $depbase.Tpo -c -o opendirat.o opendirat.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo parse-datetime.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT parse-datetime.o -MD -MP -MF $depbase.Tpo -c -o parse-datetime.o parse-datetime.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo priv-set.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT priv-set.o -MD -MP -MF $depbase.Tpo -c -o priv-set.o priv-set.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo progname.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT progname.o -MD -MP -MF $depbase.Tpo -c -o progname.o progname.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo quotearg.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT quotearg.o -MD -MP -MF $depbase.Tpo -c -o quotearg.o quotearg.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo renameatu.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT renameatu.o -MD -MP -MF $depbase.Tpo -c -o renameatu.o renameatu.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo safe-read.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT safe-read.o -MD -MP -MF $depbase.Tpo -c -o safe-read.o safe-read.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo safe-write.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT safe-write.o -MD -MP -MF $depbase.Tpo -c -o safe-write.o safe-write.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo save-cwd.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT save-cwd.o -MD -MP -MF $depbase.Tpo -c -o save-cwd.o save-cwd.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo savedir.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT savedir.o -MD -MP -MF $depbase.Tpo -c -o savedir.o savedir.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo selinux-at.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT selinux-at.o -MD -MP -MF $depbase.Tpo -c -o selinux-at.o selinux-at.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo se-context.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT se-context.o -MD -MP -MF $depbase.Tpo -c -o se-context.o se-context.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo se-label.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT se-label.o -MD -MP -MF $depbase.Tpo -c -o se-label.o se-label.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo se-selinux.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT se-selinux.o -MD -MP -MF $depbase.Tpo -c -o se-selinux.o se-selinux.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo setlocale_null.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT setlocale_null.o -MD -MP -MF $depbase.Tpo -c -o setlocale_null.o setlocale_null.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo stat-time.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT stat-time.o -MD -MP -MF $depbase.Tpo -c -o stat-time.o stat-time.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo statat.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT statat.o -MD -MP -MF $depbase.Tpo -c -o statat.o statat.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo stdopen.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT stdopen.o -MD -MP -MF $depbase.Tpo -c -o stdopen.o stdopen.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo strnlen1.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT strnlen1.o -MD -MP -MF $depbase.Tpo -c -o strnlen1.o strnlen1.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo tempname.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT tempname.o -MD -MP -MF $depbase.Tpo -c -o tempname.o tempname.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo timespec.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT timespec.o -MD -MP -MF $depbase.Tpo -c -o timespec.o timespec.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo timespec-sub.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT timespec-sub.o -MD -MP -MF $depbase.Tpo -c -o timespec-sub.o timespec-sub.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo unistd.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT unistd.o -MD -MP -MF $depbase.Tpo -c -o unistd.o unistd.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo dup-safer.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT dup-safer.o -MD -MP -MF $depbase.Tpo -c -o dup-safer.o dup-safer.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo fd-safer.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT fd-safer.o -MD -MP -MF $depbase.Tpo -c -o fd-safer.o fd-safer.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo pipe-safer.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT pipe-safer.o -MD -MP -MF $depbase.Tpo -c -o pipe-safer.o pipe-safer.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo unlinkdir.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT unlinkdir.o -MD -MP -MF $depbase.Tpo -c -o unlinkdir.o unlinkdir.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo utimens.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT utimens.o -MD -MP -MF $depbase.Tpo -c -o utimens.o utimens.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo version-etc.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT version-etc.o -MD -MP -MF $depbase.Tpo -c -o version-etc.o version-etc.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo version-etc-fsf.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT version-etc-fsf.o -MD -MP -MF $depbase.Tpo -c -o version-etc-fsf.o version-etc-fsf.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo wctype-h.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT wctype-h.o -MD -MP -MF $depbase.Tpo -c -o wctype-h.o wctype-h.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo xmalloc.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT xmalloc.o -MD -MP -MF $depbase.Tpo -c -o xmalloc.o xmalloc.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo xalloc-die.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT xalloc-die.o -MD -MP -MF $depbase.Tpo -c -o xalloc-die.o xalloc-die.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo xgetcwd.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT xgetcwd.o -MD -MP -MF $depbase.Tpo -c -o xgetcwd.o xgetcwd.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo xsize.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT xsize.o -MD -MP -MF $depbase.Tpo -c -o xsize.o xsize.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo xstrndup.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT xstrndup.o -MD -MP -MF $depbase.Tpo -c -o xstrndup.o xstrndup.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo xstrtol.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT xstrtol.o -MD -MP -MF $depbase.Tpo -c -o xstrtol.o xstrtol.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo xstrtoul.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT xstrtoul.o -MD -MP -MF $depbase.Tpo -c -o xstrtoul.o xstrtoul.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo xstrtoumax.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT xstrtoumax.o -MD -MP -MF $depbase.Tpo -c -o xstrtoumax.o xstrtoumax.c &&\ mv -f $depbase.Tpo $depbase.Po utimens.c: In function 'fdutimens': utimens.c:399:17: warning: 'update_timespec' accessing 16 bytes in a region of size 8 [-Wstringop-overflow=] 399 | if (ts && update_timespec (&st, &ts)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ utimens.c:399:17: note: referencing argument 2 of type 'struct timespec *[2]' utimens.c:136:1: note: in a call to function 'update_timespec' 136 | update_timespec (struct stat const *statbuf, struct timespec *ts[2]) | ^~~~~~~~~~~~~~~ utimens.c: In function 'lutimens': utimens.c:612:17: warning: 'update_timespec' accessing 16 bytes in a region of size 8 [-Wstringop-overflow=] 612 | if (ts && update_timespec (&st, &ts)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ utimens.c:612:17: note: referencing argument 2 of type 'struct timespec *[2]' utimens.c:136:1: note: in a call to function 'update_timespec' 136 | update_timespec (struct stat const *statbuf, struct timespec *ts[2]) | ^~~~~~~~~~~~~~~ depbase=`echo xvasprintf.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT xvasprintf.o -MD -MP -MF $depbase.Tpo -c -o xvasprintf.o xvasprintf.c &&\ mv -f $depbase.Tpo $depbase.Po utimens.c: In function 'fdutimens': utimens.c:399:17: warning: 'update_timespec' accessing 16 bytes in a region of size 8 [-Wstringop-overflow=] 399 | if (ts && update_timespec (&st, &ts)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ utimens.c:399:17: note: referencing argument 2 of type 'struct timespec *[2]' utimens.c:136:1: note: in a call to function 'update_timespec' 136 | update_timespec (struct stat const *statbuf, struct timespec *ts[2]) | ^~~~~~~~~~~~~~~ depbase=`echo xasprintf.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT xasprintf.o -MD -MP -MF $depbase.Tpo -c -o xasprintf.o xasprintf.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo asnprintf.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT asnprintf.o -MD -MP -MF $depbase.Tpo -c -o asnprintf.o asnprintf.c &&\ mv -f $depbase.Tpo $depbase.Po utimens.c:399:17: warning: 'update_timespec' accessing 16 bytes in a region of size 8 [-Wstringop-overflow=] 399 | if (ts && update_timespec (&st, &ts)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ utimens.c:399:17: note: referencing argument 2 of type 'struct timespec *[2]' utimens.c:136:1: note: in a call to function 'update_timespec' 136 | update_timespec (struct stat const *statbuf, struct timespec *ts[2]) | ^~~~~~~~~~~~~~~ depbase=`echo chdir-long.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT chdir-long.o -MD -MP -MF $depbase.Tpo -c -o chdir-long.o chdir-long.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo fcntl.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT fcntl.o -MD -MP -MF $depbase.Tpo -c -o fcntl.o fcntl.c &&\ mv -f $depbase.Tpo $depbase.Po utimens.c: In function 'lutimens': utimens.c:612:17: warning: 'update_timespec' accessing 16 bytes in a region of size 8 [-Wstringop-overflow=] 612 | if (ts && update_timespec (&st, &ts)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ utimens.c:612:17: note: referencing argument 2 of type 'struct timespec *[2]' utimens.c:136:1: note: in a call to function 'update_timespec' 136 | update_timespec (struct stat const *statbuf, struct timespec *ts[2]) | ^~~~~~~~~~~~~~~ utimens.c:612:17: warning: 'update_timespec' accessing 16 bytes in a region of size 8 [-Wstringop-overflow=] 612 | if (ts && update_timespec (&st, &ts)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ utimens.c:612:17: note: referencing argument 2 of type 'struct timespec *[2]' utimens.c:136:1: note: in a call to function 'update_timespec' 136 | update_timespec (struct stat const *statbuf, struct timespec *ts[2]) | ^~~~~~~~~~~~~~~ depbase=`echo getfilecon.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT getfilecon.o -MD -MP -MF $depbase.Tpo -c -o getfilecon.o getfilecon.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo getopt.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT getopt.o -MD -MP -MF $depbase.Tpo -c -o getopt.o getopt.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo getopt1.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT getopt1.o -MD -MP -MF $depbase.Tpo -c -o getopt1.o getopt1.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo mbrtowc.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT mbrtowc.o -MD -MP -MF $depbase.Tpo -c -o mbrtowc.o mbrtowc.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo mktime.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT mktime.o -MD -MP -MF $depbase.Tpo -c -o mktime.o mktime.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo obstack.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT obstack.o -MD -MP -MF $depbase.Tpo -c -o obstack.o obstack.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo printf-args.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT printf-args.o -MD -MP -MF $depbase.Tpo -c -o printf-args.o printf-args.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo printf-parse.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT printf-parse.o -MD -MP -MF $depbase.Tpo -c -o printf-parse.o printf-parse.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo regex.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT regex.o -MD -MP -MF $depbase.Tpo -c -o regex.o regex.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo time_rz.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT time_rz.o -MD -MP -MF $depbase.Tpo -c -o time_rz.o time_rz.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo vasnprintf.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT vasnprintf.o -MD -MP -MF $depbase.Tpo -c -o vasnprintf.o vasnprintf.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo malloc/scratch_buffer_dupfree.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT malloc/scratch_buffer_dupfree.o -MD -MP -MF $depbase.Tpo -c -o malloc/scratch_buffer_dupfree.o malloc/scratch_buffer_dupfree.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo malloc/scratch_buffer_grow.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT malloc/scratch_buffer_grow.o -MD -MP -MF $depbase.Tpo -c -o malloc/scratch_buffer_grow.o malloc/scratch_buffer_grow.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo malloc/scratch_buffer_grow_preserve.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT malloc/scratch_buffer_grow_preserve.o -MD -MP -MF $depbase.Tpo -c -o malloc/scratch_buffer_grow_preserve.o malloc/scratch_buffer_grow_preserve.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo malloc/scratch_buffer_set_array_size.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT malloc/scratch_buffer_set_array_size.o -MD -MP -MF $depbase.Tpo -c -o malloc/scratch_buffer_set_array_size.o malloc/scratch_buffer_set_array_size.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo uniwidth/width.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT uniwidth/width.o -MD -MP -MF $depbase.Tpo -c -o uniwidth/width.o uniwidth/width.c &&\ mv -f $depbase.Tpo $depbase.Po rm -f libgnu.a ar cr libgnu.a acl-errno-valid.o acl-internal.o get-permissions.o set-permissions.o allocator.o areadlink.o areadlink-with-size.o areadlinkat.o areadlinkat-with-size.o argmatch.o argp-ba.o argp-eexst.o argp-fmtstream.o argp-fs-xinl.o argp-help.o argp-parse.o argp-pin.o argp-pv.o argp-pvh.o argp-xinl.o argp-version-etc.o openat-proc.o backupfile.o backup-find.o basename-lgpl.o bitrotate.o c-ctype.o c-strcasecmp.o c-strncasecmp.o careadlinkat.o cloexec.o close-stream.o closeout.o opendir-safer.o dirname.o basename.o dirname-lgpl.o stripslash.o exclude.o exitfail.o creat-safer.o open-safer.o fd-hook.o fd-safer-flag.o dup-safer-flag.o fdutimensat.o file-has-acl.o filenamecat-lgpl.o fprintftime.o full-write.o getprogname.o gettime.o hard-locale.o hash.o human.o imaxtostr.o inttostr.o offtostr.o uinttostr.o umaxtostr.o localcharset.o malloca.o mbchar.o mbscasecmp.o mbuiter.o modechange.o nstrftime.o openat-die.o openat-safer.o opendirat.o parse-datetime.o priv-set.o progname.o quotearg.o renameatu.o safe-read.o safe-write.o save-cwd.o savedir.o malloc/scratch_buffer_dupfree.o malloc/scratch_buffer_grow.o malloc/scratch_buffer_grow_preserve.o malloc/scratch_buffer_set_array_size.o selinux-at.o se-context.o se-label.o se-selinux.o setlocale_null.o stat-time.o statat.o stdopen.o strnlen1.o tempname.o timespec.o timespec-sub.o unistd.o dup-safer.o fd-safer.o pipe-safer.o uniwidth/width.o unlinkdir.o utimens.o version-etc.o version-etc-fsf.o wctype-h.o xmalloc.o xalloc-die.o xgetcwd.o xsize.o xstrndup.o xstrtol.o xstrtoul.o xstrtoumax.o xvasprintf.o xasprintf.o asnprintf.o chdir-long.o fcntl.o getfilecon.o getopt.o getopt1.o mbrtowc.o mktime.o obstack.o printf-args.o printf-parse.o regex.o time_rz.o vasnprintf.o ranlib libgnu.a make[5]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/gnu' make[4]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/gnu' make[3]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/gnu' Making all in lib make[3]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/lib' rm -f rmt-command.h-t rmt-command.h echo "#ifndef DEFAULT_RMT_COMMAND" >> rmt-command.h-t echo "# define DEFAULT_RMT_COMMAND \"/usr/sbin/`echo rmt | sed 's,x,x,'`\"" >> rmt-command.h-t echo "#endif" >> rmt-command.h-t mv rmt-command.h-t rmt-command.h /usr/bin/make all-am make[4]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/lib' gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT paxerror.o -MD -MP -MF .deps/paxerror.Tpo -c -o paxerror.o paxerror.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT paxexit-status.o -MD -MP -MF .deps/paxexit-status.Tpo -c -o paxexit-status.o paxexit-status.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT paxnames.o -MD -MP -MF .deps/paxnames.Tpo -c -o paxnames.o paxnames.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT rtapelib.o -MD -MP -MF .deps/rtapelib.Tpo -c -o rtapelib.o rtapelib.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT wordsplit.o -MD -MP -MF .deps/wordsplit.Tpo -c -o wordsplit.o wordsplit.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT xattr-at.o -MD -MP -MF .deps/xattr-at.Tpo -c -o xattr-at.o xattr-at.c mv -f .deps/paxexit-status.Tpo .deps/paxexit-status.Po mv -f .deps/paxnames.Tpo .deps/paxnames.Po mv -f .deps/paxerror.Tpo .deps/paxerror.Po mv -f .deps/xattr-at.Tpo .deps/xattr-at.Po mv -f .deps/rtapelib.Tpo .deps/rtapelib.Po mv -f .deps/wordsplit.Tpo .deps/wordsplit.Po rm -f libtar.a ar cr libtar.a paxerror.o paxexit-status.o paxnames.o rtapelib.o wordsplit.o xattr-at.o ranlib libtar.a make[4]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/lib' make[3]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/lib' Making all in rmt make[3]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/rmt' gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT rmt.o -MD -MP -MF .deps/rmt.Tpo -c -o rmt.o rmt.c mv -f .deps/rmt.Tpo .deps/rmt.Po gcc -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -Wl,-z,relro -o rmt rmt.o ../gnu/libgnu.a -lacl make[3]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/rmt' Making all in src make[3]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/src' gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT buffer.o -MD -MP -MF .deps/buffer.Tpo -c -o buffer.o buffer.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT checkpoint.o -MD -MP -MF .deps/checkpoint.Tpo -c -o checkpoint.o checkpoint.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT compare.o -MD -MP -MF .deps/compare.Tpo -c -o compare.o compare.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT create.o -MD -MP -MF .deps/create.Tpo -c -o create.o create.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT delete.o -MD -MP -MF .deps/delete.Tpo -c -o delete.o delete.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT exit.o -MD -MP -MF .deps/exit.Tpo -c -o exit.o exit.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT exclist.o -MD -MP -MF .deps/exclist.Tpo -c -o exclist.o exclist.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT extract.o -MD -MP -MF .deps/extract.Tpo -c -o extract.o extract.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT xheader.o -MD -MP -MF .deps/xheader.Tpo -c -o xheader.o xheader.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT incremen.o -MD -MP -MF .deps/incremen.Tpo -c -o incremen.o incremen.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT list.o -MD -MP -MF .deps/list.Tpo -c -o list.o list.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT map.o -MD -MP -MF .deps/map.Tpo -c -o map.o map.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT misc.o -MD -MP -MF .deps/misc.Tpo -c -o misc.o misc.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT names.o -MD -MP -MF .deps/names.Tpo -c -o names.o names.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT sparse.o -MD -MP -MF .deps/sparse.Tpo -c -o sparse.o sparse.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT suffix.o -MD -MP -MF .deps/suffix.Tpo -c -o suffix.o suffix.c misc.c:457:40: warning: argument 2 of type 'char[32]' with mismatched bound [-Warray-parameter=] 457 | code_timespec (struct timespec t, char sbuf[TIMESPEC_STRSIZE_BOUND]) | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from misc.c:21: common.h:678:54: note: previously declared as 'char *' 678 | char const *code_timespec (struct timespec ts, char *sbuf); | ~~~~~~^~~~ mv -f .deps/exit.Tpo .deps/exit.Po gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT system.o -MD -MP -MF .deps/system.Tpo -c -o system.o system.c mv -f .deps/suffix.Tpo .deps/suffix.Po gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT tar.o -MD -MP -MF .deps/tar.Tpo -c -o tar.o tar.c mv -f .deps/map.Tpo .deps/map.Po gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT transform.o -MD -MP -MF .deps/transform.Tpo -c -o transform.o transform.c mv -f .deps/checkpoint.Tpo .deps/checkpoint.Po gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT unlink.o -MD -MP -MF .deps/unlink.Tpo -c -o unlink.o unlink.c mv -f .deps/delete.Tpo .deps/delete.Po gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT update.o -MD -MP -MF .deps/update.Tpo -c -o update.o update.c mv -f .deps/exclist.Tpo .deps/exclist.Po gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT utf8.o -MD -MP -MF .deps/utf8.Tpo -c -o utf8.o utf8.c mv -f .deps/utf8.Tpo .deps/utf8.Po gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT warning.o -MD -MP -MF .deps/warning.Tpo -c -o warning.o warning.c mv -f .deps/compare.Tpo .deps/compare.Po gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT xattrs.o -MD -MP -MF .deps/xattrs.Tpo -c -o xattrs.o xattrs.c mv -f .deps/update.Tpo .deps/update.Po mv -f .deps/warning.Tpo .deps/warning.Po mv -f .deps/misc.Tpo .deps/misc.Po mv -f .deps/unlink.Tpo .deps/unlink.Po mv -f .deps/incremen.Tpo .deps/incremen.Po mv -f .deps/system.Tpo .deps/system.Po mv -f .deps/extract.Tpo .deps/extract.Po mv -f .deps/list.Tpo .deps/list.Po mv -f .deps/names.Tpo .deps/names.Po mv -f .deps/transform.Tpo .deps/transform.Po mv -f .deps/sparse.Tpo .deps/sparse.Po mv -f .deps/xheader.Tpo .deps/xheader.Po mv -f .deps/buffer.Tpo .deps/buffer.Po mv -f .deps/xattrs.Tpo .deps/xattrs.Po mv -f .deps/create.Tpo .deps/create.Po mv -f .deps/tar.Tpo .deps/tar.Po gcc -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -Wl,-z,relro -o tar buffer.o checkpoint.o compare.o create.o delete.o exit.o exclist.o extract.o xheader.o incremen.o list.o map.o misc.o names.o sparse.o suffix.o system.o tar.o transform.o unlink.o update.o utf8.o warning.o xattrs.o -lacl ../lib/libtar.a ../gnu/libgnu.a -lselinux -lacl make[3]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/src' Making all in scripts make[3]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/scripts' sed "s,\@libexecdir\@,/usr/sbin,; s,\@sysconfdir\@,/usr/etc,; s,\@PACKAGE_NAME\@,GNU tar,; s,\@VERSION\@,1.34,; s,\@PACKAGE_BUGREPORT\@,bug-tar@gnu.org,; s,\@DATE_FORMAT_OK\@,,;/^#ELSE_DATE_FORMAT_OK/,/^#ENDIF_DATE_FORMAT_OK/d;/^#IF_DATE_FORMAT_OK/d" backup.sh.in > backup.sh sed "s,\@libexecdir\@,/usr/sbin,; s,\@sysconfdir\@,/usr/etc,; s,\@PACKAGE_NAME\@,GNU tar,; s,\@VERSION\@,1.34,; s,\@PACKAGE_BUGREPORT\@,bug-tar@gnu.org,; s,\@DATE_FORMAT_OK\@,,;/^#ELSE_DATE_FORMAT_OK/,/^#ENDIF_DATE_FORMAT_OK/d;/^#IF_DATE_FORMAT_OK/d" dump-remind.in > dump-remind sed "s,\@libexecdir\@,/usr/sbin,; s,\@sysconfdir\@,/usr/etc,; s,\@PACKAGE_NAME\@,GNU tar,; s,\@VERSION\@,1.34,; s,\@PACKAGE_BUGREPORT\@,bug-tar@gnu.org,; s,\@DATE_FORMAT_OK\@,,;/^#ELSE_DATE_FORMAT_OK/,/^#ENDIF_DATE_FORMAT_OK/d;/^#IF_DATE_FORMAT_OK/d" backup.in > backup sed "s,\@libexecdir\@,/usr/sbin,; s,\@sysconfdir\@,/usr/etc,; s,\@PACKAGE_NAME\@,GNU tar,; s,\@VERSION\@,1.34,; s,\@PACKAGE_BUGREPORT\@,bug-tar@gnu.org,; s,\@DATE_FORMAT_OK\@,,;/^#ELSE_DATE_FORMAT_OK/,/^#ENDIF_DATE_FORMAT_OK/d;/^#IF_DATE_FORMAT_OK/d" restore.in > restore make[3]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/scripts' Making all in po make[3]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/po' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/po' Making all in tests make[3]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/tests' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/tests' make[3]: Entering directory '/build/reproducible-path/tar-1.34+dfsg' make[3]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg' make[2]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg' make[1]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg' /usr/bin/make check TESTSUITEFLAGS=-v || { cat tests/testsuite.log; false; } make[1]: Entering directory '/build/reproducible-path/tar-1.34+dfsg' Making check in doc make[2]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/doc' make[2]: Nothing to be done for 'check'. make[2]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/doc' Making check in gnu make[2]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/gnu' /usr/bin/make check-recursive make[3]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/gnu' make[4]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/gnu' make[4]: Nothing to be done for 'check-am'. make[4]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/gnu' make[3]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/gnu' make[2]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/gnu' Making check in lib make[2]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/lib' /usr/bin/make check-am make[3]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/lib' make[3]: Nothing to be done for 'check-am'. make[3]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/lib' make[2]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/lib' Making check in rmt make[2]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/rmt' make[2]: Nothing to be done for 'check'. make[2]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/rmt' Making check in src make[2]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/src' make[2]: Nothing to be done for 'check'. make[2]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/src' Making check in scripts make[2]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/scripts' make[2]: Nothing to be done for 'check'. make[2]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/scripts' Making check in po make[2]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/po' make[2]: Nothing to be done for 'check'. make[2]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/po' Making check in tests make[2]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/tests' /usr/bin/make genfile checkseekhole ckmtime make[3]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/tests' gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../gnu -I../gnu -I../lib -DLOCALEDIR=\"/usr/share/locale\" -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT genfile.o -MD -MP -MF .deps/genfile.Tpo -c -o genfile.o genfile.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../gnu -I../gnu -I../lib -DLOCALEDIR=\"/usr/share/locale\" -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT argcv.o -MD -MP -MF .deps/argcv.Tpo -c -o argcv.o argcv.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../gnu -I../gnu -I../lib -DLOCALEDIR=\"/usr/share/locale\" -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT checkseekhole.o -MD -MP -MF .deps/checkseekhole.Tpo -c -o checkseekhole.o checkseekhole.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../gnu -I../gnu -I../lib -DLOCALEDIR=\"/usr/share/locale\" -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -MT ckmtime.o -MD -MP -MF .deps/ckmtime.Tpo -c -o ckmtime.o ckmtime.c mv -f .deps/checkseekhole.Tpo .deps/checkseekhole.Po gcc -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -Wl,-z,relro -o checkseekhole checkseekhole.o ../gnu/libgnu.a -lacl mv -f .deps/ckmtime.Tpo .deps/ckmtime.Po gcc -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -Wl,-z,relro -o ckmtime ckmtime.o ../gnu/libgnu.a -lacl mv -f .deps/genfile.Tpo .deps/genfile.Po mv -f .deps/argcv.Tpo .deps/argcv.Po gcc -g -O2 -ffile-prefix-map=/build/reproducible-path/tar-1.34+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wno-analyzer-null-argument -Wl,-z,relro -o genfile genfile.o argcv.o ../gnu/libgnu.a -lacl make[3]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/tests' /usr/bin/make check-local make[3]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/tests' /bin/bash '/build/reproducible-path/tar-1.34+dfsg/build-aux/missing' autom4te --language=autotest -I . testsuite.at -o testsuite.tmp mv testsuite.tmp testsuite /bin/bash ./testsuite -v ## ------------------------ ## ## GNU tar 1.34 test suite. ## ## ------------------------ ## 1. version.at:19: testing tar version ... ./version.at:21: tar --version | sed 1q 1. version.at:19: ok 2. pipe.at:29: testing decompressing from stdin ... ./pipe.at:33: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 tar cf archive directory mv directory orig cat archive | tar xfv - --warning=no-timestamp | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" cmp orig/file2 directory/file2) ./pipe.at:33: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 tar cf archive directory mv directory orig cat archive | tar xfv - --warning=no-timestamp | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" cmp orig/file2 directory/file2) ./pipe.at:33: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 tar cf archive directory mv directory orig cat archive | tar xfv - --warning=no-timestamp | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" cmp orig/file2 directory/file2) ./pipe.at:33: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 tar cf archive directory mv directory orig cat archive | tar xfv - --warning=no-timestamp | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" cmp orig/file2 directory/file2) ./pipe.at:33: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 tar cf archive directory mv directory orig cat archive | tar xfv - --warning=no-timestamp | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" cmp orig/file2 directory/file2) 2. pipe.at:29: ok Options 3. options.at:24: testing mixing options ... ./options.at:27: echo > file1 TAR_OPTIONS=--numeric-owner tar chof archive file1 tar tf archive 3. options.at:24: ok 4. options02.at:26: testing interspersed options ... ./options02.at:29: echo > file1 tar c file1 -f archive tar tf archive 4. options02.at:26: ok 5. options03.at:21: testing TAR_OPTIONS with string arguments ... ./options03.at:31: echo dir/bar > exclude.list mkdir dir genfile --file=dir/foo genfile --file=dir/bar TAR_OPTIONS=--exclude-from=exclude.list tar cf arc.tar dir tar tf arc.tar 5. options03.at:21: ok Option compatibility 6. opcomp01.at:21: testing occurrence compatibility ... ./opcomp01.at:24: tar --occurrence=1 -cf test.tar . 6. opcomp01.at:21: ok 7. opcomp02.at:21: testing occurrence compatibility ... ./opcomp02.at:24: tar --occurrence=1 -tf test.tar 7. opcomp02.at:21: ok 8. opcomp03.at:21: testing --verify compatibility ... ./opcomp03.at:24: tar -tWf test.tar . 8. opcomp03.at:21: ok 9. opcomp04.at:21: testing compress option compatibility ... ./opcomp04.at:24: cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 genfile --file file tar czf test.tar file genfile --file newfile tar rzf test.tar newfile 9. opcomp04.at:21: ok 10. opcomp05.at:21: testing --pax-option compatibility ... ./opcomp05.at:24: tar -Hgnu -cf test.tar --pax-option user:=root . 10. opcomp05.at:21: ok 11. opcomp06.at:21: testing --pax-option compatibility ... ./opcomp06.at:24: file=$(TMPDIR=. mktemp fiXXXXXX) setfacl -m u:$UID:rwx $file &> /dev/null if test "$?" != 0; then exit 77 fi getfacl $file &> /dev/null if test "$?" != 0; then exit 77 fi rm -rf $file file=$(TMPDIR=. mktemp fiXXXXXX) setfacl -m u:$UID:rwx $file err=$( tar --acls -cf /dev/null $file 2>&1 >/dev/null | wc -l ) if test "$err" != "0"; then exit 77 fi genfile --file file tar -cf test.tar --acls -Hgnu file --- - 2025-04-11 05:18:21.598982228 -1200 +++ /build/reproducible-path/tar-1.34+dfsg/tests/testsuite.dir/at-groups/11/stderr 2025-04-11 05:18:21.571322914 -1200 @@ -1,3 +1 @@ -tar: --acls can be used only on POSIX archives -Try 'tar --help' or 'tar --usage' for more information. 11. opcomp06.at:21: skipped (opcomp06.at:24) Checkpoints 12. defaults.at:16: testing checkpoint defaults ... ./defaults.at:18: mkdir t cd t for i in 0 1 2 3 4 5 6 7 8 9 do genfile --length 10240 --file $i done TAR_OPTIONS=-Hgnu export TAR_OPTIONS tar --checkpoint -c -f ../a.tar . 12. defaults.at:16: ok 13. interval.at:16: testing checkpoint interval ... ./interval.at:18: mkdir t cd t for i in 0 1 2 3 4 5 6 7 8 9 do genfile --length 10240 --file $i done TAR_OPTIONS=-Hgnu export TAR_OPTIONS tar --checkpoint=2 -c -f ../a.tar . 13. interval.at:16: ok 14. dot.at:16: testing dot action ... ./dot.at:18: mkdir t cd t for i in 0 1 2 3 4 5 6 7 8 9 do genfile --length 10240 --file $i done TAR_OPTIONS=-Hgnu export TAR_OPTIONS tar --checkpoint-action=dot -c -f ../a.tar . 14. dot.at:16: ok 15. dot-compat.at:16: testing dot action (compatibility syntax) ... ./dot-compat.at:18: mkdir t cd t for i in 0 1 2 3 4 5 6 7 8 9 do genfile --length 10240 --file $i done TAR_OPTIONS=-Hgnu export TAR_OPTIONS tar --checkpoint=.2 -c -f ../a.tar . 15. dot-compat.at:16: ok 16. dot-int.at:16: testing dot action and interval ... ./dot-int.at:18: mkdir t cd t for i in 0 1 2 3 4 5 6 7 8 9 do genfile --length 10240 --file $i done TAR_OPTIONS=-Hgnu export TAR_OPTIONS tar --checkpoint-action=dot --checkpoint=2 -c -f ../a.tar . 16. dot-int.at:16: ok Compression 17. testsuite.at:242: testing compress: gzip ... ./testsuite.at:242: cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 unset TAR_OPTIONS touch empty set -e : create with --gzip tar --gzip -cf k.tar.gz empty tar tf k.tar.gz echo testing .gz tar -acf k2.tar.gz empty cat k2.tar.gz | gzip -d > k.gz.tar tar tf k.gz.tar echo testing .tgz tar -acf k2.tar.tgz empty cat k2.tar.tgz | gzip -d > k.tgz.tar tar tf k.tgz.tar # Extraction: ensure compressed format is correctly recognized rm -f empty tar xf k.tar.gz test -f empty 17. testsuite.at:242: ok 18. testsuite.at:243: testing compress: bzip2 ... ./testsuite.at:243: cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 unset TAR_OPTIONS touch empty set -e : create with --bzip2 tar --bzip2 -cf k.tar.bz2 empty tar tf k.tar.bz2 echo testing .bz2 tar -acf k2.tar.bz2 empty cat k2.tar.bz2 | bzip2 -d > k.bz2.tar tar tf k.bz2.tar echo testing .tbz2 tar -acf k2.tar.tbz2 empty cat k2.tar.tbz2 | bzip2 -d > k.tbz2.tar tar tf k.tbz2.tar # Extraction: ensure compressed format is correctly recognized rm -f empty tar xf k.tar.bz2 test -f empty 18. testsuite.at:243: ok 19. testsuite.at:244: testing compress: xz ... ./testsuite.at:244: cat /dev/null | xz - > /dev/null 2>&1 || exit 77 unset TAR_OPTIONS touch empty set -e : create with --xz tar --xz -cf k.tar.xz empty tar tf k.tar.xz echo testing .xz tar -acf k2.tar.xz empty cat k2.tar.xz | xz -d > k.xz.tar tar tf k.xz.tar echo testing .txz tar -acf k2.tar.txz empty cat k2.tar.txz | xz -d > k.txz.tar tar tf k.txz.tar # Extraction: ensure compressed format is correctly recognized rm -f empty tar xf k.tar.xz test -f empty 19. testsuite.at:244: ok 20. testsuite.at:246: testing compress: lzip ... ./testsuite.at:246: cat /dev/null | lzip - > /dev/null 2>&1 || exit 77 unset TAR_OPTIONS touch empty set -e : create with --lzip tar --lzip -cf k.tar.lz empty tar tf k.tar.lz echo testing .lz tar -acf k2.tar.lz empty cat k2.tar.lz | lzip -d > k.lz.tar tar tf k.lz.tar # Extraction: ensure compressed format is correctly recognized rm -f empty tar xf k.tar.lz test -f empty --- - 2025-04-11 05:18:25.127388879 -1200 +++ /build/reproducible-path/tar-1.34+dfsg/tests/testsuite.dir/at-groups/20/stdout 2025-04-11 05:18:25.111322914 -1200 @@ -1,4 +1 @@ -empty -testing .lz -empty 20. testsuite.at:246: skipped (testsuite.at:246) 21. testsuite.at:247: testing compress: lzop ... ./testsuite.at:247: cat /dev/null | lzop - > /dev/null 2>&1 || exit 77 unset TAR_OPTIONS touch empty set -e : create with --lzop tar --lzop -cf k.tar.lzo empty tar tf k.tar.lzo echo testing .lzo tar -acf k2.tar.lzo empty cat k2.tar.lzo | lzop -d > k.lzo.tar tar tf k.lzo.tar # Extraction: ensure compressed format is correctly recognized rm -f empty tar xf k.tar.lzo test -f empty --- - 2025-04-11 05:18:25.341401624 -1200 +++ /build/reproducible-path/tar-1.34+dfsg/tests/testsuite.dir/at-groups/21/stdout 2025-04-11 05:18:25.315322914 -1200 @@ -1,4 +1 @@ -empty -testing .lzo -empty 21. testsuite.at:247: skipped (testsuite.at:247) 22. testsuite.at:248: testing compress: zstd ... ./testsuite.at:248: cat /dev/null | zstd - > /dev/null 2>&1 || exit 77 unset TAR_OPTIONS touch empty set -e : create with --zstd tar --zstd -cf k.tar.zst empty tar tf k.tar.zst echo testing .zst tar -acf k2.tar.zst empty cat k2.tar.zst | zstd -d > k.zst.tar tar tf k.zst.tar echo testing .tzst tar -acf k2.tar.tzst empty cat k2.tar.tzst | zstd -d > k.tzst.tar tar tf k.tzst.tar # Extraction: ensure compressed format is correctly recognized rm -f empty tar xf k.tar.zst test -f empty --- - 2025-04-11 05:18:25.515062298 -1200 +++ /build/reproducible-path/tar-1.34+dfsg/tests/testsuite.dir/at-groups/22/stdout 2025-04-11 05:18:25.487322914 -1200 @@ -1,6 +1 @@ -empty -testing .zst -empty -testing .tzst -empty 22. testsuite.at:248: skipped (testsuite.at:248) Positional options 23. positional01.at:21: testing Exclude ... ./positional01.at:24: test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir dir > dir/A.a > dir/B.a > dir/A.b tar -cf a.tar --exclude '*.b' dir echo $? tar -tf a.tar | sort tar -cf a.tar dir --exclude '*.b' echo $? tar -tf a.tar | sort 23. positional01.at:21: ok 24. positional02.at:21: testing Directory ... ./positional02.at:24: test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir dir > dir/A.a > dir/B.a > dir/A.b tar -cf a.tar -C dir . echo $? tar -tf a.tar | sort tar -cf a.tar . -C dir 24. positional02.at:21: ok 25. positional03.at:21: testing Several options ... ./positional03.at:24: test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir t cd t mkdir dir > dir/A.a > dir/B.a > dir/A.b tar -vcf ../a.tar --exclude '*.b' . -C dir --exclude '*.c' | sort 25. positional03.at:21: ok 26. add-file.at:21: testing The --add-file option ... ./add-file.at:33: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * genfile --file -File genfile --file foo genfile --file bar echo 1: tar -cvf arc.tar --add-file foo --add-file -File echo 2: tar -cvf arc.tar foo --add-file -File bar cat >input <<'_ATEOF' foo --add-file=-File bar _ATEOF echo 3: tar -cvf arc.tar -T input ) ./add-file.at:33: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile --file -File genfile --file foo genfile --file bar echo 1: tar -cvf arc.tar --add-file foo --add-file -File echo 2: tar -cvf arc.tar foo --add-file -File bar cat >input <<'_ATEOF' foo --add-file=-File bar _ATEOF echo 3: tar -cvf arc.tar -T input ) ./add-file.at:33: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * genfile --file -File genfile --file foo genfile --file bar echo 1: tar -cvf arc.tar --add-file foo --add-file -File echo 2: tar -cvf arc.tar foo --add-file -File bar cat >input <<'_ATEOF' foo --add-file=-File bar _ATEOF echo 3: tar -cvf arc.tar -T input ) ./add-file.at:33: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile --file -File genfile --file foo genfile --file bar echo 1: tar -cvf arc.tar --add-file foo --add-file -File echo 2: tar -cvf arc.tar foo --add-file -File bar cat >input <<'_ATEOF' foo --add-file=-File bar _ATEOF echo 3: tar -cvf arc.tar -T input ) ./add-file.at:33: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile --file -File genfile --file foo genfile --file bar echo 1: tar -cvf arc.tar --add-file foo --add-file -File echo 2: tar -cvf arc.tar foo --add-file -File bar cat >input <<'_ATEOF' foo --add-file=-File bar _ATEOF echo 3: tar -cvf arc.tar -T input ) 26. add-file.at:21: ok The -T option 27. T-mult.at:21: testing multiple file lists ... ./T-mult.at:24: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * >file1 >file2 >file3 >file4 cat >F1 <<'_ATEOF' file1 file2 _ATEOF cat >F2 <<'_ATEOF' file3 file4 _ATEOF tar cf archive -T F1 -T F2 tar tf archive ) 27. T-mult.at:21: ok 28. T-nest.at:21: testing nested file lists ... ./T-nest.at:24: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * >file1 >file2 >file3 >file4 cat >F1 <<'_ATEOF' file1 -T F2 file2 _ATEOF cat >F2 <<'_ATEOF' file3 file4 _ATEOF tar cf archive -T F1 tar tf archive ) 28. T-nest.at:21: ok 29. T-rec.at:21: testing recursive file lists ... ./T-rec.at:24: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * >file1 >file2 cat >F1 <<'_ATEOF' file1 -T F2 _ATEOF cat >F2 <<'_ATEOF' file2 -T F1 _ATEOF tar cf archive -T F1 echo $? tar tf archive ) 29. T-rec.at:21: ok 30. T-recurse.at:27: testing files-from & recurse: toggle ... ./T-recurse.at:30: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * mkdir directory1 directory2 touch directory1/file directory2/file cat >F1 <<'_ATEOF' --no-recursion directory1/ --recursion directory2/ _ATEOF cat >F2A <<'_ATEOF' directory1/ _ATEOF cat >F2B <<'_ATEOF' directory2/ _ATEOF a=archive tar cf "$a" --files-from F1 tar tf "$a" a=archive2 tar cf "$a" --no-recursion -T F2A --recursion -T F2B tar tf "$a" ) ./T-recurse.at:30: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * mkdir directory1 directory2 touch directory1/file directory2/file cat >F1 <<'_ATEOF' --no-recursion directory1/ --recursion directory2/ _ATEOF cat >F2A <<'_ATEOF' directory1/ _ATEOF cat >F2B <<'_ATEOF' directory2/ _ATEOF a=archive tar cf "$a" --files-from F1 tar tf "$a" a=archive2 tar cf "$a" --no-recursion -T F2A --recursion -T F2B tar tf "$a" ) ./T-recurse.at:30: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * mkdir directory1 directory2 touch directory1/file directory2/file cat >F1 <<'_ATEOF' --no-recursion directory1/ --recursion directory2/ _ATEOF cat >F2A <<'_ATEOF' directory1/ _ATEOF cat >F2B <<'_ATEOF' directory2/ _ATEOF a=archive tar cf "$a" --files-from F1 tar tf "$a" a=archive2 tar cf "$a" --no-recursion -T F2A --recursion -T F2B tar tf "$a" ) ./T-recurse.at:30: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir directory1 directory2 touch directory1/file directory2/file cat >F1 <<'_ATEOF' --no-recursion directory1/ --recursion directory2/ _ATEOF cat >F2A <<'_ATEOF' directory1/ _ATEOF cat >F2B <<'_ATEOF' directory2/ _ATEOF a=archive tar cf "$a" --files-from F1 tar tf "$a" a=archive2 tar cf "$a" --no-recursion -T F2A --recursion -T F2B tar tf "$a" ) ./T-recurse.at:30: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir directory1 directory2 touch directory1/file directory2/file cat >F1 <<'_ATEOF' --no-recursion directory1/ --recursion directory2/ _ATEOF cat >F2A <<'_ATEOF' directory1/ _ATEOF cat >F2B <<'_ATEOF' directory2/ _ATEOF a=archive tar cf "$a" --files-from F1 tar tf "$a" a=archive2 tar cf "$a" --no-recursion -T F2A --recursion -T F2B tar tf "$a" ) 30. T-recurse.at:27: ok 31. T-recurse.at:66: testing toggle --recursion (not) from -T ... ./T-recurse.at:69: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * mkdir directory1 directory2 touch directory1/file directory2/file cat >F1 <<'_ATEOF' --no-recursion directory1/ _ATEOF cat >F2 <<'_ATEOF' directory2/ _ATEOF tar cf archive -T F1 --recursion -T F2 tar tf archive ) ./T-recurse.at:69: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * mkdir directory1 directory2 touch directory1/file directory2/file cat >F1 <<'_ATEOF' --no-recursion directory1/ _ATEOF cat >F2 <<'_ATEOF' directory2/ _ATEOF tar cf archive -T F1 --recursion -T F2 tar tf archive ) ./T-recurse.at:69: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * mkdir directory1 directory2 touch directory1/file directory2/file cat >F1 <<'_ATEOF' --no-recursion directory1/ _ATEOF cat >F2 <<'_ATEOF' directory2/ _ATEOF tar cf archive -T F1 --recursion -T F2 tar tf archive ) ./T-recurse.at:69: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir directory1 directory2 touch directory1/file directory2/file cat >F1 <<'_ATEOF' --no-recursion directory1/ _ATEOF cat >F2 <<'_ATEOF' directory2/ _ATEOF tar cf archive -T F1 --recursion -T F2 tar tf archive ) ./T-recurse.at:69: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir directory1 directory2 touch directory1/file directory2/file cat >F1 <<'_ATEOF' --no-recursion directory1/ _ATEOF cat >F2 <<'_ATEOF' directory2/ _ATEOF tar cf archive -T F1 --recursion -T F2 tar tf archive ) 31. T-recurse.at:66: ok 32. T-cd.at:21: testing -C in file lists ... ./T-cd.at:24: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 >file1 mkdir dir >dir/file2 >dir/file3 cat >F1 <<'_ATEOF' file1 -C dir . _ATEOF tar cf archive -T F1 tar tf archive | sort ) 32. T-cd.at:21: ok 33. T-empty.at:26: testing empty entries ... ./T-empty.at:36: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * genfile --file jeden genfile --file dwa genfile --file trzy tar cfvT archive ../file-list ) 33. T-empty.at:26: ok 34. T-null.at:21: testing 0-separated file without -0 ... ./T-null.at:24: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 echo jeden > temp echo dwa >> temp echo trzy >> temp cat temp | tr '\n' '\0' > file-list genfile -f jeden genfile -f dwa genfile -f trzy tar cfTv archive file-list ) 34. T-null.at:21: ok 35. T-null2.at:17: testing --null enables verbatim reading ... ./T-null2.at:24: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * cat >file-list <<'_ATEOF' a -b --c d :\\.jpg _ATEOF genfile -f a genfile -f -b genfile -f '--c d' genfile -f ':\\.jpg' cat file-list | tr '\n' '\0' | tar -c -f archive -v --null -T - ) 35. T-null2.at:17: ok 36. T-zfile.at:26: testing empty file ... ./T-zfile.at:29: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * genfile --length=0 --file empty genfile --file a genfile --file b cat >valid <<'_ATEOF' a b _ATEOF tar cf archive -T empty -T valid tar tf archive echo "==" tar cf archive -T valid -T empty tar tf archive ) 36. T-zfile.at:26: ok 37. T-nonl.at:27: testing entries with missing newlines ... ./T-nonl.at:30: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * genfile --length=0 --file empty printf c > 1.nonl printf 'd\ne' > 2.nonl touch a b c d e cat >filelist <<'_ATEOF' a b _ATEOF tar cf archive -T empty -T 1.nonl -T 2.nonl -T filelist tar tf archive echo == tar cf archive -T 2.nonl -T empty -T filelist -T 1.nonl tar tf archive ) 37. T-nonl.at:27: ok 38. T-dir00.at:28: testing recursive extraction from --files-from ... ./T-dir00.at:30: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir dir genfile -f dir/file1 genfile -f dir/file2 tar cf archive dir rm -rf dir echo dir > list tar xfTv archive list | sort ) ./T-dir00.at:30: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir dir genfile -f dir/file1 genfile -f dir/file2 tar cf archive dir rm -rf dir echo dir > list tar xfTv archive list | sort ) ./T-dir00.at:30: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir dir genfile -f dir/file1 genfile -f dir/file2 tar cf archive dir rm -rf dir echo dir > list tar xfTv archive list | sort ) ./T-dir00.at:30: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir dir genfile -f dir/file1 genfile -f dir/file2 tar cf archive dir rm -rf dir echo dir > list tar xfTv archive list | sort ) ./T-dir00.at:30: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir dir genfile -f dir/file1 genfile -f dir/file2 tar cf archive dir rm -rf dir echo dir > list tar xfTv archive list | sort ) 38. T-dir00.at:28: ok 39. T-dir01.at:28: testing trailing slash in --files-from ... ./T-dir01.at:30: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir dir genfile -f dir/file1 genfile -f dir/file2 tar cf archive dir rm -rf dir echo dir/ > list tar xfTv archive list | sort ) ./T-dir01.at:30: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir dir genfile -f dir/file1 genfile -f dir/file2 tar cf archive dir rm -rf dir echo dir/ > list tar xfTv archive list | sort ) ./T-dir01.at:30: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir dir genfile -f dir/file1 genfile -f dir/file2 tar cf archive dir rm -rf dir echo dir/ > list tar xfTv archive list | sort ) ./T-dir01.at:30: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir dir genfile -f dir/file1 genfile -f dir/file2 tar cf archive dir rm -rf dir echo dir/ > list tar xfTv archive list | sort ) ./T-dir01.at:30: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir dir genfile -f dir/file1 genfile -f dir/file2 tar cf archive dir rm -rf dir echo dir/ > list tar xfTv archive list | sort ) 39. T-dir01.at:28: ok Various options 40. indexfile.at:26: testing tar --index-file=FILE --file=- ... ./indexfile.at:29: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * mkdir directory genfile --file=directory/a --length=1035 echo "Creating the archive" tar -c -v -f - --index-file=idx directory > archive echo "Testing the archive" tar -tf archive ) ./indexfile.at:29: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * mkdir directory genfile --file=directory/a --length=1035 echo "Creating the archive" tar -c -v -f - --index-file=idx directory > archive echo "Testing the archive" tar -tf archive ) ./indexfile.at:29: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * mkdir directory genfile --file=directory/a --length=1035 echo "Creating the archive" tar -c -v -f - --index-file=idx directory > archive echo "Testing the archive" tar -tf archive ) ./indexfile.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir directory genfile --file=directory/a --length=1035 echo "Creating the archive" tar -c -v -f - --index-file=idx directory > archive echo "Testing the archive" tar -tf archive ) ./indexfile.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir directory genfile --file=directory/a --length=1035 echo "Creating the archive" tar -c -v -f - --index-file=idx directory > archive echo "Testing the archive" tar -tf archive ) 40. indexfile.at:26: ok 41. verbose.at:26: testing tar cvf - ... ./verbose.at:29: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * genfile --file file --length 10240 echo Creating the archive tar cvf - file > archive echo Testing the archive tar tf archive ) ./verbose.at:29: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile --file file --length 10240 echo Creating the archive tar cvf - file > archive echo Testing the archive tar tf archive ) ./verbose.at:29: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * genfile --file file --length 10240 echo Creating the archive tar cvf - file > archive echo Testing the archive tar tf archive ) ./verbose.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile --file file --length 10240 echo Creating the archive tar cvf - file > archive echo Testing the archive tar tf archive ) ./verbose.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile --file file --length 10240 echo Creating the archive tar cvf - file > archive echo Testing the archive tar tf archive ) 41. verbose.at:26: ok 42. gzip.at:23: testing gzip ... ./gzip.at:28: cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 tar xfvz /dev/null 2>err RC=$? sed -n '/^tar:/p' err >&2 exit $RC 42. gzip.at:23: ok 43. recurse.at:21: testing recurse ... ./recurse.at:24: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * mkdir directory touch directory/file tar --create --file archive --no-recursion directory || exit 1 tar tf archive ) ./recurse.at:24: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * mkdir directory touch directory/file tar --create --file archive --no-recursion directory || exit 1 tar tf archive ) ./recurse.at:24: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * mkdir directory touch directory/file tar --create --file archive --no-recursion directory || exit 1 tar tf archive ) ./recurse.at:24: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir directory touch directory/file tar --create --file archive --no-recursion directory || exit 1 tar tf archive ) ./recurse.at:24: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir directory touch directory/file tar --create --file archive --no-recursion directory || exit 1 tar tf archive ) 43. recurse.at:21: ok 44. recurs02.at:30: testing recurse: toggle ... ./recurs02.at:33: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * mkdir directory1 directory2 touch directory1/file directory2/file tar --create --file archive \ --no-recursion directory1 \ --recursion directory2 || exit 1 tar tf archive tar cf archive directory1 directory2 tar tf archive \ --no-recursion directory1 \ --recursion directory2 || exit 1 ) ./recurs02.at:33: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * mkdir directory1 directory2 touch directory1/file directory2/file tar --create --file archive \ --no-recursion directory1 \ --recursion directory2 || exit 1 tar tf archive tar cf archive directory1 directory2 tar tf archive \ --no-recursion directory1 \ --recursion directory2 || exit 1 ) ./recurs02.at:33: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * mkdir directory1 directory2 touch directory1/file directory2/file tar --create --file archive \ --no-recursion directory1 \ --recursion directory2 || exit 1 tar tf archive tar cf archive directory1 directory2 tar tf archive \ --no-recursion directory1 \ --recursion directory2 || exit 1 ) ./recurs02.at:33: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir directory1 directory2 touch directory1/file directory2/file tar --create --file archive \ --no-recursion directory1 \ --recursion directory2 || exit 1 tar tf archive tar cf archive directory1 directory2 tar tf archive \ --no-recursion directory1 \ --recursion directory2 || exit 1 ) ./recurs02.at:33: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir directory1 directory2 touch directory1/file directory2/file tar --create --file archive \ --no-recursion directory1 \ --recursion directory2 || exit 1 tar tf archive tar cf archive directory1 directory2 tar tf archive \ --no-recursion directory1 \ --recursion directory2 || exit 1 ) 44. recurs02.at:30: ok 45. shortrec.at:25: testing short records ... ./shortrec.at:28: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * mkdir directory (cd directory && touch a b c d e f g h i j k l m n o p q r) tar -c -b 1 -f - directory | tar -t -f - > /dev/null tar -c -b 1 -f archive directory tar -t -f archive > /dev/null tar -t -f - < archive > /dev/null rm -r directory ) ./shortrec.at:28: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * mkdir directory (cd directory && touch a b c d e f g h i j k l m n o p q r) tar -c -b 1 -f - directory | tar -t -f - > /dev/null tar -c -b 1 -f archive directory tar -t -f archive > /dev/null tar -t -f - < archive > /dev/null rm -r directory ) ./shortrec.at:28: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * mkdir directory (cd directory && touch a b c d e f g h i j k l m n o p q r) tar -c -b 1 -f - directory | tar -t -f - > /dev/null tar -c -b 1 -f archive directory tar -t -f archive > /dev/null tar -t -f - < archive > /dev/null rm -r directory ) ./shortrec.at:28: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir directory (cd directory && touch a b c d e f g h i j k l m n o p q r) tar -c -b 1 -f - directory | tar -t -f - > /dev/null tar -c -b 1 -f archive directory tar -t -f archive > /dev/null tar -t -f - < archive > /dev/null rm -r directory ) ./shortrec.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir directory (cd directory && touch a b c d e f g h i j k l m n o p q r) tar -c -b 1 -f - directory | tar -t -f - > /dev/null tar -c -b 1 -f archive directory tar -t -f archive > /dev/null tar -t -f - < archive > /dev/null rm -r directory ) 45. shortrec.at:25: ok 46. numeric.at:18: testing --numeric-owner basic tests ... ./numeric.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * MYUID=$(id -u) || exit 77 MYGID=$(id -g) || exit 77 MYUSR=$(id -un) || exit 77 MYGRP=$(id -gn) || exit 77 mkdir dir # Ensure correct group id on BSDs. chown :$MYGID dir >/dev/null 2>/dev/null genfile --file dir/file decho --create tar --create -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --create -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' decho --list tar --list -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --list -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' decho --diff tar --diff -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --diff -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' decho --extract tar --extract -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --extract -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' ) ./numeric.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * MYUID=$(id -u) || exit 77 MYGID=$(id -g) || exit 77 MYUSR=$(id -un) || exit 77 MYGRP=$(id -gn) || exit 77 mkdir dir # Ensure correct group id on BSDs. chown :$MYGID dir >/dev/null 2>/dev/null genfile --file dir/file decho --create tar --create -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --create -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' decho --list tar --list -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --list -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' decho --diff tar --diff -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --diff -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' decho --extract tar --extract -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --extract -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' ) ./numeric.at:29: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * MYUID=$(id -u) || exit 77 MYGID=$(id -g) || exit 77 MYUSR=$(id -un) || exit 77 MYGRP=$(id -gn) || exit 77 mkdir dir # Ensure correct group id on BSDs. chown :$MYGID dir >/dev/null 2>/dev/null genfile --file dir/file decho --create tar --create -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --create -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' decho --list tar --list -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --list -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' decho --diff tar --diff -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --diff -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' decho --extract tar --extract -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --extract -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' ) ./numeric.at:29: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * MYUID=$(id -u) || exit 77 MYGID=$(id -g) || exit 77 MYUSR=$(id -un) || exit 77 MYGRP=$(id -gn) || exit 77 mkdir dir # Ensure correct group id on BSDs. chown :$MYGID dir >/dev/null 2>/dev/null genfile --file dir/file decho --create tar --create -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --create -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' decho --list tar --list -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --list -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' decho --diff tar --diff -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --diff -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' decho --extract tar --extract -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --extract -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' ) 46. numeric.at:18: ok The --same-order option 47. same-order01.at:26: testing working -C with --same-order ... ./same-order01.at:29: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir directory tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort ) ./same-order01.at:29: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir directory tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort ) ./same-order01.at:29: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir directory tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort ) ./same-order01.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir directory tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort ) ./same-order01.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir directory tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort ) 47. same-order01.at:26: ok 48. same-order02.at:25: testing multiple -C options ... ./same-order02.at:28: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir en mkdir to HERE=`pwd` tar -xf archive --same-order --warning=no-timestamp \ -C $HERE/en file1 \ -C $HERE/to file2 || exit 1 ls en echo separator ls to ) ./same-order02.at:28: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir en mkdir to HERE=`pwd` tar -xf archive --same-order --warning=no-timestamp \ -C $HERE/en file1 \ -C $HERE/to file2 || exit 1 ls en echo separator ls to ) ./same-order02.at:28: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir en mkdir to HERE=`pwd` tar -xf archive --same-order --warning=no-timestamp \ -C $HERE/en file1 \ -C $HERE/to file2 || exit 1 ls en echo separator ls to ) ./same-order02.at:28: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir en mkdir to HERE=`pwd` tar -xf archive --same-order --warning=no-timestamp \ -C $HERE/en file1 \ -C $HERE/to file2 || exit 1 ls en echo separator ls to ) ./same-order02.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir en mkdir to HERE=`pwd` tar -xf archive --same-order --warning=no-timestamp \ -C $HERE/en file1 \ -C $HERE/to file2 || exit 1 ls en echo separator ls to ) 48. same-order02.at:25: ok Append 49. append.at:21: testing append ... ./append.at:24: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * touch file1 touch file2 tar cf archive file1 tar rf archive file2 tar tf archive) ./append.at:24: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * touch file1 touch file2 tar cf archive file1 tar rf archive file2 tar tf archive) ./append.at:24: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * touch file1 touch file2 tar cf archive file1 tar rf archive file2 tar tf archive) ./append.at:24: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * touch file1 touch file2 tar cf archive file1 tar rf archive file2 tar tf archive) ./append.at:24: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * touch file1 touch file2 tar cf archive file1 tar rf archive file2 tar tf archive) 49. append.at:21: ok 50. append01.at:29: testing appending files with long names ... ./append01.at:34: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 tar tf archive ) ./append01.at:34: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 tar tf archive ) ./append01.at:34: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 tar tf archive ) ./append01.at:34: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX touch This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 tar tf archive ) 50. append01.at:29: ok 51. append02.at:54: testing append vs. create ... ./append02.at:57: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * genfile --file file1 genfile --file file2 # Make sure file timestamps in the archive will not differ MTIME="--mtime=@0" # For PAX archives, we need to make sure extended header names are # reproducible and that their contents won't change with time if test $TEST_TAR_FORMAT = posix; then TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime" fi echo Creating archive.1 tar $MTIME -cf archive.1 file1 file2 echo Creating archive.2 tar $MTIME -cf archive.2 -T /dev/null tar $MTIME -rf archive.2 file1 tar $MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 ) ./append02.at:57: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile --file file1 genfile --file file2 # Make sure file timestamps in the archive will not differ MTIME="--mtime=@0" # For PAX archives, we need to make sure extended header names are # reproducible and that their contents won't change with time if test $TEST_TAR_FORMAT = posix; then TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime" fi echo Creating archive.1 tar $MTIME -cf archive.1 file1 file2 echo Creating archive.2 tar $MTIME -cf archive.2 -T /dev/null tar $MTIME -rf archive.2 file1 tar $MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 ) ./append02.at:57: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * genfile --file file1 genfile --file file2 # Make sure file timestamps in the archive will not differ MTIME="--mtime=@0" # For PAX archives, we need to make sure extended header names are # reproducible and that their contents won't change with time if test $TEST_TAR_FORMAT = posix; then TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime" fi echo Creating archive.1 tar $MTIME -cf archive.1 file1 file2 echo Creating archive.2 tar $MTIME -cf archive.2 -T /dev/null tar $MTIME -rf archive.2 file1 tar $MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 ) ./append02.at:57: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile --file file1 genfile --file file2 # Make sure file timestamps in the archive will not differ MTIME="--mtime=@0" # For PAX archives, we need to make sure extended header names are # reproducible and that their contents won't change with time if test $TEST_TAR_FORMAT = posix; then TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime" fi echo Creating archive.1 tar $MTIME -cf archive.1 file1 file2 echo Creating archive.2 tar $MTIME -cf archive.2 -T /dev/null tar $MTIME -rf archive.2 file1 tar $MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 ) ./append02.at:57: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile --file file1 genfile --file file2 # Make sure file timestamps in the archive will not differ MTIME="--mtime=@0" # For PAX archives, we need to make sure extended header names are # reproducible and that their contents won't change with time if test $TEST_TAR_FORMAT = posix; then TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime" fi echo Creating archive.1 tar $MTIME -cf archive.1 file1 file2 echo Creating archive.2 tar $MTIME -cf archive.2 -T /dev/null tar $MTIME -rf archive.2 file1 tar $MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 ) 51. append02.at:54: ok 52. append03.at:21: testing append with name transformation ... ./append03.at:26: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * genfile --file file.1 genfile --file file.2 tar -c -f archive --transform 's/file/plik/' file.* echo Appending tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 echo Testing tar tf archive ) ./append03.at:26: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile --file file.1 genfile --file file.2 tar -c -f archive --transform 's/file/plik/' file.* echo Appending tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 echo Testing tar tf archive ) ./append03.at:26: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * genfile --file file.1 genfile --file file.2 tar -c -f archive --transform 's/file/plik/' file.* echo Appending tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 echo Testing tar tf archive ) ./append03.at:26: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile --file file.1 genfile --file file.2 tar -c -f archive --transform 's/file/plik/' file.* echo Appending tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 echo Testing tar tf archive ) ./append03.at:26: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile --file file.1 genfile --file file.2 tar -c -f archive --transform 's/file/plik/' file.* echo Appending tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1 echo Testing tar tf archive ) 52. append03.at:21: ok 53. append04.at:29: testing append with verify ... ./append04.at:32: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * # Create two empty files: touch file1 file2 # Create an archive: tar cpfW archive.tar file1 file2 # Verify created archive by listing its content: tar -tf archive.tar echo == # Create another empty file: touch file3 # Append it to the already created archive: tar rpfW archive.tar file3 # Verify content of the new archive: tar -tf archive.tar ) ./append04.at:32: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * # Create two empty files: touch file1 file2 # Create an archive: tar cpfW archive.tar file1 file2 # Verify created archive by listing its content: tar -tf archive.tar echo == # Create another empty file: touch file3 # Append it to the already created archive: tar rpfW archive.tar file3 # Verify content of the new archive: tar -tf archive.tar ) ./append04.at:32: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * # Create two empty files: touch file1 file2 # Create an archive: tar cpfW archive.tar file1 file2 # Verify created archive by listing its content: tar -tf archive.tar echo == # Create another empty file: touch file3 # Append it to the already created archive: tar rpfW archive.tar file3 # Verify content of the new archive: tar -tf archive.tar ) ./append04.at:32: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * # Create two empty files: touch file1 file2 # Create an archive: tar cpfW archive.tar file1 file2 # Verify created archive by listing its content: tar -tf archive.tar echo == # Create another empty file: touch file3 # Append it to the already created archive: tar rpfW archive.tar file3 # Verify content of the new archive: tar -tf archive.tar ) ./append04.at:32: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * # Create two empty files: touch file1 file2 # Create an archive: tar cpfW archive.tar file1 file2 # Verify created archive by listing its content: tar -tf archive.tar echo == # Create another empty file: touch file3 # Append it to the already created archive: tar rpfW archive.tar file3 # Verify content of the new archive: tar -tf archive.tar ) 53. append04.at:29: ok 54. append05.at:32: testing append after changed blocking ... ./append05.at:35: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * for f in a b c d e f g h i do echo $f > $f done decho 'creating archive' tar -cf archive -b1 a b c tar tf archive decho 'adding d e f' tar -vrf archive -b3 d e f echo == tar tf archive decho 'adding g h i' tar -vrf archive -b5 g h i decho 'resulting archive' tar tf archive ) ./append05.at:35: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * for f in a b c d e f g h i do echo $f > $f done decho 'creating archive' tar -cf archive -b1 a b c tar tf archive decho 'adding d e f' tar -vrf archive -b3 d e f echo == tar tf archive decho 'adding g h i' tar -vrf archive -b5 g h i decho 'resulting archive' tar tf archive ) ./append05.at:35: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * for f in a b c d e f g h i do echo $f > $f done decho 'creating archive' tar -cf archive -b1 a b c tar tf archive decho 'adding d e f' tar -vrf archive -b3 d e f echo == tar tf archive decho 'adding g h i' tar -vrf archive -b5 g h i decho 'resulting archive' tar tf archive ) ./append05.at:35: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * for f in a b c d e f g h i do echo $f > $f done decho 'creating archive' tar -cf archive -b1 a b c tar tf archive decho 'adding d e f' tar -vrf archive -b3 d e f echo == tar tf archive decho 'adding g h i' tar -vrf archive -b5 g h i decho 'resulting archive' tar tf archive ) ./append05.at:35: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * for f in a b c d e f g h i do echo $f > $f done decho 'creating archive' tar -cf archive -b1 a b c tar tf archive decho 'adding d e f' tar -vrf archive -b3 d e f echo == tar tf archive decho 'adding g h i' tar -vrf archive -b5 g h i decho 'resulting archive' tar tf archive ) 54. append05.at:32: ok Transforms 55. xform-h.at:30: testing transforming hard links on create ... ./xform-h.at:39: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * mkdir basedir echo "hello" > basedir/test ln basedir/test basedir/test_link echo "Default transform scope" tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link tar tvf archive | sed -n 's/.*test_link link to //p' echo "Transforming hard links" tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link tar tvf archive | sed -n 's/.*test_link link to //p' echo "Not transforming hard links" tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link tar tvf archive | sed -n 's/.*test_link link to //p' ) ./xform-h.at:39: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * mkdir basedir echo "hello" > basedir/test ln basedir/test basedir/test_link echo "Default transform scope" tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link tar tvf archive | sed -n 's/.*test_link link to //p' echo "Transforming hard links" tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link tar tvf archive | sed -n 's/.*test_link link to //p' echo "Not transforming hard links" tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link tar tvf archive | sed -n 's/.*test_link link to //p' ) ./xform-h.at:39: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * mkdir basedir echo "hello" > basedir/test ln basedir/test basedir/test_link echo "Default transform scope" tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link tar tvf archive | sed -n 's/.*test_link link to //p' echo "Transforming hard links" tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link tar tvf archive | sed -n 's/.*test_link link to //p' echo "Not transforming hard links" tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link tar tvf archive | sed -n 's/.*test_link link to //p' ) ./xform-h.at:39: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir basedir echo "hello" > basedir/test ln basedir/test basedir/test_link echo "Default transform scope" tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link tar tvf archive | sed -n 's/.*test_link link to //p' echo "Transforming hard links" tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link tar tvf archive | sed -n 's/.*test_link link to //p' echo "Not transforming hard links" tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link tar tvf archive | sed -n 's/.*test_link link to //p' ) ./xform-h.at:39: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir basedir echo "hello" > basedir/test ln basedir/test basedir/test_link echo "Default transform scope" tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link tar tvf archive | sed -n 's/.*test_link link to //p' echo "Transforming hard links" tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link tar tvf archive | sed -n 's/.*test_link link to //p' echo "Not transforming hard links" tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link tar tvf archive | sed -n 's/.*test_link link to //p' ) 55. xform-h.at:30: ok 56. xform01.at:26: testing transformations and GNU volume labels ... ./xform01.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile --file file tar -cf archive.tar -V /label/ file tar tf archive.tar ) 56. xform01.at:26: ok 57. xform02.at:21: testing transforming escaped delimiters on create ... ./xform02.at:24: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * genfile --file file tar cvf /dev/null file \ --transform='s/file/other\/name/' \ --show-transformed-name ) ./xform02.at:24: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile --file file tar cvf /dev/null file \ --transform='s/file/other\/name/' \ --show-transformed-name ) ./xform02.at:24: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * genfile --file file tar cvf /dev/null file \ --transform='s/file/other\/name/' \ --show-transformed-name ) ./xform02.at:24: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile --file file tar cvf /dev/null file \ --transform='s/file/other\/name/' \ --show-transformed-name ) ./xform02.at:24: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile --file file tar cvf /dev/null file \ --transform='s/file/other\/name/' \ --show-transformed-name ) 57. xform02.at:21: ok 58. xform03.at:21: testing transforming hard link targets ... ./xform03.at:24: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * mkdir d mkdir d/a genfile --file d/a/b dir=$(pwd|sed s,^//*,,)/d tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b 2>err mkdir t tar -C t -xf a.tar find t -type f ) stderr: ./xform03.at:24: sed "/tar: Removing leading \`\/*\/' from/d" stderr ./xform03.at:24: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * mkdir d mkdir d/a genfile --file d/a/b dir=$(pwd|sed s,^//*,,)/d tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b 2>err mkdir t tar -C t -xf a.tar find t -type f ) stderr: ./xform03.at:24: sed "/tar: Removing leading \`\/*\/' from/d" stderr ./xform03.at:24: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * mkdir d mkdir d/a genfile --file d/a/b dir=$(pwd|sed s,^//*,,)/d tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b 2>err mkdir t tar -C t -xf a.tar find t -type f ) stderr: ./xform03.at:24: sed "/tar: Removing leading \`\/*\/' from/d" stderr ./xform03.at:24: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir d mkdir d/a genfile --file d/a/b dir=$(pwd|sed s,^//*,,)/d tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b 2>err mkdir t tar -C t -xf a.tar find t -type f ) stderr: ./xform03.at:24: sed "/tar: Removing leading \`\/*\/' from/d" stderr ./xform03.at:24: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir d mkdir d/a genfile --file d/a/b dir=$(pwd|sed s,^//*,,)/d tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b 2>err mkdir t tar -C t -xf a.tar find t -type f ) stderr: ./xform03.at:24: sed "/tar: Removing leading \`\/*\/' from/d" stderr 58. xform03.at:21: ok Exclude 59. exclude.at:23: testing exclude ... ./exclude.at:26: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir dir echo blues > dir/blues echo jazz > dir/jazz mkdir dir/folk echo tagfile > dir/folk/tagfile echo sanjuan > dir/folk/sanjuan mkdir dir/rock echo "Signature: 8a477f597d28d172789f06886806bc55" > dir/rock/CACHEDIR.TAG echo "test" > dir/rock/file for option in exclude-caches exclude-caches-under exclude-caches-all do echo OPTION $option tar -cf archive.tar --$option -v dir 2>err | sort cat err echo ARCHIVE tar tf archive.tar | sort done for option in exclude-tag exclude-tag-under exclude-tag-all do echo OPTION $option tar -cf archive.tar --${option}=tagfile -v dir 2>err | sort cat err echo ARCHIVE tar tf archive.tar | sort done ) 59. exclude.at:23: ok 60. exclude01.at:19: testing exclude wildcards ... ./exclude01.at:22: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 touch testdir/dir1/file1 touch testdir/dir1/\* touch testdir/dir2/file2 touch testdir/dir2/\* touch testdir/dir3/file3 touch testdir/dir3/\* tar cf archive --exclude=testdir/dir1/\* \ --no-wildcards \ --exclude=testdir/dir2/\* \ --wildcards \ --exclude=testdir/dir3/\* \ testdir tar tf archive | sort echo "NEXT" tar cf archive testdir tar t "testdir/dir1/*" -f archive | sort echo "NEXT" tar cf archive testdir/dir1 tar t --no-wildcards "testdir/dir1/*" -f archive | sort echo "NEXT" tar cf archive testdir tar t --wildcards "testdir/dir1/*" -f archive | sort rm -rf testdir ) ./exclude01.at:22: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 touch testdir/dir1/file1 touch testdir/dir1/\* touch testdir/dir2/file2 touch testdir/dir2/\* touch testdir/dir3/file3 touch testdir/dir3/\* tar cf archive --exclude=testdir/dir1/\* \ --no-wildcards \ --exclude=testdir/dir2/\* \ --wildcards \ --exclude=testdir/dir3/\* \ testdir tar tf archive | sort echo "NEXT" tar cf archive testdir tar t "testdir/dir1/*" -f archive | sort echo "NEXT" tar cf archive testdir/dir1 tar t --no-wildcards "testdir/dir1/*" -f archive | sort echo "NEXT" tar cf archive testdir tar t --wildcards "testdir/dir1/*" -f archive | sort rm -rf testdir ) ./exclude01.at:22: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 touch testdir/dir1/file1 touch testdir/dir1/\* touch testdir/dir2/file2 touch testdir/dir2/\* touch testdir/dir3/file3 touch testdir/dir3/\* tar cf archive --exclude=testdir/dir1/\* \ --no-wildcards \ --exclude=testdir/dir2/\* \ --wildcards \ --exclude=testdir/dir3/\* \ testdir tar tf archive | sort echo "NEXT" tar cf archive testdir tar t "testdir/dir1/*" -f archive | sort echo "NEXT" tar cf archive testdir/dir1 tar t --no-wildcards "testdir/dir1/*" -f archive | sort echo "NEXT" tar cf archive testdir tar t --wildcards "testdir/dir1/*" -f archive | sort rm -rf testdir ) ./exclude01.at:22: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 touch testdir/dir1/file1 touch testdir/dir1/\* touch testdir/dir2/file2 touch testdir/dir2/\* touch testdir/dir3/file3 touch testdir/dir3/\* tar cf archive --exclude=testdir/dir1/\* \ --no-wildcards \ --exclude=testdir/dir2/\* \ --wildcards \ --exclude=testdir/dir3/\* \ testdir tar tf archive | sort echo "NEXT" tar cf archive testdir tar t "testdir/dir1/*" -f archive | sort echo "NEXT" tar cf archive testdir/dir1 tar t --no-wildcards "testdir/dir1/*" -f archive | sort echo "NEXT" tar cf archive testdir tar t --wildcards "testdir/dir1/*" -f archive | sort rm -rf testdir ) ./exclude01.at:22: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 touch testdir/dir1/file1 touch testdir/dir1/\* touch testdir/dir2/file2 touch testdir/dir2/\* touch testdir/dir3/file3 touch testdir/dir3/\* tar cf archive --exclude=testdir/dir1/\* \ --no-wildcards \ --exclude=testdir/dir2/\* \ --wildcards \ --exclude=testdir/dir3/\* \ testdir tar tf archive | sort echo "NEXT" tar cf archive testdir tar t "testdir/dir1/*" -f archive | sort echo "NEXT" tar cf archive testdir/dir1 tar t --no-wildcards "testdir/dir1/*" -f archive | sort echo "NEXT" tar cf archive testdir tar t --wildcards "testdir/dir1/*" -f archive | sort rm -rf testdir ) 60. exclude01.at:19: ok 61. exclude02.at:19: testing exclude: anchoring ... ./exclude02.at:22: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir mkdir -p testdir touch file1.txt touch testdir/file1.txt touch testdir/file2 tar cf archive --exclude="file1.txt" \ testdir tar tf archive | sort echo "SUB 1" tar cf archive --no-anchored \ --exclude="file1.txt" \ testdir tar tf archive | sort echo "SUB 2" tar cf archive --anchored \ --exclude="file1.txt" \ testdir tar tf archive | sort echo "SUB 3" tar cf archive testdir file1.txt tar t "file1.txt" -f archive | sort echo "SUB 4" tar t --no-anchored "file1.txt" -f archive | sort echo "SUB 5" tar t --anchored "file1.txt" -f archive | sort rm -rf testdir file1.txt ) ./exclude02.at:22: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir mkdir -p testdir touch file1.txt touch testdir/file1.txt touch testdir/file2 tar cf archive --exclude="file1.txt" \ testdir tar tf archive | sort echo "SUB 1" tar cf archive --no-anchored \ --exclude="file1.txt" \ testdir tar tf archive | sort echo "SUB 2" tar cf archive --anchored \ --exclude="file1.txt" \ testdir tar tf archive | sort echo "SUB 3" tar cf archive testdir file1.txt tar t "file1.txt" -f archive | sort echo "SUB 4" tar t --no-anchored "file1.txt" -f archive | sort echo "SUB 5" tar t --anchored "file1.txt" -f archive | sort rm -rf testdir file1.txt ) ./exclude02.at:22: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir mkdir -p testdir touch file1.txt touch testdir/file1.txt touch testdir/file2 tar cf archive --exclude="file1.txt" \ testdir tar tf archive | sort echo "SUB 1" tar cf archive --no-anchored \ --exclude="file1.txt" \ testdir tar tf archive | sort echo "SUB 2" tar cf archive --anchored \ --exclude="file1.txt" \ testdir tar tf archive | sort echo "SUB 3" tar cf archive testdir file1.txt tar t "file1.txt" -f archive | sort echo "SUB 4" tar t --no-anchored "file1.txt" -f archive | sort echo "SUB 5" tar t --anchored "file1.txt" -f archive | sort rm -rf testdir file1.txt ) ./exclude02.at:22: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir mkdir -p testdir touch file1.txt touch testdir/file1.txt touch testdir/file2 tar cf archive --exclude="file1.txt" \ testdir tar tf archive | sort echo "SUB 1" tar cf archive --no-anchored \ --exclude="file1.txt" \ testdir tar tf archive | sort echo "SUB 2" tar cf archive --anchored \ --exclude="file1.txt" \ testdir tar tf archive | sort echo "SUB 3" tar cf archive testdir file1.txt tar t "file1.txt" -f archive | sort echo "SUB 4" tar t --no-anchored "file1.txt" -f archive | sort echo "SUB 5" tar t --anchored "file1.txt" -f archive | sort rm -rf testdir file1.txt ) ./exclude02.at:22: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir mkdir -p testdir touch file1.txt touch testdir/file1.txt touch testdir/file2 tar cf archive --exclude="file1.txt" \ testdir tar tf archive | sort echo "SUB 1" tar cf archive --no-anchored \ --exclude="file1.txt" \ testdir tar tf archive | sort echo "SUB 2" tar cf archive --anchored \ --exclude="file1.txt" \ testdir tar tf archive | sort echo "SUB 3" tar cf archive testdir file1.txt tar t "file1.txt" -f archive | sort echo "SUB 4" tar t --no-anchored "file1.txt" -f archive | sort echo "SUB 5" tar t --anchored "file1.txt" -f archive | sort rm -rf testdir file1.txt ) 61. exclude02.at:19: ok 62. exclude03.at:19: testing exclude: wildcards match slash ... ./exclude03.at:22: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 touch testdir/\*f\*1 touch testdir/dir1/file1 touch testdir/dir1/\* touch testdir/dir2/file2 touch testdir/dir2/\* touch testdir/dir3/file3 touch testdir/dir3/\* tar cf archive --exclude='testdir*f*1' \ --no-wildcards-match-slash \ --exclude='testdir*f*2' \ --wildcards-match-slash \ --exclude='testdir*f*3' \ testdir tar tf archive | sort echo "NEXT" tar cf archive testdir tar t --wildcards 'testdir/*f*1' -f archive | sort echo "NEXT" tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort echo "NEXT" tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort rm -rf testdir ) ./exclude03.at:22: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 touch testdir/\*f\*1 touch testdir/dir1/file1 touch testdir/dir1/\* touch testdir/dir2/file2 touch testdir/dir2/\* touch testdir/dir3/file3 touch testdir/dir3/\* tar cf archive --exclude='testdir*f*1' \ --no-wildcards-match-slash \ --exclude='testdir*f*2' \ --wildcards-match-slash \ --exclude='testdir*f*3' \ testdir tar tf archive | sort echo "NEXT" tar cf archive testdir tar t --wildcards 'testdir/*f*1' -f archive | sort echo "NEXT" tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort echo "NEXT" tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort rm -rf testdir ) ./exclude03.at:22: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 touch testdir/\*f\*1 touch testdir/dir1/file1 touch testdir/dir1/\* touch testdir/dir2/file2 touch testdir/dir2/\* touch testdir/dir3/file3 touch testdir/dir3/\* tar cf archive --exclude='testdir*f*1' \ --no-wildcards-match-slash \ --exclude='testdir*f*2' \ --wildcards-match-slash \ --exclude='testdir*f*3' \ testdir tar tf archive | sort echo "NEXT" tar cf archive testdir tar t --wildcards 'testdir/*f*1' -f archive | sort echo "NEXT" tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort echo "NEXT" tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort rm -rf testdir ) ./exclude03.at:22: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 touch testdir/\*f\*1 touch testdir/dir1/file1 touch testdir/dir1/\* touch testdir/dir2/file2 touch testdir/dir2/\* touch testdir/dir3/file3 touch testdir/dir3/\* tar cf archive --exclude='testdir*f*1' \ --no-wildcards-match-slash \ --exclude='testdir*f*2' \ --wildcards-match-slash \ --exclude='testdir*f*3' \ testdir tar tf archive | sort echo "NEXT" tar cf archive testdir tar t --wildcards 'testdir/*f*1' -f archive | sort echo "NEXT" tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort echo "NEXT" tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort rm -rf testdir ) ./exclude03.at:22: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 touch testdir/\*f\*1 touch testdir/dir1/file1 touch testdir/dir1/\* touch testdir/dir2/file2 touch testdir/dir2/\* touch testdir/dir3/file3 touch testdir/dir3/\* tar cf archive --exclude='testdir*f*1' \ --no-wildcards-match-slash \ --exclude='testdir*f*2' \ --wildcards-match-slash \ --exclude='testdir*f*3' \ testdir tar tf archive | sort echo "NEXT" tar cf archive testdir tar t --wildcards 'testdir/*f*1' -f archive | sort echo "NEXT" tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort echo "NEXT" tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort rm -rf testdir ) 62. exclude03.at:19: ok 63. exclude04.at:19: testing exclude: case insensitive ... ./exclude04.at:22: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir mkdir -p testdir/dir touch testdir/file1 touch testdir/file2 touch testdir/file3 touch testdir/file4 touch testdir/dir/File1 touch testdir/dir/File2 touch testdir/dir/File3 touch testdir/dir/File4 tar cf archive --exclude=FILE2 \ --exclude=file1 \ --ignore-case \ --exclude=file3 \ --no-ignore-case \ --exclude=FILE2 \ --exclude=file4 \ testdir tar tf archive | sort echo "SUB 1" tar cf archive testdir tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort echo "SUB 2" tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort echo "SUB 3" tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort rm -rf testdir ) ./exclude04.at:22: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir mkdir -p testdir/dir touch testdir/file1 touch testdir/file2 touch testdir/file3 touch testdir/file4 touch testdir/dir/File1 touch testdir/dir/File2 touch testdir/dir/File3 touch testdir/dir/File4 tar cf archive --exclude=FILE2 \ --exclude=file1 \ --ignore-case \ --exclude=file3 \ --no-ignore-case \ --exclude=FILE2 \ --exclude=file4 \ testdir tar tf archive | sort echo "SUB 1" tar cf archive testdir tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort echo "SUB 2" tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort echo "SUB 3" tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort rm -rf testdir ) ./exclude04.at:22: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir mkdir -p testdir/dir touch testdir/file1 touch testdir/file2 touch testdir/file3 touch testdir/file4 touch testdir/dir/File1 touch testdir/dir/File2 touch testdir/dir/File3 touch testdir/dir/File4 tar cf archive --exclude=FILE2 \ --exclude=file1 \ --ignore-case \ --exclude=file3 \ --no-ignore-case \ --exclude=FILE2 \ --exclude=file4 \ testdir tar tf archive | sort echo "SUB 1" tar cf archive testdir tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort echo "SUB 2" tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort echo "SUB 3" tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort rm -rf testdir ) ./exclude04.at:22: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir mkdir -p testdir/dir touch testdir/file1 touch testdir/file2 touch testdir/file3 touch testdir/file4 touch testdir/dir/File1 touch testdir/dir/File2 touch testdir/dir/File3 touch testdir/dir/File4 tar cf archive --exclude=FILE2 \ --exclude=file1 \ --ignore-case \ --exclude=file3 \ --no-ignore-case \ --exclude=FILE2 \ --exclude=file4 \ testdir tar tf archive | sort echo "SUB 1" tar cf archive testdir tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort echo "SUB 2" tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort echo "SUB 3" tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort rm -rf testdir ) ./exclude04.at:22: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir mkdir -p testdir/dir touch testdir/file1 touch testdir/file2 touch testdir/file3 touch testdir/file4 touch testdir/dir/File1 touch testdir/dir/File2 touch testdir/dir/File3 touch testdir/dir/File4 tar cf archive --exclude=FILE2 \ --exclude=file1 \ --ignore-case \ --exclude=file3 \ --no-ignore-case \ --exclude=FILE2 \ --exclude=file4 \ testdir tar tf archive | sort echo "SUB 1" tar cf archive testdir tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort echo "SUB 2" tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort echo "SUB 3" tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort rm -rf testdir ) 63. exclude04.at:19: ok 64. exclude05.at:21: testing exclude: lots of excludes ... ./exclude05.at:24: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir exclfile mkdir -p testdir awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ while read name do genfile --file $name done awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile tar cf archive --anchored --exclude-from=exclfile \ testdir tar tf archive | sort echo "NEXT" tar cf archive --exclude-from=exclfile \ testdir tar tf archive | sort rm -rf testdir exclfile ) ./exclude05.at:24: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir exclfile mkdir -p testdir awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ while read name do genfile --file $name done awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile tar cf archive --anchored --exclude-from=exclfile \ testdir tar tf archive | sort echo "NEXT" tar cf archive --exclude-from=exclfile \ testdir tar tf archive | sort rm -rf testdir exclfile ) ./exclude05.at:24: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir exclfile mkdir -p testdir awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ while read name do genfile --file $name done awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile tar cf archive --anchored --exclude-from=exclfile \ testdir tar tf archive | sort echo "NEXT" tar cf archive --exclude-from=exclfile \ testdir tar tf archive | sort rm -rf testdir exclfile ) ./exclude05.at:24: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir exclfile mkdir -p testdir awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ while read name do genfile --file $name done awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile tar cf archive --anchored --exclude-from=exclfile \ testdir tar tf archive | sort echo "NEXT" tar cf archive --exclude-from=exclfile \ testdir tar tf archive | sort rm -rf testdir exclfile ) ./exclude05.at:24: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 rm -rf testdir exclfile mkdir -p testdir awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ while read name do genfile --file $name done awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile tar cf archive --anchored --exclude-from=exclfile \ testdir tar tf archive | sort echo "NEXT" tar cf archive --exclude-from=exclfile \ testdir tar tf archive | sort rm -rf testdir exclfile ) 64. exclude05.at:21: ok 65. exclude06.at:26: testing exclude: long files in pax archives ... ./exclude06.at:31: mkdir pax (cd pax TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT TAR_OPTIONS="-H pax" export TAR_OPTIONS rm -rf * install-sh -d one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen >/dev/null || exit 77 genfile --length 20 -f one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.txt genfile --length 20 -f one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.c tar cf archive.tar one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen mkdir out tar -C out -xf archive.tar --exclude='*.txt' --warning=no-timestamp find out -type f ) 65. exclude06.at:26: ok 66. exclude07.at:19: testing exclude: --exclude-backups option ... ./exclude07.at:22: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * mkdir dir genfile --file dir/file genfile --file dir/file~ genfile --file "dir/.#file" genfile --file "dir/#file#" tar -v -c -f archive --exclude-backups dir ) ./exclude07.at:22: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * mkdir dir genfile --file dir/file genfile --file dir/file~ genfile --file "dir/.#file" genfile --file "dir/#file#" tar -v -c -f archive --exclude-backups dir ) ./exclude07.at:22: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * mkdir dir genfile --file dir/file genfile --file dir/file~ genfile --file "dir/.#file" genfile --file "dir/#file#" tar -v -c -f archive --exclude-backups dir ) ./exclude07.at:22: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir dir genfile --file dir/file genfile --file dir/file~ genfile --file "dir/.#file" genfile --file "dir/#file#" tar -v -c -f archive --exclude-backups dir ) ./exclude07.at:22: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir dir genfile --file dir/file genfile --file dir/file~ genfile --file "dir/.#file" genfile --file "dir/#file#" tar -v -c -f archive --exclude-backups dir ) 66. exclude07.at:19: ok 67. exclude08.at:36: testing --exclude-tag option ... ./exclude08.at:39: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkexcltest etest tar -c -f etest.tar --exclude-tag=excludeme -v etest | sort ) ./exclude08.at:39: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkexcltest etest tar -c -f etest.tar --exclude-tag=excludeme -v etest | sort ) ./exclude08.at:39: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkexcltest etest tar -c -f etest.tar --exclude-tag=excludeme -v etest | sort ) ./exclude08.at:39: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkexcltest etest tar -c -f etest.tar --exclude-tag=excludeme -v etest | sort ) ./exclude08.at:39: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkexcltest etest tar -c -f etest.tar --exclude-tag=excludeme -v etest | sort ) 67. exclude08.at:36: ok 68. exclude09.at:37: testing --exclude-tag option and --listed-incremental ... ./exclude09.at:40: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkexcltest etest tar -c -f etest.tar --exclude-tag=excludeme --listed=snar -v etest | sort ) 68. exclude09.at:37: ok 69. exclude10.at:38: testing --exclude-tag option in incremental pass ... ./exclude10.at:41: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkexcltest etest rm etest/subdir/excludeme decho "# Level 0" tar -c -f etest-0.tar --exclude-tag=excludeme --listed=snar-0 -v etest | sort touch etest/subdir/excludeme touch etest/subdir/otherfile decho "# Level 1" cp snar-0 snar-1 tar -c -f etest-1.tar --exclude-tag=excludeme --listed=snar-1 -v etest | sort ) 69. exclude10.at:38: ok 70. exclude11.at:36: testing --exclude-tag-under option ... ./exclude11.at:39: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkexcltest etest tar -c -f etest.tar --exclude-tag-under=excludeme -v etest | sort ) ./exclude11.at:39: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkexcltest etest tar -c -f etest.tar --exclude-tag-under=excludeme -v etest | sort ) ./exclude11.at:39: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkexcltest etest tar -c -f etest.tar --exclude-tag-under=excludeme -v etest | sort ) ./exclude11.at:39: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkexcltest etest tar -c -f etest.tar --exclude-tag-under=excludeme -v etest | sort ) ./exclude11.at:39: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkexcltest etest tar -c -f etest.tar --exclude-tag-under=excludeme -v etest | sort ) 70. exclude11.at:36: ok 71. exclude12.at:37: testing --exclude-tag-under and --listed-incremental ... ./exclude12.at:40: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkexcltest etest tar -c -f etest.tar --exclude-tag-under=excludeme --listed=snar -v etest | sort ) 71. exclude12.at:37: ok 72. exclude13.at:39: testing --exclude-tag-under option in incremental pass ... ./exclude13.at:42: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkexcltest etest rm etest/subdir/excludeme decho "# Level 0" tar -c -f etest-0.tar --exclude-tag-under=excludeme --listed=snar-0 -v etest | sort touch etest/subdir/excludeme touch etest/subdir/otherfile decho "# Level 1" cp snar-0 snar-1 tar -c -f etest-1.tar --exclude-tag-under=excludeme --listed=snar-1 -v etest | sort ) 72. exclude13.at:39: ok 73. exclude14.at:36: testing --exclude-tag-all option ... ./exclude14.at:39: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkexcltest etest tar -c -f etest.tar --exclude-tag-all=excludeme -v etest | sort ) ./exclude14.at:39: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkexcltest etest tar -c -f etest.tar --exclude-tag-all=excludeme -v etest | sort ) ./exclude14.at:39: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkexcltest etest tar -c -f etest.tar --exclude-tag-all=excludeme -v etest | sort ) ./exclude14.at:39: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkexcltest etest tar -c -f etest.tar --exclude-tag-all=excludeme -v etest | sort ) ./exclude14.at:39: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkexcltest etest tar -c -f etest.tar --exclude-tag-all=excludeme -v etest | sort ) 73. exclude14.at:36: ok 74. exclude15.at:36: testing --exclude-tag-all and --listed-incremental ... ./exclude15.at:39: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkexcltest etest tar -c -f etest.tar --exclude-tag-all=excludeme --listed=snar -v etest | sort ) 74. exclude15.at:36: ok 75. exclude16.at:38: testing --exclude-tag-all option in incremental pass ... ./exclude16.at:41: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkexcltest etest rm etest/subdir/excludeme decho "# Level 0" tar -c -f etest-0.tar --exclude-tag-all=excludeme --listed=snar-0 -v etest | sort touch etest/subdir/excludeme touch etest/subdir/otherfile decho "# Level 1" cp snar-0 snar-1 tar -c -f etest-1.tar --exclude-tag-all=excludeme --listed=snar-1 -v etest | sort ) 75. exclude16.at:38: ok Deletions 76. delete01.at:23: testing deleting a member after a big one ... ./delete01.at:26: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * genfile -l 50000 --file file1 genfile -l 1024 --file file2 tar cf archive file1 file2 tar f archive --delete file2 tar tf archive) ./delete01.at:26: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile -l 50000 --file file1 genfile -l 1024 --file file2 tar cf archive file1 file2 tar f archive --delete file2 tar tf archive) ./delete01.at:26: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * genfile -l 50000 --file file1 genfile -l 1024 --file file2 tar cf archive file1 file2 tar f archive --delete file2 tar tf archive) ./delete01.at:26: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile -l 50000 --file file1 genfile -l 1024 --file file2 tar cf archive file1 file2 tar f archive --delete file2 tar tf archive) ./delete01.at:26: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile -l 50000 --file file1 genfile -l 1024 --file file2 tar cf archive file1 file2 tar f archive --delete file2 tar tf archive) 76. delete01.at:23: ok 77. delete02.at:23: testing deleting a member from stdin archive ... ./delete02.at:26: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * genfile -l 3073 -p zeros --file 1 cp 1 2 cp 2 3 tar cf archive 1 2 3 tar tf archive cat archive | tar f - --delete 2 > archive2 echo separator tar tf archive2) ./delete02.at:26: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile -l 3073 -p zeros --file 1 cp 1 2 cp 2 3 tar cf archive 1 2 3 tar tf archive cat archive | tar f - --delete 2 > archive2 echo separator tar tf archive2) ./delete02.at:26: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * genfile -l 3073 -p zeros --file 1 cp 1 2 cp 2 3 tar cf archive 1 2 3 tar tf archive cat archive | tar f - --delete 2 > archive2 echo separator tar tf archive2) ./delete02.at:26: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile -l 3073 -p zeros --file 1 cp 1 2 cp 2 3 tar cf archive 1 2 3 tar tf archive cat archive | tar f - --delete 2 > archive2 echo separator tar tf archive2) ./delete02.at:26: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile -l 3073 -p zeros --file 1 cp 1 2 cp 2 3 tar cf archive 1 2 3 tar tf archive cat archive | tar f - --delete 2 > archive2 echo separator tar tf archive2) 77. delete02.at:23: ok 78. delete03.at:21: testing deleting members with long names ... ./delete03.at:26: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX rm -f $prefix* for i in 1 2 3 4 5 6 7 8 9 do touch $prefix$i done tar -cf archive ./$prefix* && tar --delete -f archive ./${prefix}5 && tar -tf archive ) ./delete03.at:26: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX rm -f $prefix* for i in 1 2 3 4 5 6 7 8 9 do touch $prefix$i done tar -cf archive ./$prefix* && tar --delete -f archive ./${prefix}5 && tar -tf archive ) ./delete03.at:26: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX rm -f $prefix* for i in 1 2 3 4 5 6 7 8 9 do touch $prefix$i done tar -cf archive ./$prefix* && tar --delete -f archive ./${prefix}5 && tar -tf archive ) 78. delete03.at:21: ok 79. delete04.at:23: testing deleting a large last member ... ./delete04.at:26: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * genfile -l 3 -f file1 genfile -l 5 -f file2 genfile -l 3 -f file3 genfile -l 6 -f file4 genfile -l 24 -f file5 genfile -l 13 -f file6 genfile -l 1385 -f file7 genfile -l 30 -f file8 genfile -l 10 -f file9 genfile -l 256000 -f file10 tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 tar f archive --delete file10 tar tf archive ) ./delete04.at:26: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile -l 3 -f file1 genfile -l 5 -f file2 genfile -l 3 -f file3 genfile -l 6 -f file4 genfile -l 24 -f file5 genfile -l 13 -f file6 genfile -l 1385 -f file7 genfile -l 30 -f file8 genfile -l 10 -f file9 genfile -l 256000 -f file10 tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 tar f archive --delete file10 tar tf archive ) ./delete04.at:26: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * genfile -l 3 -f file1 genfile -l 5 -f file2 genfile -l 3 -f file3 genfile -l 6 -f file4 genfile -l 24 -f file5 genfile -l 13 -f file6 genfile -l 1385 -f file7 genfile -l 30 -f file8 genfile -l 10 -f file9 genfile -l 256000 -f file10 tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 tar f archive --delete file10 tar tf archive ) ./delete04.at:26: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile -l 3 -f file1 genfile -l 5 -f file2 genfile -l 3 -f file3 genfile -l 6 -f file4 genfile -l 24 -f file5 genfile -l 13 -f file6 genfile -l 1385 -f file7 genfile -l 30 -f file8 genfile -l 10 -f file9 genfile -l 256000 -f file10 tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 tar f archive --delete file10 tar tf archive ) ./delete04.at:26: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile -l 3 -f file1 genfile -l 5 -f file2 genfile -l 3 -f file3 genfile -l 6 -f file4 genfile -l 24 -f file5 genfile -l 13 -f file6 genfile -l 1385 -f file7 genfile -l 30 -f file8 genfile -l 10 -f file9 genfile -l 256000 -f file10 tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 tar f archive --delete file10 tar tf archive ) 79. delete04.at:23: ok 80. delete05.at:27: testing deleting non-existing member ... ./delete05.at:30: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * genfile -l 1024 -f en genfile -l 1024 -f to tar cf archive en to # Make sure we don't use bogus blocking factor. # GNU tar up to and including 1.14.91 produced an empty archive this way: tar --file archive --blocking-factor=20 --delete tre tar tf archive ) ./delete05.at:30: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile -l 1024 -f en genfile -l 1024 -f to tar cf archive en to # Make sure we don't use bogus blocking factor. # GNU tar up to and including 1.14.91 produced an empty archive this way: tar --file archive --blocking-factor=20 --delete tre tar tf archive ) ./delete05.at:30: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * genfile -l 1024 -f en genfile -l 1024 -f to tar cf archive en to # Make sure we don't use bogus blocking factor. # GNU tar up to and including 1.14.91 produced an empty archive this way: tar --file archive --blocking-factor=20 --delete tre tar tf archive ) ./delete05.at:30: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile -l 1024 -f en genfile -l 1024 -f to tar cf archive en to # Make sure we don't use bogus blocking factor. # GNU tar up to and including 1.14.91 produced an empty archive this way: tar --file archive --blocking-factor=20 --delete tre tar tf archive ) ./delete05.at:30: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile -l 1024 -f en genfile -l 1024 -f to tar cf archive en to # Make sure we don't use bogus blocking factor. # GNU tar up to and including 1.14.91 produced an empty archive this way: tar --file archive --blocking-factor=20 --delete tre tar tf archive ) 80. delete05.at:27: ok Extracting 81. extrac01.at:23: testing extract over an existing directory ... ./extrac01.at:26: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * mkdir directory touch directory/file tar cf archive directory || exit 1 tar xf archive --warning=no-timestamp || exit 1 ) ./extrac01.at:26: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * mkdir directory touch directory/file tar cf archive directory || exit 1 tar xf archive --warning=no-timestamp || exit 1 ) ./extrac01.at:26: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * mkdir directory touch directory/file tar cf archive directory || exit 1 tar xf archive --warning=no-timestamp || exit 1 ) ./extrac01.at:26: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir directory touch directory/file tar cf archive directory || exit 1 tar xf archive --warning=no-timestamp || exit 1 ) ./extrac01.at:26: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir directory touch directory/file tar cf archive directory || exit 1 tar xf archive --warning=no-timestamp || exit 1 ) 81. extrac01.at:23: ok 82. extrac02.at:23: testing extracting symlinks over an existing file ... ./extrac02.at:28: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * touch file ln -s file link 2> /dev/null || ln file link tar cf archive link rm link touch link tar xf archive ) ./extrac02.at:28: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * touch file ln -s file link 2> /dev/null || ln file link tar cf archive link rm link touch link tar xf archive ) ./extrac02.at:28: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * touch file ln -s file link 2> /dev/null || ln file link tar cf archive link rm link touch link tar xf archive ) ./extrac02.at:28: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * touch file ln -s file link 2> /dev/null || ln file link tar cf archive link rm link touch link tar xf archive ) ./extrac02.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * touch file ln -s file link 2> /dev/null || ln file link tar cf archive link rm link touch link tar xf archive ) 82. extrac02.at:23: ok 83. extrac03.at:23: testing extraction loops ... ./extrac03.at:26: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * mkdir directory tar -cPvf archive directory/../directory echo separator tar -xPvf archive --warning=no-timestamp) ./extrac03.at:26: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * mkdir directory tar -cPvf archive directory/../directory echo separator tar -xPvf archive --warning=no-timestamp) ./extrac03.at:26: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * mkdir directory tar -cPvf archive directory/../directory echo separator tar -xPvf archive --warning=no-timestamp) ./extrac03.at:26: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir directory tar -cPvf archive directory/../directory echo separator tar -xPvf archive --warning=no-timestamp) ./extrac03.at:26: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir directory tar -cPvf archive directory/../directory echo separator tar -xPvf archive --warning=no-timestamp) 83. extrac03.at:23: ok 84. extrac04.at:23: testing extract + fnmatch ... ./extrac04.at:26: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 touch file1 mkdir directory mkdir directory/subdirectory touch directory/file1 touch directory/file2 touch directory/subdirectory/file1 touch directory/subdirectory/file2 tar -cf archive ./file1 directory tar -tf archive \ --exclude='./*1' \ --exclude='d*/*1' \ --exclude='d*/s*/*2' | sort ) ./extrac04.at:26: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 touch file1 mkdir directory mkdir directory/subdirectory touch directory/file1 touch directory/file2 touch directory/subdirectory/file1 touch directory/subdirectory/file2 tar -cf archive ./file1 directory tar -tf archive \ --exclude='./*1' \ --exclude='d*/*1' \ --exclude='d*/s*/*2' | sort ) ./extrac04.at:26: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 touch file1 mkdir directory mkdir directory/subdirectory touch directory/file1 touch directory/file2 touch directory/subdirectory/file1 touch directory/subdirectory/file2 tar -cf archive ./file1 directory tar -tf archive \ --exclude='./*1' \ --exclude='d*/*1' \ --exclude='d*/s*/*2' | sort ) ./extrac04.at:26: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 touch file1 mkdir directory mkdir directory/subdirectory touch directory/file1 touch directory/file2 touch directory/subdirectory/file1 touch directory/subdirectory/file2 tar -cf archive ./file1 directory tar -tf archive \ --exclude='./*1' \ --exclude='d*/*1' \ --exclude='d*/s*/*2' | sort ) ./extrac04.at:26: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 touch file1 mkdir directory mkdir directory/subdirectory touch directory/file1 touch directory/file2 touch directory/subdirectory/file1 touch directory/subdirectory/file2 tar -cf archive ./file1 directory tar -tf archive \ --exclude='./*1' \ --exclude='d*/*1' \ --exclude='d*/s*/*2' | sort ) 84. extrac04.at:23: ok 85. extrac05.at:30: testing extracting selected members from pax ... ./extrac05.at:38: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile --sparse --file sparsefile 0 ABCD 1M EFGH 2000K IJKL || exit 77 genfile --length 118 --file jeden genfile --length 223 --file dwa genfile --length 517 --file trzy genfile --length 110 --file cztery tar cf archive jeden dwa trzy cztery || exit 1 mkdir dir cd dir tar xvfT ../archive ../../list --warning=no-timestamp || exit 1 cd .. ) 85. extrac05.at:30: ok 86. extrac06.at:34: testing mode of extracted directories ... ./extrac06.at:37: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * # Force umask umask 022 # Make sure user's umask is honored, even if we are superuser TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" # Create a directory mkdir directory chmod 777 directory genfile --stat=mode:777 directory # Archive it tar cf arc directory # Change its permissions ... chmod 755 directory genfile --stat=mode:777 directory # ... and attempt to restore it twice tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory # After both restores, the directory mode should be 755 ) ./extrac06.at:37: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * # Force umask umask 022 # Make sure user's umask is honored, even if we are superuser TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" # Create a directory mkdir directory chmod 777 directory genfile --stat=mode:777 directory # Archive it tar cf arc directory # Change its permissions ... chmod 755 directory genfile --stat=mode:777 directory # ... and attempt to restore it twice tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory # After both restores, the directory mode should be 755 ) ./extrac06.at:37: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * # Force umask umask 022 # Make sure user's umask is honored, even if we are superuser TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" # Create a directory mkdir directory chmod 777 directory genfile --stat=mode:777 directory # Archive it tar cf arc directory # Change its permissions ... chmod 755 directory genfile --stat=mode:777 directory # ... and attempt to restore it twice tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory # After both restores, the directory mode should be 755 ) ./extrac06.at:37: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * # Force umask umask 022 # Make sure user's umask is honored, even if we are superuser TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" # Create a directory mkdir directory chmod 777 directory genfile --stat=mode:777 directory # Archive it tar cf arc directory # Change its permissions ... chmod 755 directory genfile --stat=mode:777 directory # ... and attempt to restore it twice tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory # After both restores, the directory mode should be 755 ) ./extrac06.at:37: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * # Force umask umask 022 # Make sure user's umask is honored, even if we are superuser TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" # Create a directory mkdir directory chmod 777 directory genfile --stat=mode:777 directory # Archive it tar cf arc directory # Change its permissions ... chmod 755 directory genfile --stat=mode:777 directory # ... and attempt to restore it twice tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory # After both restores, the directory mode should be 755 ) 86. extrac06.at:34: ok 87. extrac07.at:27: testing extracting symlinks to a read-only dir ... ./extrac07.at:30: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * echo "test" > $$ chmod 0 $$ cat $$ > /dev/null 2>&1 result=$? rm -f $$ test $result -eq 0 && exit 77 echo Prepare the directory mkdir dir genfile -f foo cd dir ln -s ../foo . cd .. chmod a-w dir echo Create the archive tar cf archive dir || exit 1 chmod +w dir echo Extract mkdir out tar -C out -xvf archive ) 87. extrac07.at:27: ok 88. extrac08.at:33: testing restoring mode on existing directory ... ./extrac08.at:36: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * umask 000 mkdir dir chmod 755 dir echo bla > dir/file tar cf test.tar dir chmod 700 dir tar xfv test.tar --warning=no-timestamp genfile --stat=mode.777 dir ) ./extrac08.at:36: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * umask 000 mkdir dir chmod 755 dir echo bla > dir/file tar cf test.tar dir chmod 700 dir tar xfv test.tar --warning=no-timestamp genfile --stat=mode.777 dir ) ./extrac08.at:36: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * umask 000 mkdir dir chmod 755 dir echo bla > dir/file tar cf test.tar dir chmod 700 dir tar xfv test.tar --warning=no-timestamp genfile --stat=mode.777 dir ) ./extrac08.at:36: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * umask 000 mkdir dir chmod 755 dir echo bla > dir/file tar cf test.tar dir chmod 700 dir tar xfv test.tar --warning=no-timestamp genfile --stat=mode.777 dir ) ./extrac08.at:36: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * umask 000 mkdir dir chmod 755 dir echo bla > dir/file tar cf test.tar dir chmod 700 dir tar xfv test.tar --warning=no-timestamp genfile --stat=mode.777 dir ) 88. extrac08.at:33: ok 89. extrac09.at:34: testing extracting even when . and .. are unreadable ... ./extrac09.at:37: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * echo "test" > $$ chmod 0 $$ cat $$ > /dev/null 2>&1 result=$? rm -f $$ test $result -eq 0 && exit 77 mkdir dir mkdir dir/sub mkdir dir/sub/extract genfile --file dir/sub/f cd dir/sub tar -cf archive.tar f chmod a-r . .. tar -xvf archive.tar -C extract f status=$? chmod a+r . .. cmp f extract/f || status=$? exit $status ) 89. extrac09.at:34: ok 90. extrac10.at:29: testing -C and delayed setting of metadata ... ./extrac10.at:32: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir d x x/y echo foo >d/d1 echo bar >e tar -cf archive.tar d e && tar -xf archive.tar -C x d -C y e && diff -r d x/d && diff e x/y/e ) 90. extrac10.at:29: ok 91. extrac11.at:25: testing scarce file descriptors ... ./extrac11.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * exec $dir/$file || exit files="$files $file" done done # Check that "ulimit" itself works. Close file descriptors before # invoking ulimit, to work around a bug (or a "feature") in some shells, # where they squirrel away dups of file descriptors into FD 10 and up # before closing the originals. ( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- && ulimit -n 100 && tar -cf archive1.tar a && tar -xf archive1.tar -C dest1 a ) && diff -r a dest1/a ) >/dev/null 2>&1 || exit 77 # Another test that "ulimit" itself works: # tar should fail when completely starved of file descriptors. ( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- && ulimit -n 4 && tar -cf archive2.tar a && tar -xf archive2.tar -C dest2 a ) && diff -r a dest2/a ) >/dev/null 2>&1 && exit 77 # Test if it is possible to limit the number of file descriptors to 10. ( ulimit -n 10 ) >/dev/null 2>&1 || exit 77 # Tar should work when there are few, but enough, file descriptors. ( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- && ulimit -n 10 && tar -cf archive3.tar a && tar -xf archive3.tar -C dest3 a ) && diff -r a dest3/a >/dev/null 2>&1 ) || { diff -r a dest3/a; exit 1; } ) 91. extrac11.at:25: ok 92. extrac12.at:25: testing extract dot permissions ... ./extrac12.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir src dst echo file1 >src/file1 echo file2 >src/file2 chmod a-w src tar --no-recursion -cf archive.tar -C src . ./file1 file2 && tar -xf archive.tar -C dst && cmp src/file1 dst/file1 && cmp src/file2 dst/file2 ) 92. extrac12.at:25: ok 93. extrac13.at:26: testing extract over symlinks ... ./extrac13.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir src dst1 dst2 dst3 echo file1 >src/file1 ln -s target1 dst1/file1 echo target1 >dst1/target1 echo target1 >target1 tar -cf archive.tar -C src . && tar -xf archive.tar -C dst1 --warning=no-timestamp && diff src/file1 dst1/file1 && diff target1 dst1/target1 ln -s target1 dst2/file1 echo target1 >dst2/target1 tar --overwrite -xf archive.tar -C dst2 --warning=no-timestamp && diff src/file1 dst2/file1 && diff target1 dst2/target1 ln -s target1 dst3/file1 echo target1 >dst3/target1 tar --overwrite -xhf archive.tar -C dst3 --warning=no-timestamp && diff src/file1 dst3/file1 && diff src/file1 dst3/target1 ) 93. extrac13.at:26: ok 94. extrac14.at:25: testing extract -C symlink ... ./extrac14.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir dest ln -s dest symlink echo foo >foo tar -cf archive.tar foo && tar -xf archive.tar -C symlink --warning=no-timestamp && cmp foo dest/foo ) 94. extrac14.at:25: ok 95. extrac15.at:25: testing extract parent mkdir failure ... ./extrac15.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * echo "test" > $$ chmod 0 $$ cat $$ > /dev/null 2>&1 result=$? rm -f $$ test $result -eq 0 && exit 77 mkdir src src/a src/a/b dest dest/a touch src/a/b/c chmod a-w dest/a tar -cf archive.tar -C src a/b/c && if tar -xf archive.tar -C dest a/b/c then (exit 1) else (exit 0) fi ) 95. extrac15.at:25: ok 96. extrac16.at:26: testing extract empty directory with -C ... ./extrac16.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir src src/a src/a/b dest touch src/a/c tar -cf archive.tar -C src a && tar -xf archive.tar -C dest ) 96. extrac16.at:26: ok 97. extrac17.at:21: testing name matching/transformation ordering ... ./extrac17.at:34: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * mkdir dir dir/subdir1 dir/subdir2 out genfile --file dir/subdir1/file1 genfile --file dir/subdir2/file2 tar cf dir.tar dir tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \ dir/subdir1/ ) ./extrac17.at:34: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * mkdir dir dir/subdir1 dir/subdir2 out genfile --file dir/subdir1/file1 genfile --file dir/subdir2/file2 tar cf dir.tar dir tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \ dir/subdir1/ ) ./extrac17.at:34: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * mkdir dir dir/subdir1 dir/subdir2 out genfile --file dir/subdir1/file1 genfile --file dir/subdir2/file2 tar cf dir.tar dir tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \ dir/subdir1/ ) ./extrac17.at:34: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir dir dir/subdir1 dir/subdir2 out genfile --file dir/subdir1/file1 genfile --file dir/subdir2/file2 tar cf dir.tar dir tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \ dir/subdir1/ ) ./extrac17.at:34: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir dir dir/subdir1 dir/subdir2 out genfile --file dir/subdir1/file1 genfile --file dir/subdir2/file2 tar cf dir.tar dir tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \ dir/subdir1/ ) 97. extrac17.at:21: ok 98. extrac18.at:34: testing keep-old-files ... ./extrac18.at:37: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * mkdir dir cd dir echo 'Old file a' > a echo 'Old file b' > b tar cf ../archive . rm b echo 'File a' > a tar -x -k -f ../archive echo status=$? cat a ) ./extrac18.at:37: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * mkdir dir cd dir echo 'Old file a' > a echo 'Old file b' > b tar cf ../archive . rm b echo 'File a' > a tar -x -k -f ../archive echo status=$? cat a ) ./extrac18.at:37: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * mkdir dir cd dir echo 'Old file a' > a echo 'Old file b' > b tar cf ../archive . rm b echo 'File a' > a tar -x -k -f ../archive echo status=$? cat a ) ./extrac18.at:37: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir dir cd dir echo 'Old file a' > a echo 'Old file b' > b tar cf ../archive . rm b echo 'File a' > a tar -x -k -f ../archive echo status=$? cat a ) ./extrac18.at:37: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir dir cd dir echo 'Old file a' > a echo 'Old file b' > b tar cf ../archive . rm b echo 'File a' > a tar -x -k -f ../archive echo status=$? cat a ) 98. extrac18.at:34: ok 99. extrac19.at:21: testing skip-old-files ... ./extrac19.at:24: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * mkdir dir cd dir echo 'Old file a' > a echo 'Old file b' > b tar cf ../archive . rm b echo 'File a' > a tar -x --skip-old-files -f ../archive echo status=$? cat a ) ./extrac19.at:24: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * mkdir dir cd dir echo 'Old file a' > a echo 'Old file b' > b tar cf ../archive . rm b echo 'File a' > a tar -x --skip-old-files -f ../archive echo status=$? cat a ) ./extrac19.at:24: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * mkdir dir cd dir echo 'Old file a' > a echo 'Old file b' > b tar cf ../archive . rm b echo 'File a' > a tar -x --skip-old-files -f ../archive echo status=$? cat a ) ./extrac19.at:24: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir dir cd dir echo 'Old file a' > a echo 'Old file b' > b tar cf ../archive . rm b echo 'File a' > a tar -x --skip-old-files -f ../archive echo status=$? cat a ) ./extrac19.at:24: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir dir cd dir echo 'Old file a' > a echo 'Old file b' > b tar cf ../archive . rm b echo 'File a' > a tar -x --skip-old-files -f ../archive echo status=$? cat a ) 99. extrac19.at:21: ok 100. extrac20.at:21: testing keep-directory-symlink ... ./extrac20.at:24: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 for i in a b c do dir=in$i mkdir -p $dir/root/dir $dir/root/dirsymlink touch $dir/root/dirsymlink/file$i test $i != a && touch $dir/root/dirsymlink/file.conflict tar cf archive$i.tar -C $dir root done prep() { echo "== $1 ==" echo "== $1 ==" >&2 backup_dir=$1 dir=out mkdir -p $dir/root/dir ln -s dir $dir/root/dirsymlink test $round = normal && cd $dir >/dev/null } clean() { test $round = normal && cd .. >/dev/null find $dir | sort mv $dir $backup_dir } # Expand to '-f ../$1' or '-f $1 -C $dir' depending on $round variable file_spec() { if test $round = normal then echo "-f ../$1" else echo "-f $1 -C $dir" fi } for round in normal dir do # Check that 'dirsymlink' replaces 'dir' prep without_option_$round tar -x `file_spec archivea.tar` || exit 1 tar -x `file_spec archiveb.tar` || exit 1 clean # Keep directory symlink must keep root/dirsymlink prep with_option_$round tar -x --keep-directory-symlink `file_spec archivea.tar` || exit 1 tar -x --keep-directory-symlink `file_spec archiveb.tar` || exit 1 clean prep collision_$round tar -x --keep-directory-symlink `file_spec archivea.tar` --keep-old-files || exit 1 tar -x --keep-directory-symlink `file_spec archiveb.tar` --keep-old-files || exit 1 tar -x --keep-directory-symlink `file_spec archivec.tar` --keep-old-files && exit 1 clean done ) ./extrac20.at:24: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 for i in a b c do dir=in$i mkdir -p $dir/root/dir $dir/root/dirsymlink touch $dir/root/dirsymlink/file$i test $i != a && touch $dir/root/dirsymlink/file.conflict tar cf archive$i.tar -C $dir root done prep() { echo "== $1 ==" echo "== $1 ==" >&2 backup_dir=$1 dir=out mkdir -p $dir/root/dir ln -s dir $dir/root/dirsymlink test $round = normal && cd $dir >/dev/null } clean() { test $round = normal && cd .. >/dev/null find $dir | sort mv $dir $backup_dir } # Expand to '-f ../$1' or '-f $1 -C $dir' depending on $round variable file_spec() { if test $round = normal then echo "-f ../$1" else echo "-f $1 -C $dir" fi } for round in normal dir do # Check that 'dirsymlink' replaces 'dir' prep without_option_$round tar -x `file_spec archivea.tar` || exit 1 tar -x `file_spec archiveb.tar` || exit 1 clean # Keep directory symlink must keep root/dirsymlink prep with_option_$round tar -x --keep-directory-symlink `file_spec archivea.tar` || exit 1 tar -x --keep-directory-symlink `file_spec archiveb.tar` || exit 1 clean prep collision_$round tar -x --keep-directory-symlink `file_spec archivea.tar` --keep-old-files || exit 1 tar -x --keep-directory-symlink `file_spec archiveb.tar` --keep-old-files || exit 1 tar -x --keep-directory-symlink `file_spec archivec.tar` --keep-old-files && exit 1 clean done ) ./extrac20.at:24: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 for i in a b c do dir=in$i mkdir -p $dir/root/dir $dir/root/dirsymlink touch $dir/root/dirsymlink/file$i test $i != a && touch $dir/root/dirsymlink/file.conflict tar cf archive$i.tar -C $dir root done prep() { echo "== $1 ==" echo "== $1 ==" >&2 backup_dir=$1 dir=out mkdir -p $dir/root/dir ln -s dir $dir/root/dirsymlink test $round = normal && cd $dir >/dev/null } clean() { test $round = normal && cd .. >/dev/null find $dir | sort mv $dir $backup_dir } # Expand to '-f ../$1' or '-f $1 -C $dir' depending on $round variable file_spec() { if test $round = normal then echo "-f ../$1" else echo "-f $1 -C $dir" fi } for round in normal dir do # Check that 'dirsymlink' replaces 'dir' prep without_option_$round tar -x `file_spec archivea.tar` || exit 1 tar -x `file_spec archiveb.tar` || exit 1 clean # Keep directory symlink must keep root/dirsymlink prep with_option_$round tar -x --keep-directory-symlink `file_spec archivea.tar` || exit 1 tar -x --keep-directory-symlink `file_spec archiveb.tar` || exit 1 clean prep collision_$round tar -x --keep-directory-symlink `file_spec archivea.tar` --keep-old-files || exit 1 tar -x --keep-directory-symlink `file_spec archiveb.tar` --keep-old-files || exit 1 tar -x --keep-directory-symlink `file_spec archivec.tar` --keep-old-files && exit 1 clean done ) ./extrac20.at:24: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 for i in a b c do dir=in$i mkdir -p $dir/root/dir $dir/root/dirsymlink touch $dir/root/dirsymlink/file$i test $i != a && touch $dir/root/dirsymlink/file.conflict tar cf archive$i.tar -C $dir root done prep() { echo "== $1 ==" echo "== $1 ==" >&2 backup_dir=$1 dir=out mkdir -p $dir/root/dir ln -s dir $dir/root/dirsymlink test $round = normal && cd $dir >/dev/null } clean() { test $round = normal && cd .. >/dev/null find $dir | sort mv $dir $backup_dir } # Expand to '-f ../$1' or '-f $1 -C $dir' depending on $round variable file_spec() { if test $round = normal then echo "-f ../$1" else echo "-f $1 -C $dir" fi } for round in normal dir do # Check that 'dirsymlink' replaces 'dir' prep without_option_$round tar -x `file_spec archivea.tar` || exit 1 tar -x `file_spec archiveb.tar` || exit 1 clean # Keep directory symlink must keep root/dirsymlink prep with_option_$round tar -x --keep-directory-symlink `file_spec archivea.tar` || exit 1 tar -x --keep-directory-symlink `file_spec archiveb.tar` || exit 1 clean prep collision_$round tar -x --keep-directory-symlink `file_spec archivea.tar` --keep-old-files || exit 1 tar -x --keep-directory-symlink `file_spec archiveb.tar` --keep-old-files || exit 1 tar -x --keep-directory-symlink `file_spec archivec.tar` --keep-old-files && exit 1 clean done ) ./extrac20.at:24: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 for i in a b c do dir=in$i mkdir -p $dir/root/dir $dir/root/dirsymlink touch $dir/root/dirsymlink/file$i test $i != a && touch $dir/root/dirsymlink/file.conflict tar cf archive$i.tar -C $dir root done prep() { echo "== $1 ==" echo "== $1 ==" >&2 backup_dir=$1 dir=out mkdir -p $dir/root/dir ln -s dir $dir/root/dirsymlink test $round = normal && cd $dir >/dev/null } clean() { test $round = normal && cd .. >/dev/null find $dir | sort mv $dir $backup_dir } # Expand to '-f ../$1' or '-f $1 -C $dir' depending on $round variable file_spec() { if test $round = normal then echo "-f ../$1" else echo "-f $1 -C $dir" fi } for round in normal dir do # Check that 'dirsymlink' replaces 'dir' prep without_option_$round tar -x `file_spec archivea.tar` || exit 1 tar -x `file_spec archiveb.tar` || exit 1 clean # Keep directory symlink must keep root/dirsymlink prep with_option_$round tar -x --keep-directory-symlink `file_spec archivea.tar` || exit 1 tar -x --keep-directory-symlink `file_spec archiveb.tar` || exit 1 clean prep collision_$round tar -x --keep-directory-symlink `file_spec archivea.tar` --keep-old-files || exit 1 tar -x --keep-directory-symlink `file_spec archiveb.tar` --keep-old-files || exit 1 tar -x --keep-directory-symlink `file_spec archivec.tar` --keep-old-files && exit 1 clean done ) 100. extrac20.at:21: ok 101. extrac21.at:31: testing delay-directory-restore ... ./extrac21.at:33: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * echo "test" > $$ chmod 0 $$ cat $$ > /dev/null 2>&1 result=$? rm -f $$ test $result -eq 0 && exit 77 mkdir a a/b a/c genfile --file a/b/D genfile --file a/c/A cd a/b ln -sf ../c/A cd ../.. chmod a-w a/b tar --no-recurs -c -f A.tar a a/b a/b/D a/c a/b/A a/c/A mkdir out tar -C out -v -x -f A.tar --delay-directory-restore ) 101. extrac21.at:31: ok 102. extrac22.at:19: testing delay-directory-restore on reversed ordering ... ./extrac22.at:29: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * echo "test" > $$ chmod 0 $$ cat $$ > /dev/null 2>&1 result=$? rm -f $$ test $result -eq 0 && exit 77 test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir t (cd t genfile --length 100 --file data1 mkdir dir1 cp data1 dir1 mkdir dir2 cd dir2 ln -s ../dir1/data1 data2 cd .. chmod -w dir2) cat >filelist <<'_ATEOF' ./dir2/data2 ./dir2 ./dir1/data1 ./dir1 ./data1 _ATEOF tar -C t -c -f a.tar --no-recursion -T filelist mkdir restore tar -x -p --delay-directory-restore -C restore -f a.tar # Previous versions of tar would fail here with the following diagnostics: # tar: ./dir2/data2: Cannot unlink: Permission denied ) ./extrac22.at:29: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * echo "test" > $$ chmod 0 $$ cat $$ > /dev/null 2>&1 result=$? rm -f $$ test $result -eq 0 && exit 77 test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir t (cd t genfile --length 100 --file data1 mkdir dir1 cp data1 dir1 mkdir dir2 cd dir2 ln -s ../dir1/data1 data2 cd .. chmod -w dir2) cat >filelist <<'_ATEOF' ./dir2/data2 ./dir2 ./dir1/data1 ./dir1 ./data1 _ATEOF tar -C t -c -f a.tar --no-recursion -T filelist mkdir restore tar -x -p --delay-directory-restore -C restore -f a.tar # Previous versions of tar would fail here with the following diagnostics: # tar: ./dir2/data2: Cannot unlink: Permission denied ) ./extrac22.at:29: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * echo "test" > $$ chmod 0 $$ cat $$ > /dev/null 2>&1 result=$? rm -f $$ test $result -eq 0 && exit 77 test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir t (cd t genfile --length 100 --file data1 mkdir dir1 cp data1 dir1 mkdir dir2 cd dir2 ln -s ../dir1/data1 data2 cd .. chmod -w dir2) cat >filelist <<'_ATEOF' ./dir2/data2 ./dir2 ./dir1/data1 ./dir1 ./data1 _ATEOF tar -C t -c -f a.tar --no-recursion -T filelist mkdir restore tar -x -p --delay-directory-restore -C restore -f a.tar # Previous versions of tar would fail here with the following diagnostics: # tar: ./dir2/data2: Cannot unlink: Permission denied ) ./extrac22.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * echo "test" > $$ chmod 0 $$ cat $$ > /dev/null 2>&1 result=$? rm -f $$ test $result -eq 0 && exit 77 test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir t (cd t genfile --length 100 --file data1 mkdir dir1 cp data1 dir1 mkdir dir2 cd dir2 ln -s ../dir1/data1 data2 cd .. chmod -w dir2) cat >filelist <<'_ATEOF' ./dir2/data2 ./dir2 ./dir1/data1 ./dir1 ./data1 _ATEOF tar -C t -c -f a.tar --no-recursion -T filelist mkdir restore tar -x -p --delay-directory-restore -C restore -f a.tar # Previous versions of tar would fail here with the following diagnostics: # tar: ./dir2/data2: Cannot unlink: Permission denied ) ./extrac22.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * echo "test" > $$ chmod 0 $$ cat $$ > /dev/null 2>&1 result=$? rm -f $$ test $result -eq 0 && exit 77 test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir t (cd t genfile --length 100 --file data1 mkdir dir1 cp data1 dir1 mkdir dir2 cd dir2 ln -s ../dir1/data1 data2 cd .. chmod -w dir2) cat >filelist <<'_ATEOF' ./dir2/data2 ./dir2 ./dir1/data1 ./dir1 ./data1 _ATEOF tar -C t -c -f a.tar --no-recursion -T filelist mkdir restore tar -x -p --delay-directory-restore -C restore -f a.tar # Previous versions of tar would fail here with the following diagnostics: # tar: ./dir2/data2: Cannot unlink: Permission denied ) 102. extrac22.at:19: ok 103. extrac23.at:18: testing --no-overwrite-dir ... ./extrac23.at:32: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * # Test if the directory permissions are restored properly. mkdir dir chmod 755 dir tar cf a.tar dir chmod 777 dir tar -xf a.tar --no-overwrite-dir genfile --stat=mode.777 dir # Test if temprorary permissions are set correctly to allow the owner # to write to the directory. genfile --file dir/file tar cf a.tar dir rm dir/file chmod 400 dir tar -xf a.tar --no-overwrite-dir genfile --stat=mode.777 dir chmod 700 dir find dir ) ./extrac23.at:32: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * # Test if the directory permissions are restored properly. mkdir dir chmod 755 dir tar cf a.tar dir chmod 777 dir tar -xf a.tar --no-overwrite-dir genfile --stat=mode.777 dir # Test if temprorary permissions are set correctly to allow the owner # to write to the directory. genfile --file dir/file tar cf a.tar dir rm dir/file chmod 400 dir tar -xf a.tar --no-overwrite-dir genfile --stat=mode.777 dir chmod 700 dir find dir ) ./extrac23.at:32: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * # Test if the directory permissions are restored properly. mkdir dir chmod 755 dir tar cf a.tar dir chmod 777 dir tar -xf a.tar --no-overwrite-dir genfile --stat=mode.777 dir # Test if temprorary permissions are set correctly to allow the owner # to write to the directory. genfile --file dir/file tar cf a.tar dir rm dir/file chmod 400 dir tar -xf a.tar --no-overwrite-dir genfile --stat=mode.777 dir chmod 700 dir find dir ) ./extrac23.at:32: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * # Test if the directory permissions are restored properly. mkdir dir chmod 755 dir tar cf a.tar dir chmod 777 dir tar -xf a.tar --no-overwrite-dir genfile --stat=mode.777 dir # Test if temprorary permissions are set correctly to allow the owner # to write to the directory. genfile --file dir/file tar cf a.tar dir rm dir/file chmod 400 dir tar -xf a.tar --no-overwrite-dir genfile --stat=mode.777 dir chmod 700 dir find dir ) ./extrac23.at:32: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * # Test if the directory permissions are restored properly. mkdir dir chmod 755 dir tar cf a.tar dir chmod 777 dir tar -xf a.tar --no-overwrite-dir genfile --stat=mode.777 dir # Test if temprorary permissions are set correctly to allow the owner # to write to the directory. genfile --file dir/file tar cf a.tar dir rm dir/file chmod 400 dir tar -xf a.tar --no-overwrite-dir genfile --stat=mode.777 dir chmod 700 dir find dir ) 103. extrac23.at:18: ok 104. extrac24.at:18: testing --to-stdout ... ./extrac24.at:29: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * mkdir dir/ echo TEXT > dir/file tar cf a.tar dir rm -r dir tar --extract --to-stdout --file a.tar test -d dir ) ./extrac24.at:29: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * mkdir dir/ echo TEXT > dir/file tar cf a.tar dir rm -r dir tar --extract --to-stdout --file a.tar test -d dir ) ./extrac24.at:29: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * mkdir dir/ echo TEXT > dir/file tar cf a.tar dir rm -r dir tar --extract --to-stdout --file a.tar test -d dir ) ./extrac24.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir dir/ echo TEXT > dir/file tar cf a.tar dir rm -r dir tar --extract --to-stdout --file a.tar test -d dir ) ./extrac24.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir dir/ echo TEXT > dir/file tar cf a.tar dir rm -r dir tar --extract --to-stdout --file a.tar test -d dir ) 104. extrac24.at:18: ok 105. backup01.at:33: testing extracting existing dir with --backup ... ./backup01.at:36: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * unset VERSION_CONTROL mkdir dir1 dir2 echo bla > dir1/file1 tar cf test.tar dir1 dir2 tar xfv test.tar --backup --warning=no-timestamp ) ./backup01.at:36: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * unset VERSION_CONTROL mkdir dir1 dir2 echo bla > dir1/file1 tar cf test.tar dir1 dir2 tar xfv test.tar --backup --warning=no-timestamp ) ./backup01.at:36: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * unset VERSION_CONTROL mkdir dir1 dir2 echo bla > dir1/file1 tar cf test.tar dir1 dir2 tar xfv test.tar --backup --warning=no-timestamp ) ./backup01.at:36: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * unset VERSION_CONTROL mkdir dir1 dir2 echo bla > dir1/file1 tar cf test.tar dir1 dir2 tar xfv test.tar --backup --warning=no-timestamp ) ./backup01.at:36: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * unset VERSION_CONTROL mkdir dir1 dir2 echo bla > dir1/file1 tar cf test.tar dir1 dir2 tar xfv test.tar --backup --warning=no-timestamp ) 105. backup01.at:33: ok Comparing 106. difflink.at:17: testing link mismatch ... ./difflink.at:19: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * mkdir a genfile -f a/x ln -s x a/y ln a/x a/z tar cf a.tar a/x a/y a/z rm a/z ln -s x a/z tar df a.tar ) 106. difflink.at:17: ok Volume label operations 107. label01.at:21: testing single-volume label ... ./label01.at:24: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile --file foo genfile --file bar tar -cf archive --label=Test foo bar tar tf archive ) ./label01.at:24: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile --file foo genfile --file bar tar -cf archive --label=Test foo bar tar tf archive ) ./label01.at:24: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile --file foo genfile --file bar tar -cf archive --label=Test foo bar tar tf archive ) 107. label01.at:21: ok 108. label02.at:21: testing multi-volume label ... ./label02.at:24: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * exec <&- genfile --length 0 --file foo genfile --length 12288 --file bar genfile --length 12288 --file baz tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar ) ./label02.at:24: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * exec <&- genfile --length 0 --file foo genfile --length 12288 --file bar genfile --length 12288 --file baz tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar ) ./label02.at:24: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * exec <&- genfile --length 0 --file foo genfile --length 12288 --file bar genfile --length 12288 --file baz tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar ) 108. label02.at:21: ok 109. label03.at:27: testing test-label option ... ./label03.at:30: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * exec <&- genfile --file file tar -c --label='iamalabel' --file iamanarchive file tar -c --file unlabeled.tar file decho "# Display label" tar --test-label --file=iamanarchive; echo $? decho "# Display label: unlabeled" tar --test-label --file=unlabeled.tar; echo $? decho "# Test label: success" tar --test-label --file=iamanarchive 'iamalabel'; echo $? decho "# Test label: failure" tar --test-label --file=iamanarchive 'amalabel'; echo $? decho "# Test label: unlabeled" tar --test-label --file=unlabeled.tar 'amalabel'; echo $? decho "# Test label, verbose: success" tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $? decho "# Test label, verbose: failure" tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $? decho "# Test label: multiple arguments" tar --test-label --file=iamanarchive a iamalabel b; echo $? decho "# Test label: wildcards" tar --test-label --file=iamanarchive --wildcards '*label'; echo $? ) ./label03.at:30: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * exec <&- genfile --file file tar -c --label='iamalabel' --file iamanarchive file tar -c --file unlabeled.tar file decho "# Display label" tar --test-label --file=iamanarchive; echo $? decho "# Display label: unlabeled" tar --test-label --file=unlabeled.tar; echo $? decho "# Test label: success" tar --test-label --file=iamanarchive 'iamalabel'; echo $? decho "# Test label: failure" tar --test-label --file=iamanarchive 'amalabel'; echo $? decho "# Test label: unlabeled" tar --test-label --file=unlabeled.tar 'amalabel'; echo $? decho "# Test label, verbose: success" tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $? decho "# Test label, verbose: failure" tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $? decho "# Test label: multiple arguments" tar --test-label --file=iamanarchive a iamalabel b; echo $? decho "# Test label: wildcards" tar --test-label --file=iamanarchive --wildcards '*label'; echo $? ) ./label03.at:30: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * exec <&- genfile --file file tar -c --label='iamalabel' --file iamanarchive file tar -c --file unlabeled.tar file decho "# Display label" tar --test-label --file=iamanarchive; echo $? decho "# Display label: unlabeled" tar --test-label --file=unlabeled.tar; echo $? decho "# Test label: success" tar --test-label --file=iamanarchive 'iamalabel'; echo $? decho "# Test label: failure" tar --test-label --file=iamanarchive 'amalabel'; echo $? decho "# Test label: unlabeled" tar --test-label --file=unlabeled.tar 'amalabel'; echo $? decho "# Test label, verbose: success" tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $? decho "# Test label, verbose: failure" tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $? decho "# Test label: multiple arguments" tar --test-label --file=iamanarchive a iamalabel b; echo $? decho "# Test label: wildcards" tar --test-label --file=iamanarchive --wildcards '*label'; echo $? ) 109. label03.at:27: ok 110. label04.at:27: testing label with non-create option ... ./label04.at:30: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * exec <&- genfile --file file decho "# Create volume" tar -c -f archive --label='New volume' file decho "# Update: wrong label" tar -rf archive --label='My volume' file; echo $? decho "# Update: right label" tar -rf archive --label='New volume' file ) ./label04.at:30: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * exec <&- genfile --file file decho "# Create volume" tar -c -f archive --label='New volume' file decho "# Update: wrong label" tar -rf archive --label='My volume' file; echo $? decho "# Update: right label" tar -rf archive --label='New volume' file ) ./label04.at:30: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * exec <&- genfile --file file decho "# Create volume" tar -c -f archive --label='New volume' file decho "# Update: wrong label" tar -rf archive --label='My volume' file; echo $? decho "# Update: right label" tar -rf archive --label='New volume' file ) 110. label04.at:27: ok 111. label05.at:24: testing label with non-create option ... ./label05.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * exec <&- genfile --file file decho "# Create volume" tar -c -f archive file decho "# Update: wrong label" tar -rf archive --label='My volume' file; echo $? decho "# Update: right label" tar -rf archive file ) ./label05.at:27: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * exec <&- genfile --file file decho "# Create volume" tar -c -f archive file decho "# Update: wrong label" tar -rf archive --label='My volume' file; echo $? decho "# Update: right label" tar -rf archive file ) ./label05.at:27: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * exec <&- genfile --file file decho "# Create volume" tar -c -f archive file decho "# Update: wrong label" tar -rf archive --label='My volume' file; echo $? decho "# Update: right label" tar -rf archive file ) 111. label05.at:24: ok Incremental archives 112. incremental.at:23: testing incremental ... ./incremental.at:26: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 mkdir structure echo x >structure/file # On Nextstep (and perhaps other 4.3BSD systems), # a newly created file's ctime isn't updated # until the next sync or stat operation on the file. ls -l structure/file >/dev/null # If the time of an initial backup and the creation time of a file contained # in that backup are the same, the file will be backed up again when an # incremental backup is done, because the incremental backup backs up # files created "on or after" the initial backup time. Without the sleep # command, behaviour of tar becomes variable, depending whether the system # clock ticked over to the next second between creating the file and # backing it up. sleep 1 tar cf archive --listed=list structure tar cfv archive --listed=list structure echo separator # ReiserFS often offsets the timestamps of newly created files # 1 second to the past. Try to compensate for it, until a better # solution is found. sleep 2 echo y >structure/file tar cfv archive --listed=list structure ) ./incremental.at:26: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 mkdir structure echo x >structure/file # On Nextstep (and perhaps other 4.3BSD systems), # a newly created file's ctime isn't updated # until the next sync or stat operation on the file. ls -l structure/file >/dev/null # If the time of an initial backup and the creation time of a file contained # in that backup are the same, the file will be backed up again when an # incremental backup is done, because the incremental backup backs up # files created "on or after" the initial backup time. Without the sleep # command, behaviour of tar becomes variable, depending whether the system # clock ticked over to the next second between creating the file and # backing it up. sleep 1 tar cf archive --listed=list structure tar cfv archive --listed=list structure echo separator # ReiserFS often offsets the timestamps of newly created files # 1 second to the past. Try to compensate for it, until a better # solution is found. sleep 2 echo y >structure/file tar cfv archive --listed=list structure ) ./incremental.at:26: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * ckmtime || exit 77 mkdir structure echo x >structure/file # On Nextstep (and perhaps other 4.3BSD systems), # a newly created file's ctime isn't updated # until the next sync or stat operation on the file. ls -l structure/file >/dev/null # If the time of an initial backup and the creation time of a file contained # in that backup are the same, the file will be backed up again when an # incremental backup is done, because the incremental backup backs up # files created "on or after" the initial backup time. Without the sleep # command, behaviour of tar becomes variable, depending whether the system # clock ticked over to the next second between creating the file and # backing it up. sleep 1 tar cf archive --listed=list structure tar cfv archive --listed=list structure echo separator # ReiserFS often offsets the timestamps of newly created files # 1 second to the past. Try to compensate for it, until a better # solution is found. sleep 2 echo y >structure/file tar cfv archive --listed=list structure ) 112. incremental.at:23: ok 113. incr01.at:27: testing restore broken symlinks from incremental ... ./incr01.at:30: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 mkdir directory $as_ln_s foo directory/bar tar -cf archive.0 -g db directory rm directory/bar tar -cf archive.1 -g db directory mv directory orig tar xvfg archive.0 /dev/null --warning=no-timestamp echo separator tar xvfg archive.1 /dev/null --warning=no-timestamp ) ./incr01.at:30: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 mkdir directory $as_ln_s foo directory/bar tar -cf archive.0 -g db directory rm directory/bar tar -cf archive.1 -g db directory mv directory orig tar xvfg archive.0 /dev/null --warning=no-timestamp echo separator tar xvfg archive.1 /dev/null --warning=no-timestamp ) ./incr01.at:30: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * ckmtime || exit 77 mkdir directory $as_ln_s foo directory/bar tar -cf archive.0 -g db directory rm directory/bar tar -cf archive.1 -g db directory mv directory orig tar xvfg archive.0 /dev/null --warning=no-timestamp echo separator tar xvfg archive.1 /dev/null --warning=no-timestamp ) 113. incr01.at:27: ok 114. incr02.at:32: testing restoring timestamps from incremental ... ./incr02.at:35: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 # Create directory structure mkdir dir mkdir dir/subdir1 mkdir dir/subdir2 genfile --length 10 --file dir/subdir1/file # Save mtime for later comparison genfile --stat=mtime dir/subdir1 > ts # Create an archive. Using incremental mode makes sure the # archive will have a directory-first member ordering, # i.e.: # dir/ # dir/subdir1/ # dir/subdir2/ # dir/subdir1/foofile # # When restoring from this directory structure, 'dir/subdir2/' used to # trigger apply_nonancestor_delayed_set_stat() which restored stats for # 'subdir1' prior to restoring 'dir/subdir1/foofile'. Then, restoring the # latter clobbered the directory timestamp. tar -cf archive -g db dir # Move away the directory mv dir orig # Wait enough time for timestamps to differ in case of failure. sleep 5 # Restore the directory tar -xf archive dir # Check the timestamp genfile --stat=mtime dir/subdir1 | diff ts - ) ./incr02.at:35: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 # Create directory structure mkdir dir mkdir dir/subdir1 mkdir dir/subdir2 genfile --length 10 --file dir/subdir1/file # Save mtime for later comparison genfile --stat=mtime dir/subdir1 > ts # Create an archive. Using incremental mode makes sure the # archive will have a directory-first member ordering, # i.e.: # dir/ # dir/subdir1/ # dir/subdir2/ # dir/subdir1/foofile # # When restoring from this directory structure, 'dir/subdir2/' used to # trigger apply_nonancestor_delayed_set_stat() which restored stats for # 'subdir1' prior to restoring 'dir/subdir1/foofile'. Then, restoring the # latter clobbered the directory timestamp. tar -cf archive -g db dir # Move away the directory mv dir orig # Wait enough time for timestamps to differ in case of failure. sleep 5 # Restore the directory tar -xf archive dir # Check the timestamp genfile --stat=mtime dir/subdir1 | diff ts - ) ./incr02.at:35: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * ckmtime || exit 77 # Create directory structure mkdir dir mkdir dir/subdir1 mkdir dir/subdir2 genfile --length 10 --file dir/subdir1/file # Save mtime for later comparison genfile --stat=mtime dir/subdir1 > ts # Create an archive. Using incremental mode makes sure the # archive will have a directory-first member ordering, # i.e.: # dir/ # dir/subdir1/ # dir/subdir2/ # dir/subdir1/foofile # # When restoring from this directory structure, 'dir/subdir2/' used to # trigger apply_nonancestor_delayed_set_stat() which restored stats for # 'subdir1' prior to restoring 'dir/subdir1/foofile'. Then, restoring the # latter clobbered the directory timestamp. tar -cf archive -g db dir # Move away the directory mv dir orig # Wait enough time for timestamps to differ in case of failure. sleep 5 # Restore the directory tar -xf archive dir # Check the timestamp genfile --stat=mtime dir/subdir1 | diff ts - ) 114. incr02.at:32: ok 115. listed01.at:26: testing --listed for individual files ... ./listed01.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 # Let the things settle sleep 1 tar --create \ --file=archive.1 \ --listed-incremental=listing \ directory/file* tar tf archive.1 || exit 1 sleep 2 genfile --length 10240 --pattern zeros --file directory/file2 echo "separator" cp listing listing.old tar --create \ --file=archive.2 \ --listed-incremental=listing \ directory/file* || exit 1 tar tf archive.2 || exit 1 ) ./listed01.at:29: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 # Let the things settle sleep 1 tar --create \ --file=archive.1 \ --listed-incremental=listing \ directory/file* tar tf archive.1 || exit 1 sleep 2 genfile --length 10240 --pattern zeros --file directory/file2 echo "separator" cp listing listing.old tar --create \ --file=archive.2 \ --listed-incremental=listing \ directory/file* || exit 1 tar tf archive.2 || exit 1 ) 115. listed01.at:26: ok 116. listed02.at:28: testing working --listed ... ./listed02.at:31: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 test -z "`sort < /dev/null 2>&1`" || exit 77 echo Create directories mkdir tart sleep 1 mkdir tart/c0 sleep 1 mkdir tart/c1 sleep 1 for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2 do echo File $file > $file sleep 1 done sleep 1 echo Creating main archive echo >&2 "Creating main archive" tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1 # The above prints two lines to stderr announcing the new directories c0 and c1. # Ensure that they appear in this script's stderr in sorted order. sort err 1>&2; rm -f err sleep 1 echo Modifying filesystem rm tart/a1 mv tart/b1 tart/b2 mv tart/c1 tart/c2 touch tart/c2/ca3 echo Directory contents find tart -print | sort 2>/dev/null sleep 1 echo Creating incremental archive echo >&2 "Creating incremental archive" cp -p tart.incr1 tart.incr2 tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1 sleep 1 rm -rf tart/* echo Extracting main archive echo >&2 "Extracting main archive" tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1 echo Extracting incremental archive # This command should produce three messages about deletion # of the existing files, that may appear in any order. Piping # to sort makes sure we don't depend on any particular ordering. tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null echo Final files: find tart -print | sort 2>/dev/null ) ./listed02.at:31: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 test -z "`sort < /dev/null 2>&1`" || exit 77 echo Create directories mkdir tart sleep 1 mkdir tart/c0 sleep 1 mkdir tart/c1 sleep 1 for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2 do echo File $file > $file sleep 1 done sleep 1 echo Creating main archive echo >&2 "Creating main archive" tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1 # The above prints two lines to stderr announcing the new directories c0 and c1. # Ensure that they appear in this script's stderr in sorted order. sort err 1>&2; rm -f err sleep 1 echo Modifying filesystem rm tart/a1 mv tart/b1 tart/b2 mv tart/c1 tart/c2 touch tart/c2/ca3 echo Directory contents find tart -print | sort 2>/dev/null sleep 1 echo Creating incremental archive echo >&2 "Creating incremental archive" cp -p tart.incr1 tart.incr2 tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1 sleep 1 rm -rf tart/* echo Extracting main archive echo >&2 "Extracting main archive" tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1 echo Extracting incremental archive # This command should produce three messages about deletion # of the existing files, that may appear in any order. Piping # to sort makes sure we don't depend on any particular ordering. tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null echo Final files: find tart -print | sort 2>/dev/null ) 116. listed02.at:28: ok 117. listed03.at:24: testing incremental dump when the parent directory is unreadable ... ./listed03.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 echo "test" > $$ chmod 0 $$ cat $$ > /dev/null 2>&1 result=$? rm -f $$ test $result -eq 0 && exit 77 test `uname` = "Linux" || exit 77 mkdir dir mkdir dir/sub mkdir dir/sub/a genfile --file dir/sub/a/file cd dir/sub chmod a-r .. tar -c -f archive.tar --listed-incremental=db.1 -v a 2>err status=$? chmod a+r .. if test $status -eq 2; then grep '^tar: \.: Cannot getcwd' err >/dev/null 2>&1 && exit 77 fi cat err >&2 exit $status ) 117. listed03.at:24: ok 118. listed04.at:26: testing --listed-incremental and --one-file-system ... ./listed04.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 mkdir dir echo a >dir/a echo b >dir/b tar --one-file-system -cvf archive.tar -g archive.incr dir || exit tar -tf archive.tar || exit ) 118. listed04.at:26: ok 119. listed05.at:33: testing --listed-incremental and remounted directories ... ./listed05.at:36: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 echo "test" > $$ chmod 0 $$ cat $$ > /dev/null 2>&1 result=$? rm -f $$ test $result -eq 0 || exit 77 options="-C tartest --create --one-file-system --verbose" rm -rf archive-01.snar archive-01.tar tartest subdir # Create initial structure mkdir tartest echo "hi" > tartest/top-level-file mkdir tartest/subdir echo "hi" > tartest/subdir/subdir-file echo "# Level 0" tar $options --file archive-0.tar --listed-incremental=archive-0.snar . echo "# Remount" mv tartest/subdir . mkdir tartest/subdir mount -t ramfs none tartest/subdir || exit 77 tar -C subdir -c -f - . | tar -C tartest/subdir -x -f - echo "# Level 1" cp archive-0.snar archive-1.snar tar $options --file archive-1.tar --listed-incremental=archive-1.snar . umount tartest/subdir ) --- - 2025-04-11 05:21:40.703729786 -1200 +++ /build/reproducible-path/tar-1.34+dfsg/tests/testsuite.dir/at-groups/119/stderr 2025-04-11 05:21:40.687322914 -1200 @@ -1,4 +1 @@ -tar: .: Directory is new -tar: ./subdir: Directory is new -tar: ./subdir: directory is on a different filesystem; not dumped --- - 2025-04-11 05:21:40.723693478 -1200 +++ /build/reproducible-path/tar-1.34+dfsg/tests/testsuite.dir/at-groups/119/stdout 2025-04-11 05:21:40.703322914 -1200 @@ -1,10 +1 @@ -# Level 0 -./ -./subdir/ -./top-level-file -./subdir/subdir-file -# Remount -# Level 1 -./ -./subdir/ 119. listed05.at:33: skipped (listed05.at:36) 120. incr03.at:28: testing renamed files in incrementals ... ./incr03.at:31: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --file=directory/x genfile --file=directory/y sleep 1 tar -cf archive.1 -g db directory mv directory/x directory/z cp db db.old tar -cf archive.2 -g db directory mv directory orig echo Listing of archive.1 tar -tf archive.1 | sort echo Listing of archive.2 tar -tf archive.2 | sort echo Directory after first restore tar -xf archive.1 -g db --warning=no-timestamp find directory | sort echo Directory after second restore tar -xf archive.2 -g db --warning=no-timestamp find directory | sort ) ./incr03.at:31: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --file=directory/x genfile --file=directory/y sleep 1 tar -cf archive.1 -g db directory mv directory/x directory/z cp db db.old tar -cf archive.2 -g db directory mv directory orig echo Listing of archive.1 tar -tf archive.1 | sort echo Listing of archive.2 tar -tf archive.2 | sort echo Directory after first restore tar -xf archive.1 -g db --warning=no-timestamp find directory | sort echo Directory after second restore tar -xf archive.2 -g db --warning=no-timestamp find directory | sort ) ./incr03.at:31: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * ckmtime || exit 77 test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --file=directory/x genfile --file=directory/y sleep 1 tar -cf archive.1 -g db directory mv directory/x directory/z cp db db.old tar -cf archive.2 -g db directory mv directory orig echo Listing of archive.1 tar -tf archive.1 | sort echo Listing of archive.2 tar -tf archive.2 | sort echo Directory after first restore tar -xf archive.1 -g db --warning=no-timestamp find directory | sort echo Directory after second restore tar -xf archive.2 -g db --warning=no-timestamp find directory | sort ) 120. incr03.at:28: ok 121. incr04.at:29: testing proper icontents initialization ... ./incr04.at:34: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 install-sh -d a/b >/dev/null || exit 77 awk 'BEGIN { for (i=1;i<=142;i++) printf("a/b/one_31_chars_long_file_name_%03d\n", i); }' < /dev/null | genfile --files-from - sleep 1 echo "Initial dump" tar cvf a0.tar -g a.sna a mv a/b a/c echo "Incremental dump" tar cvf a1.tar -g a.sna a ) ./incr04.at:34: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 install-sh -d a/b >/dev/null || exit 77 awk 'BEGIN { for (i=1;i<=142;i++) printf("a/b/one_31_chars_long_file_name_%03d\n", i); }' < /dev/null | genfile --files-from - sleep 1 echo "Initial dump" tar cvf a0.tar -g a.sna a mv a/b a/c echo "Incremental dump" tar cvf a1.tar -g a.sna a ) ./incr04.at:34: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * ckmtime || exit 77 install-sh -d a/b >/dev/null || exit 77 awk 'BEGIN { for (i=1;i<=142;i++) printf("a/b/one_31_chars_long_file_name_%03d\n", i); }' < /dev/null | genfile --files-from - sleep 1 echo "Initial dump" tar cvf a0.tar -g a.sna a mv a/b a/c echo "Incremental dump" tar cvf a1.tar -g a.sna a ) 121. incr04.at:29: ok 122. incr05.at:21: testing incremental dumps with -C ... ./incr05.at:24: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 mkdir dir mkdir dir/sub genfile --file dir/file1 genfile --file dir/sub/file2 echo Level 0 tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . genfile --file dir/file3 echo Level 1 tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . ) ./incr05.at:24: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 mkdir dir mkdir dir/sub genfile --file dir/file1 genfile --file dir/sub/file2 echo Level 0 tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . genfile --file dir/file3 echo Level 1 tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . ) ./incr05.at:24: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * ckmtime || exit 77 mkdir dir mkdir dir/sub genfile --file dir/file1 genfile --file dir/sub/file2 echo Level 0 tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . genfile --file dir/file3 echo Level 1 tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . ) 122. incr05.at:21: ok 123. incr06.at:21: testing incremental dumps of nested directories ... ./incr06.at:24: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 mkdir dir mkdir dir/sub mkdir dir/sub/a mkdir dir/sub/b genfile --file dir/file1 genfile --file dir/sub/file2 genfile --file dir/sub/a/file3 echo Level 0 . sub tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub echo Level 0 sub . tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . mkdir dir/c genfile --file dir/sub/b/file4 echo Level 1 . sub tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub echo Level 1 sub . tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . ) ./incr06.at:24: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 mkdir dir mkdir dir/sub mkdir dir/sub/a mkdir dir/sub/b genfile --file dir/file1 genfile --file dir/sub/file2 genfile --file dir/sub/a/file3 echo Level 0 . sub tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub echo Level 0 sub . tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . mkdir dir/c genfile --file dir/sub/b/file4 echo Level 1 . sub tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub echo Level 1 sub . tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . ) ./incr06.at:24: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * ckmtime || exit 77 mkdir dir mkdir dir/sub mkdir dir/sub/a mkdir dir/sub/b genfile --file dir/file1 genfile --file dir/sub/file2 genfile --file dir/sub/a/file3 echo Level 0 . sub tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub echo Level 0 sub . tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . mkdir dir/c genfile --file dir/sub/b/file4 echo Level 1 . sub tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub echo Level 1 sub . tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . ) 123. incr06.at:21: ok 124. incr07.at:18: testing incremental restores with -C ... ./incr07.at:40: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 mkdir dirA echo 'a' > dirA/a echo 'a' > dirA/b decho C0 tar -g test.snar -vcf test.0.tar dirA echo 'a' > dirA/c decho C1 tar -g test.snar -vcf test.1.tar dirA rm -f dirA/a decho C2 tar -g test.snar -vcf test.2.tar dirA mkdir ext rm -rf dirA decho E0 tar -g test.snar -vxf test.0.tar -C ext/ decho E1 tar -g test.snar -vxf test.1.tar -C ext/ decho E2 tar -g test.snar -vxf test.2.tar -C ext/ mkdir ext/dirA/dirB touch ext/dirA/dirB/file decho E3 tar -g test.snar -vxf test.2.tar -C ext/ echo FIN test -d dirA && echo >&2 "toplevel dirA exists" exit 0 ) ./incr07.at:40: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 mkdir dirA echo 'a' > dirA/a echo 'a' > dirA/b decho C0 tar -g test.snar -vcf test.0.tar dirA echo 'a' > dirA/c decho C1 tar -g test.snar -vcf test.1.tar dirA rm -f dirA/a decho C2 tar -g test.snar -vcf test.2.tar dirA mkdir ext rm -rf dirA decho E0 tar -g test.snar -vxf test.0.tar -C ext/ decho E1 tar -g test.snar -vxf test.1.tar -C ext/ decho E2 tar -g test.snar -vxf test.2.tar -C ext/ mkdir ext/dirA/dirB touch ext/dirA/dirB/file decho E3 tar -g test.snar -vxf test.2.tar -C ext/ echo FIN test -d dirA && echo >&2 "toplevel dirA exists" exit 0 ) ./incr07.at:40: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * ckmtime || exit 77 mkdir dirA echo 'a' > dirA/a echo 'a' > dirA/b decho C0 tar -g test.snar -vcf test.0.tar dirA echo 'a' > dirA/c decho C1 tar -g test.snar -vcf test.1.tar dirA rm -f dirA/a decho C2 tar -g test.snar -vcf test.2.tar dirA mkdir ext rm -rf dirA decho E0 tar -g test.snar -vxf test.0.tar -C ext/ decho E1 tar -g test.snar -vxf test.1.tar -C ext/ decho E2 tar -g test.snar -vxf test.2.tar -C ext/ mkdir ext/dirA/dirB touch ext/dirA/dirB/file decho E3 tar -g test.snar -vxf test.2.tar -C ext/ echo FIN test -d dirA && echo >&2 "toplevel dirA exists" exit 0 ) 124. incr07.at:18: ok 125. incr08.at:38: testing filename normalization ... ./incr08.at:41: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir tartest cd tartest mkdir foo mkdir foo/subdir mkdir foo/subdir/dir1 mkdir subdir mkdir subdir/dir2 decho A find .|sort decho B DIR=`pwd` tar -cvf ../foo.tar --listed-incremental=../foo.snar -C foo . $DIR ) stderr: A B tar: .: Directory is new tar: ./subdir: Directory is new tar: ./subdir/dir1: Directory is new tar: /build/reproducible-path/tar-1.34+dfsg/tests/testsuite.dir/125/gnu/tartest: Directory is new tar: /build/reproducible-path/tar-1.34+dfsg/tests/testsuite.dir/125/gnu/tartest/subdir: Directory is new tar: /build/reproducible-path/tar-1.34+dfsg/tests/testsuite.dir/125/gnu/tartest/subdir/dir2: Directory is new tar: Removing leading `/' from member names stdout: A . ./foo ./foo/subdir ./foo/subdir/dir1 ./subdir ./subdir/dir2 B ./ ./subdir/ ./subdir/dir1/ /build/reproducible-path/tar-1.34+dfsg/tests/testsuite.dir/125/gnu/tartest/ /build/reproducible-path/tar-1.34+dfsg/tests/testsuite.dir/125/gnu/tartest/subdir/ /build/reproducible-path/tar-1.34+dfsg/tests/testsuite.dir/125/gnu/tartest/subdir/dir2/ ./incr08.at:41: DIR=`pwd`/gnu/tartest sed "s|$DIR|ABSPATH|" stdout ./incr08.at:41: DIR=`pwd`/gnu/tartest sed "/tar: Removing leading \`\/*\/' from/d;s|$DIR|ABSPATH|" stderr 125. incr08.at:38: ok 126. incr09.at:26: testing incremental with alternating -C ... ./incr09.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo bar middle echo foo/foo_file > foo/foo_file echo bar/bar_file > bar/bar_file echo middle/file > middle/middle_file decho A tar -cvf foo.tar --incremental -C foo . -C `pwd` middle -C bar . rm foo.tar >toplevel_file decho B tar -cvf foo.tar --incremental -C foo . -C `pwd` toplevel_file -C bar . ) 126. incr09.at:26: ok 127. incr10.at:18: testing concatenated incremental archives (deletes) ... ./incr10.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 mkdir in mkdir in/dir decho Level 0 tar -cvf 1.tar -g snap -C in . rmdir in/dir decho Level 1 tar -cvf 2.tar -g snap -C in . cp 1.tar full.tar decho Concat tar -A 2.tar -f full.tar -g /dev/null decho Extract mkdir out tar -xvf full.tar -g /dev/null -C out ) 127. incr10.at:18: ok 128. incr11.at:25: testing concatenated incremental archives (renames) ... ./incr11.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 test -z "`sort < /dev/null 2>&1`" || exit 77 install-sh -d data/dir >/dev/null && genfile --file data/dir/file || exit 77 decho Level 0 tar -cvf full.tar -g snap -C data . decho Level 1 mv data/dir data/dir2 tar -cvf incr.tar -g snap -C data . decho Concat cp full.tar full2.tar tar -A -f full2.tar incr.tar decho Extract mkdir out tar -xvf full2.tar -g /dev/null -C out decho List find out | sort ) 128. incr11.at:25: ok Files removed while archiving 129. filerem01.at:36: testing file removed as we read it ... ./filerem01.at:39: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir dir mkdir dir/sub genfile --file dir/file1 genfile --file dir/sub/file2 genfile --run --checkpoint=3 --unlink dir/file1 -- \ tar --blocking-factor=1 -c -f archive.tar \ --listed-incremental db -v dir >/dev/null ) stdout: ./filerem01.at:39: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir dir mkdir dir/sub genfile --file dir/file1 genfile --file dir/sub/file2 genfile --run --checkpoint=3 --unlink dir/file1 -- \ tar --blocking-factor=1 -c -f archive.tar \ --listed-incremental db -v dir >/dev/null ) stdout: 129. filerem01.at:36: ok 130. filerem02.at:26: testing toplevel file removed ... ./filerem02.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir dir mkdir dir/sub genfile --file dir/file1 genfile --file dir/sub/file2 mkdir dir2 genfile --file dir2/file1 genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \ tar --blocking-factor=1 -c -f archive.tar \ --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null ) stderr: tar: dir2: Cannot stat: No such file or directory tar: dir2: Cannot open: No such file or directory tar: Exiting with failure status due to previous errors stdout: ./filerem02.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir dir mkdir dir/sub genfile --file dir/file1 genfile --file dir/sub/file2 mkdir dir2 genfile --file dir2/file1 genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \ tar --blocking-factor=1 -c -f archive.tar \ --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null ) stderr: tar: dir2: Cannot stat: No such file or directory tar: dir2: Cannot open: No such file or directory tar: Exiting with failure status due to previous errors stdout: 130. filerem02.at:26: ok Directories removed while archiving 131. dirrem01.at:38: testing directory removed before reading ... ./dirrem01.at:41: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir dir mkdir dir/sub genfile --file dir/file1 genfile --file dir/sub/file2 case "$TEST_TAR_FORMAT" in posix) CPT=5;; gnu) CPT=3;; *) exit 77 esac genfile --run --checkpoint=$CPT --unlink dir/sub/file2 --unlink dir/sub -- \ tar --blocking-factor=1 -c -f archive.tar \ --listed-incremental db \ --warning=no-file-changed \ -v dir >/dev/null ) stdout: ./dirrem01.at:41: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir dir mkdir dir/sub genfile --file dir/file1 genfile --file dir/sub/file2 case "$TEST_TAR_FORMAT" in posix) CPT=5;; gnu) CPT=3;; *) exit 77 esac genfile --run --checkpoint=$CPT --unlink dir/sub/file2 --unlink dir/sub -- \ tar --blocking-factor=1 -c -f archive.tar \ --listed-incremental db \ --warning=no-file-changed \ -v dir >/dev/null ) stdout: 131. dirrem01.at:38: ok 132. dirrem02.at:31: testing explicitly named directory removed before reading ... ./dirrem02.at:34: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir dir mkdir dir/sub genfile --file dir/file1 genfile --file dir/sub/file2 case "$TEST_TAR_FORMAT" in posix) CPT=5;; gnu) CPT=3;; *) exit 77 esac genfile --run --checkpoint=$CPT --unlink dir/sub/file2 --unlink dir/sub -- \ tar --blocking-factor=1 -c -f archive.tar \ --listed-incremental db \ --warning=no-file-changed \ -v dir dir/sub >/dev/null ) stdout: ./dirrem02.at:34: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir dir mkdir dir/sub genfile --file dir/file1 genfile --file dir/sub/file2 case "$TEST_TAR_FORMAT" in posix) CPT=5;; gnu) CPT=3;; *) exit 77 esac genfile --run --checkpoint=$CPT --unlink dir/sub/file2 --unlink dir/sub -- \ tar --blocking-factor=1 -c -f archive.tar \ --listed-incremental db \ --warning=no-file-changed \ -v dir dir/sub >/dev/null ) stdout: 132. dirrem02.at:31: ok Renames 133. rename01.at:24: testing renamed dirs in incrementals ... ./rename01.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo genfile --file foo/file1 genfile --file foo/file2 mkdir foo/bar genfile --file foo/bar/file echo "Creating base archive" tar -g incr -cf arch.1 -v foo mv foo/bar foo/baz echo "Creating incremental archive" tar -g incr -cf arch.2 -v foo mv foo old tar xfg arch.1 /dev/null echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" tar xfg arch.2 /dev/null echo Begin directory listing 2 find foo | sort echo End directory listing 2 ) ./rename01.at:27: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo genfile --file foo/file1 genfile --file foo/file2 mkdir foo/bar genfile --file foo/bar/file echo "Creating base archive" tar -g incr -cf arch.1 -v foo mv foo/bar foo/baz echo "Creating incremental archive" tar -g incr -cf arch.2 -v foo mv foo old tar xfg arch.1 /dev/null echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" tar xfg arch.2 /dev/null echo Begin directory listing 2 find foo | sort echo End directory listing 2 ) ./rename01.at:27: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo genfile --file foo/file1 genfile --file foo/file2 mkdir foo/bar genfile --file foo/bar/file echo "Creating base archive" tar -g incr -cf arch.1 -v foo mv foo/bar foo/baz echo "Creating incremental archive" tar -g incr -cf arch.2 -v foo mv foo old tar xfg arch.1 /dev/null echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" tar xfg arch.2 /dev/null echo Begin directory listing 2 find foo | sort echo End directory listing 2 ) 133. rename01.at:24: ok 134. rename02.at:24: testing move between hierarchies ... ./rename02.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo genfile --file foo/file1 genfile --file foo/file2 mkdir foo/bar genfile --file foo/bar/file.r mkdir foo/bar/baz genfile --file foo/bar/baz/file.z sleep 1 echo "Creating base archive" tar -g incr -cf arch.1 -v foo mv foo/bar/baz foo echo "Creating incremental archive" tar -g incr -cf arch.2 -v foo mv foo old tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr sort tmperr >&2 echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 ) ./rename02.at:27: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo genfile --file foo/file1 genfile --file foo/file2 mkdir foo/bar genfile --file foo/bar/file.r mkdir foo/bar/baz genfile --file foo/bar/baz/file.z sleep 1 echo "Creating base archive" tar -g incr -cf arch.1 -v foo mv foo/bar/baz foo echo "Creating incremental archive" tar -g incr -cf arch.2 -v foo mv foo old tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr sort tmperr >&2 echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 ) ./rename02.at:27: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo genfile --file foo/file1 genfile --file foo/file2 mkdir foo/bar genfile --file foo/bar/file.r mkdir foo/bar/baz genfile --file foo/bar/baz/file.z sleep 1 echo "Creating base archive" tar -g incr -cf arch.1 -v foo mv foo/bar/baz foo echo "Creating incremental archive" tar -g incr -cf arch.2 -v foo mv foo old tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr sort tmperr >&2 echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 ) 134. rename02.at:24: ok 135. rename03.at:23: testing cyclic renames ... ./rename03.at:26: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo genfile --file foo/file1 genfile --file foo/file2 mkdir foo/a genfile --file foo/a/filea mkdir foo/b genfile --file foo/b/fileb mkdir foo/c genfile --file foo/c/filec sleep 1 echo "First dump" echo "First dump">&2 tar -g incr -cf arch.1 -v foo 2>tmperr sort tmperr >&2 # Shuffle directories: (cd foo mv a $$ mv c a mv b c mv $$ b) echo "Second dump" echo "Second dump" >&2 tar -g incr -cf arch.2 -v foo 2>tmperr sort tmperr >&2 tar xfg arch.1 /dev/null --warning=no-timestamp echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 ) ./rename03.at:26: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo genfile --file foo/file1 genfile --file foo/file2 mkdir foo/a genfile --file foo/a/filea mkdir foo/b genfile --file foo/b/fileb mkdir foo/c genfile --file foo/c/filec sleep 1 echo "First dump" echo "First dump">&2 tar -g incr -cf arch.1 -v foo 2>tmperr sort tmperr >&2 # Shuffle directories: (cd foo mv a $$ mv c a mv b c mv $$ b) echo "Second dump" echo "Second dump" >&2 tar -g incr -cf arch.2 -v foo 2>tmperr sort tmperr >&2 tar xfg arch.1 /dev/null --warning=no-timestamp echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 ) ./rename03.at:26: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo genfile --file foo/file1 genfile --file foo/file2 mkdir foo/a genfile --file foo/a/filea mkdir foo/b genfile --file foo/b/fileb mkdir foo/c genfile --file foo/c/filec sleep 1 echo "First dump" echo "First dump">&2 tar -g incr -cf arch.1 -v foo 2>tmperr sort tmperr >&2 # Shuffle directories: (cd foo mv a $$ mv c a mv b c mv $$ b) echo "Second dump" echo "Second dump" >&2 tar -g incr -cf arch.2 -v foo 2>tmperr sort tmperr >&2 tar xfg arch.1 /dev/null --warning=no-timestamp echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 ) 135. rename03.at:23: ok 136. rename04.at:27: testing renamed directory containing subdirectories ... ./rename04.at:30: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 decho Creating directory structure mkdir directory mkdir directory/subdir genfile --file=directory/file decho Creating initial archive tar -cf archive.1 -g db.1 directory decho Renaming mv directory dir decho Creating incremental archive cp db.1 db.2 tar -cf archive.2 -g db.2 dir mv dir orig decho First restore tar -xf archive.1 -g db.1 find directory | sort decho Second restore tar -xf archive.2 -g db.2 find dir | sort ) ./rename04.at:30: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 decho Creating directory structure mkdir directory mkdir directory/subdir genfile --file=directory/file decho Creating initial archive tar -cf archive.1 -g db.1 directory decho Renaming mv directory dir decho Creating incremental archive cp db.1 db.2 tar -cf archive.2 -g db.2 dir mv dir orig decho First restore tar -xf archive.1 -g db.1 find directory | sort decho Second restore tar -xf archive.2 -g db.2 find dir | sort ) ./rename04.at:30: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 decho Creating directory structure mkdir directory mkdir directory/subdir genfile --file=directory/file decho Creating initial archive tar -cf archive.1 -g db.1 directory decho Renaming mv directory dir decho Creating incremental archive cp db.1 db.2 tar -cf archive.2 -g db.2 dir mv dir orig decho First restore tar -xf archive.1 -g db.1 find directory | sort decho Second restore tar -xf archive.2 -g db.2 find dir | sort ) 136. rename04.at:27: ok 137. rename05.at:24: testing renamed subdirectories ... ./rename05.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 decho Creating directory structure mkdir directory mkdir directory/subdir genfile --file=directory/file decho Creating initial archive tar -cf archive.1 -g db.1 directory decho Renaming mv directory/subdir directory/subdir.0 mv directory dir decho Creating incremental archive cp db.1 db.2 tar -cf archive.2 -g db.2 dir mv dir orig decho First restore tar -xf archive.1 -g db.1 --warning=no-timestamp find directory | sort decho Second restore tar -xf archive.2 -g db.2 --warning=no-timestamp find dir | sort ) ./rename05.at:27: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 decho Creating directory structure mkdir directory mkdir directory/subdir genfile --file=directory/file decho Creating initial archive tar -cf archive.1 -g db.1 directory decho Renaming mv directory/subdir directory/subdir.0 mv directory dir decho Creating incremental archive cp db.1 db.2 tar -cf archive.2 -g db.2 dir mv dir orig decho First restore tar -xf archive.1 -g db.1 --warning=no-timestamp find directory | sort decho Second restore tar -xf archive.2 -g db.2 --warning=no-timestamp find dir | sort ) ./rename05.at:27: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 decho Creating directory structure mkdir directory mkdir directory/subdir genfile --file=directory/file decho Creating initial archive tar -cf archive.1 -g db.1 directory decho Renaming mv directory/subdir directory/subdir.0 mv directory dir decho Creating incremental archive cp db.1 db.2 tar -cf archive.2 -g db.2 dir mv dir orig decho First restore tar -xf archive.1 -g db.1 --warning=no-timestamp find directory | sort decho Second restore tar -xf archive.2 -g db.2 --warning=no-timestamp find dir | sort ) 137. rename05.at:24: ok 138. rename06.at:19: testing chained renames ... ./rename06.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 decho Creating directory structure mkdir test test/d1 test/d2 genfile --file test/d1/file1 genfile --file test/d2/file2 decho First dump tar -c -g 0.snar -C test -f backup0.tar . decho Altering directory structure genfile --file test/d2/file3 mv test/d1 test/d3 mv test/d2 test/d1 decho Second dump cp 0.snar 1.snar tar -vc -g 1.snar -C test -f backup1.tar . mkdir test1 decho First extract tar -C test1 -x -g /dev/null -f backup0.tar decho Second extract tar -C test1 -x -g /dev/null -f backup1.tar decho Resulting directory find test1 | sort ) ./rename06.at:29: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 decho Creating directory structure mkdir test test/d1 test/d2 genfile --file test/d1/file1 genfile --file test/d2/file2 decho First dump tar -c -g 0.snar -C test -f backup0.tar . decho Altering directory structure genfile --file test/d2/file3 mv test/d1 test/d3 mv test/d2 test/d1 decho Second dump cp 0.snar 1.snar tar -vc -g 1.snar -C test -f backup1.tar . mkdir test1 decho First extract tar -C test1 -x -g /dev/null -f backup0.tar decho Second extract tar -C test1 -x -g /dev/null -f backup1.tar decho Resulting directory find test1 | sort ) ./rename06.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 decho Creating directory structure mkdir test test/d1 test/d2 genfile --file test/d1/file1 genfile --file test/d2/file2 decho First dump tar -c -g 0.snar -C test -f backup0.tar . decho Altering directory structure genfile --file test/d2/file3 mv test/d1 test/d3 mv test/d2 test/d1 decho Second dump cp 0.snar 1.snar tar -vc -g 1.snar -C test -f backup1.tar . mkdir test1 decho First extract tar -C test1 -x -g /dev/null -f backup0.tar decho Second extract tar -C test1 -x -g /dev/null -f backup1.tar decho Resulting directory find test1 | sort ) 138. rename06.at:19: ok 139. chtype.at:27: testing changed file types in incrementals ... ./chtype.at:30: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 mkdir directory/a genfile --file directory/a/a echo First backup tar --create --file=archive.1 --listed-incremental=db.1 directory sleep 2 # Remove directory b and create a file with this name. # Previous versions were not able to restore over this file. rm -r directory/b genfile --file directory/b genfile --file directory/a/b echo Second backup tar --create --file=archive.2 --listed-incremental=db.2 directory # Delete a rm -r directory echo Restore archive.1 tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp echo Restore archive.2 tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp find directory | sort ) ./chtype.at:30: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 mkdir directory/a genfile --file directory/a/a echo First backup tar --create --file=archive.1 --listed-incremental=db.1 directory sleep 2 # Remove directory b and create a file with this name. # Previous versions were not able to restore over this file. rm -r directory/b genfile --file directory/b genfile --file directory/a/b echo Second backup tar --create --file=archive.2 --listed-incremental=db.2 directory # Delete a rm -r directory echo Restore archive.1 tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp echo Restore archive.2 tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp find directory | sort ) ./chtype.at:30: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 mkdir directory/a genfile --file directory/a/a echo First backup tar --create --file=archive.1 --listed-incremental=db.1 directory sleep 2 # Remove directory b and create a file with this name. # Previous versions were not able to restore over this file. rm -r directory/b genfile --file directory/b genfile --file directory/a/b echo Second backup tar --create --file=archive.2 --listed-incremental=db.2 directory # Delete a rm -r directory echo Restore archive.1 tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp echo Restore archive.2 tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp find directory | sort ) 139. chtype.at:27: ok Ignore failing reads 140. ignfail.at:23: testing ignfail ... ./ignfail.at:26: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * # The test is meaningless for super-user. echo "test" > $$ chmod 0 $$ cat $$ > /dev/null 2>&1 result=$? rm -f $$ test $result -eq 0 && exit 77 touch file mkdir directory touch directory/file echo 1>&2 ----- chmod 000 file tar cf archive file status=$? chmod 600 file test $status = 2 || exit 1 echo 1>&2 ----- chmod 000 file tar cf archive --ignore-failed-read file || exit 1 status=$? chmod 600 file test $status = 0 || exit 1 echo 1>&2 ----- chmod 000 directory tar cf archive directory status=$? chmod 700 directory test $status = 2 || exit 1 echo 1>&2 ----- chmod 000 directory tar cf archive --ignore-failed-read directory || exit 1 status=$? chmod 700 directory test $status = 0 ) ./ignfail.at:26: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * # The test is meaningless for super-user. echo "test" > $$ chmod 0 $$ cat $$ > /dev/null 2>&1 result=$? rm -f $$ test $result -eq 0 && exit 77 touch file mkdir directory touch directory/file echo 1>&2 ----- chmod 000 file tar cf archive file status=$? chmod 600 file test $status = 2 || exit 1 echo 1>&2 ----- chmod 000 file tar cf archive --ignore-failed-read file || exit 1 status=$? chmod 600 file test $status = 0 || exit 1 echo 1>&2 ----- chmod 000 directory tar cf archive directory status=$? chmod 700 directory test $status = 2 || exit 1 echo 1>&2 ----- chmod 000 directory tar cf archive --ignore-failed-read directory || exit 1 status=$? chmod 700 directory test $status = 0 ) ./ignfail.at:26: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * # The test is meaningless for super-user. echo "test" > $$ chmod 0 $$ cat $$ > /dev/null 2>&1 result=$? rm -f $$ test $result -eq 0 && exit 77 touch file mkdir directory touch directory/file echo 1>&2 ----- chmod 000 file tar cf archive file status=$? chmod 600 file test $status = 2 || exit 1 echo 1>&2 ----- chmod 000 file tar cf archive --ignore-failed-read file || exit 1 status=$? chmod 600 file test $status = 0 || exit 1 echo 1>&2 ----- chmod 000 directory tar cf archive directory status=$? chmod 700 directory test $status = 2 || exit 1 echo 1>&2 ----- chmod 000 directory tar cf archive --ignore-failed-read directory || exit 1 status=$? chmod 700 directory test $status = 0 ) ./ignfail.at:26: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * # The test is meaningless for super-user. echo "test" > $$ chmod 0 $$ cat $$ > /dev/null 2>&1 result=$? rm -f $$ test $result -eq 0 && exit 77 touch file mkdir directory touch directory/file echo 1>&2 ----- chmod 000 file tar cf archive file status=$? chmod 600 file test $status = 2 || exit 1 echo 1>&2 ----- chmod 000 file tar cf archive --ignore-failed-read file || exit 1 status=$? chmod 600 file test $status = 0 || exit 1 echo 1>&2 ----- chmod 000 directory tar cf archive directory status=$? chmod 700 directory test $status = 2 || exit 1 echo 1>&2 ----- chmod 000 directory tar cf archive --ignore-failed-read directory || exit 1 status=$? chmod 700 directory test $status = 0 ) ./ignfail.at:26: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * # The test is meaningless for super-user. echo "test" > $$ chmod 0 $$ cat $$ > /dev/null 2>&1 result=$? rm -f $$ test $result -eq 0 && exit 77 touch file mkdir directory touch directory/file echo 1>&2 ----- chmod 000 file tar cf archive file status=$? chmod 600 file test $status = 2 || exit 1 echo 1>&2 ----- chmod 000 file tar cf archive --ignore-failed-read file || exit 1 status=$? chmod 600 file test $status = 0 || exit 1 echo 1>&2 ----- chmod 000 directory tar cf archive directory status=$? chmod 700 directory test $status = 2 || exit 1 echo 1>&2 ----- chmod 000 directory tar cf archive --ignore-failed-read directory || exit 1 status=$? chmod 700 directory test $status = 0 ) 140. ignfail.at:23: ok Link handling 141. link01.at:33: testing link count gt 2 ... ./link01.at:36: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * mkdir directory mkdir directory/test1 mkdir directory/test2 echo TEST > directory/test1/test.txt ln directory/test1/test.txt directory/test2/test.txt || exit 77 tar cf archive directory/test1/test.txt directory/test1/test.txt rm -r directory tar xf archive --warning=no-timestamp ls directory/test1 ) ./link01.at:36: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * mkdir directory mkdir directory/test1 mkdir directory/test2 echo TEST > directory/test1/test.txt ln directory/test1/test.txt directory/test2/test.txt || exit 77 tar cf archive directory/test1/test.txt directory/test1/test.txt rm -r directory tar xf archive --warning=no-timestamp ls directory/test1 ) ./link01.at:36: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * mkdir directory mkdir directory/test1 mkdir directory/test2 echo TEST > directory/test1/test.txt ln directory/test1/test.txt directory/test2/test.txt || exit 77 tar cf archive directory/test1/test.txt directory/test1/test.txt rm -r directory tar xf archive --warning=no-timestamp ls directory/test1 ) ./link01.at:36: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir directory mkdir directory/test1 mkdir directory/test2 echo TEST > directory/test1/test.txt ln directory/test1/test.txt directory/test2/test.txt || exit 77 tar cf archive directory/test1/test.txt directory/test1/test.txt rm -r directory tar xf archive --warning=no-timestamp ls directory/test1 ) ./link01.at:36: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir directory mkdir directory/test1 mkdir directory/test2 echo TEST > directory/test1/test.txt ln directory/test1/test.txt directory/test2/test.txt || exit 77 tar cf archive directory/test1/test.txt directory/test1/test.txt rm -r directory tar xf archive --warning=no-timestamp ls directory/test1 ) 141. link01.at:33: ok 142. link02.at:32: testing preserve hard links with --remove-files ... ./link02.at:35: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * genfile -l 64 -f file1 ln file1 file2 ln file2 file3 ln file3 file4 tar -c -f archive --remove-files file1 file2 file3 file4 tar tfv archive | sed -n 's/.*file[2-4] link to //p' ) ./link02.at:35: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile -l 64 -f file1 ln file1 file2 ln file2 file3 ln file3 file4 tar -c -f archive --remove-files file1 file2 file3 file4 tar tfv archive | sed -n 's/.*file[2-4] link to //p' ) ./link02.at:35: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * genfile -l 64 -f file1 ln file1 file2 ln file2 file3 ln file3 file4 tar -c -f archive --remove-files file1 file2 file3 file4 tar tfv archive | sed -n 's/.*file[2-4] link to //p' ) ./link02.at:35: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile -l 64 -f file1 ln file1 file2 ln file2 file3 ln file3 file4 tar -c -f archive --remove-files file1 file2 file3 file4 tar tfv archive | sed -n 's/.*file[2-4] link to //p' ) ./link02.at:35: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile -l 64 -f file1 ln file1 file2 ln file2 file3 ln file3 file4 tar -c -f archive --remove-files file1 file2 file3 file4 tar tfv archive | sed -n 's/.*file[2-4] link to //p' ) 142. link02.at:32: ok 143. link03.at:24: testing working -l with --remove-files ... ./link03.at:34: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * genfile -l 64 -f file1 ln file1 file2 ln file2 file3 ln file3 file4 echo archive.1 tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 genfile -l 64 -f file1 ln file1 file2 ln file2 file3 ln file3 file4 echo archive.2 tar -c -f archive.2 -l --remove-files file1 file2 file3 echo testing archive.2 tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' ) ./link03.at:34: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile -l 64 -f file1 ln file1 file2 ln file2 file3 ln file3 file4 echo archive.1 tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 genfile -l 64 -f file1 ln file1 file2 ln file2 file3 ln file3 file4 echo archive.2 tar -c -f archive.2 -l --remove-files file1 file2 file3 echo testing archive.2 tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' ) ./link03.at:34: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * genfile -l 64 -f file1 ln file1 file2 ln file2 file3 ln file3 file4 echo archive.1 tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 genfile -l 64 -f file1 ln file1 file2 ln file2 file3 ln file3 file4 echo archive.2 tar -c -f archive.2 -l --remove-files file1 file2 file3 echo testing archive.2 tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' ) ./link03.at:34: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile -l 64 -f file1 ln file1 file2 ln file2 file3 ln file3 file4 echo archive.1 tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 genfile -l 64 -f file1 ln file1 file2 ln file2 file3 ln file3 file4 echo archive.2 tar -c -f archive.2 -l --remove-files file1 file2 file3 echo testing archive.2 tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' ) ./link03.at:34: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile -l 64 -f file1 ln file1 file2 ln file2 file3 ln file3 file4 echo archive.1 tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 genfile -l 64 -f file1 ln file1 file2 ln file2 file3 ln file3 file4 echo archive.2 tar -c -f archive.2 -l --remove-files file1 file2 file3 echo testing archive.2 tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' ) 143. link03.at:24: ok 144. link04.at:29: testing link count is 1 but multiple occurrences ... ./link04.at:32: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * mkdir dir echo TEST > dir/file ln -s file dir/symlink || exit 77 tar cf archive dir dir tar tvf archive | sed ' s,.*[0-9] dir/,dir/, ' | sort echo -- tar cfl archive dir dir echo == tar chf archive dir tar tvf archive | sed ' s,.*[0-9] dir/,dir/, s,file,FOO,g s,symlink,FOO,g ' | sort ) ./link04.at:32: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * mkdir dir echo TEST > dir/file ln -s file dir/symlink || exit 77 tar cf archive dir dir tar tvf archive | sed ' s,.*[0-9] dir/,dir/, ' | sort echo -- tar cfl archive dir dir echo == tar chf archive dir tar tvf archive | sed ' s,.*[0-9] dir/,dir/, s,file,FOO,g s,symlink,FOO,g ' | sort ) ./link04.at:32: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * mkdir dir echo TEST > dir/file ln -s file dir/symlink || exit 77 tar cf archive dir dir tar tvf archive | sed ' s,.*[0-9] dir/,dir/, ' | sort echo -- tar cfl archive dir dir echo == tar chf archive dir tar tvf archive | sed ' s,.*[0-9] dir/,dir/, s,file,FOO,g s,symlink,FOO,g ' | sort ) ./link04.at:32: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir dir echo TEST > dir/file ln -s file dir/symlink || exit 77 tar cf archive dir dir tar tvf archive | sed ' s,.*[0-9] dir/,dir/, ' | sort echo -- tar cfl archive dir dir echo == tar chf archive dir tar tvf archive | sed ' s,.*[0-9] dir/,dir/, s,file,FOO,g s,symlink,FOO,g ' | sort ) ./link04.at:32: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir dir echo TEST > dir/file ln -s file dir/symlink || exit 77 tar cf archive dir dir tar tvf archive | sed ' s,.*[0-9] dir/,dir/, ' | sort echo -- tar cfl archive dir dir echo == tar chf archive dir tar tvf archive | sed ' s,.*[0-9] dir/,dir/, s,file,FOO,g s,symlink,FOO,g ' | sort ) 144. link04.at:29: ok Specific archive formats 145. longv7.at:24: testing long names in V7 archives ... ./longv7.at:30: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * mkdir this_is_a_very_long_name_for_a_directory_which_causes_problems touch this_is_a_very_long_name_for_a_directory_which_causes_problems/this_is_a_very_long_file_name_which_raises_issues.c tar cf archive this_is_a_very_long_name_for_a_directory_which_causes_problems echo separator tar tf archive ) 145. longv7.at:24: ok 146. long01.at:28: testing long file names divisible by block size ... ./long01.at:36: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * install-sh -d 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde >/dev/null && genfile --file 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde || exit 77 echo test > endfile tar cf archive 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde endfile tar tf archive) ./long01.at:36: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * install-sh -d 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde >/dev/null && genfile --file 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde || exit 77 echo test > endfile tar cf archive 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde endfile tar tf archive) 146. long01.at:28: ok 147. lustar01.at:21: testing ustar: unsplittable file name ... ./lustar01.at:27: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * genfile --file=this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_between_name_and_prefix || exit 77 tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_between_name_and_prefix ) 147. lustar01.at:21: ok 148. lustar02.at:21: testing ustar: unsplittable path name ... ./lustar02.at:32: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * install-sh -d this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be >/dev/null && genfile --file this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/tween_name_and_prefix || exit 77 tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be ) 148. lustar02.at:21: ok 149. lustar03.at:21: testing ustar: splitting long names ... ./lustar03.at:29: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * install-sh -d this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be >/dev/null && genfile --file this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/file || exit 77 echo "Create archive" tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be echo "List archive" tar tf archive) 149. lustar03.at:21: ok 150. old.at:23: testing old archives ... ./old.at:27: mkdir directory tar cfvo archive directory || exit 1 tar tf archive 150. old.at:23: ok 151. time01.at:20: testing time: tricky time stamps ... ./time01.at:23: mkdir pax (cd pax TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT TAR_OPTIONS="-H pax" export TAR_OPTIONS rm -rf * export TZ=UTC0 mkdir dir # Test files with time stamps that are near common sources of error, # typically near powers of 2 (for seconds) or near 0, 1970, or 9999 (years). # Use GNU-style @ notation for very large time stamps, since they # typically don't render into years correctly due to int overflow. for s in \ @-9223372036854775809 @-9223372036854775808 @-9223372036854775807 \ 0000-01-01T00:00:00 0000-01-01T00:00:01 \ 0000-01-02T00:00:00 \ 1697-10-17T11:03:27 1697-10-17T11:03:28 1697-10-17T11:03:29 \ 1833-11-24T17:31:43 1833-11-24T17:31:44 1833-11-24T17:31:45 \ 1901-12-13T20:45:51 1901-12-13T20:45:52 1901-12-13T20:45:53 \ 1901-12-14T20:45:51 \ 1969-12-31T23:59:58 1969-12-31T23:59:59 \ 1970-01-01T00:00:00 1970-01-01T00:00:01 \ 2038-01-18T03:14:07 \ 2038-01-19T03:14:07 2038-01-19T03:14:08 \ 2106-02-07T06:28:15 2106-02-07T06:28:16 \ 2242-03-16T12:56:31 2242-03-16T12:56:32 \ 9999-12-31T23:59:58 9999-12-31T23:59:59 \ @9223372036854775807 @9223372036854775808 do # Skip a time stamp $s if it's out of range for this platform, # of if it uses a notation that this platform does not recognize. touch -d $s dir/f$s >/dev/null 2>&1 || continue # Likewise for $s.1. If $s is the most negative time stamp and # time stamps are signed, then $s.1 is out of range. touch -d $s.1 dir/f$s.$ns >/dev/null 2>&1 || continue for frac in 01 001 00001 000001 0000001 00000001 000000001 0000000001 \ 9 99 999 99999 999999 9999999 99999999 999999999 9999999999 do touch -d $s.$frac dir/f$s.$frac done done tar -c -f archive.tar dir tar -d -f archive.tar dir ) 151. time01.at:20: ok 152. time02.at:20: testing time: clamping mtime ... ./time02.at:23: mkdir pax (cd pax TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT TAR_OPTIONS="-H pax" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 export TZ=UTC0 mkdir dir touch -d 2015-12-01T00:00:00 dir/a >/dev/null 2>&1 || exit 77 touch -d 2016-01-01T00:00:00 dir/b >/dev/null 2>&1 || exit 77 touch -d 2016-02-01T00:00:00 dir/c >/dev/null 2>&1 || exit 77 touch -d 2038-01-01T00:00:00 dir/d >/dev/null 2>&1 || exit 77 tar -c --mtime 2016-01-15T00:00:00 --clamp-mtime -f archive.tar dir tar -d -f archive.tar dir|sort ) 152. time02.at:20: ok Multivolume archives 153. multiv01.at:23: testing multivolume dumps from pipes ... ./multiv01.at:30: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * exec <&- genfile --length 7168 --file file1 for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \ " 9" "10" "11" "12" "13" "14" "15" "16" ; do \ echo "file2 block ${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" for count in 2 3 4 5 6 7 8 ; do echo "bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" done done >file2 if test $TEST_TAR_FORMAT = pax; then TAPE_LENGTH=11 else TAPE_LENGTH=10 fi tar -c --multi-volume --tape-length=$TAPE_LENGTH \ -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 mkdir extract-dir-pipe dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \ -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \ --tape-length=$TAPE_LENGTH --read-full-records || exit 1 cmp file1 extract-dir-pipe/file1 cmp file2 extract-dir-pipe/file2 ) ./multiv01.at:30: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * exec <&- genfile --length 7168 --file file1 for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \ " 9" "10" "11" "12" "13" "14" "15" "16" ; do \ echo "file2 block ${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" for count in 2 3 4 5 6 7 8 ; do echo "bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" done done >file2 if test $TEST_TAR_FORMAT = pax; then TAPE_LENGTH=11 else TAPE_LENGTH=10 fi tar -c --multi-volume --tape-length=$TAPE_LENGTH \ -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 mkdir extract-dir-pipe dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \ -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \ --tape-length=$TAPE_LENGTH --read-full-records || exit 1 cmp file1 extract-dir-pipe/file1 cmp file2 extract-dir-pipe/file2 ) ./multiv01.at:30: mkdir pax (cd pax TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT TAR_OPTIONS="-H pax" export TAR_OPTIONS rm -rf * exec <&- genfile --length 7168 --file file1 for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \ " 9" "10" "11" "12" "13" "14" "15" "16" ; do \ echo "file2 block ${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" for count in 2 3 4 5 6 7 8 ; do echo "bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" done done >file2 if test $TEST_TAR_FORMAT = pax; then TAPE_LENGTH=11 else TAPE_LENGTH=10 fi tar -c --multi-volume --tape-length=$TAPE_LENGTH \ -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 mkdir extract-dir-pipe dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \ -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \ --tape-length=$TAPE_LENGTH --read-full-records || exit 1 cmp file1 extract-dir-pipe/file1 cmp file2 extract-dir-pipe/file2 ) 153. multiv01.at:23: ok 154. multiv02.at:28: testing skipping a straddling member ... ./multiv02.at:31: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile --length 10240 --file en genfile --length 20000 --file to genfile --length 20000 --file tre genfile --length 10240 --file fire exec <&- tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 echo separator tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 ) ./multiv02.at:31: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile --length 10240 --file en genfile --length 20000 --file to genfile --length 20000 --file tre genfile --length 10240 --file fire exec <&- tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 echo separator tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 ) ./multiv02.at:31: mkdir pax (cd pax TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT TAR_OPTIONS="-H pax" export TAR_OPTIONS rm -rf * genfile --length 10240 --file en genfile --length 20000 --file to genfile --length 20000 --file tre genfile --length 10240 --file fire exec <&- tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 echo separator tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 ) 154. multiv02.at:28: ok 155. multiv03.at:30: testing MV archive & long filenames ... ./multiv03.at:33: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * AFILE=`awk 'BEGIN { for (i = 0; i < 100; i++) printf "a"; exit; }'` BFILE=`awk 'BEGIN { for (i = 0; i < 101; i++) printf "b"; exit; }'` cat > ../experr < ../expout < ../experr < ../expout </dev/null </dev/null </dev/null </dev/null </dev/null < uid.map < gid.map < uid.map > gid.map tar --owner-map=uid.map\ --group-map=gid.map\ --owner="Fallback Owner:4321" \ --group="Fallback Group:8765" \ --mtime='@0' \ --mode='u=rw,go=r' \ -cf 2.tar a tar -tvf 2.tar tar --numeric-owner -tvf 2.tar ) 164. map.at:21: ok Sparse files 165. sparse01.at:21: testing sparse files ... ./sparse01.at:24: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile --length 1000 -f begin genfile --length 1000 -f end genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 tar -c -f archive --sparse begin sparsefile end || exit 1 echo separator tar tfv archive echo separator mkdir directory tar Cxf directory archive --warning=no-timestamp genfile --stat=name,size sparsefile cmp sparsefile directory/sparsefile ) stdout: separator -rw-r--r-- pbuilder1/pbuilder1 1000 2025-04-11 05:22 begin -rw-r--r-- pbuilder1/pbuilder1 3102720 2025-04-11 05:22 sparsefile -rw-r--r-- pbuilder1/pbuilder1 1000 2025-04-11 05:22 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-- pbuilder1/pbuilder1 1000 2025-04-11 05:22 begin -rw-r--r-- pbuilder1/pbuilder1 3102720 2025-04-11 05:22 sparsefile -rw-r--r-- pbuilder1/pbuilder1 1000 2025-04-11 05:22 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-- pbuilder1/pbuilder1 1000 2025-04-11 05:22 begin -rw-r--r-- pbuilder1/pbuilder1 3102720 2025-04-11 05:22 sparsefile -rw-r--r-- pbuilder1/pbuilder1 1000 2025-04-11 05:22 end separator sparsefile 3102720 165. sparse01.at:21: ok 166. sparse02.at:21: testing extracting sparse file over a pipe ... ./sparse02.at:28: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 tar --hole-detection=raw -c -f archive --sparse sparsefile || exit 1 echo separator tar xfO archive | cat - > sparsecopy || exit 1 cmp sparsefile sparsecopy ) ./sparse02.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 tar --hole-detection=raw -c -f archive --sparse sparsefile || exit 1 echo separator tar xfO archive | cat - > sparsecopy || exit 1 cmp sparsefile sparsecopy ) ./sparse02.at:28: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 tar --hole-detection=raw -c -f archive --sparse sparsefile || exit 1 echo separator tar xfO archive | cat - > sparsecopy || exit 1 cmp sparsefile sparsecopy ) 166. sparse02.at:21: ok 167. sparse03.at:21: testing storing sparse files > 8G ... ./sparse03.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test "${TARTEST_SKIP_LARGE_FILES:-0}" != 0 && exit 77 genfile --length 1000 --file begin genfile --length 1000 --file end genfile --sparse --file sparsefile --block-size 512 8G A || exit 77 tar -c -f archive --sparse begin sparsefile end || exit 1 echo separator tar tfv archive echo separator mkdir directory tar Cxf directory archive genfile --stat=name,size sparsefile cmp sparsefile directory/sparsefile ) stdout: separator -rw-r--r-- pbuilder1/pbuilder1 1000 2025-04-11 05:22 begin -rw-r--r-- pbuilder1/pbuilder1 8589935104 2025-04-11 05:22 sparsefile -rw-r--r-- pbuilder1/pbuilder1 1000 2025-04-11 05:22 end separator sparsefile 8589935104 167. sparse03.at:21: ok 168. sparse04.at:21: testing storing long sparse file names ... ./sparse04.at:35: mkdir pax (cd pax TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT TAR_OPTIONS="-H pax" export TAR_OPTIONS rm -rf * genfile --sparse --file 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 --block-size 512 8M A || exit 77 tar -f - -c --sparse --posix 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | tar tf - ) 168. sparse04.at:21: ok 169. sparse05.at:21: testing listing sparse files bigger than 2^33 B ... ./sparse05.at:31: mkdir pax (cd pax TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT TAR_OPTIONS="-H pax" export TAR_OPTIONS rm -rf * test "${TARTEST_SKIP_LARGE_FILES:-0}" != 0 && exit 77 cat >mapfile <<'_ATEOF' 0 =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 _ATEOF genfile --sparse --file BIGFILE --block-size 4K - < mapfile || exit 77 tar -f - -c --sparse --posix BIGFILE | tar tvf - | awk '{ print $3, $(NF) }' ) 169. sparse05.at:21: ok 170. sparse06.at:21: testing storing sparse file using seek method ... ./sparse06.at:32: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * checkseekhole || exit 77 TAR_OPTIONS="$TAR_OPTIONS --hole-detection=seek" genfile --sparse --file bigsparse 0 ABC 8G DEF || exit 77 tar -cSf a bigsparse test $? -eq 0 || exit 1 rm -rf out archive.tar smallsparse && mkdir out genfile --sparse --quiet --file smallsparse 0 ABC || exit 77 tar -cSf archive.tar smallsparse tar -xf archive.tar -C out cmp smallsparse out/smallsparse rm -rf out archive.tar smallsparse && mkdir out genfile --sparse --quiet --file smallsparse 0 ABC 10M || exit 77 tar -cSf archive.tar smallsparse tar -xf archive.tar -C out cmp smallsparse out/smallsparse rm -rf out archive.tar smallsparse && mkdir out genfile --sparse --quiet --file smallsparse 0 ABC 10M DEF || exit 77 tar -cSf archive.tar smallsparse tar -xf archive.tar -C out cmp smallsparse out/smallsparse rm -rf out archive.tar smallsparse && mkdir out genfile --sparse --quiet --file smallsparse 10M || exit 77 tar -cSf archive.tar smallsparse tar -xf archive.tar -C out cmp smallsparse out/smallsparse rm -rf out archive.tar smallsparse && mkdir out genfile --sparse --quiet --file smallsparse 10M ABC || exit 77 tar -cSf archive.tar smallsparse tar -xf archive.tar -C out cmp smallsparse out/smallsparse rm -rf out archive.tar smallsparse && mkdir out genfile --sparse --quiet --file smallsparse 10M ABC 20M || exit 77 tar -cSf archive.tar smallsparse tar -xf archive.tar -C out cmp smallsparse out/smallsparse rm -rf out archive.tar smallsparse && mkdir out genfile --sparse --quiet --file smallsparse 10M DEF 20M GHI 30M JKL 40M || exit 77 tar -cSf archive.tar smallsparse tar -xf archive.tar -C out cmp smallsparse out/smallsparse ) 170. sparse06.at:21: ok 171. sparse07.at:21: testing sparse files with unicode names ... ./sparse07.at:24: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile --sparse --file žluť --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 tar -c -f archive --sparse žluť || exit 1 tar tf archive ) ./sparse07.at:24: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile --sparse --file žluť --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 tar -c -f archive --sparse žluť || exit 1 tar tf archive ) ./sparse07.at:24: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile --sparse --file žluť --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 tar -c -f archive --sparse žluť || exit 1 tar tf archive ) 171. sparse07.at:21: ok 172. sparsemv.at:21: testing sparse files in MV archives ... ./sparsemv.at:31: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * exec <&- TAR_OPTIONS="$TAR_OPTIONS --hole-detection=raw" genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 echo "Pass 1: Split between data blocks" echo "Create archive" tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 echo "Test archive" tar --record-size=512 -t -M -f arc.1 -f arc.2 echo "Compare archive" tar --record-size=512 -d -M -f arc.1 -f arc.2 echo "Pass 2: Split within a data block" genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 echo "Create archive" tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 echo "Test archive" tar --record-size=512 -t -M -f arc.1 -f arc.2 echo "Compare archive" tar --record-size=512 -d -M -f arc.1 -f arc.2 ) ./sparsemv.at:31: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * exec <&- TAR_OPTIONS="$TAR_OPTIONS --hole-detection=raw" genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 echo "Pass 1: Split between data blocks" echo "Create archive" tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 echo "Test archive" tar --record-size=512 -t -M -f arc.1 -f arc.2 echo "Compare archive" tar --record-size=512 -d -M -f arc.1 -f arc.2 echo "Pass 2: Split within a data block" genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 echo "Create archive" tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 echo "Test archive" tar --record-size=512 -t -M -f arc.1 -f arc.2 echo "Compare archive" tar --record-size=512 -d -M -f arc.1 -f arc.2 ) 172. sparsemv.at:21: ok 173. spmvp00.at:21: testing sparse files in PAX MV archives, v.0.0 ... ./spmvp00.at:24: mkdir pax (cd pax TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT TAR_OPTIONS="-H pax" export TAR_OPTIONS rm -rf * exec <&- TAR_OPTIONS="$TAR_OPTIONS --hole-detection=raw" genfile --sparse --file sparsefile 0 ABCDEFGHI 1M ABCDEFGHI || exit 77 echo "Pass 1: Split between data blocks" echo "Create archive" tar --sparse --sparse-version=0.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile echo "Test archive" tar -t -M -f arc.1 -f arc.2 -f arc.3 echo "Compare archive" tar -d -M -f arc.1 -f arc.2 -f arc.3 echo "Pass 2: Split within a data block" genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77 echo "Create archive" tar --sparse --sparse-version=0.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile echo "Test archive" tar -t -M -f arc.1 -f arc.2 -f arc.3 echo "Compare archive" tar -d -M -f arc.1 -f arc.2 -f arc.3 ) 173. spmvp00.at:21: ok 174. spmvp01.at:21: testing sparse files in PAX MV archives, v.0.1 ... ./spmvp01.at:24: mkdir pax (cd pax TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT TAR_OPTIONS="-H pax" export TAR_OPTIONS rm -rf * exec <&- TAR_OPTIONS="$TAR_OPTIONS --hole-detection=raw" genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 echo "Pass 1: Split between data blocks" echo "Create archive" tar --sparse --sparse-version=0.1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile echo "Test archive" tar -t -M -f arc.1 -f arc.2 -f arc.3 echo "Compare archive" tar -d -M -f arc.1 -f arc.2 -f arc.3 echo "Pass 2: Split within a data block" genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 echo "Create archive" tar --sparse --sparse-version=0.1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile echo "Test archive" tar -t -M -f arc.1 -f arc.2 -f arc.3 echo "Compare archive" tar -d -M -f arc.1 -f arc.2 -f arc.3 ) 174. spmvp01.at:21: ok 175. spmvp10.at:21: testing sparse files in PAX MV archives, v.1.0 ... ./spmvp10.at:24: mkdir pax (cd pax TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT TAR_OPTIONS="-H pax" export TAR_OPTIONS rm -rf * exec <&- TAR_OPTIONS="$TAR_OPTIONS --hole-detection=raw" genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77 echo "Pass 1: Split between data blocks" echo "Create archive" tar --sparse --sparse-version=1.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile echo "Test archive" tar -t -M -f arc.1 -f arc.2 -f arc.3 echo "Compare archive" tar -d -M -f arc.1 -f arc.2 -f arc.3 echo "Pass 2: Split within a data block" genfile --sparse --file sparsefile 0 ABCDEFG 1M ABCDEFGHI || exit 77 echo "Create archive" tar --sparse --sparse-version=1.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile echo "Test archive" tar -t -M -f arc.1 -f arc.2 -f arc.3 echo "Compare archive" tar -d -M -f arc.1 -f arc.2 -f arc.3 ) 175. spmvp10.at:21: ok 176. sptrcreat.at:33: testing sparse file truncated while archiving ... ./sptrcreat.at:36: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile --sparse --block-size=1024 --file foo \ 0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ || exit 77 genfile --file baz genfile --run --checkpoint 3 --length 200m --truncate foo -- \ tar --sparse -vcf bar foo baz echo Exit status: $? echo separator genfile --file foo --seek 200m --length 11575296 --pattern=zeros tar dvf bar | sed '/foo: Mod time differs/d') ./sptrcreat.at:36: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile --sparse --block-size=1024 --file foo \ 0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ || exit 77 genfile --file baz genfile --run --checkpoint 3 --length 200m --truncate foo -- \ tar --sparse -vcf bar foo baz echo Exit status: $? echo separator genfile --file foo --seek 200m --length 11575296 --pattern=zeros tar dvf bar | sed '/foo: Mod time differs/d') ./sptrcreat.at:36: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile --sparse --block-size=1024 --file foo \ 0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ || exit 77 genfile --file baz genfile --run --checkpoint 3 --length 200m --truncate foo -- \ tar --sparse -vcf bar foo baz echo Exit status: $? echo separator genfile --file foo --seek 200m --length 11575296 --pattern=zeros tar dvf bar | sed '/foo: Mod time differs/d') 176. sptrcreat.at:33: ok 177. sptrdiff00.at:26: testing file truncated in sparse region while comparing ... ./sptrdiff00.at:30: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile --sparse --block-size=1024 --file foo \ 0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ || exit 77 genfile --file baz echo creating tar --sparse -vcf bar foo baz echo comparing genfile --run --checkpoint 3 --length 200m --truncate foo -- \ tar --sparse -vdf bar ) ./sptrdiff00.at:30: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile --sparse --block-size=1024 --file foo \ 0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ || exit 77 genfile --file baz echo creating tar --sparse -vcf bar foo baz echo comparing genfile --run --checkpoint 3 --length 200m --truncate foo -- \ tar --sparse -vdf bar ) ./sptrdiff00.at:30: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile --sparse --block-size=1024 --file foo \ 0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ || exit 77 genfile --file baz echo creating tar --sparse -vcf bar foo baz echo comparing genfile --run --checkpoint 3 --length 200m --truncate foo -- \ tar --sparse -vdf bar ) 177. sptrdiff00.at:26: ok 178. sptrdiff01.at:26: testing file truncated in data region while comparing ... ./sptrdiff01.at:30: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile --sparse --block-size=1024 --file foo \ 0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ || exit 77 genfile --file baz echo creating tar --sparse -vcf bar foo baz echo comparing genfile --run --checkpoint 5 --length 221278210 --truncate foo -- \ tar --sparse -vdf bar ) ./sptrdiff01.at:30: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile --sparse --block-size=1024 --file foo \ 0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ || exit 77 genfile --file baz echo creating tar --sparse -vcf bar foo baz echo comparing genfile --run --checkpoint 5 --length 221278210 --truncate foo -- \ tar --sparse -vdf bar ) ./sptrdiff01.at:30: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile --sparse --block-size=1024 --file foo \ 0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ || exit 77 genfile --file baz echo creating tar --sparse -vcf bar foo baz echo comparing genfile --run --checkpoint 5 --length 221278210 --truncate foo -- \ tar --sparse -vdf bar ) 178. sptrdiff01.at:26: ok Updates 179. update.at:28: testing update unchanged directories ... ./update.at:31: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 10240 --pattern default --file directory/file2 tar cf archive directory || exit 1 echo separator tar uf archive directory || exit 1 echo separator tar tf archive | sort || exit 1 ) ./update.at:31: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 10240 --pattern default --file directory/file2 tar cf archive directory || exit 1 echo separator tar uf archive directory || exit 1 echo separator tar tf archive | sort || exit 1 ) ./update.at:31: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 10240 --pattern default --file directory/file2 tar cf archive directory || exit 1 echo separator tar uf archive directory || exit 1 echo separator tar tf archive | sort || exit 1 ) ./update.at:31: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 10240 --pattern default --file directory/file2 tar cf archive directory || exit 1 echo separator tar uf archive directory || exit 1 echo separator tar tf archive | sort || exit 1 ) ./update.at:31: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 10240 --pattern default --file directory/file2 tar cf archive directory || exit 1 echo separator tar uf archive directory || exit 1 echo separator tar tf archive | sort || exit 1 ) 179. update.at:28: ok 180. update01.at:29: testing update directories ... ./update01.at:32: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b tar cf arc a echo "separator" sleep 2 genfile --file a/c tar ufv arc a echo "separator" tar tf arc | sort || exit 1 ) ./update01.at:32: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b tar cf arc a echo "separator" sleep 2 genfile --file a/c tar ufv arc a echo "separator" tar tf arc | sort || exit 1 ) ./update01.at:32: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b tar cf arc a echo "separator" sleep 2 genfile --file a/c tar ufv arc a echo "separator" tar tf arc | sort || exit 1 ) ./update01.at:32: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b tar cf arc a echo "separator" sleep 2 genfile --file a/c tar ufv arc a echo "separator" tar tf arc | sort || exit 1 ) ./update01.at:32: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b tar cf arc a echo "separator" sleep 2 genfile --file a/c tar ufv arc a echo "separator" tar tf arc | sort || exit 1 ) 180. update01.at:29: ok 181. update02.at:26: testing update changed files ... ./update02.at:29: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b tar cf arc a echo "separator" sleep 2 touch a/b tar ufv arc a echo "separator" tar tf arc | sort || exit 1 ) ./update02.at:29: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b tar cf arc a echo "separator" sleep 2 touch a/b tar ufv arc a echo "separator" tar tf arc | sort || exit 1 ) ./update02.at:29: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b tar cf arc a echo "separator" sleep 2 touch a/b tar ufv arc a echo "separator" tar tf arc | sort || exit 1 ) ./update02.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b tar cf arc a echo "separator" sleep 2 touch a/b tar ufv arc a echo "separator" tar tf arc | sort || exit 1 ) ./update02.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b tar cf arc a echo "separator" sleep 2 touch a/b tar ufv arc a echo "separator" tar tf arc | sort || exit 1 ) 181. update02.at:26: ok 182. update03.at:20: testing update with chdir ... ./update03.at:27: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * mkdir dir1 mkdir dir2 mkdir dir1/subdir1 dir2/subdir2 genfile --file dir1/subdir1/a genfile --file dir2/subdir2/a echo Create tar -vcf arc.tar -C dir1 subdir1 -C ../dir2 subdir2 genfile --file dir1/subdir1/b genfile --file dir2/subdir2/c echo Update tar -vuf arc.tar -C dir1 subdir1 -C ../dir2 subdir2 ) ./update03.at:27: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * mkdir dir1 mkdir dir2 mkdir dir1/subdir1 dir2/subdir2 genfile --file dir1/subdir1/a genfile --file dir2/subdir2/a echo Create tar -vcf arc.tar -C dir1 subdir1 -C ../dir2 subdir2 genfile --file dir1/subdir1/b genfile --file dir2/subdir2/c echo Update tar -vuf arc.tar -C dir1 subdir1 -C ../dir2 subdir2 ) ./update03.at:27: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * mkdir dir1 mkdir dir2 mkdir dir1/subdir1 dir2/subdir2 genfile --file dir1/subdir1/a genfile --file dir2/subdir2/a echo Create tar -vcf arc.tar -C dir1 subdir1 -C ../dir2 subdir2 genfile --file dir1/subdir1/b genfile --file dir2/subdir2/c echo Update tar -vuf arc.tar -C dir1 subdir1 -C ../dir2 subdir2 ) ./update03.at:27: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir dir1 mkdir dir2 mkdir dir1/subdir1 dir2/subdir2 genfile --file dir1/subdir1/a genfile --file dir2/subdir2/a echo Create tar -vcf arc.tar -C dir1 subdir1 -C ../dir2 subdir2 genfile --file dir1/subdir1/b genfile --file dir2/subdir2/c echo Update tar -vuf arc.tar -C dir1 subdir1 -C ../dir2 subdir2 ) ./update03.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir dir1 mkdir dir2 mkdir dir1/subdir1 dir2/subdir2 genfile --file dir1/subdir1/a genfile --file dir2/subdir2/a echo Create tar -vcf arc.tar -C dir1 subdir1 -C ../dir2 subdir2 genfile --file dir1/subdir1/b genfile --file dir2/subdir2/c echo Update tar -vuf arc.tar -C dir1 subdir1 -C ../dir2 subdir2 ) 182. update03.at:20: ok Verifying the archive 183. verify.at:25: testing verify ... ./verify.at:28: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * touch foo tar -cvf archive.tar --verify foo ) ./verify.at:28: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * touch foo tar -cvf archive.tar --verify foo ) ./verify.at:28: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * touch foo tar -cvf archive.tar --verify foo ) ./verify.at:28: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * touch foo tar -cvf archive.tar --verify foo ) ./verify.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * touch foo tar -cvf archive.tar --verify foo ) 183. verify.at:25: ok Volume operations 184. volume.at:23: testing volume ... ./volume.at:26: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * tar -cf archive -V label -T /dev/null || exit 1 tar xfV archive label || exit 1 tar xfV archive 'la?el' || exit 1 tar xfV archive 'l*l' || exit 1 echo 1>&2 ----- tar xfV archive lab test $? = 2 || exit 1 echo 1>&2 ----- tar xfV archive bel test $? = 2 || exit 1 echo 1>&2 ----- tar xfV archive babel test $? = 2 ) ./volume.at:26: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * tar -cf archive -V label -T /dev/null || exit 1 tar xfV archive label || exit 1 tar xfV archive 'la?el' || exit 1 tar xfV archive 'l*l' || exit 1 echo 1>&2 ----- tar xfV archive lab test $? = 2 || exit 1 echo 1>&2 ----- tar xfV archive bel test $? = 2 || exit 1 echo 1>&2 ----- tar xfV archive babel test $? = 2 ) 184. volume.at:23: ok 185. volsize.at:29: testing volume header size ... ./volsize.at:32: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 test -z "$TEST_DATA_DIR" && exit 77 tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 echo Short Listing tar tf $TEST_DATA_DIR/abc.tar echo Verbose Listing tar --utc -tvf $TEST_DATA_DIR/abc.tar echo Extracted directory tar xf $TEST_DATA_DIR/abc.tar find abc|sort ) --- - 2025-04-11 05:25:15.663469139 -1200 +++ /build/reproducible-path/tar-1.34+dfsg/tests/testsuite.dir/at-groups/185/stdout 2025-04-11 05:25:15.647322914 -1200 @@ -1,10 +1 @@ -Short Listing -abc/not-a-file.gif -abc/CCC -Verbose Listing -V--------- 0/0 1536 2006-05-08 22:07 abc/not-a-file.gif--Volume Header-- --rw-r--r-- tom/users 0 2006-04-22 19:52 abc/CCC -Extracted directory -abc -abc/CCC 185. volsize.at:29: skipped (volsize.at:32) 186. comprec.at:21: testing compressed format recognition ... ./comprec.at:25: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 genfile --length 10240 --file file1 echo "separator" tar cfz archive file1 echo "separator" mv file1 orig tar xfv archive --warning=no-timestamp cmp orig file1 ) ./comprec.at:25: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 genfile --length 10240 --file file1 echo "separator" tar cfz archive file1 echo "separator" mv file1 orig tar xfv archive --warning=no-timestamp cmp orig file1 ) ./comprec.at:25: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 genfile --length 10240 --file file1 echo "separator" tar cfz archive file1 echo "separator" mv file1 orig tar xfv archive --warning=no-timestamp cmp orig file1 ) ./comprec.at:25: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 genfile --length 10240 --file file1 echo "separator" tar cfz archive file1 echo "separator" mv file1 orig tar xfv archive --warning=no-timestamp cmp orig file1 ) ./comprec.at:25: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 genfile --length 10240 --file file1 echo "separator" tar cfz archive file1 echo "separator" mv file1 orig tar xfv archive --warning=no-timestamp cmp orig file1 ) 186. comprec.at:21: ok 187. shortfile.at:26: testing short input files ... ./shortfile.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile --length 511 --file foo || exit 5 tar tf foo ) 187. shortfile.at:26: ok 188. shortupd.at:31: testing updating short archives ... ./shortupd.at:34: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * touch foo tar uf archive foo ) ./shortupd.at:34: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * touch foo tar uf archive foo ) ./shortupd.at:34: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * touch foo tar uf archive foo ) ./shortupd.at:34: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * touch foo tar uf archive foo ) ./shortupd.at:34: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * touch foo tar uf archive foo ) 188. shortupd.at:31: ok 189. truncate.at:29: testing truncate ... ./truncate.at:32: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * genfile --file foo --length 200k genfile --file baz genfile --run --checkpoint 10 --length 195k --truncate foo -- \ tar -vcf bar foo baz echo Exit status: $? echo separator genfile --file foo --seek 195k --length 5k --pattern=zeros tar dvf bar|sed '/foo: Mod time differs/d') ./truncate.at:32: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile --file foo --length 200k genfile --file baz genfile --run --checkpoint 10 --length 195k --truncate foo -- \ tar -vcf bar foo baz echo Exit status: $? echo separator genfile --file foo --seek 195k --length 5k --pattern=zeros tar dvf bar|sed '/foo: Mod time differs/d') ./truncate.at:32: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * genfile --file foo --length 200k genfile --file baz genfile --run --checkpoint 10 --length 195k --truncate foo -- \ tar -vcf bar foo baz echo Exit status: $? echo separator genfile --file foo --seek 195k --length 5k --pattern=zeros tar dvf bar|sed '/foo: Mod time differs/d') ./truncate.at:32: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile --file foo --length 200k genfile --file baz genfile --run --checkpoint 10 --length 195k --truncate foo -- \ tar -vcf bar foo baz echo Exit status: $? echo separator genfile --file foo --seek 195k --length 5k --pattern=zeros tar dvf bar|sed '/foo: Mod time differs/d') ./truncate.at:32: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile --file foo --length 200k genfile --file baz genfile --run --checkpoint 10 --length 195k --truncate foo -- \ tar -vcf bar foo baz echo Exit status: $? echo separator genfile --file foo --seek 195k --length 5k --pattern=zeros tar dvf bar|sed '/foo: Mod time differs/d') 189. truncate.at:29: ok 190. grow.at:24: testing grow ... ./grow.at:27: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * genfile --file foo --length 50000k genfile --file baz genfile --run=10 --checkpoint 10 --length 1024 --append foo -- tar -vcf bar foo baz ) ./grow.at:27: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile --file foo --length 50000k genfile --file baz genfile --run=10 --checkpoint 10 --length 1024 --append foo -- tar -vcf bar foo baz ) ./grow.at:27: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * genfile --file foo --length 50000k genfile --file baz genfile --run=10 --checkpoint 10 --length 1024 --append foo -- tar -vcf bar foo baz ) ./grow.at:27: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile --file foo --length 50000k genfile --file baz genfile --run=10 --checkpoint 10 --length 1024 --append foo -- tar -vcf bar foo baz ) ./grow.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile --file foo --length 50000k genfile --file baz genfile --run=10 --checkpoint 10 --length 1024 --append foo -- tar -vcf bar foo baz ) 190. grow.at:24: ok 191. sigpipe.at:21: testing sigpipe handling ... ./sigpipe.at:30: case `(cat "$at_myself" 2>&3 | :) 3>&1 >/dev/null` in #( ?*) exit 77;; esac genfile --length 2048 --file first genfile --length 2048 --file second genfile --length 2049 --file third tar cf archive first second third # Discard diagnostics that some shells generate about broken pipes. (tar tf archive 2>&3 | :) 3>&2 2>/dev/null 191. sigpipe.at:21: ok 192. comperr.at:18: testing compressor program failure ... ./comperr.at:28: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * tar --use-compress-program false -cf a.tar . 2>err rc=$? sed -n '$p' err exit $rc ) ./comperr.at:28: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * tar --use-compress-program false -cf a.tar . 2>err rc=$? sed -n '$p' err exit $rc ) ./comperr.at:28: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * tar --use-compress-program false -cf a.tar . 2>err rc=$? sed -n '$p' err exit $rc ) ./comperr.at:28: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * tar --use-compress-program false -cf a.tar . 2>err rc=$? sed -n '$p' err exit $rc ) ./comperr.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * tar --use-compress-program false -cf a.tar . 2>err rc=$? sed -n '$p' err exit $rc ) 192. comperr.at:18: ok Removing files after archiving 193. remfiles01.at:28: testing remove-files with compression ... ./remfiles01.at:32: echo "test" > $$ chmod 0 $$ cat $$ > /dev/null 2>&1 result=$? rm -f $$ test $result -eq 0 && exit 77 cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 case `(cat "$at_myself" 2>&3 | :) 3>&1 >/dev/null` in #( ?*) exit 77;; esac test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir dir cd dir genfile --file a --length 0 chmod 0 a genfile --file b mkdir c # Depending on when the SIGPIPE gets delivered, the invocation below # may finish with either # tar: a: Cannot write: Broken pipe # or # tar: Child returned status 2 # Discard diagnostics that some shells generate about broken pipes, # and discard all of tar's diagnostics except for the ones saying "(child)". # Gzip's exit code is propagated to the shell. Usually it is 141. # Convert all non-zero exits to 2 to make it predictable. (tar -c -f a -z --remove-files b c 2>err || (exit 2) ) 2>/dev/null EC=$? sed -n '/(child)/p' err >&2 rm err find . | sort exit $EC 193. remfiles01.at:28: ok 194. remfiles02.at:28: testing remove-files with compression: grand-child ... ./remfiles02.at:32: cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir dir cd dir mkdir a genfile --file b mkdir c tar -c -f a -z --remove-files b c 2>err EC=$? sed -n '/(child)/p' err >&2 rm err find . | sort exit $EC 194. remfiles02.at:28: ok 195. remfiles03.at:28: testing remove-files with symbolic links ... ./remfiles03.at:31: mkdir a mkdir a/b ln -s b a/c || exit 77 tar --remove-files -cf a.tar a genfile --stat a 195. remfiles03.at:28: ok 196. remfiles04a.at:25: testing remove-files with -C:rel in -c/non-incr. mode ... ./remfiles04a.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo echo bar > bar echo foobar > foo/bar tar -cf foo.tar --remove-files -C foo bar echo A find . | sort ) 196. remfiles04a.at:25: ok 197. remfiles04b.at:33: testing remove-files with -C:rel in -c/incr. mode ... ./remfiles04b.at:36: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo echo bar > bar echo foobar > foo/bar tar -cf foo.tar --incremental --remove-files -C foo bar echo A find . | sort ) 197. remfiles04b.at:33: ok 198. remfiles04c.at:33: testing remove-files with -C:rel in -r mode ... ./remfiles04c.at:36: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo echo bar > bar echo foobar > foo/bar tar -cf foo.tar -C foo bar echo A find . | sort tar -rf foo.tar --remove-files -C foo bar echo B find . | sort ) 198. remfiles04c.at:33: ok 199. remfiles05a.at:34: testing remove-files with -C:rel,rel in -c/non-incr. mode ... ./remfiles05a.at:37: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo mkdir bar echo file > file echo foo/file > foo/file echo bar/file > bar/file decho A tar -cvf foo.tar --remove-files -C foo file -C ../bar file decho B find . | sort ) 199. remfiles05a.at:34: ok 200. remfiles05b.at:25: testing remove-files with -C:rel,rel in -c/incr. mode ... ./remfiles05b.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo mkdir bar echo file > file echo foo/file > foo/file echo bar/file > bar/file decho A tar -cvf foo.tar --incremental --remove-files -C foo file -C ../bar file decho B find . | sort ) 200. remfiles05b.at:25: ok 201. remfiles05c.at:25: testing remove-files with -C:rel,rel in -r mode ... ./remfiles05c.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo mkdir bar echo file > file echo foo/file > foo/file echo bar/file > bar/file tar -cf foo.tar -C foo file -C ../bar file decho A find . | sort decho B tar -rvf foo.tar --remove-files -C foo file -C ../bar file decho C find . | sort ) 201. remfiles05c.at:25: ok 202. remfiles06a.at:25: testing remove-files with -C:rel,abs in -c/non-incr. mode ... ./remfiles06a.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo mkdir bar echo file > file echo foo/file > foo/file echo bar/file > bar/file DIR=`pwd` decho A tar -cvf foo.tar --remove-files -C foo file -C $DIR/bar file decho B find . | sort ) 202. remfiles06a.at:25: ok 203. remfiles06b.at:25: testing remove-files with -C:rel,abs in -c/incr. mode ... ./remfiles06b.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo mkdir bar echo file > file echo foo/file > foo/file echo bar/file > bar/file DIR=`pwd` decho A tar -cvf foo.tar --incremental --remove-files -C foo file -C $DIR/bar file decho B find . | sort ) 203. remfiles06b.at:25: ok 204. remfiles06c.at:25: testing remove-files with -C:rel,abs in -r mode ... ./remfiles06c.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo mkdir bar echo file > file echo foo/file > foo/file echo bar/file > bar/file DIR=`pwd` tar -cf foo.tar -C foo file -C $DIR/bar file decho A find . | sort decho B tar -rvf foo.tar --remove-files -C foo file -C $DIR/bar file decho C find . | sort ) 204. remfiles06c.at:25: ok 205. remfiles07a.at:25: testing remove-files with -C:abs,rel in -c/non-incr. mode ... ./remfiles07a.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo mkdir bar echo file > file echo foo/file > foo/file echo bar/file > bar/file DIR=`pwd` decho A tar -cvf foo.tar --remove-files -C $DIR/foo file -C ../bar file decho B find . | sort ) 205. remfiles07a.at:25: ok 206. remfiles07b.at:25: testing remove-files with -C:abs,rel in -c/incr. mode ... ./remfiles07b.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo mkdir bar echo file > file echo foo/file > foo/file echo bar/file > bar/file DIR=`pwd` decho A tar -cvf foo.tar --incremental --remove-files -C $DIR/foo file -C ../bar file decho B find . | sort ) 206. remfiles07b.at:25: ok 207. remfiles07c.at:25: testing remove-files with -C:abs,rel in -r mode ... ./remfiles07c.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo mkdir bar echo file > file echo foo/file > foo/file echo bar/file > bar/file DIR=`pwd` tar -cf foo.tar -C $DIR/foo file -C ../bar file decho A find . | sort decho B tar -rvf foo.tar --remove-files -C $DIR/foo file -C ../bar file decho C find . | sort ) 207. remfiles07c.at:25: ok 208. remfiles08a.at:28: testing remove-files deleting two subdirs in -c/non-incr. mode ... ./remfiles08a.at:31: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir foo mkdir bar echo foo/foo_file > foo/foo_file echo bar/bar_file > bar/bar_file decho A tar -cvf foo.tar --remove-files -C foo . -C ../bar . decho B find . ) 208. remfiles08a.at:28: ok 209. remfiles08b.at:31: testing remove-files deleting two subdirs in -c/incr. mode ... ./remfiles08b.at:34: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir foo mkdir bar echo foo/foo_file > foo/foo_file echo bar/bar_file > bar/bar_file decho A tar -cvf foo.tar --incremental --remove-files -C foo . -C ../bar . decho B find . ) 209. remfiles08b.at:31: ok 210. remfiles08c.at:28: testing remove-files deleting two subdirs in -r mode ... ./remfiles08c.at:31: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo mkdir bar echo foo/foo_file > foo/foo_file echo bar/bar_file > bar/bar_file tar -cf foo.tar -C foo . -C ../bar . decho A find . | sort decho B tar -rvf foo.tar --remove-files -C foo . -C ../bar . decho C find . ) 210. remfiles08c.at:28: ok 211. remfiles09a.at:25: testing remove-files on full directory in -c/non-incr. mode ... ./remfiles09a.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir foo echo foo/file > foo/file decho A tar -cvf foo.tar --remove-files foo decho B find . ) 211. remfiles09a.at:25: ok 212. remfiles09b.at:29: testing remove-files on full directory in -c/incr. mode ... ./remfiles09b.at:32: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir foo echo foo/file > foo/file decho A tar -cvf foo.tar --incremental --remove-files foo decho B find . ) 212. remfiles09b.at:29: ok 213. remfiles09c.at:25: testing remove-files on full directory in -r mode ... ./remfiles09c.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo echo foo/file > foo/file tar -cf foo.tar foo decho A find . | sort decho B tar -rvf foo.tar --remove-files foo decho C find . | sort ) 213. remfiles09c.at:25: ok 214. remfiles10.at:20: testing remove-files ... ./remfiles10.at:23: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir foo echo foo/file > foo/file decho A (cd foo && tar -cvf ../foo.tar --remove-files .) tar_status=$? decho B find foo exit $tar_status ) stderr: A tar: .: Cannot rmdir: Invalid argument tar: Exiting with failure status due to previous errors B ./remfiles10.at:44: sed '2s/:[^:]*$//' stderr 214. remfiles10.at:20: ok Extended attributes 215. xattr01.at:25: testing xattrs: basic functionality ... ./xattr01.at:28: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * file=$(TMPDIR=. mktemp fiXXXXXX) setfattr -n user.test -v test $file &> /dev/null if test "$?" != 0; then exit 77 fi getfattr $file &> /dev/null if test "$?" != 0; then exit 77 fi file=$(TMPDIR=. mktemp fiXXXXXX) setfattr -n user.test -v ahoj $file # check whether tar fails to store xattrs err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) if test "$err" != "0"; then exit 77 fi mkdir dir genfile --file dir/file setfattr -n user.test -v OurDirValue dir setfattr -n user.test -v OurFileValue dir/file tar --xattrs -cf archive.tar dir rm -rf dir tar --xattrs -xf archive.tar getfattr -h -d dir | grep -v -e '^#' -e ^$ getfattr -h -d dir/file | grep -v -e '^#' -e ^$ ) --- - 2025-04-11 05:25:36.735424335 -1200 +++ /build/reproducible-path/tar-1.34+dfsg/tests/testsuite.dir/at-groups/215/stdout 2025-04-11 05:25:36.715322914 -1200 @@ -1,3 +1 @@ -user.test="OurDirValue" -user.test="OurFileValue" 215. xattr01.at:25: skipped (xattr01.at:28) 216. xattr02.at:25: testing xattrs: change directory with -C option ... ./xattr02.at:28: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * file=$(TMPDIR=. mktemp fiXXXXXX) setfattr -n user.test -v test $file &> /dev/null if test "$?" != 0; then exit 77 fi getfattr $file &> /dev/null if test "$?" != 0; then exit 77 fi file=$(TMPDIR=. mktemp fiXXXXXX) setfattr -n user.test -v ahoj $file # check whether tar fails to store xattrs err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) if test "$err" != "0"; then exit 77 fi mkdir dir mkdir dir/subdir mkdir dir/subdir/subsubdir genfile --file dir/file1 genfile --file dir/subdir/file2 setfattr -n user.test -v OurFile1Value dir/file1 setfattr -n user.test -v OurFile2Value dir/subdir/file2 setfattr -n user.test -v OurDirValue dir/subdir/subsubdir tar --xattrs -cf archive.tar -C dir file1 -C subdir file2 subsubdir rm -rf dir tar --xattrs -xf archive.tar getfattr -h -d file1 | grep -v -e '^#' -e ^$ getfattr -h -d file2 | grep -v -e '^#' -e ^$ getfattr -h -d subsubdir | grep -v -e '^#' -e ^$ ) --- - 2025-04-11 05:25:37.023292702 -1200 +++ /build/reproducible-path/tar-1.34+dfsg/tests/testsuite.dir/at-groups/216/stdout 2025-04-11 05:25:37.011322914 -1200 @@ -1,4 +1 @@ -user.test="OurFile1Value" -user.test="OurFile2Value" -user.test="OurDirValue" 216. xattr02.at:25: skipped (xattr02.at:28) 217. xattr03.at:25: testing xattrs: trusted.* attributes ... ./xattr03.at:28: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * echo "test" > $$ chmod 0 $$ cat $$ > /dev/null 2>&1 result=$? rm -f $$ test $result -eq 0 || exit 77 file=$(TMPDIR=. mktemp fiXXXXXX) setfattr -n user.test -v test $file &> /dev/null if test "$?" != 0; then exit 77 fi getfattr $file &> /dev/null if test "$?" != 0; then exit 77 fi file=$(TMPDIR=. mktemp fiXXXXXX) setfattr -n user.test -v ahoj $file # check whether tar fails to store xattrs err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) if test "$err" != "0"; then exit 77 fi mkdir dir mkdir dir/subdir mkdir dir/subdir/subsubdir genfile --file dir/file1 genfile --file dir/subdir/file2 setfattr -n trusted.test -v OurFile1Value dir/file1 setfattr -n trusted.test -v OurFile2Value dir/subdir/file2 setfattr -n trusted.test -v OurDirValue dir/subdir/subsubdir tar --xattrs -cf archive.tar -C dir file1 -C subdir file2 subsubdir rm -rf dir tar --xattrs --xattrs-include=trusted* -xf archive.tar getfattr -mtrusted. -d file1 | grep -v -e '^#' -e ^$ getfattr -mtrusted. -d file2 | grep -v -e '^#' -e ^$ getfattr -mtrusted. -d subsubdir | grep -v -e '^#' -e ^$ ) --- - 2025-04-11 05:25:37.310904435 -1200 +++ /build/reproducible-path/tar-1.34+dfsg/tests/testsuite.dir/at-groups/217/stdout 2025-04-11 05:25:37.295322914 -1200 @@ -1,4 +1 @@ -trusted.test="OurFile1Value" -trusted.test="OurFile2Value" -trusted.test="OurDirValue" 217. xattr03.at:25: skipped (xattr03.at:28) 218. xattr04.at:26: testing xattrs: s/open/openat/ regression ... ./xattr04.at:29: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * file=$(TMPDIR=. mktemp fiXXXXXX) setfattr -n user.test -v test $file &> /dev/null if test "$?" != 0; then exit 77 fi getfattr $file &> /dev/null if test "$?" != 0; then exit 77 fi file=$(TMPDIR=. mktemp fiXXXXXX) setfattr -n user.test -v ahoj $file # check whether tar fails to store xattrs err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) if test "$err" != "0"; then exit 77 fi mkdir dir mkdir output genfile --file dir/file setfattr -n user.test -v value dir/file # archive whole directory including binary xattrs tar --xattrs -cf archive.tar -C dir . tar --xattrs -xf archive.tar -C output ret=$? getfattr -h -d output/file | grep -v -e '^#' -e ^$ exit $ret ) --- - 2025-04-11 05:25:37.555621070 -1200 +++ /build/reproducible-path/tar-1.34+dfsg/tests/testsuite.dir/at-groups/218/stdout 2025-04-11 05:25:37.539322914 -1200 @@ -1,2 +1 @@ -user.test="value" 218. xattr04.at:26: skipped (xattr04.at:29) 219. xattr05.at:28: testing xattrs: keywords with '=' and '%' ... ./xattr05.at:31: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * file=$(TMPDIR=. mktemp fiXXXXXX) setfattr -n user.test -v test $file &> /dev/null if test "$?" != 0; then exit 77 fi getfattr $file &> /dev/null if test "$?" != 0; then exit 77 fi file=$(TMPDIR=. mktemp fiXXXXXX) setfattr -n user.test -v ahoj $file # check whether tar fails to store xattrs err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) if test "$err" != "0"; then exit 77 fi mkdir dir mkdir output genfile --file dir/file setfattr -n user.=NAME%3D= -v value dir/file getfattr -d dir/file | grep -v '# ' > before # archive whole directory including binary xattrs tar --xattrs -cf archive.tar -C dir . tar --xattrs -xf archive.tar -C output getfattr -d output/file | grep -v '# ' > after diff before after ) 219. xattr05.at:28: skipped (xattr05.at:31) 220. xattr06.at:27: testing xattrs: exclude xattrs on create ... ./xattr06.at:30: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * file=$(TMPDIR=. mktemp fiXXXXXX) setfattr -n user.test -v test $file &> /dev/null if test "$?" != 0; then exit 77 fi getfattr $file &> /dev/null if test "$?" != 0; then exit 77 fi file=$(TMPDIR=. mktemp fiXXXXXX) setfattr -n user.test -v ahoj $file # check whether tar fails to store xattrs err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) if test "$err" != "0"; then exit 77 fi mkdir dir mkdir output genfile --file dir/file for attr in excluded incla inclb inclc incl_excluded do setfattr -n user.${attr} -v value dir/file || exit 77 done tar --xattrs-include=user.incl'*' --xattrs-exclude=user.incl_excluded -cf archive.tar -C dir . tar -xf archive.tar --xattrs-include=user.incl[ab] --xattrs-exclude=user.inclb -C output getfattr -d output/file | grep -v \ -e excluded \ -e inclb \ -e inclc > filtered getfattr -d output/file > full # if they differ then the attribute is still present diff filtered full ) 220. xattr06.at:27: skipped (xattr06.at:30) 221. xattr07.at:26: testing xattrs: xattrs and --skip-old-files ... ./xattr07.at:29: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * file=$(TMPDIR=. mktemp fiXXXXXX) setfattr -n user.test -v test $file &> /dev/null if test "$?" != 0; then exit 77 fi getfattr $file &> /dev/null if test "$?" != 0; then exit 77 fi file=$(TMPDIR=. mktemp fiXXXXXX) setfattr -n user.test -v ahoj $file # check whether tar fails to store xattrs err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) if test "$err" != "0"; then exit 77 fi mkdir dir genfile --file dir/file genfile --file dir/file2 setfattr -n user.test -v OurDirValue dir setfattr -n user.test -v OurFileValue dir/file setfattr -n user.test -v OurFileValue dir/file2 tar --xattrs --no-recursion -cf archive.tar dir dir/file dir/file2 setfattr -n user.test -v OurDirValue2 dir setfattr -n user.test -v OurFileValue2 dir/file setfattr -n user.test -v OurFileValue2 dir/file2 # Check that tar continues to file2 too! tar --xattrs -xvf archive.tar --skip-old-files tar --xattrs -xvf archive.tar --keep-old-files getfattr -h -d dir | grep -v -e '^#' -e ^$ getfattr -h -d dir/file | grep -v -e '^#' -e ^$ getfattr -h -d dir/file2 | grep -v -e '^#' -e ^$ ) --- - 2025-04-11 05:25:38.243081024 -1200 +++ /build/reproducible-path/tar-1.34+dfsg/tests/testsuite.dir/at-groups/221/stderr 2025-04-11 05:25:38.219322914 -1200 @@ -1,9 +1 @@ -tar: dir: skipping existing file -tar: dir/file: skipping existing file -tar: dir/file: skipping existing file -tar: dir/file2: skipping existing file -tar: dir/file2: skipping existing file -tar: dir/file: Cannot open: File exists -tar: dir/file2: Cannot open: File exists -tar: Exiting with failure status due to previous errors --- - 2025-04-11 05:25:38.271159265 -1200 +++ /build/reproducible-path/tar-1.34+dfsg/tests/testsuite.dir/at-groups/221/stdout 2025-04-11 05:25:38.239322914 -1200 @@ -1,10 +1 @@ -dir/ -dir/file -dir/file2 -dir/ -dir/file -dir/file2 -user.test="OurDirValue2" -user.test="OurFileValue2" -user.test="OurFileValue2" 221. xattr07.at:26: skipped (xattr07.at:29) 222. acls01.at:25: testing acls: basic functionality ... ./acls01.at:28: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * file=$(TMPDIR=. mktemp fiXXXXXX) setfattr -n user.test -v test $file &> /dev/null if test "$?" != 0; then exit 77 fi getfattr $file &> /dev/null if test "$?" != 0; then exit 77 fi file=$(TMPDIR=. mktemp fiXXXXXX) setfacl -m u:$UID:rwx $file &> /dev/null if test "$?" != 0; then exit 77 fi getfacl $file &> /dev/null if test "$?" != 0; then exit 77 fi rm -rf $file file=$(TMPDIR=. mktemp fiXXXXXX) setfacl -m u:$UID:rwx $file err=$( tar --acls -cf /dev/null $file 2>&1 >/dev/null | wc -l ) if test "$err" != "0"; then exit 77 fi mkdir dir genfile --file dir/file MYNAME=$( id -un ) setfacl -m u:$MYNAME:--x dir/file setfacl -m u:$MYNAME:--x dir getfattr -h -m. -d dir dir/file > before tar --acls -cf archive.tar dir rm -rf dir tar --acls -xf archive.tar getfattr -h -m. -d dir dir/file > after diff before after test "$?" = 0 ) 222. acls01.at:25: skipped (acls01.at:28) 223. acls02.at:25: testing acls: work with -C ... ./acls02.at:28: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * file=$(TMPDIR=. mktemp fiXXXXXX) setfattr -n user.test -v test $file &> /dev/null if test "$?" != 0; then exit 77 fi getfattr $file &> /dev/null if test "$?" != 0; then exit 77 fi file=$(TMPDIR=. mktemp fiXXXXXX) setfacl -m u:$UID:rwx $file &> /dev/null if test "$?" != 0; then exit 77 fi getfacl $file &> /dev/null if test "$?" != 0; then exit 77 fi rm -rf $file file=$(TMPDIR=. mktemp fiXXXXXX) setfacl -m u:$UID:rwx $file err=$( tar --acls -cf /dev/null $file 2>&1 >/dev/null | wc -l ) if test "$err" != "0"; then exit 77 fi mkdir dir mkdir dir/subdir genfile --file dir/subdir/file MYNAME=$( id -un ) setfacl -m u:$MYNAME:--x dir/subdir setfacl -m u:$MYNAME:--x dir/subdir/file cd dir getfattr -h -m. -d subdir subdir/file > ../before cd .. tar --acls -cf archive.tar -C dir subdir rm -rf dir mkdir dir tar --acls -xf archive.tar -C dir cd dir getfattr -h -m. -d subdir subdir/file > ../after cd .. diff before after test "$?" = 0 ) 223. acls02.at:25: skipped (acls02.at:28) 224. acls03.at:30: testing acls: default ACLs ... ./acls03.at:47: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * file=$(TMPDIR=. mktemp fiXXXXXX) setfattr -n user.test -v test $file &> /dev/null if test "$?" != 0; then exit 77 fi getfattr $file &> /dev/null if test "$?" != 0; then exit 77 fi file=$(TMPDIR=. mktemp fiXXXXXX) setfacl -m u:$UID:rwx $file &> /dev/null if test "$?" != 0; then exit 77 fi getfacl $file &> /dev/null if test "$?" != 0; then exit 77 fi rm -rf $file file=$(TMPDIR=. mktemp fiXXXXXX) setfacl -m u:$UID:rwx $file err=$( tar --acls -cf /dev/null $file 2>&1 >/dev/null | wc -l ) if test "$err" != "0"; then exit 77 fi test -z "`sort < /dev/null 2>&1`" || exit 77 MYNAME=$( id -un ) MYGROUP=$( id -gn ) # Prepare directory structure with default ACLs mkdir -p pure/d1/d2 genfile --file pure/d1/f2a genfile --file pure/d1/f2b genfile --file pure/d1/d2/f3a genfile --file pure/d1/d2/f3b setfacl -m g:$MYGROUP:r-x pure/d1 setfacl -d -m g:$MYGROUP:rwx pure/d1 setfacl -d -m u:$MYNAME:rwx pure/d1 # "*a" files have "some" additional ACLs setfacl -m u:$MYNAME:--- pure/d1/d2/f3a setfacl -m u:$MYNAME:--- pure/d1/f2a # use default format (no acls stored) tar -cf noacl.tar -C pure d1 # use posix format, acls stored tar --acls -cf acl.tar -C pure d1 # Directory names are chosen based on "how the files were extracted from # archive". Equivalent no* tags are used also: # ^sacl_ — extracted archive has stored ACLs # _def_ — target directory (-C) has default ACLs # _optacl$ — extraction was done with --acls option mkdir sacl_def_optacl mkdir sacl_def_optnoacl mkdir sacl_nodef_optacl mkdir sacl_nodef_optnoacl mkdir nosacl_def_optacl mkdir nosacl_def_optnoacl mkdir nosacl_nodef_optacl mkdir nosacl_nodef_optnoacl setfacl -d -m u:$MYNAME:--- nosacl_def_optnoacl sacl_def_optnoacl sacl_def_optacl nosacl_def_optacl setfacl -d -m g:$MYGROUP:--- nosacl_def_optnoacl sacl_def_optnoacl sacl_def_optacl nosacl_def_optacl tar -xf acl.tar -C sacl_nodef_optnoacl tar --acls -xf acl.tar -C sacl_nodef_optacl tar -xf acl.tar -C sacl_def_optnoacl tar --acls -xf acl.tar -C sacl_def_optacl tar -xf noacl.tar -C nosacl_def_optnoacl # _NO_ ACLs in output tar -xf noacl.tar -C nosacl_nodef_optnoacl tar -xf noacl.tar -C nosacl_nodef_optacl tar -cf noacl_repackaged.tar -C nosacl_nodef_optnoacl d1 # _NO_ ACLs in output (even when default ACLs exist) tar --acls -xf noacl_repackaged.tar -C nosacl_def_optacl cd pure pure="$(find d1 | sort | xargs -n 1 getfacl)" cd .. cd sacl_def_optacl sacl_def_optacl="$(find d1 | sort | xargs -n 1 getfacl)" cd .. cd sacl_def_optnoacl sacl_def_optnoacl="$(find d1 | sort | xargs -n 1 getfacl)" cd .. cd sacl_nodef_optacl sacl_nodef_optacl="$(find d1 | sort | xargs -n 1 getfacl)" cd .. cd sacl_nodef_optnoacl sacl_nodef_optnoacl="$(find d1 | sort | xargs -n 1 getfacl)" cd .. cd nosacl_def_optacl nosacl_def_optacl="$(find d1 | sort | xargs -n 1 getfacl)" cd .. cd nosacl_def_optnoacl nosacl_def_optnoacl="$(find d1 | sort | xargs -n 1 getfacl)" cd .. cd nosacl_nodef_optacl nosacl_nodef_optacl="$(find d1 | sort | xargs -n 1 getfacl)" cd .. cd nosacl_nodef_optnoacl nosacl_nodef_optnoacl="$(find d1 | sort | xargs -n 1 getfacl)" cd .. echo "$pure" > pure.log echo "$sacl_def_optacl" > sacl_def_optacl.log if test ! "$pure" "=" "$sacl_def_optacl"; then echo "bad 'pure' against 'sacl_def_optacl' output" fi echo "$sacl_def_optacl" > sacl_def_optacl.log echo "$sacl_nodef_optacl" > sacl_nodef_optacl.log if test ! "$sacl_def_optacl" "=" "$sacl_nodef_optacl"; then echo "bad 'sacl_def_optacl' against 'sacl_nodef_optacl' output" fi echo "$sacl_def_optnoacl" > sacl_def_optnoacl.log echo "$nosacl_def_optnoacl" > nosacl_def_optnoacl.log if test ! "$sacl_def_optnoacl" "=" "$nosacl_def_optnoacl"; then echo "bad 'sacl_def_optnoacl' against 'nosacl_def_optnoacl' output" fi echo "$sacl_nodef_optnoacl" > sacl_nodef_optnoacl.log echo "$nosacl_nodef_optnoacl" > nosacl_nodef_optnoacl.log if test ! "$sacl_nodef_optnoacl" "=" "$nosacl_nodef_optnoacl"; then echo "bad 'sacl_nodef_optnoacl' against 'nosacl_nodef_optnoacl' output" fi echo "$nosacl_def_optacl" > nosacl_def_optacl.log echo "$nosacl_nodef_optacl" > nosacl_nodef_optacl.log if test ! "$nosacl_def_optacl" "=" "$nosacl_nodef_optacl"; then echo "bad 'nosacl_def_optacl' against 'nosacl_nodef_optacl' output" fi echo "$nosacl_def_optacl" > nosacl_def_optacl.log echo "$nosacl_nodef_optnoacl" > nosacl_nodef_optnoacl.log if test ! "$nosacl_def_optacl" "=" "$nosacl_nodef_optnoacl"; then echo "bad 'nosacl_def_optacl' against 'nosacl_nodef_optnoacl' output" fi echo "$sacl_def_optacl" > sacl_def_optacl.log echo "$sacl_def_optnoacl" > sacl_def_optnoacl.log if test ! "$sacl_def_optacl" "!=" "$sacl_def_optnoacl"; then echo "bad 'sacl_def_optacl' against 'sacl_def_optnoacl' output" fi echo "$sacl_def_optacl" > sacl_def_optacl.log echo "$nosacl_def_optnoacl" > nosacl_def_optnoacl.log if test ! "$sacl_def_optacl" "!=" "$nosacl_def_optnoacl"; then echo "bad 'sacl_def_optacl' against 'nosacl_def_optnoacl' output" fi echo "$nosacl_def_optnoacl" > nosacl_def_optnoacl.log echo "$nosacl_nodef_optnoacl" > nosacl_nodef_optnoacl.log if test ! "$nosacl_def_optnoacl" "!=" "$nosacl_nodef_optnoacl"; then echo "bad 'nosacl_def_optnoacl' against 'nosacl_nodef_optnoacl' output" fi ) 224. acls03.at:30: skipped (acls03.at:47) 225. selnx01.at:25: testing selinux: basic store/restore ... ./selnx01.at:28: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * file=$(TMPDIR=. mktemp fiXXXXXX) setfattr -n user.test -v test $file &> /dev/null if test "$?" != 0; then exit 77 fi getfattr $file &> /dev/null if test "$?" != 0; then exit 77 fi file=$(TMPDIR=. mktemp fiXXXXXX) restorecon $file &> /dev/null if test "$?" != 0; then exit 77 fi chcon -h --user=unconfined_u $file &> /dev/null if test "$?" != 0; then exit 77 fi rm -rf $file file=$(TMPDIR=. mktemp fiXXXXXX) err=$( tar --selinux -cf /dev/null $file 2>&1 >/dev/null | wc -l ) if test "$err" != "0"; then exit 77 fi mkdir dir genfile --file dir/file ln -s file dir/link getfattr -h -d -msecurity.selinux dir dir/file dir/link > start restorecon -R dir chcon -h --user=system_u dir chcon -h --user=unconfined_u dir/file chcon -h --user=system_u dir/link # archive whole directory including selinux contexts tar --selinux -cf archive.tar dir # clear the directory rm -rf dir # ================================================ # check if selinux contexts are correctly restored tar --selinux -xf archive.tar # archive for later debugging cp archive.tar archive_origin.tar # check if selinux contexts were restored getfattr -h -d dir dir/file dir/link -msecurity.selinux | \ grep -v -e '^#' -e ^$ | cut -d: -f1 # =========================================================================== # check if selinux contexts are not restored when --selinux option is missing getfattr -h -d -msecurity.selinux dir dir/file dir/link > with_selinux rm -rf dir tar -xf archive.tar getfattr -h -d -msecurity.selinux dir dir/file dir/link > without_selinux diff with_selinux without_selinux > diff_with_without if test "$?" -eq "0"; then echo "selinux contexts probably restored while --selinux is off" fi # ================================================================= # check if selinux is not archived when --selinux option is missing tar -cf archive.tar dir # clear the directory rm -rf dir # restore (with --selinux) tar --selinux -xf archive.tar dir getfattr -h -d -msecurity.selinux dir dir/file dir/link > final diff start final > final_diff if test "$?" -ne "0"; then echo "bad result" fi ) --- - 2025-04-11 05:25:39.231097946 -1200 +++ /build/reproducible-path/tar-1.34+dfsg/tests/testsuite.dir/at-groups/225/stdout 2025-04-11 05:25:39.203322914 -1200 @@ -1,4 +1 @@ -security.selinux="system_u -security.selinux="unconfined_u -security.selinux="system_u 225. selnx01.at:25: skipped (selnx01.at:28) 226. selacl01.at:25: testing acls/selinux: special files & fifos ... ./selacl01.at:28: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * echo "test" > $$ chmod 0 $$ cat $$ > /dev/null 2>&1 result=$? rm -f $$ test $result -eq 0 || exit 77 file=$(TMPDIR=. mktemp fiXXXXXX) setfattr -n user.test -v test $file &> /dev/null if test "$?" != 0; then exit 77 fi getfattr $file &> /dev/null if test "$?" != 0; then exit 77 fi file=$(TMPDIR=. mktemp fiXXXXXX) restorecon $file &> /dev/null if test "$?" != 0; then exit 77 fi chcon -h --user=unconfined_u $file &> /dev/null if test "$?" != 0; then exit 77 fi rm -rf $file file=$(TMPDIR=. mktemp fiXXXXXX) err=$( tar --selinux -cf /dev/null $file 2>&1 >/dev/null | wc -l ) if test "$err" != "0"; then exit 77 fi file=$(TMPDIR=. mktemp fiXXXXXX) setfacl -m u:$UID:rwx $file &> /dev/null if test "$?" != 0; then exit 77 fi getfacl $file &> /dev/null if test "$?" != 0; then exit 77 fi rm -rf $file file=$(TMPDIR=. mktemp fiXXXXXX) setfacl -m u:$UID:rwx $file err=$( tar --acls -cf /dev/null $file 2>&1 >/dev/null | wc -l ) if test "$err" != "0"; then exit 77 fi mkdir dir mkfifo dir/fifo MAJOR=$( stat /dev/urandom --printf="%t" ) MINOR=$( stat /dev/urandom --printf="%T" ) mknod dir/chartype c $MAJOR $MINOR # setup attributes restorecon -R dir chcon -h --user=system_u dir/fifo chcon -h --user=system_u dir/chartype setfacl -m u:$UID:--- dir/fifo setfacl -m u:$UID:rwx dir/chartype getfacl dir/fifo >> before getfattr -msecurity.selinux dir/chartype >> before tar --xattrs --selinux --acls -cf archive.tar dir mv dir olddir tar --xattrs --selinux --acls -xf archive.tar getfacl dir/fifo >> after getfattr -msecurity.selinux dir/chartype >> after diff before after echo separator ) --- - 2025-04-11 05:25:39.515490812 -1200 +++ /build/reproducible-path/tar-1.34+dfsg/tests/testsuite.dir/at-groups/226/stdout 2025-04-11 05:25:39.499322914 -1200 @@ -1,2 +1 @@ -separator 226. selacl01.at:25: skipped (selacl01.at:28) 227. capabs_raw01.at:25: testing capabilities: binary store/restore ... ./capabs_raw01.at:28: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * echo "test" > $$ chmod 0 $$ cat $$ > /dev/null 2>&1 result=$? rm -f $$ test $result -eq 0 || exit 77 file=$(TMPDIR=. mktemp fiXXXXXX) setfattr -n user.test -v test $file &> /dev/null if test "$?" != 0; then exit 77 fi getfattr $file &> /dev/null if test "$?" != 0; then exit 77 fi file=$(TMPDIR=. mktemp fiXXXXXX) setfattr -n user.test -v ahoj $file # check whether tar fails to store xattrs err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) if test "$err" != "0"; then exit 77 fi file=$(TMPDIR=. mktemp fiXXXXXX) setcap "= cap_chown=ei" $file &> /dev/null if test "$?" != 0; then exit 77 fi getcap $file &> /dev/null if test "$?" != 0; then exit 77 fi rm -rf $file mkdir dir genfile --file dir/file setcap "= cap_chown=ei" dir/file # archive whole directory including binary xattrs tar --xattrs -cf archive.tar dir # clear the directory rm -rf dir # restore _all_ xattrs (not just the user.* domain) tar --xattrs --xattrs-include='*' -xf archive.tar # Newer systems print = instead of + here getcap dir/file | sed 's/+/=/' ) --- - 2025-04-11 05:25:39.710488710 -1200 +++ /build/reproducible-path/tar-1.34+dfsg/tests/testsuite.dir/at-groups/227/stdout 2025-04-11 05:25:39.695322914 -1200 @@ -1,2 +1 @@ -dir/file = cap_chown=ei 227. capabs_raw01.at:25: skipped (capabs_raw01.at:28) One top level 228. onetop01.at:21: testing tar --one-top-level ... ./onetop01.at:24: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b genfile --file c tar cf a.tar a c mkdir out cd out tar --one-top-level -x -f ../a.tar find . | sort ) ./onetop01.at:24: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b genfile --file c tar cf a.tar a c mkdir out cd out tar --one-top-level -x -f ../a.tar find . | sort ) ./onetop01.at:24: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b genfile --file c tar cf a.tar a c mkdir out cd out tar --one-top-level -x -f ../a.tar find . | sort ) ./onetop01.at:24: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b genfile --file c tar cf a.tar a c mkdir out cd out tar --one-top-level -x -f ../a.tar find . | sort ) ./onetop01.at:24: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b genfile --file c tar cf a.tar a c mkdir out cd out tar --one-top-level -x -f ../a.tar find . | sort ) 228. onetop01.at:21: ok 229. onetop02.at:21: testing tar --one-top-level --show-transformed ... ./onetop02.at:24: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b genfile --file c tar cf a.tar a c mkdir out cd out tar --one-top-level --show-transformed -v -x -f ../a.tar find . | sort ) ./onetop02.at:24: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b genfile --file c tar cf a.tar a c mkdir out cd out tar --one-top-level --show-transformed -v -x -f ../a.tar find . | sort ) ./onetop02.at:24: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b genfile --file c tar cf a.tar a c mkdir out cd out tar --one-top-level --show-transformed -v -x -f ../a.tar find . | sort ) ./onetop02.at:24: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b genfile --file c tar cf a.tar a c mkdir out cd out tar --one-top-level --show-transformed -v -x -f ../a.tar find . | sort ) ./onetop02.at:24: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b genfile --file c tar cf a.tar a c mkdir out cd out tar --one-top-level --show-transformed -v -x -f ../a.tar find . | sort ) 229. onetop02.at:21: ok 230. onetop03.at:21: testing tar --one-top-level --transform ... ./onetop03.at:24: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b genfile --file c tar cf a.tar a c mkdir out cd out tar --one-top-level --transform 's/c/d/' -x -f ../a.tar find . | sort ) ./onetop03.at:24: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b genfile --file c tar cf a.tar a c mkdir out cd out tar --one-top-level --transform 's/c/d/' -x -f ../a.tar find . | sort ) ./onetop03.at:24: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b genfile --file c tar cf a.tar a c mkdir out cd out tar --one-top-level --transform 's/c/d/' -x -f ../a.tar find . | sort ) ./onetop03.at:24: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b genfile --file c tar cf a.tar a c mkdir out cd out tar --one-top-level --transform 's/c/d/' -x -f ../a.tar find . | sort ) ./onetop03.at:24: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b genfile --file c tar cf a.tar a c mkdir out cd out tar --one-top-level --transform 's/c/d/' -x -f ../a.tar find . | sort ) 230. onetop03.at:21: ok 231. onetop04.at:21: testing tar --one-top-level --transform ... ./onetop04.at:24: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b genfile --file c tar cf a.tar a c tar -tf a.tar --one-top-level --transform 's/c/d/' --show-transformed | sort ) ./onetop04.at:24: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b genfile --file c tar cf a.tar a c tar -tf a.tar --one-top-level --transform 's/c/d/' --show-transformed | sort ) ./onetop04.at:24: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b genfile --file c tar cf a.tar a c tar -tf a.tar --one-top-level --transform 's/c/d/' --show-transformed | sort ) ./onetop04.at:24: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b genfile --file c tar cf a.tar a c tar -tf a.tar --one-top-level --transform 's/c/d/' --show-transformed | sort ) ./onetop04.at:24: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir a genfile --file a/b genfile --file c tar cf a.tar a c tar -tf a.tar --one-top-level --transform 's/c/d/' --show-transformed | sort ) 231. onetop04.at:21: ok 232. onetop05.at:21: testing tar --one-top-level restoring permissions ... ./onetop05.at:28: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * orig_mode=3702 mkdir d chmod $orig_mode d mode=$(genfile --stat=mode.7777 d) test $mode = $orig_mode || exit 77 genfile --file d/file tar -cf d.tar -C d . rm -rf d (mkdir d1 chmod 700 d1 cd d1 tar --one-top-level=top -xpf ../d.tar) mode=$(genfile --stat=mode.777 d1) if test 700 = $mode; then echo "CWD: OK" else echo "CWD: mode changed: 700 != $mode" fi mkdir d2 chmod 700 d2 tar -C d2 --one-top-level=top -xpf d.tar mode=$(genfile --stat=mode.777 d2) if test 700 = $mode; then echo "DIR: OK" else echo "DIR: mode changed: 700 != $mode" fi mode=$(genfile --stat=mode.7777 d2/top) if test $mode = $orig_mode; then echo "TOP: OK" else echo "TOP: mode changed: $orig_mode != $mode" fi ) ./onetop05.at:28: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * orig_mode=3702 mkdir d chmod $orig_mode d mode=$(genfile --stat=mode.7777 d) test $mode = $orig_mode || exit 77 genfile --file d/file tar -cf d.tar -C d . rm -rf d (mkdir d1 chmod 700 d1 cd d1 tar --one-top-level=top -xpf ../d.tar) mode=$(genfile --stat=mode.777 d1) if test 700 = $mode; then echo "CWD: OK" else echo "CWD: mode changed: 700 != $mode" fi mkdir d2 chmod 700 d2 tar -C d2 --one-top-level=top -xpf d.tar mode=$(genfile --stat=mode.777 d2) if test 700 = $mode; then echo "DIR: OK" else echo "DIR: mode changed: 700 != $mode" fi mode=$(genfile --stat=mode.7777 d2/top) if test $mode = $orig_mode; then echo "TOP: OK" else echo "TOP: mode changed: $orig_mode != $mode" fi ) ./onetop05.at:28: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * orig_mode=3702 mkdir d chmod $orig_mode d mode=$(genfile --stat=mode.7777 d) test $mode = $orig_mode || exit 77 genfile --file d/file tar -cf d.tar -C d . rm -rf d (mkdir d1 chmod 700 d1 cd d1 tar --one-top-level=top -xpf ../d.tar) mode=$(genfile --stat=mode.777 d1) if test 700 = $mode; then echo "CWD: OK" else echo "CWD: mode changed: 700 != $mode" fi mkdir d2 chmod 700 d2 tar -C d2 --one-top-level=top -xpf d.tar mode=$(genfile --stat=mode.777 d2) if test 700 = $mode; then echo "DIR: OK" else echo "DIR: mode changed: 700 != $mode" fi mode=$(genfile --stat=mode.7777 d2/top) if test $mode = $orig_mode; then echo "TOP: OK" else echo "TOP: mode changed: $orig_mode != $mode" fi ) ./onetop05.at:28: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * orig_mode=3702 mkdir d chmod $orig_mode d mode=$(genfile --stat=mode.7777 d) test $mode = $orig_mode || exit 77 genfile --file d/file tar -cf d.tar -C d . rm -rf d (mkdir d1 chmod 700 d1 cd d1 tar --one-top-level=top -xpf ../d.tar) mode=$(genfile --stat=mode.777 d1) if test 700 = $mode; then echo "CWD: OK" else echo "CWD: mode changed: 700 != $mode" fi mkdir d2 chmod 700 d2 tar -C d2 --one-top-level=top -xpf d.tar mode=$(genfile --stat=mode.777 d2) if test 700 = $mode; then echo "DIR: OK" else echo "DIR: mode changed: 700 != $mode" fi mode=$(genfile --stat=mode.7777 d2/top) if test $mode = $orig_mode; then echo "TOP: OK" else echo "TOP: mode changed: $orig_mode != $mode" fi ) ./onetop05.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * orig_mode=3702 mkdir d chmod $orig_mode d mode=$(genfile --stat=mode.7777 d) test $mode = $orig_mode || exit 77 genfile --file d/file tar -cf d.tar -C d . rm -rf d (mkdir d1 chmod 700 d1 cd d1 tar --one-top-level=top -xpf ../d.tar) mode=$(genfile --stat=mode.777 d1) if test 700 = $mode; then echo "CWD: OK" else echo "CWD: mode changed: 700 != $mode" fi mkdir d2 chmod 700 d2 tar -C d2 --one-top-level=top -xpf d.tar mode=$(genfile --stat=mode.777 d2) if test 700 = $mode; then echo "DIR: OK" else echo "DIR: mode changed: 700 != $mode" fi mode=$(genfile --stat=mode.7777 d2/top) if test $mode = $orig_mode; then echo "TOP: OK" else echo "TOP: mode changed: $orig_mode != $mode" fi ) 232. onetop05.at:21: ok Star tests 233. gtarfail.at:21: testing gtarfail ... ./gtarfail.at:26: test -z "$STAR_TESTSCRIPTS" && exit 77 tarball_prereq gtarfail.tar bf7612e401aaa679edbb07ae1183811b $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 tar --utc -tvf $STAR_TESTSCRIPTS/gtarfail.tar --- - 2025-04-11 05:25:46.595979086 -1200 +++ /build/reproducible-path/tar-1.34+dfsg/tests/testsuite.dir/at-groups/233/stdout 2025-04-11 05:25:46.579322914 -1200 @@ -1,7 +1 @@ --rw-r--r-- jes/glone 518 2001-05-25 14:41 vedpowered.gif --rw-r--r-- jes/glone 6825 1997-04-29 00:19 cd.gif --rw-r--r-- jes/glone 33354 1999-06-22 12:17 DSCN0049c.JPG --rw-r--r-- jes/glone 86159 2001-06-05 18:16 Window1.jpg --rw-r--r-- jes/glone 1310 2001-05-25 13:05 vipower.gif --rw-rw-rw- jes/glone 148753 1998-09-15 13:08 billyboy.jpg 233. gtarfail.at:21: skipped (gtarfail.at:26) 234. gtarfail2.at:21: testing gtarfail2 ... ./gtarfail2.at:26: test -z "$STAR_TESTSCRIPTS" && exit 77 tarball_prereq gtarfail2.tar 6b607d1faec14b82f69525d9c5b66e53 $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 tar --utc -tvf $STAR_TESTSCRIPTS/gtarfail2.tar --- - 2025-04-11 05:25:46.775666600 -1200 +++ /build/reproducible-path/tar-1.34+dfsg/tests/testsuite.dir/at-groups/234/stdout 2025-04-11 05:25:46.763322914 -1200 @@ -1,11 +1 @@ --rwxr-xr-x jes/glone 214 2001-09-21 14:08 .clean -lrwxrwxrwx jes/cats 0 1998-05-07 12:39 RULES -> makefiles/RULES -drwxr-sr-x jes/glone 0 2001-12-10 00:00 build/ --rw-r--r-- jes/glone 312019 2001-12-10 00:00 build/smake-1.2.tar.gz -drwxr-sr-x jes/glone 0 2001-11-09 18:20 build/psmake/ --rwxr-xr-x jes/glone 259 2000-01-09 16:36 build/psmake/MAKE --rwxr-xr-x jes/glone 4820 2001-02-25 22:45 build/psmake/MAKE.sh --rw-r--r-- jes/glone 647 2001-02-25 23:50 build/psmake/Makefile -lrwxrwxrwx jes/glone 0 2001-08-29 10:53 build/psmake/archconf.c -> ../archconf.c -lrwxrwxrwx jes/glone 0 2001-08-29 10:54 build/psmake/astoi.c -> ../../lib/astoi.c 234. gtarfail2.at:21: skipped (gtarfail2.at:26) 235. multi-fail.at:21: testing multi-fail ... ./multi-fail.at:26: test -z "$STAR_TESTSCRIPTS" && exit 77 tarball_prereq gnu-multi-fail-volume1.gtar 7c28663dd98b0bd91ceb4be7af55254e $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 test -z "$STAR_TESTSCRIPTS" && exit 77 tarball_prereq gnu-multi-fail-volume2.gtar b5d41c4c3ec440687d4a44957b5079a8 $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 tar --utc -tvM -f $STAR_TESTSCRIPTS/gnu-multi-fail-volume1.gtar \ -f $STAR_TESTSCRIPTS/gnu-multi-fail-volume2.gtar <&- --- - 2025-04-11 05:25:46.975615375 -1200 +++ /build/reproducible-path/tar-1.34+dfsg/tests/testsuite.dir/at-groups/235/stdout 2025-04-11 05:25:46.955322914 -1200 @@ -1,53 +1 @@ -drwxrwsr-x joerg/bs 0 2003-10-11 14:32 OBJ/i386-sunos5-gcc/ --rw-r--r-- joerg/bs 1 2003-10-11 14:32 OBJ/i386-sunos5-gcc/Dnull --rw-r--r-- joerg/bs 1743 2003-10-10 18:06 OBJ/i386-sunos5-gcc/star.d --rw-r--r-- joerg/bs 1460 2003-10-11 11:53 OBJ/i386-sunos5-gcc/header.d --rw-r--r-- joerg/bs 1540 2003-10-10 18:06 OBJ/i386-sunos5-gcc/cpiohdr.d --rw-r--r-- joerg/bs 2245 2003-10-10 18:06 OBJ/i386-sunos5-gcc/xheader.d --rw-r--r-- joerg/bs 1254 2003-10-10 18:06 OBJ/i386-sunos5-gcc/xattr.d --rw-r--r-- joerg/bs 1330 2003-10-10 18:06 OBJ/i386-sunos5-gcc/list.d --rw-r--r-- joerg/bs 1745 2003-10-10 18:06 OBJ/i386-sunos5-gcc/extract.d --rw-r--r-- joerg/bs 1518 2003-10-10 18:06 OBJ/i386-sunos5-gcc/create.d --rw-r--r-- joerg/bs 1235 2003-10-10 18:06 OBJ/i386-sunos5-gcc/append.d --rw-r--r-- joerg/bs 1368 2003-10-10 18:06 OBJ/i386-sunos5-gcc/diff.d --rw-r--r-- joerg/bs 1423 2003-10-10 18:06 OBJ/i386-sunos5-gcc/remove.d --rw-r--r-- joerg/bs 1493 2003-10-10 18:07 OBJ/i386-sunos5-gcc/star_unix.d --rw-r--r-- joerg/bs 1572 2003-10-10 18:07 OBJ/i386-sunos5-gcc/acl_unix.d --rw-r--r-- joerg/bs 1453 2003-10-10 18:07 OBJ/i386-sunos5-gcc/fflags.d --rw-r--r-- joerg/bs 2257 2003-10-11 14:32 OBJ/i386-sunos5-gcc/buffer.d --rw-r--r-- joerg/bs 969 2003-10-07 17:53 OBJ/i386-sunos5-gcc/dirtime.d --rw-r--r-- joerg/bs 1308 2003-10-10 18:07 OBJ/i386-sunos5-gcc/lhash.d --rw-r--r-- joerg/bs 1287 2003-10-10 18:07 OBJ/i386-sunos5-gcc/hole.d --rw-r--r-- joerg/bs 1105 2003-10-10 18:07 OBJ/i386-sunos5-gcc/longnames.d --rw-r--r-- joerg/bs 1230 2003-10-10 18:07 OBJ/i386-sunos5-gcc/names.d --rw-r--r-- joerg/bs 1091 2003-10-10 18:07 OBJ/i386-sunos5-gcc/movearch.d --rw-r--r-- joerg/bs 961 2003-10-07 17:53 OBJ/i386-sunos5-gcc/table.d --rw-r--r-- joerg/bs 1113 2003-10-10 18:07 OBJ/i386-sunos5-gcc/props.d --rw-r--r-- joerg/bs 2146 2003-10-10 18:07 OBJ/i386-sunos5-gcc/fetchdir.d --rw-r--r-- joerg/bs 1093 2003-10-10 18:07 OBJ/i386-sunos5-gcc/unicode.d --rw-r--r-- joerg/bs 1211 2003-10-10 18:07 OBJ/i386-sunos5-gcc/subst.d --rw-r--r-- joerg/bs 2076 2003-10-11 11:53 OBJ/i386-sunos5-gcc/volhdr.d --rw-r--r-- joerg/bs 1480 2003-10-10 18:07 OBJ/i386-sunos5-gcc/chdir.d --rw-r--r-- joerg/bs 42460 2003-10-10 18:07 OBJ/i386-sunos5-gcc/star.o --rw-r--r-- joerg/bs 22564 2003-10-11 11:53 OBJ/i386-sunos5-gcc/header.o --rw-r--r-- joerg/bs 7880 2003-10-10 18:07 OBJ/i386-sunos5-gcc/cpiohdr.o --rw-r--r-- joerg/bs 14624 2003-10-10 18:07 OBJ/i386-sunos5-gcc/xheader.o --rw-r--r-- joerg/bs 924 2003-10-10 18:07 OBJ/i386-sunos5-gcc/xattr.o --rw-r--r-- joerg/bs 6120 2003-10-10 18:07 OBJ/i386-sunos5-gcc/list.o --rw-r--r-- joerg/bs 12764 2003-10-10 18:07 OBJ/i386-sunos5-gcc/extract.o --rw-r--r-- joerg/bs 14668 2003-10-10 18:07 OBJ/i386-sunos5-gcc/create.o --rw-r--r-- joerg/bs 2576 2003-10-10 18:07 OBJ/i386-sunos5-gcc/append.o --rw-r--r-- joerg/bs 7636 2003-10-10 18:07 OBJ/i386-sunos5-gcc/diff.o --rw-r--r-- joerg/bs 3072 2003-10-10 18:07 OBJ/i386-sunos5-gcc/remove.o --rw-r--r-- joerg/bs 5612 2003-10-10 18:07 OBJ/i386-sunos5-gcc/star_unix.o --rw-r--r-- joerg/bs 6220 2003-10-10 18:07 OBJ/i386-sunos5-gcc/acl_unix.o --rw-r--r-- joerg/bs 1092 2003-10-10 18:07 OBJ/i386-sunos5-gcc/fflags.o --rw-r--r-- joerg/bs 20996 2003-10-11 14:32 OBJ/i386-sunos5-gcc/buffer.o --rw-r--r-- joerg/bs 2060 2003-10-07 17:53 OBJ/i386-sunos5-gcc/dirtime.o --rw-r--r-- joerg/bs 1664 2003-10-10 18:07 OBJ/i386-sunos5-gcc/lhash.o --rw-r--r-- joerg/bs 10564 2003-10-10 18:07 OBJ/i386-sunos5-gcc/hole.o --rw-r--r-- joerg/bs 3864 2003-10-10 18:07 OBJ/i386-sunos5-gcc/longnames.o --rw-r--r-- joerg/bs 2576 2003-10-10 18:07 OBJ/i386-sunos5-gcc/names.o --rw-r--r-- joerg/bs 952 2003-10-10 18:07 OBJ/i386-sunos5-gcc/movearch.o --rw-r--r-- joerg/bs 2756 2003-10-07 17:53 OBJ/i386-sunos5-gcc/table.o 235. multi-fail.at:21: skipped (multi-fail.at:26) 236. ustar-big-2g.at:21: testing ustar-big-2g ... ./ustar-big-2g.at:26: test "${TARTEST_SKIP_LARGE_FILES:-0}" != 0 && exit 77 cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 test -z "$STAR_TESTSCRIPTS" && exit 77 tarball_prereq ustar-big-2g.tar.bz2 b63979733629c8fcdf40b60065422767 $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 tar --utc -tvjf $STAR_TESTSCRIPTS/ustar-big-2g.tar.bz2 stderr: --- - 2025-04-11 05:25:47.230982001 -1200 +++ /build/reproducible-path/tar-1.34+dfsg/tests/testsuite.dir/at-groups/236/stdout 2025-04-11 05:25:47.207322914 -1200 @@ -1,3 +1 @@ --rw------- jes/glone 2147483647 2002-06-15 14:53 big --rw-r--r-- jes/glone 0 2002-06-15 14:53 file 236. ustar-big-2g.at:21: skipped (ustar-big-2g.at:26) 237. ustar-big-8g.at:21: testing ustar-big-8g ... ./ustar-big-8g.at:26: test "${TARTEST_SKIP_LARGE_FILES:-0}" != 0 && exit 77 cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 test -z "$STAR_TESTSCRIPTS" && exit 77 tarball_prereq ustar-big-8g.tar.bz2 60ff503fa4b8288bef7ada89e9c91b0f $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 tar --utc -tvjf $STAR_TESTSCRIPTS/ustar-big-8g.tar.bz2 stderr: --- - 2025-04-11 05:25:47.435695287 -1200 +++ /build/reproducible-path/tar-1.34+dfsg/tests/testsuite.dir/at-groups/237/stdout 2025-04-11 05:25:47.419322914 -1200 @@ -1,3 +1 @@ --rw------- jes/glone 8589934591 2002-06-15 15:08 8gb-1 --rw-r--r-- jes/glone 0 2002-06-15 14:53 file 237. ustar-big-8g.at:21: skipped (ustar-big-8g.at:26) 238. pax-big-10g.at:21: testing pax-big-10g ... ./pax-big-10g.at:26: test "${TARTEST_SKIP_LARGE_FILES:-0}" != 0 && exit 77 cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 test -z "$STAR_TESTSCRIPTS" && exit 77 tarball_prereq pax-big-10g.tar.bz2 ca15c23acc8d8bb1f27e60113a5f8bff $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 tar --utc -tvjf $STAR_TESTSCRIPTS/pax-big-10g.tar.bz2 stderr: --- - 2025-04-11 05:25:47.674908343 -1200 +++ /build/reproducible-path/tar-1.34+dfsg/tests/testsuite.dir/at-groups/238/stdout 2025-04-11 05:25:47.651322914 -1200 @@ -1,3 +1 @@ --rw------- jes/glone 10737418240 2002-06-15 21:18 10g --rw-r--r-- jes/glone 0 2002-06-15 14:53 file 238. pax-big-10g.at:21: skipped (pax-big-10g.at:26) ## ------------- ## ## Test results. ## ## ------------- ## 212 tests were successful. 26 tests were skipped. make[3]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/tests' make[2]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/tests' make[2]: Entering directory '/build/reproducible-path/tar-1.34+dfsg' make[2]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg' make[1]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg' touch build-stamp fakeroot debian/rules binary dh_testdir dh_testroot dh_prep dh_installdirs make install bindir=`pwd`/debian/tar/bin prefix=`pwd`/debian/tar/usr \ libexecdir=`pwd`/debian/tar/usr/sbin make[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. make[1]: Entering directory '/build/reproducible-path/tar-1.34+dfsg' Making install in doc make[2]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/doc' make[2]: Nothing to be done for 'install'. make[2]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/doc' Making install in gnu make[2]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/gnu' make install-recursive make[3]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/gnu' make[4]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/gnu' make[5]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/gnu' make[5]: Nothing to be done for 'install-exec-am'. make[5]: Nothing to be done for 'install-data-am'. make[5]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/gnu' make[4]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/gnu' make[3]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/gnu' make[2]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/gnu' Making install in lib make[2]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/lib' make install-am make[3]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/lib' make[4]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/lib' make[4]: Nothing to be done for 'install-exec-am'. make[4]: Nothing to be done for 'install-data-am'. make[4]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/lib' make[3]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/lib' make[2]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/lib' Making install in rmt make[2]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/rmt' make[3]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/rmt' make[3]: Nothing to be done for 'install-exec-am'. /bin/mkdir -p '/build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/sbin' /usr/bin/install -c rmt '/build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/sbin' make[3]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/rmt' make[2]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/rmt' Making install in src make[2]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/src' make[3]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/src' /bin/mkdir -p '/build/reproducible-path/tar-1.34+dfsg/debian/tar/bin' /usr/bin/install -c tar '/build/reproducible-path/tar-1.34+dfsg/debian/tar/bin' make[3]: Nothing to be done for 'install-data-am'. make[3]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/src' make[2]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/src' Making install in scripts make[2]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/scripts' make[3]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/scripts' /bin/mkdir -p '/build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/sbin' /usr/bin/install -c backup.sh dump-remind '/build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/sbin' /bin/mkdir -p '/build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/sbin' /usr/bin/install -c backup restore '/build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/sbin' make[3]: Nothing to be done for 'install-data-am'. make[3]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/scripts' make[2]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/scripts' Making install in po make[2]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/po' /bin/mkdir -p /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share installing bg.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/bg/LC_MESSAGES/tar.mo installing ca.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/ca/LC_MESSAGES/tar.mo installing cs.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/cs/LC_MESSAGES/tar.mo installing da.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/da/LC_MESSAGES/tar.mo installing de.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/de/LC_MESSAGES/tar.mo installing el.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/el/LC_MESSAGES/tar.mo installing eo.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/eo/LC_MESSAGES/tar.mo installing es.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/es/LC_MESSAGES/tar.mo installing et.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/et/LC_MESSAGES/tar.mo installing eu.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/eu/LC_MESSAGES/tar.mo installing fi.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/fi/LC_MESSAGES/tar.mo installing fr.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/fr/LC_MESSAGES/tar.mo installing ga.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/ga/LC_MESSAGES/tar.mo installing gl.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/gl/LC_MESSAGES/tar.mo installing hr.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/hr/LC_MESSAGES/tar.mo installing hu.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/hu/LC_MESSAGES/tar.mo installing id.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/id/LC_MESSAGES/tar.mo installing it.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/it/LC_MESSAGES/tar.mo installing ja.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/ja/LC_MESSAGES/tar.mo installing ko.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/ko/LC_MESSAGES/tar.mo installing ky.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/ky/LC_MESSAGES/tar.mo installing ms.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/ms/LC_MESSAGES/tar.mo installing nb.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/nb/LC_MESSAGES/tar.mo installing nl.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/nl/LC_MESSAGES/tar.mo installing pl.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/pl/LC_MESSAGES/tar.mo installing pt.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/pt/LC_MESSAGES/tar.mo installing pt_BR.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/pt_BR/LC_MESSAGES/tar.mo installing ro.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/ro/LC_MESSAGES/tar.mo installing ru.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/ru/LC_MESSAGES/tar.mo installing sk.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/sk/LC_MESSAGES/tar.mo installing sl.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/sl/LC_MESSAGES/tar.mo installing sr.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/sr/LC_MESSAGES/tar.mo installing sv.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/sv/LC_MESSAGES/tar.mo installing tr.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/tr/LC_MESSAGES/tar.mo installing uk.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/uk/LC_MESSAGES/tar.mo installing vi.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/vi/LC_MESSAGES/tar.mo installing zh_CN.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/zh_CN/LC_MESSAGES/tar.mo installing zh_TW.gmo as /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/locale/zh_TW/LC_MESSAGES/tar.mo if test "tar" = "gettext-tools"; then \ /bin/mkdir -p /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/gettext/po; \ for file in Makefile.in.in remove-potcdate.sin quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot Makevars.template; do \ /usr/bin/install -c -m 644 ./$file \ /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/gettext/po/$file; \ done; \ for file in Makevars; do \ rm -f /build/reproducible-path/tar-1.34+dfsg/debian/tar/usr/share/gettext/po/$file; \ done; \ else \ : ; \ fi make[2]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/po' Making install in tests make[2]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/tests' make[3]: Entering directory '/build/reproducible-path/tar-1.34+dfsg/tests' make[3]: Nothing to be done for 'install-exec-am'. make[3]: Nothing to be done for 'install-data-am'. make[3]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/tests' make[2]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg/tests' make[2]: Entering directory '/build/reproducible-path/tar-1.34+dfsg' make[3]: Entering directory '/build/reproducible-path/tar-1.34+dfsg' make[3]: Nothing to be done for 'install-exec-am'. make[3]: Nothing to be done for 'install-data-am'. make[3]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg' make[2]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg' make[1]: Leaving directory '/build/reproducible-path/tar-1.34+dfsg' mv debian/tar/usr/sbin/rmt debian/tar/usr/sbin/rmt-tar ln -s /usr/sbin/rmt debian/tar/etc/rmt install -m 755 debian/tarcat debian/tar/usr/sbin/tarcat mv debian/tar/usr/sbin/backup debian/tar-scripts/usr/sbin/tar-backup mv debian/tar/usr/sbin/restore debian/tar-scripts/usr/sbin/tar-restore mv debian/tar/usr/sbin/backup.sh debian/tar-scripts/usr/sbin/ mv debian/tar/usr/sbin/dump-remind debian/tar-scripts/usr/sbin/ dh_testdir dh_testroot dh_installdocs mv -f debian/tar/usr/share/doc/tar/ChangeLog \ debian/tar/usr/share/doc/tar/changelog mv -f debian/tar/usr/share/doc/tar/ChangeLog.1 \ debian/tar/usr/share/doc/tar/changelog.1 dh_installexamples dh_installmenu dh_installcron dh_installman doc/tar.1 doc/rmt.8 debian/tarcat.1 mv debian/tar/usr/share/man/man8/rmt.8 \ debian/tar/usr/share/man/man8/rmt-tar.8 dh_installinfo rm -f debian/tar/usr/share/info/dir* dh_installmime dh_installchangelogs #CHANGELOGS# dh_link dh_strip dh_compress dh_fixperms dh_installdeb dh_shlibdeps dh_gencontrol dpkg-gencontrol: warning: Depends field of package tar-scripts: substitution variable ${shlibs:Depends} used, but is not defined dh_md5sums dh_builddeb dpkg-deb: building package 'tar-dbgsym' in '../tar-dbgsym_1.34+dfsg-1.2+deb12u1_amd64.deb'. dpkg-deb: building package 'tar-scripts' in '../tar-scripts_1.34+dfsg-1.2+deb12u1_amd64.deb'. dpkg-deb: building package 'tar' in '../tar_1.34+dfsg-1.2+deb12u1_amd64.deb'. dpkg-genbuildinfo --build=binary -O../tar_1.34+dfsg-1.2+deb12u1_amd64.buildinfo dpkg-genchanges --build=binary -O../tar_1.34+dfsg-1.2+deb12u1_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/1039554 and its subdirectories I: Current time: Fri Apr 11 05:27:07 -12 2025 I: pbuilder-time-stamp: 1744392427