Sun Jul 4 12:15:53 UTC 2021 I: starting to build tar/buster/amd64 on jenkins on '2021-07-04 12:15' Sun Jul 4 12:15:53 UTC 2021 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/amd64_15/64875/console.log Sun Jul 4 12:15:53 UTC 2021 I: Downloading source for buster/tar=1.30+dfsg-6 --2021-07-04 12:15:54-- http://deb.debian.org/debian/pool/main/t/tar/tar_1.30+dfsg-6.dsc Connecting to 78.137.99.97:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 1995 (1.9K) Saving to: ‘tar_1.30+dfsg-6.dsc’ 0K . 100% 127M=0s 2021-07-04 12:15:54 (127 MB/s) - ‘tar_1.30+dfsg-6.dsc’ saved [1995/1995] Sun Jul 4 12:15:54 UTC 2021 I: tar_1.30+dfsg-6.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 3.0 (quilt) Source: tar Binary: tar, tar-scripts Architecture: any Version: 1.30+dfsg-6 Maintainer: Bdale Garbee Uploaders: Carl Worth Homepage: https://www.gnu.org/software/tar/ Standards-Version: 4.3.0 Vcs-Browser: https://salsa.debian.org/debian/tar Vcs-Git: https://salsa.debian.org/debian/tar.git Build-Depends: debhelper (>> 10), gettext, autoconf, automake, autopoint, libacl1-dev, libattr1-dev, libselinux1-dev [linux-any] Package-List: tar deb utils required arch=any essential=yes tar-scripts deb utils optional arch=any Checksums-Sha1: 158e3f52799147ef1938846379a581f0bd812a2a 1883220 tar_1.30+dfsg.orig.tar.xz e4fd4d98a1d00cc594a217ee344b45608339ac30 22124 tar_1.30+dfsg-6.debian.tar.xz Checksums-Sha256: c02f3747ffe02017878303dde8b78e79cd220364c5e8048cf92320232e38912d 1883220 tar_1.30+dfsg.orig.tar.xz b7caae6287992536353413e7a9b21301b29c32066bb6f36b7190074af9dd5c50 22124 tar_1.30+dfsg-6.debian.tar.xz Files: 2e4a182a1d5974a264011983305abe09 1883220 tar_1.30+dfsg.orig.tar.xz 87bb0873c2ac60cf88859e1e2e6adc99 22124 tar_1.30+dfsg-6.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEhHDyCwYlkhh8unuzOpNhlsCV2UEFAly/RJkACgkQOpNhlsCV 2UHTwA//fvuJzbdO2B+YSn6SJYej1qecCNB32NH2pLafFl1zrNO0+g1TiFbXGmnB z3WHeYY2JzuH+ewnUX5H6EKk/KK8kogwJnhdNWL84ztLROi+cx4//xj002tk1JHk RHgCaDRjfkafoaUx5OWkUAJUA5IuvJ/4fYwVm7fs8Pen3KOYvhejQn8eDiI8xpe9 hRv7qaxYiAmrGLtPiMq9RU0CkhgdQWZLD7MPmBAUmzzUGb0K8hWGSL5SaZrIGuPi YpgdaePnocUAzcdwAuT3fiKzs5qKAZC++J+QEhOtchTn+EJCk7MkKux/TaIhQbpC z83222yDP3SetMtqFVdeuB0WCTgCaorlSXSMSsAhncW81o1hC0OQUaBuGlvKaIwy x4p5mzHFVfSX5IELtJzYJ5bLsPBWJpj4QV/RYWtdzqyVHJ9PaPGKvf4FPUXDFzOm 3VM+yN/VyJ+YoF5MkpQeynf5fb98hdUvJQG9i9HKQ5ajBsTkUjMJaoxnAv1j3MHT lwRPNi0N64W3wWrK0F/jQlh2VUywt4t/N6LIohsWiKCxpK8fkU8pIdxCG8rZi4hr YEvRFBKLaXkRBrJ+HuGrgDew2h82AoEPBVAnhLW1Pn1Jmb/nrJtjetVAJ6HuP1h8 92ax5lgDvyGkE+xnuSdt+16KPi8bbNDFvCGbt77Dethpplzs11Q= =RaTx -----END PGP SIGNATURE----- Sun Jul 4 12:15:54 UTC 2021 I: Checking whether the package is not for us Sun Jul 4 12:15:54 UTC 2021 I: Starting 1st build on remote node ionos11-amd64.debian.net. Sun Jul 4 12:15:54 UTC 2021 I: Preparing to do remote build '1' on ionos11-amd64.debian.net. Sun Jul 4 12:24:15 UTC 2021 I: Deleting $TMPDIR on ionos11-amd64.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Sun Jul 4 00:15:55 -12 2021 I: pbuilder-time-stamp: 1625400955 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/buster-reproducible-base.tgz] I: copying local configuration 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.30+dfsg-6.dsc] I: copying [./tar_1.30+dfsg.orig.tar.xz] I: copying [./tar_1.30+dfsg-6.debian.tar.xz] I: Extracting source gpgv: unknown type of key resource 'trustedkeys.kbx' gpgv: keyblock resource '/root/.gnupg/trustedkeys.kbx': General error gpgv: Signature made Tue Apr 23 05:00:09 2019 -12 gpgv: using RSA key 8470F20B062592187CBA7BB33A936196C095D941 gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./tar_1.30+dfsg-6.dsc dpkg-source: info: extracting tar in tar-1.30+dfsg dpkg-source: info: unpacking tar_1.30+dfsg.orig.tar.xz dpkg-source: info: unpacking tar_1.30+dfsg-6.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying pristine-tar.diff dpkg-source: info: applying listed03-linux-only dpkg-source: info: applying rmt.8-header-wrong dpkg-source: info: applying fix-for-difflink.at-failure.diff dpkg-source: info: applying fix-race-in-dirrem01-and-dirrem02.diff dpkg-source: info: applying elide-reference-to-section-5-manpage.diff dpkg-source: info: applying oldgnu-unknown-mode-bits.patch dpkg-source: info: applying zstd.patch dpkg-source: info: applying proper_it_translation.patch dpkg-source: info: applying Fix-CVE-2018-20482.patch I: using fakeroot in build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/33444/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build' 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=15' DISTRIBUTION='' HOME='/root' HOST_ARCH='amd64' IFS=' ' INVOCATION_ID='8dab2aec44f5453b8d16e744f9371764' 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='33444' 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/tmp.Dtu5Afcu2T/pbuilderrc_wSMR --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/buster-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.Dtu5Afcu2T/b1 --logfile b1/build.log tar_1.30+dfsg-6.dsc' SUDO_GID='111' SUDO_UID='106' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://78.137.99.97:3128' I: uname -a Linux ionos11-amd64 4.19.0-17-amd64 #1 SMP Debian 4.19.194-2 (2021-06-21) x86_64 GNU/Linux I: ls -l /bin total 5116 -rwxr-xr-x 1 root root 1168776 Apr 17 2019 bash -rwxr-xr-x 3 root root 38984 Jul 10 2019 bunzip2 -rwxr-xr-x 3 root root 38984 Jul 10 2019 bzcat lrwxrwxrwx 1 root root 6 Jul 10 2019 bzcmp -> bzdiff -rwxr-xr-x 1 root root 2227 Jul 10 2019 bzdiff lrwxrwxrwx 1 root root 6 Jul 10 2019 bzegrep -> bzgrep -rwxr-xr-x 1 root root 4877 Jun 24 2019 bzexe lrwxrwxrwx 1 root root 6 Jul 10 2019 bzfgrep -> bzgrep -rwxr-xr-x 1 root root 3641 Jul 10 2019 bzgrep -rwxr-xr-x 3 root root 38984 Jul 10 2019 bzip2 -rwxr-xr-x 1 root root 14328 Jul 10 2019 bzip2recover lrwxrwxrwx 1 root root 6 Jul 10 2019 bzless -> bzmore -rwxr-xr-x 1 root root 1297 Jul 10 2019 bzmore -rwxr-xr-x 1 root root 43744 Feb 28 2019 cat -rwxr-xr-x 1 root root 64320 Feb 28 2019 chgrp -rwxr-xr-x 1 root root 64288 Feb 28 2019 chmod -rwxr-xr-x 1 root root 72512 Feb 28 2019 chown -rwxr-xr-x 1 root root 146880 Feb 28 2019 cp -rwxr-xr-x 1 root root 121464 Jan 17 2019 dash -rwxr-xr-x 1 root root 109408 Feb 28 2019 date -rwxr-xr-x 1 root root 76712 Feb 28 2019 dd -rwxr-xr-x 1 root root 93744 Feb 28 2019 df -rwxr-xr-x 1 root root 138856 Feb 28 2019 dir -rwxr-xr-x 1 root root 84288 Jan 9 2019 dmesg lrwxrwxrwx 1 root root 8 Sep 26 2018 dnsdomainname -> hostname lrwxrwxrwx 1 root root 8 Sep 26 2018 domainname -> hostname -rwxr-xr-x 1 root root 39520 Feb 28 2019 echo -rwxr-xr-x 1 root root 28 Jan 7 2019 egrep -rwxr-xr-x 1 root root 35424 Feb 28 2019 false -rwxr-xr-x 1 root root 28 Jan 7 2019 fgrep -rwxr-xr-x 1 root root 68880 Jan 9 2019 findmnt -rwsr-xr-x 1 root root 34896 Apr 22 2020 fusermount -rwxr-xr-x 1 root root 198976 Jan 7 2019 grep -rwxr-xr-x 2 root root 2345 Jan 5 2019 gunzip -rwxr-xr-x 1 root root 6375 Jan 5 2019 gzexe -rwxr-xr-x 1 root root 98048 Jan 5 2019 gzip -rwxr-xr-x 1 root root 26696 Sep 26 2018 hostname -rwxr-xr-x 1 root root 68552 Feb 28 2019 ln -rwxr-xr-x 1 root root 56760 Jul 26 2018 login -rwxr-xr-x 1 root root 138856 Feb 28 2019 ls -rwxr-xr-x 1 root root 108624 Jan 9 2019 lsblk -rwxr-xr-x 1 root root 89088 Feb 28 2019 mkdir -rwxr-xr-x 1 root root 68544 Feb 28 2019 mknod -rwxr-xr-x 1 root root 43808 Feb 28 2019 mktemp -rwxr-xr-x 1 root root 43008 Jan 9 2019 more -rwsr-xr-x 1 root root 51280 Jan 9 2019 mount -rwxr-xr-x 1 root root 14408 Jan 9 2019 mountpoint -rwxr-xr-x 1 root root 138728 Feb 28 2019 mv lrwxrwxrwx 1 root root 8 Sep 26 2018 nisdomainname -> hostname lrwxrwxrwx 1 root root 14 Feb 14 2019 pidof -> /sbin/killall5 -rwxr-xr-x 1 root root 39616 Feb 28 2019 pwd lrwxrwxrwx 1 root root 4 Apr 17 2019 rbash -> bash -rwxr-xr-x 1 root root 47776 Feb 28 2019 readlink -rwxr-xr-x 1 root root 68416 Feb 28 2019 rm -rwxr-xr-x 1 root root 47776 Feb 28 2019 rmdir -rwxr-xr-x 1 root root 23312 Jan 21 2019 run-parts -rwxr-xr-x 1 root root 122224 Dec 22 2018 sed lrwxrwxrwx 1 root root 4 Jun 20 20:26 sh -> dash -rwxr-xr-x 1 root root 39552 Feb 28 2019 sleep -rwxr-xr-x 1 root root 80672 Feb 28 2019 stty -rwsr-xr-x 1 root root 63568 Jan 9 2019 su -rwxr-xr-x 1 root root 35488 Feb 28 2019 sync -rwxr-xr-x 1 root root 445560 Apr 23 2019 tar -rwxr-xr-x 1 root root 14440 Jan 21 2019 tempfile -rwxr-xr-x 1 root root 97152 Feb 28 2019 touch -rwxr-xr-x 1 root root 35424 Feb 28 2019 true -rwxr-xr-x 1 root root 14328 Apr 22 2020 ulockmgr_server -rwsr-xr-x 1 root root 34888 Jan 9 2019 umount -rwxr-xr-x 1 root root 39584 Feb 28 2019 uname -rwxr-xr-x 2 root root 2345 Jan 5 2019 uncompress -rwxr-xr-x 1 root root 138856 Feb 28 2019 vdir -rwxr-xr-x 1 root root 34896 Jan 9 2019 wdctl -rwxr-xr-x 1 root root 946 Jan 21 2019 which lrwxrwxrwx 1 root root 8 Sep 26 2018 ypdomainname -> hostname -rwxr-xr-x 1 root root 1983 Jan 5 2019 zcat -rwxr-xr-x 1 root root 1677 Jan 5 2019 zcmp -rwxr-xr-x 1 root root 5879 Jan 5 2019 zdiff -rwxr-xr-x 1 root root 29 Jan 5 2019 zegrep -rwxr-xr-x 1 root root 29 Jan 5 2019 zfgrep -rwxr-xr-x 1 root root 2080 Jan 5 2019 zforce -rwxr-xr-x 1 root root 7584 Jan 5 2019 zgrep -rwxr-xr-x 1 root root 2205 Jan 5 2019 zless -rwxr-xr-x 1 root root 1841 Jan 5 2019 zmore -rwxr-xr-x 1 root root 4552 Jan 5 2019 znew I: user script /srv/workspace/pbuilder/33444/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, libacl1-dev, libattr1-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 ... 19195 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 libacl1-dev; however: Package libacl1-dev is not installed. pbuilder-satisfydepends-dummy depends on libattr1-dev; however: Package libattr1-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} bsdmainutils{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} libbsd0{a} libcroco3{a} libelf1{a} libfile-stripnondeterminism-perl{a} libglib2.0-0{a} libicu63{a} libmagic-mgc{a} libmagic1{a} libncurses6{a} libpcre16-3{a} libpcre3-dev{a} libpcre32-3{a} libpcrecpp0v5{a} libpipeline1{a} libselinux1-dev{a} libsepol1-dev{a} libsigsegv2{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 libglib2.0-data libgpm2 libltdl-dev libmail-sendmail-perl lynx shared-mime-info wget xdg-user-dirs 0 packages upgraded, 41 newly installed, 0 to remove and 0 not upgraded. Need to get 21.0 MB of archives. After unpacking 76.0 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian buster/main amd64 libbsd0 amd64 0.9.1-2+deb10u1 [99.5 kB] Get: 2 http://deb.debian.org/debian buster/main amd64 bsdmainutils amd64 11.1.2+b1 [191 kB] Get: 3 http://deb.debian.org/debian buster/main amd64 libuchardet0 amd64 0.0.6-3 [64.9 kB] Get: 4 http://deb.debian.org/debian buster/main amd64 groff-base amd64 1.22.4-3+deb10u1 [916 kB] Get: 5 http://deb.debian.org/debian buster/main amd64 libpipeline1 amd64 1.5.1-2 [31.2 kB] Get: 6 http://deb.debian.org/debian buster/main amd64 man-db amd64 2.8.5-2 [1274 kB] Get: 7 http://deb.debian.org/debian buster/main amd64 sensible-utils all 0.0.12 [15.8 kB] Get: 8 http://deb.debian.org/debian buster/main amd64 libmagic-mgc amd64 1:5.35-4+deb10u2 [242 kB] Get: 9 http://deb.debian.org/debian buster/main amd64 libmagic1 amd64 1:5.35-4+deb10u2 [118 kB] Get: 10 http://deb.debian.org/debian buster/main amd64 file amd64 1:5.35-4+deb10u2 [66.4 kB] Get: 11 http://deb.debian.org/debian buster/main amd64 gettext-base amd64 0.19.8.1-9 [123 kB] Get: 12 http://deb.debian.org/debian buster/main amd64 libsigsegv2 amd64 2.12-2 [32.8 kB] Get: 13 http://deb.debian.org/debian buster/main amd64 m4 amd64 1.4.18-2 [203 kB] Get: 14 http://deb.debian.org/debian buster/main amd64 autoconf all 2.69-11 [341 kB] Get: 15 http://deb.debian.org/debian buster/main amd64 autotools-dev all 20180224.1 [77.0 kB] Get: 16 http://deb.debian.org/debian buster/main amd64 automake all 1:1.16.1-4 [771 kB] Get: 17 http://deb.debian.org/debian buster/main amd64 autopoint all 0.19.8.1-9 [434 kB] Get: 18 http://deb.debian.org/debian buster/main amd64 libtool all 2.4.6-9 [547 kB] Get: 19 http://deb.debian.org/debian buster/main amd64 dh-autoreconf all 19 [16.9 kB] Get: 20 http://deb.debian.org/debian buster/main amd64 libarchive-zip-perl all 1.64-1 [96.8 kB] Get: 21 http://deb.debian.org/debian buster/main amd64 libfile-stripnondeterminism-perl all 1.1.2-1 [19.8 kB] Get: 22 http://deb.debian.org/debian buster/main amd64 dh-strip-nondeterminism all 1.1.2-1 [13.0 kB] Get: 23 http://deb.debian.org/debian buster/main amd64 libelf1 amd64 0.176-1.1 [161 kB] Get: 24 http://deb.debian.org/debian buster/main amd64 dwz amd64 0.12-3 [78.0 kB] Get: 25 http://deb.debian.org/debian buster/main amd64 libglib2.0-0 amd64 2.58.3-2+deb10u3 [1259 kB] Get: 26 http://deb.debian.org/debian buster/main amd64 libicu63 amd64 63.1-6+deb10u1 [8300 kB] Get: 27 http://deb.debian.org/debian buster/main amd64 libxml2 amd64 2.9.4+dfsg1-7+deb10u2 [689 kB] Get: 28 http://deb.debian.org/debian buster/main amd64 libcroco3 amd64 0.6.12-3 [145 kB] Get: 29 http://deb.debian.org/debian buster/main amd64 libncurses6 amd64 6.1+20181013-2+deb10u2 [102 kB] Get: 30 http://deb.debian.org/debian buster/main amd64 gettext amd64 0.19.8.1-9 [1303 kB] Get: 31 http://deb.debian.org/debian buster/main amd64 intltool-debian all 0.35.0+20060710.5 [26.8 kB] Get: 32 http://deb.debian.org/debian buster/main amd64 po-debconf all 1.0.21 [248 kB] Get: 33 http://deb.debian.org/debian buster/main amd64 debhelper all 12.1.1 [1016 kB] Get: 34 http://deb.debian.org/debian buster/main amd64 libattr1-dev amd64 1:2.4.48-4 [34.9 kB] Get: 35 http://deb.debian.org/debian buster/main amd64 libacl1-dev amd64 2.2.53-4 [91.7 kB] Get: 36 http://deb.debian.org/debian buster/main amd64 libpcre16-3 amd64 2:8.39-12 [259 kB] Get: 37 http://deb.debian.org/debian buster/main amd64 libpcre32-3 amd64 2:8.39-12 [250 kB] Get: 38 http://deb.debian.org/debian buster/main amd64 libpcrecpp0v5 amd64 2:8.39-12 [152 kB] Get: 39 http://deb.debian.org/debian buster/main amd64 libpcre3-dev amd64 2:8.39-12 [650 kB] Get: 40 http://deb.debian.org/debian buster/main amd64 libsepol1-dev amd64 2.8-1 [338 kB] Get: 41 http://deb.debian.org/debian buster/main amd64 libselinux1-dev amd64 2.8-1+b1 [169 kB] Fetched 21.0 MB in 0s (61.5 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libbsd0:amd64. (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 ... 19195 files and directories currently installed.) Preparing to unpack .../00-libbsd0_0.9.1-2+deb10u1_amd64.deb ... Unpacking libbsd0:amd64 (0.9.1-2+deb10u1) ... Selecting previously unselected package bsdmainutils. Preparing to unpack .../01-bsdmainutils_11.1.2+b1_amd64.deb ... Unpacking bsdmainutils (11.1.2+b1) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../02-libuchardet0_0.0.6-3_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.6-3) ... Selecting previously unselected package groff-base. Preparing to unpack .../03-groff-base_1.22.4-3+deb10u1_amd64.deb ... Unpacking groff-base (1.22.4-3+deb10u1) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../04-libpipeline1_1.5.1-2_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.1-2) ... Selecting previously unselected package man-db. Preparing to unpack .../05-man-db_2.8.5-2_amd64.deb ... Unpacking man-db (2.8.5-2) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../06-sensible-utils_0.0.12_all.deb ... Unpacking sensible-utils (0.0.12) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../07-libmagic-mgc_1%3a5.35-4+deb10u2_amd64.deb ... Unpacking libmagic-mgc (1:5.35-4+deb10u2) ... Selecting previously unselected package libmagic1:amd64. Preparing to unpack .../08-libmagic1_1%3a5.35-4+deb10u2_amd64.deb ... Unpacking libmagic1:amd64 (1:5.35-4+deb10u2) ... Selecting previously unselected package file. Preparing to unpack .../09-file_1%3a5.35-4+deb10u2_amd64.deb ... Unpacking file (1:5.35-4+deb10u2) ... Selecting previously unselected package gettext-base. Preparing to unpack .../10-gettext-base_0.19.8.1-9_amd64.deb ... Unpacking gettext-base (0.19.8.1-9) ... Selecting previously unselected package libsigsegv2:amd64. Preparing to unpack .../11-libsigsegv2_2.12-2_amd64.deb ... Unpacking libsigsegv2:amd64 (2.12-2) ... Selecting previously unselected package m4. Preparing to unpack .../12-m4_1.4.18-2_amd64.deb ... Unpacking m4 (1.4.18-2) ... Selecting previously unselected package autoconf. Preparing to unpack .../13-autoconf_2.69-11_all.deb ... Unpacking autoconf (2.69-11) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../14-autotools-dev_20180224.1_all.deb ... Unpacking autotools-dev (20180224.1) ... Selecting previously unselected package automake. Preparing to unpack .../15-automake_1%3a1.16.1-4_all.deb ... Unpacking automake (1:1.16.1-4) ... Selecting previously unselected package autopoint. Preparing to unpack .../16-autopoint_0.19.8.1-9_all.deb ... Unpacking autopoint (0.19.8.1-9) ... Selecting previously unselected package libtool. Preparing to unpack .../17-libtool_2.4.6-9_all.deb ... Unpacking libtool (2.4.6-9) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../18-dh-autoreconf_19_all.deb ... Unpacking dh-autoreconf (19) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../19-libarchive-zip-perl_1.64-1_all.deb ... Unpacking libarchive-zip-perl (1.64-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../20-libfile-stripnondeterminism-perl_1.1.2-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.1.2-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../21-dh-strip-nondeterminism_1.1.2-1_all.deb ... Unpacking dh-strip-nondeterminism (1.1.2-1) ... Selecting previously unselected package libelf1:amd64. Preparing to unpack .../22-libelf1_0.176-1.1_amd64.deb ... Unpacking libelf1:amd64 (0.176-1.1) ... Selecting previously unselected package dwz. Preparing to unpack .../23-dwz_0.12-3_amd64.deb ... Unpacking dwz (0.12-3) ... Selecting previously unselected package libglib2.0-0:amd64. Preparing to unpack .../24-libglib2.0-0_2.58.3-2+deb10u3_amd64.deb ... Unpacking libglib2.0-0:amd64 (2.58.3-2+deb10u3) ... Selecting previously unselected package libicu63:amd64. Preparing to unpack .../25-libicu63_63.1-6+deb10u1_amd64.deb ... Unpacking libicu63:amd64 (63.1-6+deb10u1) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../26-libxml2_2.9.4+dfsg1-7+deb10u2_amd64.deb ... Unpacking libxml2:amd64 (2.9.4+dfsg1-7+deb10u2) ... Selecting previously unselected package libcroco3:amd64. Preparing to unpack .../27-libcroco3_0.6.12-3_amd64.deb ... Unpacking libcroco3:amd64 (0.6.12-3) ... Selecting previously unselected package libncurses6:amd64. Preparing to unpack .../28-libncurses6_6.1+20181013-2+deb10u2_amd64.deb ... Unpacking libncurses6:amd64 (6.1+20181013-2+deb10u2) ... Selecting previously unselected package gettext. Preparing to unpack .../29-gettext_0.19.8.1-9_amd64.deb ... Unpacking gettext (0.19.8.1-9) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../30-intltool-debian_0.35.0+20060710.5_all.deb ... Unpacking intltool-debian (0.35.0+20060710.5) ... Selecting previously unselected package po-debconf. Preparing to unpack .../31-po-debconf_1.0.21_all.deb ... Unpacking po-debconf (1.0.21) ... Selecting previously unselected package debhelper. Preparing to unpack .../32-debhelper_12.1.1_all.deb ... Unpacking debhelper (12.1.1) ... Selecting previously unselected package libattr1-dev:amd64. Preparing to unpack .../33-libattr1-dev_1%3a2.4.48-4_amd64.deb ... Unpacking libattr1-dev:amd64 (1:2.4.48-4) ... Selecting previously unselected package libacl1-dev:amd64. Preparing to unpack .../34-libacl1-dev_2.2.53-4_amd64.deb ... Unpacking libacl1-dev:amd64 (2.2.53-4) ... Selecting previously unselected package libpcre16-3:amd64. Preparing to unpack .../35-libpcre16-3_2%3a8.39-12_amd64.deb ... Unpacking libpcre16-3:amd64 (2:8.39-12) ... Selecting previously unselected package libpcre32-3:amd64. Preparing to unpack .../36-libpcre32-3_2%3a8.39-12_amd64.deb ... Unpacking libpcre32-3:amd64 (2:8.39-12) ... Selecting previously unselected package libpcrecpp0v5:amd64. Preparing to unpack .../37-libpcrecpp0v5_2%3a8.39-12_amd64.deb ... Unpacking libpcrecpp0v5:amd64 (2:8.39-12) ... Selecting previously unselected package libpcre3-dev:amd64. Preparing to unpack .../38-libpcre3-dev_2%3a8.39-12_amd64.deb ... Unpacking libpcre3-dev:amd64 (2:8.39-12) ... Selecting previously unselected package libsepol1-dev:amd64. Preparing to unpack .../39-libsepol1-dev_2.8-1_amd64.deb ... Unpacking libsepol1-dev:amd64 (2.8-1) ... Selecting previously unselected package libselinux1-dev:amd64. Preparing to unpack .../40-libselinux1-dev_2.8-1+b1_amd64.deb ... Unpacking libselinux1-dev:amd64 (2.8-1+b1) ... Setting up libpcrecpp0v5:amd64 (2:8.39-12) ... Setting up libpipeline1:amd64 (1.5.1-2) ... Setting up libpcre16-3:amd64 (2:8.39-12) ... Setting up libattr1-dev:amd64 (1:2.4.48-4) ... Setting up libmagic-mgc (1:5.35-4+deb10u2) ... Setting up libarchive-zip-perl (1.64-1) ... Setting up libglib2.0-0:amd64 (2.58.3-2+deb10u3) ... No schema files found: doing nothing. Setting up libmagic1:amd64 (1:5.35-4+deb10u2) ... Setting up libsepol1-dev:amd64 (2.8-1) ... Setting up gettext-base (0.19.8.1-9) ... Setting up file (1:5.35-4+deb10u2) ... Setting up libicu63:amd64 (63.1-6+deb10u1) ... Setting up autotools-dev (20180224.1) ... Setting up libncurses6:amd64 (6.1+20181013-2+deb10u2) ... Setting up libsigsegv2:amd64 (2.12-2) ... Setting up libpcre32-3:amd64 (2:8.39-12) ... Setting up autopoint (0.19.8.1-9) ... Setting up sensible-utils (0.0.12) ... Setting up libuchardet0:amd64 (0.0.6-3) ... Setting up libbsd0:amd64 (0.9.1-2+deb10u1) ... Setting up libelf1:amd64 (0.176-1.1) ... Setting up libxml2:amd64 (2.9.4+dfsg1-7+deb10u2) ... Setting up libacl1-dev:amd64 (2.2.53-4) ... Setting up libfile-stripnondeterminism-perl (1.1.2-1) ... Setting up libtool (2.4.6-9) ... Setting up libpcre3-dev:amd64 (2:8.39-12) ... Setting up m4 (1.4.18-2) ... Setting up bsdmainutils (11.1.2+b1) ... update-alternatives: using /usr/bin/bsd-write to provide /usr/bin/write (write) in auto mode update-alternatives: using /usr/bin/bsd-from to provide /usr/bin/from (from) in auto mode Setting up libcroco3:amd64 (0.6.12-3) ... Setting up autoconf (2.69-11) ... Setting up dwz (0.12-3) ... Setting up groff-base (1.22.4-3+deb10u1) ... Setting up automake (1:1.16.1-4) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up gettext (0.19.8.1-9) ... Setting up libselinux1-dev:amd64 (2.8-1+b1) ... Setting up man-db (2.8.5-2) ... Not building database; man-db/auto-update is not 'true'. Setting up intltool-debian (0.35.0+20060710.5) ... Setting up po-debconf (1.0.21) ... Setting up debhelper (12.1.1) ... Setting up dh-autoreconf (19) ... Setting up dh-strip-nondeterminism (1.1.2-1) ... Processing triggers for libc-bin (2.28-10) ... 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.23-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package I: Running cd /build/tar-1.30+dfsg/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b dpkg-buildpackage: info: source package tar dpkg-buildpackage: info: source version 1.30+dfsg-6 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Bdale Garbee 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: Entering directory `.' autoreconf: running: autopoint --force Copying file build-aux/config.rpath Copying file m4/glibc2.m4 Copying file m4/iconv.m4 Copying file m4/intdiv0.m4 Copying file m4/intl.m4 Copying file m4/intldir.m4 Copying file m4/intmax.m4 Copying file m4/lcmessage.m4 Copying file m4/lock.m4 Copying file m4/longdouble.m4 Copying file m4/printf-posix.m4 Copying file m4/uintmax_t.m4 Copying file m4/visibility.m4 Copying file po/Makefile.in.in Copying file po/Makevars.template autoreconf: running: aclocal --force -I m4 autoreconf: configure.ac: tracing autoreconf: configure.ac: not using Libtool autoreconf: running: /usr/bin/autoconf --force autoreconf: running: /usr/bin/autoheader --force autoreconf: running: automake --add-missing --copy --force-missing autoreconf: Leaving directory `.' RSH="/usr/bin/rsh" CPPFLAGS="`dpkg-buildflags --get CPPFLAGS`" CFLAGS="`dpkg-buildflags --get CFLAGS` -Wall" LDFLAGS="`dpkg-buildflags --get LDFLAGS`" ./configure \ --prefix=/usr \ --libexecdir=/usr/sbin \ --enable-backup-scripts \ --with-lzma=xz \ --disable-silent-rules \ checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether UID '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 we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking whether gcc understands -c and -o together... yes checking dependency style of gcc... gcc3 checking for gcc option to accept ISO C99... none needed checking for gcc option to accept ISO Standard C... (cached) none needed checking for ranlib... ranlib checking for bison... no checking for byacc... no checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking minix/config.h usability... no checking minix/config.h presence... no checking for minix/config.h... no checking whether it is safe to define __EXTENSIONS__... yes checking whether _XOPEN_SOURCE should be defined... no checking for 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 fcntl.h... yes checking for linux/fd.h... yes checking for memory.h... (cached) yes checking for net/errno.h... no checking for sgtty.h... yes checking for string.h... (cached) yes checking for sys/param.h... yes checking for sys/device.h... no checking for sys/gentape.h... no checking for sys/inet.h... no checking for sys/io/trioctl.h... no checking for sys/mtio.h... yes checking for sys/time.h... yes checking for sys/tprintf.h... no checking for sys/tape.h... no checking for unistd.h... (cached) yes checking for locale.h... yes checking for sys/types.h... (cached) yes checking for features.h... yes checking for linewrap.h... no checking for sys/socket.h... yes checking for dirent.h... yes checking for wctype.h... yes checking for stdio_ext.h... yes checking for sys/stat.h... (cached) yes checking for getopt.h... yes checking for sys/cdefs.h... yes checking for limits.h... yes checking for wchar.h... yes checking for stdint.h... (cached) yes checking for inttypes.h... (cached) yes checking for crtdefs.h... no checking for langinfo.h... yes checking for xlocale.h... no checking for sys/mman.h... yes checking for priv.h... no checking for malloc.h... yes checking for selinux/selinux.h... yes checking for strings.h... (cached) yes checking for sysexits.h... yes checking for utime.h... yes checking for netdb.h... yes checking for sys/wait.h... yes checking for pwd.h... yes checking for grp.h... yes checking for sys/buf.h... no checking sys/mkdev.h usability... no checking sys/mkdev.h presence... no checking for sys/mkdev.h... no checking sys/sysmacros.h usability... yes checking sys/sysmacros.h presence... yes checking for sys/sysmacros.h... yes checking for st_fstype string in struct stat... no checking sys/acl.h usability... yes checking sys/acl.h presence... yes checking for sys/acl.h... yes checking for library containing acl_get_file... -lacl checking for library containing acl_get_fd... none required checking for library containing acl_set_file... none required checking for library containing acl_set_fd... none required checking for library containing acl_to_text... none required checking for library containing acl_from_text... none required checking for library containing acl_delete_def_file... none required checking for library containing acl_free... none required checking for mode_t... yes checking for pid_t... yes checking for off_t... yes checking for uid_t in sys/types.h... yes checking for major_t... no checking for minor_t... no checking for dev_t... yes checking for ino_t... yes checking for ssize_t... yes checking for fchmod... yes checking for flockfile... yes checking for funlockfile... yes checking for pathconf... yes checking for btowc... yes checking for canonicalize_file_name... yes checking for getcwd... yes checking for readlink... yes checking for realpath... yes checking for readlinkat... yes checking for chown... yes checking for fchown... yes checking for _set_invalid_parameter_handler... no checking for fchdir... yes checking for fdopendir... yes checking for faccessat... yes checking for fchmodat... yes checking for lchmod... no checking for fcntl... yes checking for symlink... yes checking for mempcpy... yes checking for isblank... yes checking for iswctype... yes checking for mbsrtowcs... yes checking for wmemchr... yes checking for wmemcpy... yes checking for wmempcpy... yes checking for fstatat... yes checking for futimens... yes checking for getdelim... yes checking for getdtablesize... yes checking for getprogname... no checking for getexecname... no checking for gettimeofday... yes checking for nanotime... no checking for iswcntrl... yes checking for iswblank... yes checking for link... yes checking for openat... yes checking for linkat... yes checking for lstat... yes checking for mbsinit... yes checking for mbrtowc... yes checking for mprotect... yes checking for mkdirat... yes checking for mkfifo... yes checking for mkfifoat... yes checking for mknodat... yes checking for mknod... yes checking for tzset... yes checking for nl_langinfo... yes checking for renameat... yes checking for setenv... yes checking for sleep... yes checking for snprintf... yes checking for strdup... yes checking for strndup... yes checking for strtoimax... yes checking for strtoumax... yes checking for symlinkat... yes checking for localtime_r... yes checking for timegm... yes checking for pipe... yes checking for unlinkat... yes checking for utime... yes checking for futimes... yes checking for futimesat... yes checking for utimensat... yes checking for lutimes... yes checking for vasnprintf... no checking for wcrtomb... yes checking for wcwidth... yes checking for setlocale... yes checking for fsync... yes checking for size_t... yes checking for working alloca.h... yes checking for alloca... yes checking for C/C++ restrict keyword... __restrict checking whether clearerr_unlocked is declared... yes checking whether feof_unlocked is declared... yes checking whether ferror_unlocked is declared... yes checking whether fflush_unlocked is declared... yes checking whether fgets_unlocked is declared... yes checking whether fputc_unlocked is declared... yes checking whether fputs_unlocked is declared... yes checking whether fread_unlocked is declared... yes checking whether fwrite_unlocked is declared... yes checking whether getc_unlocked is declared... yes checking whether getchar_unlocked is declared... yes checking whether putc_unlocked is declared... yes checking whether putchar_unlocked is declared... yes checking whether strerror_r is declared... yes checking for strerror_r... yes checking whether strerror_r returns char *... yes checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu 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 // is distinct from /... no checking whether realpath works... yes checking for unistd.h... (cached) yes checking for working chown... yes checking whether chown dereferences symlinks... yes checking whether chown honors trailing slash... yes checking whether chown always updates ctime... yes checking whether the preprocessor supports include_next... yes checking whether system header files limit the line length... no checking if environ is properly declared... yes checking for complete errno.h... yes checking type of array argument to getgroups... gid_t checking whether lstat correctly handles trailing slash... yes checking whether fchdir is declared... yes checking for working fcntl.h... yes checking for mbstate_t... yes checking whether stdin defaults to large file offsets... yes checking whether fseeko is declared... yes checking for fseeko... yes checking whether stat file-mode macros are broken... no checking for nlink_t... yes checking whether fchmodat is declared without a macro... yes checking whether fstat is declared without a macro... yes checking whether fstatat is declared without a macro... yes checking whether futimens is declared without a macro... yes checking whether lchmod is declared without a macro... yes checking whether lstat is declared without a macro... yes checking whether mkdirat is declared without a macro... yes checking whether mkfifo is declared without a macro... yes checking whether mkfifoat is declared without a macro... yes checking whether mknod is declared without a macro... yes checking whether mknodat is declared without a macro... yes checking whether stat is declared without a macro... yes checking whether utimensat is declared without a macro... yes checking whether 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 whether gettimeofday is declared without a macro... yes checking host CPU and C ABI... x86_64 checking whether limits.h has ULLONG_WIDTH etc.... yes checking for wint_t... yes checking whether wint_t is too small... no checking for unsigned long long int... yes checking for long long int... yes checking whether stdint.h conforms to C99... yes checking whether stdint.h predates C++11... no checking whether stdint.h has UINTMAX_WIDTH etc.... yes checking whether imaxabs is declared without a macro... yes checking whether imaxdiv is declared without a macro... yes checking whether strtoimax is declared without a macro... yes checking whether strtoumax is declared without a macro... yes checking for inttypes.h... (cached) yes checking whether the inttypes.h PRIxNN macros are broken... no checking whether iswcntrl works... yes checking for towlower... yes checking for wctype_t... yes checking for wctrans_t... yes checking whether wctype is declared without a macro... yes checking whether iswctype is declared without a macro... yes checking whether wctrans is declared without a macro... yes checking whether towctrans is declared without a macro... yes checking for O_CLOEXEC... yes checking whether we are using the GNU C Library >= 2.1 or uClibc... yes checking for wchar_t... yes checking for max_align_t... yes checking whether NULL can be used in arbitrary expressions... yes checking whether malloc, realloc, calloc are POSIX compliant... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for a traditional japanese locale... ja_JP.EUC-JP checking for a transitional chinese locale... zh_CN.GB18030 checking for a french Unicode locale... fr_FR.UTF-8 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 promoted mode_t type... mode_t checking for stdbool.h that conforms to C99... yes checking for _Bool... yes checking for compound literals... yes checking for library containing setfilecon... -lselinux checking whether setenv is declared... yes checking search.h usability... yes checking search.h presence... yes checking for search.h... yes checking for tsearch... yes checking for sigset_t... yes checking whether snprintf returns a byte count as in C99... yes checking whether snprintf is declared... yes checking whether strdup is declared... yes checking whether strerror(0) succeeds... yes checking whether ffsl is declared without a macro... yes checking whether ffsll is declared without a macro... yes checking whether memmem is declared without a macro... yes checking whether mempcpy is declared without a macro... yes checking whether memrchr is declared without a macro... yes checking whether rawmemchr is declared without a macro... yes checking whether stpcpy is declared without a macro... yes checking whether stpncpy is declared without a macro... yes checking whether strchrnul is declared without a macro... yes checking whether strdup is declared without a macro... yes checking whether strncat is declared without a macro... yes checking whether strndup is declared without a macro... yes checking whether strnlen is declared without a macro... yes checking whether strpbrk is declared without a macro... yes checking whether strsep is declared without a macro... yes checking whether strcasestr is declared without a macro... yes checking whether strtok_r is declared without a macro... yes checking whether strerror_r is declared without a macro... yes checking whether strsignal is declared without a macro... yes checking whether strverscmp is declared without a macro... yes checking whether ffs is declared without a macro... yes checking whether strcasecmp is declared without a macro... yes checking whether strncasecmp is declared without a macro... yes checking whether strndup is declared... (cached) yes checking whether strnlen is declared... (cached) yes checking whether strtoimax is declared... (cached) yes checking whether strtoumax is declared... (cached) yes checking for struct timespec in ... 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 for snprintf... (cached) yes checking for strnlen... yes checking for wcslen... yes checking for wcsnlen... yes checking for mbrtowc... (cached) yes checking for wcrtomb... (cached) yes checking whether _snprintf is declared... no checking whether vsnprintf is declared... yes checking for sys/acl.h... (cached) yes checking for library containing acl_get_file... (cached) -lacl checking for acl_get_file... yes checking for acl_get_fd... yes checking for acl_set_file... yes checking for acl_set_fd... yes checking for acl_free... yes checking for acl_from_mode... yes checking for acl_from_text... yes checking for acl_delete_def_file... yes checking for acl_extended_file... yes checking for acl_delete_fd_np... no checking for acl_delete_file_np... no checking for acl_copy_ext_native... no checking for acl_create_entry_np... no checking for acl_to_short_text... no checking for acl_free_text... no checking for working acl_get_file... yes checking acl/libacl.h usability... yes checking acl/libacl.h presence... yes checking for acl/libacl.h... yes checking for acl_entries... yes checking for ACL_FIRST_ENTRY... yes checking for ACL_TYPE_EXTENDED... no checking for alloca as a compiler built-in... yes checking whether program_invocation_name is declared... yes checking whether program_invocation_short_name is declared... yes checking whether program_invocation_name is defined... yes checking whether program_invocation_short_name is defined... yes checking whether btowc(0) is correct... yes checking whether btowc(EOF) is correct... yes checking for __builtin_expect... yes checking whether this system has an arbitrary file name length limit... yes checking for library containing clock_gettime... none required checking for clock_gettime... yes checking for clock_settime... yes checking for closedir... yes checking for d_ino member in directory struct... (cached) yes checking whether alphasort is declared without a macro... yes checking whether closedir is declared without a macro... yes checking whether dirfd is declared without a macro... yes checking whether fdopendir is declared without a macro... yes checking whether opendir is declared without a macro... yes checking whether readdir is declared without a macro... yes checking whether rewinddir is declared without a macro... yes checking whether scandir is declared without a macro... yes checking for dirfd... yes checking whether dirfd is declared... (cached) yes checking whether dirfd is a macro... no checking whether // is distinct from /... (cached) no checking whether dup works... yes checking whether dup2 works... yes checking for error_at_line... yes checking for euidaccess... yes checking for fchownat... yes checking whether fchownat works with AT_SYMLINK_NOFOLLOW... yes checking whether fchownat works with an empty file name... yes checking whether fcntl handles F_DUPFD correctly... yes checking whether fcntl understands F_DUPFD_CLOEXEC... needs runtime check checking whether fcntl is declared without a macro... yes checking whether openat is declared without a macro... yes checking whether fdopendir is declared... (cached) yes checking whether fdopendir works... yes checking for getxattr with XATTR_NAME_POSIX_ACL macros... yes checking for struct stat.st_blocks... yes checking for flexible array member... yes checking whether conversion from 'int' to 'long double' works... yes checking for working GNU fnmatch... yes checking for __fpending... yes checking whether __fpending is declared... yes checking for fseeko... (cached) yes checking whether fstatat (..., 0) works... yes checking whether futimens works... yes checking whether getcwd handles long file names properly... yes checking for getpagesize... yes checking whether getcwd aborts when 4k < cwd_length < 16k... no checking for working getdelim function... yes checking whether getdtablesize works... yes checking for getgroups... yes checking for working getgroups... yes checking whether getgroups handles negative values... yes checking for getline... yes checking for working getline function... yes checking for getpagesize... (cached) yes checking whether getpagesize is declared... yes checking whether 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 gettimeofday clobbers localtime buffer... no checking for gettimeofday with POSIX signature... almost checking for group_member... yes checking whether INT32_MAX < INTMAX_MAX... yes checking whether INT64_MAX == LONG_MAX... yes checking whether UINT32_MAX < UINTMAX_MAX... yes checking whether UINT64_MAX == ULONG_MAX... yes checking whether iswblank is declared... yes checking whether langinfo.h defines CODESET... yes checking whether langinfo.h defines T_FMT_AMPM... yes checking whether langinfo.h defines ERA... yes checking whether langinfo.h defines YESEXPR... yes checking whether nl_langinfo is declared without a macro... yes checking for lchown... yes checking whether link obeys POSIX... yes checking for __xpg4... no checking whether link(2) dereferences a symlink... no checking whether linkat() can link symlinks... yes checking whether linkat handles trailing slash correctly... yes checking whether locale.h conforms to POSIX:2001... yes checking whether struct lconv is properly defined... yes checking whether setlocale is declared without a macro... yes checking whether duplocale is declared without a macro... yes checking whether lseek detects pipes... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... (cached) yes checking whether mbrtowc handles incomplete characters... 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 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 mempcpy... (cached) yes checking for memrchr... yes checking whether mkdir handles trailing slash... yes checking whether mkdir handles trailing dot... yes checking for mkdtemp... yes checking whether mkfifo rejects trailing slashes... yes checking whether mknod can create fifo without root privileges... yes checking for __mktime_internal... no checking whether YESEXPR works... yes checking for obstacks that work with any size object... no checking whether open recognizes a trailing slash... yes checking for opendir... yes checking for struct tm.tm_zone... (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 readlinkat signature is correct... yes checking for working re_compile_pattern... yes checking whether rename honors trailing slash on destination... yes checking whether rename honors trailing slash on source... yes checking whether rename manages hard links correctly... yes checking whether rename manages existing destinations correctly... yes checking linux/fs.h usability... yes checking linux/fs.h presence... yes checking for linux/fs.h... yes checking for linux/fs.h... (cached) yes checking for rewinddir... yes checking whether rmdir works... yes checking for rpmatch... yes checking selinux/flask.h usability... yes checking selinux/flask.h presence... yes checking for selinux/flask.h... yes checking for selinux/selinux.h... (cached) yes checking selinux/context.h usability... yes checking selinux/context.h presence... yes checking for selinux/context.h... yes checking whether setenv validates arguments... yes checking for volatile sig_atomic_t... yes checking for sighandler_t... yes checking whether pthread_sigmask is declared without a macro... yes checking whether sigaction is declared without a macro... yes checking whether sigaddset is declared without a macro... yes checking whether sigdelset is declared without a macro... yes checking whether sigemptyset is declared without a macro... yes checking whether sigfillset is declared without a macro... yes checking whether sigismember is declared without a macro... yes checking whether sigpending is declared without a macro... yes checking whether sigprocmask is declared without a macro... yes checking for stdint.h... (cached) yes checking for SIZE_MAX... yes checking whether sleep is declared... yes checking for working sleep... yes checking for snprintf... (cached) yes checking whether snprintf respects a size of 1... yes checking whether printf supports POSIX/XSI format strings with positions... yes checking for ssize_t... (cached) yes checking whether stat handles trailing slashes on files... yes checking for struct stat.st_atim.tv_nsec... yes checking whether struct stat.st_atim is of type struct timespec... yes checking for struct stat.st_birthtimespec.tv_nsec... no checking for struct stat.st_birthtimensec... no checking for struct stat.st_birthtim.tv_nsec... no checking for working stdalign.h... yes checking for va_copy... yes checking for max_align_t... (cached) yes checking whether NULL can be used in arbitrary expressions... (cached) yes checking which flavor of printf attribute matches inttypes macros... system checking whether dprintf is declared without a macro... yes checking whether fpurge is declared without a macro... no checking whether fseeko is declared without a macro... yes checking whether ftello is declared without a macro... yes checking whether getdelim is declared without a macro... yes checking whether getline is declared without a macro... yes checking whether gets is declared without a macro... no checking whether pclose is declared without a macro... yes checking whether popen is declared without a macro... yes checking whether renameat is declared without a macro... yes checking whether snprintf is declared without a macro... yes checking whether tmpfile is declared without a macro... yes checking whether vdprintf is declared without a macro... yes checking whether vsnprintf is declared without a macro... yes checking whether _Exit is declared without a macro... yes checking whether atoll is declared without a macro... yes checking whether canonicalize_file_name is declared without a macro... yes checking whether getloadavg is declared without a macro... yes checking whether getsubopt is declared without a macro... yes checking whether grantpt is declared without a macro... yes checking whether initstate is declared without a macro... yes checking whether initstate_r is declared without a macro... yes checking whether mkdtemp is declared without a macro... yes checking whether mkostemp is declared without a macro... yes checking whether mkostemps is declared without a macro... yes checking whether mkstemp is declared without a macro... yes checking whether mkstemps is declared without a macro... yes checking whether posix_openpt is declared without a macro... yes checking whether ptsname is declared without a macro... yes checking whether ptsname_r is declared without a macro... yes checking whether qsort_r is declared without a macro... yes checking whether random is declared without a macro... yes checking whether random_r is declared without a macro... yes checking whether reallocarray is declared without a macro... yes checking whether realpath is declared without a macro... yes checking whether rpmatch is declared without a macro... yes checking whether secure_getenv is declared without a macro... yes checking whether setenv is declared without a macro... yes checking whether setstate is declared without a macro... yes checking whether setstate_r is declared without a macro... yes checking whether srandom is declared without a macro... yes checking whether srandom_r is declared without a macro... yes checking whether strtod is declared without a macro... yes checking whether strtoll is declared without a macro... yes checking whether strtoull is declared without a macro... yes checking whether unlockpt is declared without a macro... yes checking whether unsetenv is declared without a macro... yes checking for stpcpy... yes checking for strcasecmp... yes checking for strncasecmp... yes checking whether strncasecmp is declared... (cached) yes checking for strchrnul... yes checking whether strchrnul works... yes checking for working strerror function... yes checking for working strndup... yes checking for working strnlen... yes checking whether strtoimax works... yes checking for strtol... yes checking for strtoll... yes checking for strtoul... yes checking for strtoull... yes checking whether symlink handles trailing slash correctly... yes checking whether symlinkat handles trailing slash correctly... yes checking for nlink_t... (cached) yes checking whether fchmodat is declared without a macro... (cached) yes checking whether fstat is declared without a macro... (cached) yes checking whether fstatat is declared without a macro... (cached) yes checking whether futimens is declared without a macro... (cached) yes checking whether lchmod is declared without a macro... (cached) yes checking whether lstat is declared without a macro... (cached) yes checking whether mkdirat is declared without a macro... (cached) yes checking whether mkfifo is declared without a macro... (cached) yes checking whether mkfifoat is declared without a macro... (cached) yes checking whether mknod is declared without a macro... (cached) yes checking whether mknodat is declared without a macro... (cached) yes checking whether stat is declared without a macro... (cached) yes checking whether utimensat is declared without a macro... (cached) yes checking whether localtime_r is declared... yes checking whether localtime_r is compatible with its POSIX signature... yes checking for timezone_t... no checking whether tzset clobbers localtime buffer... no checking whether chdir is declared without a macro... yes checking whether chown is declared without a macro... yes checking whether dup is declared without a macro... yes checking whether dup2 is declared without a macro... yes checking whether dup3 is declared without a macro... yes checking whether environ is declared without a macro... yes checking whether euidaccess is declared without a macro... yes checking whether faccessat is declared without a macro... yes checking whether fchdir is declared without a macro... yes checking whether fchownat is declared without a macro... yes checking whether fdatasync is declared without a macro... yes checking whether fsync is declared without a macro... yes checking whether ftruncate is declared without a macro... yes checking whether getcwd is declared without a macro... yes checking whether getdomainname is declared without a macro... yes checking whether getdtablesize is declared without a macro... yes checking whether getgroups is declared without a macro... yes checking whether gethostname is declared without a macro... yes checking whether getlogin is declared without a macro... yes checking whether getlogin_r is declared without a macro... yes checking whether getpagesize is declared without a macro... yes checking whether getusershell is declared without a macro... yes checking whether setusershell is declared without a macro... yes checking whether endusershell is declared without a macro... yes checking whether group_member is declared without a macro... yes checking whether isatty is declared without a macro... yes checking whether lchown is declared without a macro... yes checking whether link is declared without a macro... yes checking whether linkat is declared without a macro... yes checking whether lseek is declared without a macro... yes checking whether pipe is declared without a macro... yes checking whether pipe2 is declared without a macro... yes checking whether pread is declared without a macro... yes checking whether pwrite is declared without a macro... yes checking whether readlink is declared without a macro... yes checking whether readlinkat is declared without a macro... yes checking whether rmdir is declared without a macro... yes checking whether sethostname is declared without a macro... yes checking whether sleep is declared without a macro... yes checking whether symlink is declared without a macro... yes checking whether symlinkat is declared without a macro... yes checking whether truncate is declared without a macro... yes checking whether ttyname_r is declared without a macro... yes checking whether unlink is declared without a macro... yes checking whether unlinkat is declared without a macro... yes checking whether usleep is declared without a macro... yes checking whether unlink honors trailing slashes... yes checking whether unlink of a parent directory fails as it should... guessing yes checking for unsetenv... yes checking for unsetenv() return type... int checking whether unsetenv obeys POSIX... yes checking whether utime is declared without a macro... 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 btowc is declared without a macro... yes checking whether wctob is declared without a macro... yes checking whether mbsinit is declared without a macro... yes checking whether mbrtowc is declared without a macro... yes checking whether mbrlen is declared without a macro... yes checking whether mbsrtowcs is declared without a macro... yes checking whether mbsnrtowcs is declared without a macro... yes checking whether wcrtomb is declared without a macro... yes checking whether wcsrtombs is declared without a macro... yes checking whether wcsnrtombs is declared without a macro... yes checking whether wcwidth is declared without a macro... yes checking whether wmemchr is declared without a macro... yes checking whether wmemcmp is declared without a macro... yes checking whether wmemcpy is declared without a macro... yes checking whether wmemmove is declared without a macro... yes checking whether wmemset is declared without a macro... yes checking whether wcslen is declared without a macro... yes checking whether wcsnlen is declared without a macro... yes checking whether wcscpy is declared without a macro... yes checking whether wcpcpy is declared without a macro... yes checking whether wcsncpy is declared without a macro... yes checking whether wcpncpy is declared without a macro... yes checking whether wcscat is declared without a macro... yes checking whether wcsncat is declared without a macro... yes checking whether wcscmp is declared without a macro... yes checking whether wcsncmp is declared without a macro... yes checking whether wcscasecmp is declared without a macro... yes checking whether wcsncasecmp is declared without a macro... yes checking whether wcscoll is declared without a macro... yes checking whether wcsxfrm is declared without a macro... yes checking whether wcsdup is declared without a macro... yes checking whether wcschr is declared without a macro... yes checking whether wcsrchr is declared without a macro... yes checking whether wcscspn is declared without a macro... yes checking whether wcsspn is declared without a macro... yes checking whether wcspbrk is declared without a macro... yes checking whether wcsstr is declared without a macro... yes checking whether wcstok is declared without a macro... yes checking whether wcswidth is declared without a macro... yes checking whether wcsftime is declared without a macro... yes checking whether mbrtowc handles incomplete characters... (cached) yes checking whether mbrtowc works as well as mbtowc... (cached) 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 wctype is declared without a macro... (cached) yes checking whether iswctype is declared without a macro... (cached) yes checking whether wctrans is declared without a macro... (cached) yes checking whether towctrans is declared without a macro... (cached) yes checking whether wcwidth is declared... (cached) yes checking whether wcwidth works reasonably in UTF-8 locales... yes checking for stdint.h... (cached) yes checking whether time.h and sys/time.h may both be included... yes checking for struct stat.st_blksize... yes checking for library containing setsockopt... none required checking for library containing setsockopt... (cached) none required checking for sys/mtio.h... (cached) yes checking which ioctl field to test for reversed bytes... mt_type checking whether to build rmt... yes checking for remote tape header files... yes checking for sys/buf.h... (cached) no checking for struct stat.st_blksize... (cached) yes checking for library containing gethostbyname... none required checking sys/xattr.h usability... yes checking sys/xattr.h presence... yes checking for sys/xattr.h... yes checking for library containing getxattr... none required checking for library containing fgetxattr... none required checking for library containing lgetxattr... none required checking for library containing setxattr... none required checking for library containing fsetxattr... none required checking for library containing lsetxattr... none required checking for library containing listxattr... none required checking for library containing flistxattr... none required checking for library containing llistxattr... none required checking whether getgrgid is declared... yes checking whether getpwuid is declared... yes checking whether time is declared... yes checking for waitpid... yes checking for remote shell... /usr/bin/rsh checking for default archive format... GNU checking for default archive... - checking for default blocking... 20 checking for default quoting style... escape checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for shared library run path origin... done checking for the common suffixes of directories in the library search path... lib,lib checking for iconv... yes checking for iconv declaration... extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); checking iconv.h usability... yes checking iconv.h presence... yes checking for iconv.h... yes checking for iconv_t... yes checking for a sed that does not truncate output... /bin/sed checking whether NLS is requested... yes checking for msgfmt... /usr/bin/msgfmt checking for gmsgfmt... /usr/bin/msgfmt checking for xgettext... /usr/bin/xgettext checking for msgmerge... /usr/bin/msgmerge checking for CFPreferencesCopyAppValue... no checking for CFLocaleCopyCurrent... no checking for GNU gettext in libc... yes checking whether to use NLS... yes checking where the gettext function comes from... libc checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating tests/Makefile config.status: creating tests/atlocal config.status: creating Makefile config.status: creating doc/Makefile config.status: creating gnu/Makefile config.status: creating lib/Makefile config.status: creating po/Makefile.in config.status: creating scripts/Makefile config.status: creating rmt/Makefile config.status: creating src/Makefile config.status: creating config.h config.status: executing depfiles commands config.status: executing po-directories commands config.status: creating po/POTFILES config.status: creating po/Makefile config.status: executing tests/atconfig commands touch configure-stamp dh_testdir RSH="/usr/bin/rsh" CPPFLAGS="`dpkg-buildflags --get CPPFLAGS`" CFLAGS="`dpkg-buildflags --get CFLAGS` -Wall" \ LDFLAGS="`dpkg-buildflags --get LDFLAGS`" /usr/bin/make -j15 --jobserver-auth=3,4 make[1]: warning: -j15 forced in submake: resetting jobserver mode. make[1]: Entering directory '/build/tar-1.30+dfsg' /usr/bin/make all-recursive make[2]: Entering directory '/build/tar-1.30+dfsg' Making all in doc make[3]: Entering directory '/build/tar-1.30+dfsg/doc' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/build/tar-1.30+dfsg/doc' Making all in gnu make[3]: Entering directory '/build/tar-1.30+dfsg/gnu' rm -f alloca.h-t alloca.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ cat ./alloca.in.h; \ } > alloca.h-t && \ mv -f alloca.h-t alloca.h rm -f configmake.h-t && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ echo '#define PREFIX "/usr"'; \ echo '#define EXEC_PREFIX "/usr"'; \ echo '#define BINDIR "/usr/bin"'; \ echo '#define SBINDIR "/usr/sbin"'; \ echo '#define LIBEXECDIR "/usr/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 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_FCNTL''@/1/g' \ -e 's/@''GNULIB_NONBLOCKING''@/0/g' \ -e 's/@''GNULIB_OPEN''@/1/g' \ -e 's/@''GNULIB_OPENAT''@/1/g' \ -e 's|@''HAVE_FCNTL''@|1|g' \ -e 's|@''HAVE_OPENAT''@|1|g' \ -e 's|@''REPLACE_FCNTL''@|1|g' \ -e 's|@''REPLACE_OPEN''@|0|g' \ -e 's|@''REPLACE_OPENAT''@|0|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \ -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \ -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \ < ./fcntl.in.h; \ } > fcntl.h-t && \ mv fcntl.h-t fcntl.h rm -f getopt.h-t getopt.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_GETOPT_H''@|1|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_GETOPT_H''@||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/@''PRI_MACROS_BROKEN''@/0/g' \ -e 's/@''APPLE_UNIVERSAL_BUILD''@/0/g' \ -e 's/@''HAVE_LONG_LONG_INT''@/1/g' \ -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/1/g' \ -e 's/@''PRIPTR_PREFIX''@/"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/@''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_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_DUPLOCALE''@/0/g' \ -e 's|@''HAVE_DUPLOCALE''@|1|g' \ -e 's|@''HAVE_XLOCALE_H''@|0|g' \ -e 's|@''REPLACE_LOCALECONV''@|0|g' \ -e 's|@''REPLACE_SETLOCALE''@|0|g' \ -e 's|@''REPLACE_DUPLOCALE''@|0|g' \ -e 's|@''REPLACE_STRUCT_LCONV''@|0|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \ -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \ -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \ < ./locale.in.h; \ } > locale.h-t && \ mv locale.h-t locale.h /bin/mkdir -p selinux rm -f selinux/selinux.h-t selinux/selinux.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_SELINUX_SELINUX_H''@||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''@/0/g' \ -e 's/@''GNULIB_FPRINTF''@/1/g' \ -e 's/@''GNULIB_FPRINTF_POSIX''@/0/g' \ -e 's/@''GNULIB_FPURGE''@/0/g' \ -e 's/@''GNULIB_FPUTC''@/1/g' \ -e 's/@''GNULIB_FPUTS''@/1/g' \ -e 's/@''GNULIB_FREAD''@/1/g' \ -e 's/@''GNULIB_FREOPEN''@/0/g' \ -e 's/@''GNULIB_FSCANF''@/1/g' \ -e 's/@''GNULIB_FSEEK''@/1/g' \ -e 's/@''GNULIB_FSEEKO''@/1/g' \ -e 's/@''GNULIB_FTELL''@/0/g' \ -e 's/@''GNULIB_FTELLO''@/0/g' \ -e 's/@''GNULIB_FWRITE''@/1/g' \ -e 's/@''GNULIB_GETC''@/1/g' \ -e 's/@''GNULIB_GETCHAR''@/1/g' \ -e 's/@''GNULIB_GETDELIM''@/1/g' \ -e 's/@''GNULIB_GETLINE''@/1/g' \ -e 's/@''GNULIB_OBSTACK_PRINTF''@/0/g' \ -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/0/g' \ -e 's/@''GNULIB_PCLOSE''@/0/g' \ -e 's/@''GNULIB_PERROR''@/0/g' \ -e 's/@''GNULIB_POPEN''@/0/g' \ -e 's/@''GNULIB_PRINTF''@/1/g' \ -e 's/@''GNULIB_PRINTF_POSIX''@/0/g' \ -e 's/@''GNULIB_PUTC''@/1/g' \ -e 's/@''GNULIB_PUTCHAR''@/1/g' \ -e 's/@''GNULIB_PUTS''@/1/g' \ -e 's/@''GNULIB_REMOVE''@/0/g' \ -e 's/@''GNULIB_RENAME''@/1/g' \ -e 's/@''GNULIB_RENAMEAT''@/1/g' \ -e 's/@''GNULIB_SCANF''@/1/g' \ -e 's/@''GNULIB_SNPRINTF''@/1/g' \ -e 's/@''GNULIB_SPRINTF_POSIX''@/0/g' \ -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/0/g' \ -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/0/g' \ -e 's/@''GNULIB_TMPFILE''@/0/g' \ -e 's/@''GNULIB_VASPRINTF''@/1/g' \ -e 's/@''GNULIB_VDPRINTF''@/0/g' \ -e 's/@''GNULIB_VFPRINTF''@/1/g' \ -e 's/@''GNULIB_VFPRINTF_POSIX''@/0/g' \ -e 's/@''GNULIB_VFSCANF''@/0/g' \ -e 's/@''GNULIB_VSCANF''@/0/g' \ -e 's/@''GNULIB_VPRINTF''@/1/g' \ -e 's/@''GNULIB_VPRINTF_POSIX''@/0/g' \ -e 's/@''GNULIB_VSNPRINTF''@/1/g' \ -e 's/@''GNULIB_VSPRINTF_POSIX''@/0/g' \ < ./stdio.in.h | \ sed -e 's|@''HAVE_DECL_FPURGE''@|1|g' \ -e 's|@''HAVE_DECL_FSEEKO''@|1|g' \ -e 's|@''HAVE_DECL_FTELLO''@|1|g' \ -e 's|@''HAVE_DECL_GETDELIM''@|1|g' \ -e 's|@''HAVE_DECL_GETLINE''@|1|g' \ -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|1|g' \ -e 's|@''HAVE_DECL_SNPRINTF''@|1|g' \ -e 's|@''HAVE_DECL_VSNPRINTF''@|1|g' \ -e 's|@''HAVE_DPRINTF''@|1|g' \ -e 's|@''HAVE_FSEEKO''@|1|g' \ -e 's|@''HAVE_FTELLO''@|1|g' \ -e 's|@''HAVE_PCLOSE''@|1|g' \ -e 's|@''HAVE_POPEN''@|1|g' \ -e 's|@''HAVE_RENAMEAT''@|1|g' \ -e 's|@''HAVE_VASPRINTF''@|1|g' \ -e 's|@''HAVE_VDPRINTF''@|1|g' \ -e 's|@''REPLACE_DPRINTF''@|0|g' \ -e 's|@''REPLACE_FCLOSE''@|0|g' \ -e 's|@''REPLACE_FDOPEN''@|0|g' \ -e 's|@''REPLACE_FFLUSH''@|0|g' \ -e 's|@''REPLACE_FOPEN''@|0|g' \ -e 's|@''REPLACE_FPRINTF''@|0|g' \ -e 's|@''REPLACE_FPURGE''@|0|g' \ -e 's|@''REPLACE_FREOPEN''@|0|g' \ -e 's|@''REPLACE_FSEEK''@|0|g' \ -e 's|@''REPLACE_FSEEKO''@|0|g' \ -e 's|@''REPLACE_FTELL''@|0|g' \ -e 's|@''REPLACE_FTELLO''@|0|g' \ -e 's|@''REPLACE_GETDELIM''@|0|g' \ -e 's|@''REPLACE_GETLINE''@|0|g' \ -e 's|@''REPLACE_OBSTACK_PRINTF''@|0|g' \ -e 's|@''REPLACE_PERROR''@|0|g' \ -e 's|@''REPLACE_POPEN''@|0|g' \ -e 's|@''REPLACE_PRINTF''@|0|g' \ -e 's|@''REPLACE_REMOVE''@|0|g' \ -e 's|@''REPLACE_RENAME''@|0|g' \ -e 's|@''REPLACE_RENAMEAT''@|0|g' \ -e 's|@''REPLACE_SNPRINTF''@|0|g' \ -e 's|@''REPLACE_SPRINTF''@|0|g' \ -e 's|@''REPLACE_STDIO_READ_FUNCS''@|0|g' \ -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|0|g' \ -e 's|@''REPLACE_TMPFILE''@|0|g' \ -e 's|@''REPLACE_VASPRINTF''@|0|g' \ -e 's|@''REPLACE_VDPRINTF''@|0|g' \ -e 's|@''REPLACE_VFPRINTF''@|0|g' \ -e 's|@''REPLACE_VPRINTF''@|0|g' \ -e 's|@''REPLACE_VSNPRINTF''@|0|g' \ -e 's|@''REPLACE_VSPRINTF''@|0|g' \ -e 's|@''ASM_SYMBOL_PREFIX''@||g' \ -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \ -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \ -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h'; \ } > stdio.h-t && \ mv stdio.h-t stdio.h rm -f stdlib.h-t stdlib.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_STDLIB_H''@||g' \ -e 's/@''GNULIB__EXIT''@/0/g' \ -e 's/@''GNULIB_ATOLL''@/0/g' \ -e 's/@''GNULIB_CALLOC_POSIX''@/0/g' \ -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/1/g' \ -e 's/@''GNULIB_GETLOADAVG''@/0/g' \ -e 's/@''GNULIB_GETSUBOPT''@/0/g' \ -e 's/@''GNULIB_GRANTPT''@/0/g' \ -e 's/@''GNULIB_MALLOC_POSIX''@/1/g' \ -e 's/@''GNULIB_MBTOWC''@/1/g' \ -e 's/@''GNULIB_MKDTEMP''@/1/g' \ -e 's/@''GNULIB_MKOSTEMP''@/0/g' \ -e 's/@''GNULIB_MKOSTEMPS''@/0/g' \ -e 's/@''GNULIB_MKSTEMP''@/0/g' \ -e 's/@''GNULIB_MKSTEMPS''@/0/g' \ -e 's/@''GNULIB_POSIX_OPENPT''@/0/g' \ -e 's/@''GNULIB_PTSNAME''@/0/g' \ -e 's/@''GNULIB_PTSNAME_R''@/0/g' \ -e 's/@''GNULIB_PUTENV''@/0/g' \ -e 's/@''GNULIB_QSORT_R''@/0/g' \ -e 's/@''GNULIB_RANDOM''@/0/g' \ -e 's/@''GNULIB_RANDOM_R''@/0/g' \ -e 's/@''GNULIB_REALLOC_POSIX''@/1/g' \ -e 's/@''GNULIB_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_STRTOLL''@/1/g' \ -e 's/@''GNULIB_STRTOULL''@/1/g' \ -e 's/@''GNULIB_SYSTEM_POSIX''@/0/g' \ -e 's/@''GNULIB_UNLOCKPT''@/0/g' \ -e 's/@''GNULIB_UNSETENV''@/1/g' \ -e 's/@''GNULIB_WCTOMB''@/0/g' \ < ./stdlib.in.h | \ sed -e 's|@''HAVE__EXIT''@|1|g' \ -e 's|@''HAVE_ATOLL''@|1|g' \ -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|1|g' \ -e 's|@''HAVE_DECL_GETLOADAVG''@|1|g' \ -e 's|@''HAVE_GETSUBOPT''@|1|g' \ -e 's|@''HAVE_GRANTPT''@|1|g' \ -e 's|@''HAVE_DECL_INITSTATE''@|1|g' \ -e 's|@''HAVE_MKDTEMP''@|1|g' \ -e 's|@''HAVE_MKOSTEMP''@|1|g' \ -e 's|@''HAVE_MKOSTEMPS''@|1|g' \ -e 's|@''HAVE_MKSTEMP''@|1|g' \ -e 's|@''HAVE_MKSTEMPS''@|1|g' \ -e 's|@''HAVE_POSIX_OPENPT''@|1|g' \ -e 's|@''HAVE_PTSNAME''@|1|g' \ -e 's|@''HAVE_PTSNAME_R''@|1|g' \ -e 's|@''HAVE_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_DECL_SETSTATE''@|1|g' \ -e 's|@''HAVE_STRTOD''@|1|g' \ -e 's|@''HAVE_STRTOLL''@|1|g' \ -e 's|@''HAVE_STRTOULL''@|1|g' \ -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|1|g' \ -e 's|@''HAVE_SYS_LOADAVG_H''@|0|g' \ -e 's|@''HAVE_UNLOCKPT''@|1|g' \ -e 's|@''HAVE_DECL_UNSETENV''@|1|g' \ -e 's|@''REPLACE_CALLOC''@|0|g' \ -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|0|g' \ -e 's|@''REPLACE_MALLOC''@|0|g' \ -e 's|@''REPLACE_MBTOWC''@|0|g' \ -e 's|@''REPLACE_MKSTEMP''@|0|g' \ -e 's|@''REPLACE_PTSNAME''@|0|g' \ -e 's|@''REPLACE_PTSNAME_R''@|0|g' \ -e 's|@''REPLACE_PUTENV''@|0|g' \ -e 's|@''REPLACE_QSORT_R''@|0|g' \ -e 's|@''REPLACE_RANDOM_R''@|0|g' \ -e 's|@''REPLACE_REALLOC''@|0|g' \ -e 's|@''REPLACE_REALPATH''@|0|g' \ -e 's|@''REPLACE_SETENV''@|0|g' \ -e 's|@''REPLACE_STRTOD''@|0|g' \ -e 's|@''REPLACE_UNSETENV''@|0|g' \ -e 's|@''REPLACE_WCTOMB''@|0|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \ -e '/definition of _Noreturn/r ./_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_STRSIGNAL''@/0/g' \ -e 's/@''GNULIB_STRVERSCMP''@/0/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_MEMCHR''@|1|g' \ -e 's|@''HAVE_DECL_MEMMEM''@|1|g' \ -e 's|@''HAVE_MEMPCPY''@|1|g' \ -e 's|@''HAVE_DECL_MEMRCHR''@|1|g' \ -e 's|@''HAVE_RAWMEMCHR''@|1|g' \ -e 's|@''HAVE_STPCPY''@|1|g' \ -e 's|@''HAVE_STPNCPY''@|1|g' \ -e 's|@''HAVE_STRCHRNUL''@|1|g' \ -e 's|@''HAVE_DECL_STRDUP''@|1|g' \ -e 's|@''HAVE_DECL_STRNDUP''@|1|g' \ -e 's|@''HAVE_DECL_STRNLEN''@|1|g' \ -e 's|@''HAVE_STRPBRK''@|1|g' \ -e 's|@''HAVE_STRSEP''@|1|g' \ -e 's|@''HAVE_STRCASESTR''@|1|g' \ -e 's|@''HAVE_DECL_STRTOK_R''@|1|g' \ -e 's|@''HAVE_DECL_STRERROR_R''@|1|g' \ -e 's|@''HAVE_DECL_STRSIGNAL''@|1|g' \ -e 's|@''HAVE_STRVERSCMP''@|1|g' \ -e 's|@''REPLACE_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_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 /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_LCHMOD''@/0/g' \ -e 's/@''GNULIB_LSTAT''@/1/g' \ -e 's/@''GNULIB_MKDIRAT''@/1/g' \ -e 's/@''GNULIB_MKFIFO''@/1/g' \ -e 's/@''GNULIB_MKFIFOAT''@/1/g' \ -e 's/@''GNULIB_MKNOD''@/1/g' \ -e 's/@''GNULIB_MKNODAT''@/1/g' \ -e 's/@''GNULIB_STAT''@/1/g' \ -e 's/@''GNULIB_UTIMENSAT''@/1/g' \ -e 's/@''GNULIB_OVERRIDES_STRUCT_STAT''@/0/g' \ -e 's|@''HAVE_FCHMODAT''@|1|g' \ -e 's|@''HAVE_FSTATAT''@|1|g' \ -e 's|@''HAVE_FUTIMENS''@|1|g' \ -e 's|@''HAVE_LCHMOD''@|1|g' \ -e 's|@''HAVE_LSTAT''@|1|g' \ -e 's|@''HAVE_MKDIRAT''@|1|g' \ -e 's|@''HAVE_MKFIFO''@|1|g' \ -e 's|@''HAVE_MKFIFOAT''@|1|g' \ -e 's|@''HAVE_MKNOD''@|1|g' \ -e 's|@''HAVE_MKNODAT''@|1|g' \ -e 's|@''HAVE_UTIMENSAT''@|1|g' \ -e 's|@''REPLACE_FSTAT''@|0|g' \ -e 's|@''REPLACE_FSTATAT''@|0|g' \ -e 's|@''REPLACE_FUTIMENS''@|0|g' \ -e 's|@''REPLACE_LSTAT''@|0|g' \ -e 's|@''REPLACE_MKDIR''@|0|g' \ -e 's|@''REPLACE_MKFIFO''@|0|g' \ -e 's|@''REPLACE_MKNOD''@|0|g' \ -e 's|@''REPLACE_STAT''@|0|g' \ -e 's|@''REPLACE_UTIMENSAT''@|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 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 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_TIME_R''@/1/g' \ -e 's/@''GNULIB_TIME_RZ''@/1/g' \ -e 's/@''GNULIB_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_TIMEZONE_T''@|0|g' \ -e 's|@''HAVE_TZSET''@|1|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 '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \ -e '/definition of _GL_ARG_NONNULL/r ./arg-nonnull.h' \ -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \ < ./time.in.h; \ } > time.h-t && \ mv time.h-t time.h rm -f unistd.h-t unistd.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's|@''HAVE_UNISTD_H''@|1|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''PRAGMA_COLUMNS''@||g' \ -e 's|@''NEXT_UNISTD_H''@||g' \ -e 's|@''WINDOWS_64_BIT_OFF_T''@|0|g' \ -e 's/@''GNULIB_CHDIR''@/1/g' \ -e 's/@''GNULIB_CHOWN''@/1/g' \ -e 's/@''GNULIB_CLOSE''@/1/g' \ -e 's/@''GNULIB_DUP''@/1/g' \ -e 's/@''GNULIB_DUP2''@/1/g' \ -e 's/@''GNULIB_DUP3''@/0/g' \ -e 's/@''GNULIB_ENVIRON''@/1/g' \ -e 's/@''GNULIB_EUIDACCESS''@/1/g' \ -e 's/@''GNULIB_FACCESSAT''@/1/g' \ -e 's/@''GNULIB_FCHDIR''@/1/g' \ -e 's/@''GNULIB_FCHOWNAT''@/1/g' \ -e 's/@''GNULIB_FDATASYNC''@/0/g' \ -e 's/@''GNULIB_FSYNC''@/0/g' \ -e 's/@''GNULIB_FTRUNCATE''@/0/g' \ -e 's/@''GNULIB_GETCWD''@/1/g' \ -e 's/@''GNULIB_GETDOMAINNAME''@/0/g' \ -e 's/@''GNULIB_GETDTABLESIZE''@/1/g' \ -e 's/@''GNULIB_GETGROUPS''@/1/g' \ -e 's/@''GNULIB_GETHOSTNAME''@/0/g' \ -e 's/@''GNULIB_GETLOGIN''@/0/g' \ -e 's/@''GNULIB_GETLOGIN_R''@/0/g' \ -e 's/@''GNULIB_GETPAGESIZE''@/1/g' \ -e 's/@''GNULIB_GETUSERSHELL''@/0/g' \ -e 's/@''GNULIB_GROUP_MEMBER''@/1/g' \ -e 's/@''GNULIB_ISATTY''@/0/g' \ -e 's/@''GNULIB_LCHOWN''@/1/g' \ -e 's/@''GNULIB_LINK''@/1/g' \ -e 's/@''GNULIB_LINKAT''@/1/g' \ -e 's/@''GNULIB_LSEEK''@/1/g' \ -e 's/@''GNULIB_PIPE''@/0/g' \ -e 's/@''GNULIB_PIPE2''@/0/g' \ -e 's/@''GNULIB_PREAD''@/0/g' \ -e 's/@''GNULIB_PWRITE''@/0/g' \ -e 's/@''GNULIB_READ''@/1/g' \ -e 's/@''GNULIB_READLINK''@/1/g' \ -e 's/@''GNULIB_READLINKAT''@/1/g' \ -e 's/@''GNULIB_RMDIR''@/1/g' \ -e 's/@''GNULIB_SETHOSTNAME''@/0/g' \ -e 's/@''GNULIB_SLEEP''@/1/g' \ -e 's/@''GNULIB_SYMLINK''@/1/g' \ -e 's/@''GNULIB_SYMLINKAT''@/1/g' \ -e 's/@''GNULIB_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' \ < ./unistd.in.h | \ sed -e 's|@''HAVE_CHOWN''@|1|g' \ -e 's|@''HAVE_DUP2''@|1|g' \ -e 's|@''HAVE_DUP3''@|1|g' \ -e 's|@''HAVE_EUIDACCESS''@|1|g' \ -e 's|@''HAVE_FACCESSAT''@|1|g' \ -e 's|@''HAVE_FCHDIR''@|1|g' \ -e 's|@''HAVE_FCHOWNAT''@|1|g' \ -e 's|@''HAVE_FDATASYNC''@|1|g' \ -e 's|@''HAVE_FSYNC''@|1|g' \ -e 's|@''HAVE_FTRUNCATE''@|1|g' \ -e 's|@''HAVE_GETDTABLESIZE''@|1|g' \ -e 's|@''HAVE_GETGROUPS''@|1|g' \ -e 's|@''HAVE_GETHOSTNAME''@|1|g' \ -e 's|@''HAVE_GETPAGESIZE''@|1|g' \ -e 's|@''HAVE_GROUP_MEMBER''@|1|g' \ -e 's|@''HAVE_LCHOWN''@|1|g' \ -e 's|@''HAVE_LINK''@|1|g' \ -e 's|@''HAVE_LINKAT''@|1|g' \ -e 's|@''HAVE_PIPE''@|1|g' \ -e 's|@''HAVE_PIPE2''@|1|g' \ -e 's|@''HAVE_PREAD''@|1|g' \ -e 's|@''HAVE_PWRITE''@|1|g' \ -e 's|@''HAVE_READLINK''@|1|g' \ -e 's|@''HAVE_READLINKAT''@|1|g' \ -e 's|@''HAVE_SETHOSTNAME''@|1|g' \ -e 's|@''HAVE_SLEEP''@|1|g' \ -e 's|@''HAVE_SYMLINK''@|1|g' \ -e 's|@''HAVE_SYMLINKAT''@|1|g' \ -e 's|@''HAVE_TRUNCATE''@|1|g' \ -e 's|@''HAVE_UNLINKAT''@|1|g' \ -e 's|@''HAVE_USLEEP''@|1|g' \ -e 's|@''HAVE_DECL_ENVIRON''@|1|g' \ -e 's|@''HAVE_DECL_FCHDIR''@|1|g' \ -e 's|@''HAVE_DECL_FDATASYNC''@|1|g' \ -e 's|@''HAVE_DECL_GETDOMAINNAME''@|1|g' \ -e 's|@''HAVE_DECL_GETLOGIN''@|1|g' \ -e 's|@''HAVE_DECL_GETLOGIN_R''@|1|g' \ -e 's|@''HAVE_DECL_GETPAGESIZE''@|1|g' \ -e 's|@''HAVE_DECL_GETUSERSHELL''@|1|g' \ -e 's|@''HAVE_DECL_SETHOSTNAME''@|1|g' \ -e 's|@''HAVE_DECL_TTYNAME_R''@|1|g' \ -e 's|@''HAVE_OS_H''@|0|g' \ -e 's|@''HAVE_SYS_PARAM_H''@|0|g' \ | \ sed -e 's|@''REPLACE_CHOWN''@|0|g' \ -e 's|@''REPLACE_CLOSE''@|0|g' \ -e 's|@''REPLACE_DUP''@|0|g' \ -e 's|@''REPLACE_DUP2''@|0|g' \ -e 's|@''REPLACE_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_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_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 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''@/0/g' \ -e 's/@''GNULIB_WMEMCMP''@/0/g' \ -e 's/@''GNULIB_WMEMCPY''@/0/g' \ -e 's/@''GNULIB_WMEMMOVE''@/0/g' \ -e 's/@''GNULIB_WMEMSET''@/0/g' \ -e 's/@''GNULIB_WCSLEN''@/0/g' \ -e 's/@''GNULIB_WCSNLEN''@/0/g' \ -e 's/@''GNULIB_WCSCPY''@/0/g' \ -e 's/@''GNULIB_WCPCPY''@/0/g' \ -e 's/@''GNULIB_WCSNCPY''@/0/g' \ -e 's/@''GNULIB_WCPNCPY''@/0/g' \ -e 's/@''GNULIB_WCSCAT''@/0/g' \ -e 's/@''GNULIB_WCSNCAT''@/0/g' \ -e 's/@''GNULIB_WCSCMP''@/0/g' \ -e 's/@''GNULIB_WCSNCMP''@/0/g' \ -e 's/@''GNULIB_WCSCASECMP''@/0/g' \ -e 's/@''GNULIB_WCSNCASECMP''@/0/g' \ -e 's/@''GNULIB_WCSCOLL''@/0/g' \ -e 's/@''GNULIB_WCSXFRM''@/0/g' \ -e 's/@''GNULIB_WCSDUP''@/0/g' \ -e 's/@''GNULIB_WCSCHR''@/0/g' \ -e 's/@''GNULIB_WCSRCHR''@/0/g' \ -e 's/@''GNULIB_WCSCSPN''@/0/g' \ -e 's/@''GNULIB_WCSSPN''@/0/g' \ -e 's/@''GNULIB_WCSPBRK''@/0/g' \ -e 's/@''GNULIB_WCSSTR''@/0/g' \ -e 's/@''GNULIB_WCSTOK''@/0/g' \ -e 's/@''GNULIB_WCSWIDTH''@/0/g' \ -e 's/@''GNULIB_WCSFTIME''@/0/g' \ < ./wchar.in.h | \ sed -e 's|@''HAVE_WINT_T''@|1|g' \ -e 's|@''HAVE_BTOWC''@|1|g' \ -e 's|@''HAVE_MBSINIT''@|1|g' \ -e 's|@''HAVE_MBRTOWC''@|1|g' \ -e 's|@''HAVE_MBRLEN''@|1|g' \ -e 's|@''HAVE_MBSRTOWCS''@|1|g' \ -e 's|@''HAVE_MBSNRTOWCS''@|1|g' \ -e 's|@''HAVE_WCRTOMB''@|1|g' \ -e 's|@''HAVE_WCSRTOMBS''@|1|g' \ -e 's|@''HAVE_WCSNRTOMBS''@|1|g' \ -e 's|@''HAVE_WMEMCHR''@|1|g' \ -e 's|@''HAVE_WMEMCMP''@|1|g' \ -e 's|@''HAVE_WMEMCPY''@|1|g' \ -e 's|@''HAVE_WMEMMOVE''@|1|g' \ -e 's|@''HAVE_WMEMSET''@|1|g' \ -e 's|@''HAVE_WCSLEN''@|1|g' \ -e 's|@''HAVE_WCSNLEN''@|1|g' \ -e 's|@''HAVE_WCSCPY''@|1|g' \ -e 's|@''HAVE_WCPCPY''@|1|g' \ -e 's|@''HAVE_WCSNCPY''@|1|g' \ -e 's|@''HAVE_WCPNCPY''@|1|g' \ -e 's|@''HAVE_WCSCAT''@|1|g' \ -e 's|@''HAVE_WCSNCAT''@|1|g' \ -e 's|@''HAVE_WCSCMP''@|1|g' \ -e 's|@''HAVE_WCSNCMP''@|1|g' \ -e 's|@''HAVE_WCSCASECMP''@|1|g' \ -e 's|@''HAVE_WCSNCASECMP''@|1|g' \ -e 's|@''HAVE_WCSCOLL''@|1|g' \ -e 's|@''HAVE_WCSXFRM''@|1|g' \ -e 's|@''HAVE_WCSDUP''@|1|g' \ -e 's|@''HAVE_WCSCHR''@|1|g' \ -e 's|@''HAVE_WCSRCHR''@|1|g' \ -e 's|@''HAVE_WCSCSPN''@|1|g' \ -e 's|@''HAVE_WCSSPN''@|1|g' \ -e 's|@''HAVE_WCSPBRK''@|1|g' \ -e 's|@''HAVE_WCSSTR''@|1|g' \ -e 's|@''HAVE_WCSTOK''@|1|g' \ -e 's|@''HAVE_WCSWIDTH''@|1|g' \ -e 's|@''HAVE_WCSFTIME''@|1|g' \ -e 's|@''HAVE_DECL_WCTOB''@|1|g' \ -e 's|@''HAVE_DECL_WCWIDTH''@|1|g' \ | \ sed -e 's|@''REPLACE_MBSTATE_T''@|0|g' \ -e 's|@''REPLACE_BTOWC''@|0|g' \ -e 's|@''REPLACE_WCTOB''@|0|g' \ -e 's|@''REPLACE_MBSINIT''@|0|g' \ -e 's|@''REPLACE_MBRTOWC''@|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 '/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_WCTYPE''@/0/g' \ -e 's/@''GNULIB_ISWCTYPE''@/0/g' \ -e 's/@''GNULIB_WCTRANS''@/0/g' \ -e 's/@''GNULIB_TOWCTRANS''@/0/g' \ -e 's/@''HAVE_ISWBLANK''@/1/g' \ -e 's/@''HAVE_ISWCNTRL''@/1/g' \ -e 's/@''HAVE_WCTYPE_T''@/1/g' \ -e 's/@''HAVE_WCTRANS_T''@/1/g' \ -e 's/@''HAVE_WINT_T''@/1/g' \ -e 's/@''REPLACE_ISWBLANK''@/0/g' \ -e 's/@''REPLACE_ISWCNTRL''@/0/g' \ -e 's/@''REPLACE_TOWLOWER''@/0/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r ./c++defs.h' \ -e '/definition of _GL_WARN_ON_USE/r ./warn-on-use.h' \ < ./wctype.in.h; \ } > wctype.h-t && \ mv wctype.h-t wctype.h /usr/bin/make all-recursive make[4]: Entering directory '/build/tar-1.30+dfsg/gnu' make[5]: Entering directory '/build/tar-1.30+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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT acl-errno-valid.o -MD -MP -MF $depbase.Tpo -c -o acl-errno-valid.o acl-errno-valid.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo acl-internal.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT acl-internal.o -MD -MP -MF $depbase.Tpo -c -o acl-internal.o acl-internal.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo get-permissions.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT get-permissions.o -MD -MP -MF $depbase.Tpo -c -o get-permissions.o get-permissions.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo set-permissions.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT set-permissions.o -MD -MP -MF $depbase.Tpo -c -o set-permissions.o set-permissions.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo allocator.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT allocator.o -MD -MP -MF $depbase.Tpo -c -o allocator.o allocator.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo areadlink.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT areadlink.o -MD -MP -MF $depbase.Tpo -c -o areadlink.o areadlink.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo areadlink-with-size.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT areadlink-with-size.o -MD -MP -MF $depbase.Tpo -c -o areadlink-with-size.o areadlink-with-size.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo areadlinkat.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT areadlinkat.o -MD -MP -MF $depbase.Tpo -c -o areadlinkat.o areadlinkat.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo areadlinkat-with-size.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT areadlinkat-with-size.o -MD -MP -MF $depbase.Tpo -c -o areadlinkat-with-size.o areadlinkat-with-size.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo argmatch.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT argmatch.o -MD -MP -MF $depbase.Tpo -c -o argmatch.o argmatch.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo argp-ba.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT argp-ba.o -MD -MP -MF $depbase.Tpo -c -o argp-ba.o argp-ba.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo argp-eexst.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT argp-eexst.o -MD -MP -MF $depbase.Tpo -c -o argp-eexst.o argp-eexst.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo argp-fmtstream.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT argp-fmtstream.o -MD -MP -MF $depbase.Tpo -c -o argp-fmtstream.o argp-fmtstream.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo argp-fs-xinl.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT argp-fs-xinl.o -MD -MP -MF $depbase.Tpo -c -o argp-fs-xinl.o argp-fs-xinl.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo argp-help.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT argp-help.o -MD -MP -MF $depbase.Tpo -c -o argp-help.o argp-help.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo argp-parse.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT argp-parse.o -MD -MP -MF $depbase.Tpo -c -o argp-parse.o argp-parse.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo argp-pin.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT argp-pin.o -MD -MP -MF $depbase.Tpo -c -o argp-pin.o argp-pin.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo argp-pv.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT argp-pv.o -MD -MP -MF $depbase.Tpo -c -o argp-pv.o argp-pv.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo argp-pvh.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT argp-pvh.o -MD -MP -MF $depbase.Tpo -c -o argp-pvh.o argp-pvh.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo argp-xinl.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT argp-xinl.o -MD -MP -MF $depbase.Tpo -c -o argp-xinl.o argp-xinl.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo argp-version-etc.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT argp-version-etc.o -MD -MP -MF $depbase.Tpo -c -o argp-version-etc.o argp-version-etc.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo backupfile.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT backupfile.o -MD -MP -MF $depbase.Tpo -c -o backupfile.o backupfile.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo 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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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 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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT bitrotate.o -MD -MP -MF $depbase.Tpo -c -o bitrotate.o bitrotate.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo c-ctype.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT c-ctype.o -MD -MP -MF $depbase.Tpo -c -o c-ctype.o c-ctype.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo c-strcasecmp.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT c-strcasecmp.o -MD -MP -MF $depbase.Tpo -c -o c-strcasecmp.o c-strcasecmp.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo c-strncasecmp.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT c-strncasecmp.o -MD -MP -MF $depbase.Tpo -c -o c-strncasecmp.o c-strncasecmp.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo careadlinkat.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT careadlinkat.o -MD -MP -MF $depbase.Tpo -c -o careadlinkat.o careadlinkat.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo cloexec.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT cloexec.o -MD -MP -MF $depbase.Tpo -c -o cloexec.o cloexec.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo close-stream.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT close-stream.o -MD -MP -MF $depbase.Tpo -c -o close-stream.o close-stream.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo closeout.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT closeout.o -MD -MP -MF $depbase.Tpo -c -o closeout.o closeout.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo opendir-safer.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT opendir-safer.o -MD -MP -MF $depbase.Tpo -c -o opendir-safer.o opendir-safer.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo dirname.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT dirname.o -MD -MP -MF $depbase.Tpo -c -o dirname.o dirname.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo basename.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT basename.o -MD -MP -MF $depbase.Tpo -c -o basename.o basename.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo dirname-lgpl.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT dirname-lgpl.o -MD -MP -MF $depbase.Tpo -c -o dirname-lgpl.o dirname-lgpl.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo basename-lgpl.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT basename-lgpl.o -MD -MP -MF $depbase.Tpo -c -o basename-lgpl.o basename-lgpl.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo stripslash.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT stripslash.o -MD -MP -MF $depbase.Tpo -c -o stripslash.o stripslash.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo exclude.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT exclude.o -MD -MP -MF $depbase.Tpo -c -o exclude.o exclude.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo exitfail.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT exitfail.o -MD -MP -MF $depbase.Tpo -c -o exitfail.o exitfail.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo chmodat.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT chmodat.o -MD -MP -MF $depbase.Tpo -c -o chmodat.o chmodat.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo chownat.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT chownat.o -MD -MP -MF $depbase.Tpo -c -o chownat.o chownat.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo fd-hook.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT fd-hook.o -MD -MP -MF $depbase.Tpo -c -o fd-hook.o fd-hook.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo 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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT fdutimensat.o -MD -MP -MF $depbase.Tpo -c -o fdutimensat.o fdutimensat.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo file-has-acl.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT file-has-acl.o -MD -MP -MF $depbase.Tpo -c -o file-has-acl.o file-has-acl.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo filenamecat-lgpl.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT filenamecat-lgpl.o -MD -MP -MF $depbase.Tpo -c -o filenamecat-lgpl.o filenamecat-lgpl.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo fprintftime.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT fprintftime.o -MD -MP -MF $depbase.Tpo -c -o fprintftime.o fprintftime.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo full-write.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT full-write.o -MD -MP -MF $depbase.Tpo -c -o full-write.o full-write.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo 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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT gettime.o -MD -MP -MF $depbase.Tpo -c -o gettime.o gettime.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo 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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT hash.o -MD -MP -MF $depbase.Tpo -c -o hash.o hash.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo human.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT human.o -MD -MP -MF $depbase.Tpo -c -o human.o human.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo imaxtostr.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT imaxtostr.o -MD -MP -MF $depbase.Tpo -c -o imaxtostr.o imaxtostr.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo inttostr.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT inttostr.o -MD -MP -MF $depbase.Tpo -c -o inttostr.o inttostr.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo offtostr.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT offtostr.o -MD -MP -MF $depbase.Tpo -c -o offtostr.o offtostr.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo uinttostr.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT uinttostr.o -MD -MP -MF $depbase.Tpo -c -o uinttostr.o uinttostr.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo umaxtostr.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT umaxtostr.o -MD -MP -MF $depbase.Tpo -c -o umaxtostr.o umaxtostr.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo localcharset.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT localcharset.o -MD -MP -MF $depbase.Tpo -c -o localcharset.o localcharset.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo malloca.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT malloca.o -MD -MP -MF $depbase.Tpo -c -o malloca.o malloca.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo mbchar.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT mbchar.o -MD -MP -MF $depbase.Tpo -c -o mbchar.o mbchar.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo mbscasecmp.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT mbscasecmp.o -MD -MP -MF $depbase.Tpo -c -o mbscasecmp.o mbscasecmp.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo mbuiter.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT mbuiter.o -MD -MP -MF $depbase.Tpo -c -o mbuiter.o mbuiter.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo modechange.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT modechange.o -MD -MP -MF $depbase.Tpo -c -o modechange.o modechange.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo 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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT openat-die.o -MD -MP -MF $depbase.Tpo -c -o openat-die.o openat-die.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo parse-datetime.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT parse-datetime.o -MD -MP -MF $depbase.Tpo -c -o parse-datetime.o parse-datetime.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo priv-set.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT priv-set.o -MD -MP -MF $depbase.Tpo -c -o priv-set.o priv-set.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo progname.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT progname.o -MD -MP -MF $depbase.Tpo -c -o progname.o progname.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo quotearg.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT quotearg.o -MD -MP -MF $depbase.Tpo -c -o quotearg.o quotearg.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo renameat2.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT renameat2.o -MD -MP -MF $depbase.Tpo -c -o renameat2.o renameat2.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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT safe-read.o -MD -MP -MF $depbase.Tpo -c -o safe-read.o safe-read.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo safe-write.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT safe-write.o -MD -MP -MF $depbase.Tpo -c -o safe-write.o safe-write.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo save-cwd.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT save-cwd.o -MD -MP -MF $depbase.Tpo -c -o save-cwd.o save-cwd.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo savedir.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT savedir.o -MD -MP -MF $depbase.Tpo -c -o savedir.o savedir.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo se-context.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT se-context.o -MD -MP -MF $depbase.Tpo -c -o se-context.o se-context.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo se-selinux.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT se-selinux.o -MD -MP -MF $depbase.Tpo -c -o se-selinux.o se-selinux.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo stat-time.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT stat-time.o -MD -MP -MF $depbase.Tpo -c -o stat-time.o stat-time.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo statat.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT statat.o -MD -MP -MF $depbase.Tpo -c -o statat.o statat.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo 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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT strnlen1.o -MD -MP -MF $depbase.Tpo -c -o strnlen1.o strnlen1.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo tempname.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT tempname.o -MD -MP -MF $depbase.Tpo -c -o tempname.o tempname.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo timespec.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT timespec.o -MD -MP -MF $depbase.Tpo -c -o timespec.o timespec.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo timespec-sub.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT timespec-sub.o -MD -MP -MF $depbase.Tpo -c -o timespec-sub.o timespec-sub.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo unistd.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT unistd.o -MD -MP -MF $depbase.Tpo -c -o unistd.o unistd.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo dup-safer.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT dup-safer.o -MD -MP -MF $depbase.Tpo -c -o dup-safer.o dup-safer.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo fd-safer.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT fd-safer.o -MD -MP -MF $depbase.Tpo -c -o fd-safer.o fd-safer.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo pipe-safer.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT pipe-safer.o -MD -MP -MF $depbase.Tpo -c -o pipe-safer.o pipe-safer.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo unlinkdir.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT unlinkdir.o -MD -MP -MF $depbase.Tpo -c -o unlinkdir.o unlinkdir.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo utimens.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT utimens.o -MD -MP -MF $depbase.Tpo -c -o utimens.o utimens.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo version-etc.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT version-etc.o -MD -MP -MF $depbase.Tpo -c -o version-etc.o version-etc.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo version-etc-fsf.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT version-etc-fsf.o -MD -MP -MF $depbase.Tpo -c -o version-etc-fsf.o version-etc-fsf.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo wctype-h.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT wctype-h.o -MD -MP -MF $depbase.Tpo -c -o wctype-h.o wctype-h.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo xmalloc.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT xmalloc.o -MD -MP -MF $depbase.Tpo -c -o xmalloc.o xmalloc.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo xalloc-die.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT xalloc-die.o -MD -MP -MF $depbase.Tpo -c -o xalloc-die.o xalloc-die.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo xgetcwd.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT xgetcwd.o -MD -MP -MF $depbase.Tpo -c -o xgetcwd.o xgetcwd.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo xsize.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT xsize.o -MD -MP -MF $depbase.Tpo -c -o xsize.o xsize.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo xstrndup.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT xstrndup.o -MD -MP -MF $depbase.Tpo -c -o xstrndup.o xstrndup.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo xstrtol.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT xstrtol.o -MD -MP -MF $depbase.Tpo -c -o xstrtol.o xstrtol.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo xstrtoul.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT xstrtoul.o -MD -MP -MF $depbase.Tpo -c -o xstrtoul.o xstrtoul.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo xstrtol-error.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT xstrtol-error.o -MD -MP -MF $depbase.Tpo -c -o xstrtol-error.o xstrtol-error.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo xstrtoumax.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT xstrtoumax.o -MD -MP -MF $depbase.Tpo -c -o xstrtoumax.o xstrtoumax.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo xvasprintf.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT xvasprintf.o -MD -MP -MF $depbase.Tpo -c -o xvasprintf.o xvasprintf.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo xasprintf.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT xasprintf.o -MD -MP -MF $depbase.Tpo -c -o xasprintf.o xasprintf.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo asnprintf.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT asnprintf.o -MD -MP -MF $depbase.Tpo -c -o asnprintf.o asnprintf.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo chdir-long.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT chdir-long.o -MD -MP -MF $depbase.Tpo -c -o chdir-long.o chdir-long.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo fcntl.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT fcntl.o -MD -MP -MF $depbase.Tpo -c -o fcntl.o fcntl.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo 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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT getfilecon.o -MD -MP -MF $depbase.Tpo -c -o getfilecon.o getfilecon.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo getopt.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT getopt.o -MD -MP -MF $depbase.Tpo -c -o getopt.o getopt.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo getopt1.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT getopt1.o -MD -MP -MF $depbase.Tpo -c -o getopt1.o getopt1.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo localtime-buffer.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT localtime-buffer.o -MD -MP -MF $depbase.Tpo -c -o localtime-buffer.o localtime-buffer.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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT mktime.o -MD -MP -MF $depbase.Tpo -c -o mktime.o mktime.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo obstack.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT obstack.o -MD -MP -MF $depbase.Tpo -c -o obstack.o obstack.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo openat-proc.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT openat-proc.o -MD -MP -MF $depbase.Tpo -c -o openat-proc.o openat-proc.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo printf-args.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT printf-args.o -MD -MP -MF $depbase.Tpo -c -o printf-args.o printf-args.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo printf-parse.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT printf-parse.o -MD -MP -MF $depbase.Tpo -c -o printf-parse.o printf-parse.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo selinux-at.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT selinux-at.o -MD -MP -MF $depbase.Tpo -c -o selinux-at.o selinux-at.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo time_rz.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT time_rz.o -MD -MP -MF $depbase.Tpo -c -o time_rz.o time_rz.c &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo 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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT vasnprintf.o -MD -MP -MF $depbase.Tpo -c -o vasnprintf.o vasnprintf.c &&\ mv -f $depbase.Tpo $depbase.Po rm -f t-charset.alias charset.alias && \ /bin/bash ./config.charset 'x86_64-pc-linux-gnu' > t-charset.alias && \ mv t-charset.alias charset.alias rm -f t-ref-add.sed ref-add.sed && \ sed -e '/^#/d' -e 's/@''PACKAGE''@/tar/g' ref-add.sin > t-ref-add.sed && \ mv t-ref-add.sed ref-add.sed rm -f t-ref-del.sed ref-del.sed && \ sed -e '/^#/d' -e 's/@''PACKAGE''@/tar/g' ref-del.sin > t-ref-del.sed && \ mv t-ref-del.sed ref-del.sed depbase=`echo uniwidth/width.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT uniwidth/width.o -MD -MP -MF $depbase.Tpo -c -o uniwidth/width.o uniwidth/width.c &&\ mv -f $depbase.Tpo $depbase.Po rm -f libgnu.a ar cr libgnu.a acl-errno-valid.o acl-internal.o get-permissions.o set-permissions.o allocator.o areadlink.o areadlink-with-size.o areadlinkat.o areadlinkat-with-size.o argmatch.o argp-ba.o argp-eexst.o argp-fmtstream.o argp-fs-xinl.o argp-help.o argp-parse.o argp-pin.o argp-pv.o argp-pvh.o argp-xinl.o argp-version-etc.o backupfile.o backup-find.o bitrotate.o c-ctype.o c-strcasecmp.o c-strncasecmp.o careadlinkat.o cloexec.o close-stream.o closeout.o opendir-safer.o dirname.o basename.o dirname-lgpl.o basename-lgpl.o stripslash.o exclude.o exitfail.o chmodat.o chownat.o fd-hook.o 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 parse-datetime.o priv-set.o progname.o quotearg.o renameat2.o safe-read.o safe-write.o save-cwd.o savedir.o se-context.o se-selinux.o stat-time.o statat.o strnlen1.o tempname.o timespec.o timespec-sub.o unistd.o dup-safer.o fd-safer.o pipe-safer.o uniwidth/width.o unlinkdir.o utimens.o version-etc.o version-etc-fsf.o wctype-h.o xmalloc.o xalloc-die.o xgetcwd.o xsize.o xstrndup.o xstrtol.o xstrtoul.o xstrtol-error.o xstrtoumax.o xvasprintf.o xasprintf.o asnprintf.o chdir-long.o fcntl.o getfilecon.o getopt.o getopt1.o localtime-buffer.o mbrtowc.o mktime.o obstack.o openat-proc.o printf-args.o printf-parse.o selinux-at.o time_rz.o vasnprintf.o ranlib libgnu.a make[5]: Leaving directory '/build/tar-1.30+dfsg/gnu' make[4]: Leaving directory '/build/tar-1.30+dfsg/gnu' make[3]: Leaving directory '/build/tar-1.30+dfsg/gnu' Making all in lib make[3]: Entering directory '/build/tar-1.30+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/tar-1.30+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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT paxerror.o -MD -MP -MF .deps/paxerror.Tpo -c -o paxerror.o paxerror.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT paxexit-status.o -MD -MP -MF .deps/paxexit-status.Tpo -c -o paxexit-status.o paxexit-status.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT paxnames.o -MD -MP -MF .deps/paxnames.Tpo -c -o paxnames.o paxnames.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT stdopen.o -MD -MP -MF .deps/stdopen.Tpo -c -o stdopen.o stdopen.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT xattr-at.o -MD -MP -MF .deps/xattr-at.Tpo -c -o xattr-at.o xattr-at.c mv -f .deps/paxexit-status.Tpo .deps/paxexit-status.Po mv -f .deps/stdopen.Tpo .deps/stdopen.Po mv -f .deps/paxnames.Tpo .deps/paxnames.Po mv -f .deps/xattr-at.Tpo .deps/xattr-at.Po mv -f .deps/paxerror.Tpo .deps/paxerror.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 stdopen.o wordsplit.o xattr-at.o ranlib libtar.a make[4]: Leaving directory '/build/tar-1.30+dfsg/lib' make[3]: Leaving directory '/build/tar-1.30+dfsg/lib' Making all in rmt make[3]: Entering directory '/build/tar-1.30+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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT rmt.o -MD -MP -MF .deps/rmt.Tpo -c -o rmt.o rmt.c mv -f .deps/rmt.Tpo .deps/rmt.Po gcc -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wl,-z,relro -o rmt rmt.o ../gnu/libgnu.a -lacl make[3]: Leaving directory '/build/tar-1.30+dfsg/rmt' Making all in src make[3]: Entering directory '/build/tar-1.30+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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT buffer.o -MD -MP -MF .deps/buffer.Tpo -c -o buffer.o buffer.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT checkpoint.o -MD -MP -MF .deps/checkpoint.Tpo -c -o checkpoint.o checkpoint.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT compare.o -MD -MP -MF .deps/compare.Tpo -c -o compare.o compare.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT delete.o -MD -MP -MF .deps/delete.Tpo -c -o delete.o delete.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT sparse.o -MD -MP -MF .deps/sparse.Tpo -c -o sparse.o sparse.c mv -f .deps/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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT suffix.o -MD -MP -MF .deps/suffix.Tpo -c -o suffix.o suffix.c mv -f .deps/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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT system.o -MD -MP -MF .deps/system.Tpo -c -o system.o system.c mv -f .deps/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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT tar.o -MD -MP -MF .deps/tar.Tpo -c -o tar.o tar.c mv -f .deps/map.Tpo .deps/map.Po 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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT transform.o -MD -MP -MF .deps/transform.Tpo -c -o transform.o transform.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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT unlink.o -MD -MP -MF .deps/unlink.Tpo -c -o unlink.o unlink.c mv -f .deps/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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT update.o -MD -MP -MF .deps/update.Tpo -c -o update.o update.c mv -f .deps/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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT utf8.o -MD -MP -MF .deps/utf8.Tpo -c -o utf8.o utf8.c mv -f .deps/misc.Tpo .deps/misc.Po gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT warning.o -MD -MP -MF .deps/warning.Tpo -c -o warning.o warning.c mv -f .deps/utf8.Tpo .deps/utf8.Po mv -f .deps/update.Tpo .deps/update.Po mv -f .deps/unlink.Tpo .deps/unlink.Po gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../ -I../gnu -I../lib -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT xattrs.o -MD -MP -MF .deps/xattrs.Tpo -c -o xattrs.o xattrs.c mv -f .deps/list.Tpo .deps/list.Po mv -f .deps/system.Tpo .deps/system.Po mv -f .deps/transform.Tpo .deps/transform.Po mv -f .deps/incremen.Tpo .deps/incremen.Po mv -f .deps/warning.Tpo .deps/warning.Po mv -f .deps/create.Tpo .deps/create.Po mv -f .deps/xheader.Tpo .deps/xheader.Po mv -f .deps/sparse.Tpo .deps/sparse.Po mv -f .deps/extract.Tpo .deps/extract.Po mv -f .deps/buffer.Tpo .deps/buffer.Po mv -f .deps/names.Tpo .deps/names.Po mv -f .deps/xattrs.Tpo .deps/xattrs.Po mv -f .deps/tar.Tpo .deps/tar.Po gcc -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wl,-z,relro -o tar buffer.o checkpoint.o compare.o create.o delete.o exit.o exclist.o extract.o xheader.o incremen.o list.o map.o misc.o names.o sparse.o suffix.o system.o tar.o transform.o unlink.o update.o utf8.o warning.o xattrs.o -lacl ../lib/libtar.a ../gnu/libgnu.a -lselinux -lacl make[3]: Leaving directory '/build/tar-1.30+dfsg/src' Making all in scripts make[3]: Entering directory '/build/tar-1.30+dfsg/scripts' sed "s,\@libexecdir\@,/usr/sbin,; s,\@sysconfdir\@,/usr/etc,; s,\@PACKAGE_NAME\@,GNU tar,; s,\@VERSION\@,1.30,; 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.30,; 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.30,; 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.30,; 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/tar-1.30+dfsg/scripts' Making all in po make[3]: Entering directory '/build/tar-1.30+dfsg/po' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/build/tar-1.30+dfsg/po' Making all in tests make[3]: Entering directory '/build/tar-1.30+dfsg/tests' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/build/tar-1.30+dfsg/tests' make[3]: Entering directory '/build/tar-1.30+dfsg' make[3]: Leaving directory '/build/tar-1.30+dfsg' make[2]: Leaving directory '/build/tar-1.30+dfsg' make[1]: Leaving directory '/build/tar-1.30+dfsg' /usr/bin/make check TESTSUITEFLAGS=-v || { cat tests/testsuite.log; false; } make[1]: Entering directory '/build/tar-1.30+dfsg' Making check in doc make[2]: Entering directory '/build/tar-1.30+dfsg/doc' make[2]: Nothing to be done for 'check'. make[2]: Leaving directory '/build/tar-1.30+dfsg/doc' Making check in gnu make[2]: Entering directory '/build/tar-1.30+dfsg/gnu' /usr/bin/make check-recursive make[3]: Entering directory '/build/tar-1.30+dfsg/gnu' make[4]: Entering directory '/build/tar-1.30+dfsg/gnu' make[4]: Nothing to be done for 'check-am'. make[4]: Leaving directory '/build/tar-1.30+dfsg/gnu' make[3]: Leaving directory '/build/tar-1.30+dfsg/gnu' make[2]: Leaving directory '/build/tar-1.30+dfsg/gnu' Making check in lib make[2]: Entering directory '/build/tar-1.30+dfsg/lib' /usr/bin/make check-am make[3]: Entering directory '/build/tar-1.30+dfsg/lib' make[3]: Nothing to be done for 'check-am'. make[3]: Leaving directory '/build/tar-1.30+dfsg/lib' make[2]: Leaving directory '/build/tar-1.30+dfsg/lib' Making check in rmt make[2]: Entering directory '/build/tar-1.30+dfsg/rmt' make[2]: Nothing to be done for 'check'. make[2]: Leaving directory '/build/tar-1.30+dfsg/rmt' Making check in src make[2]: Entering directory '/build/tar-1.30+dfsg/src' make[2]: Nothing to be done for 'check'. make[2]: Leaving directory '/build/tar-1.30+dfsg/src' Making check in scripts make[2]: Entering directory '/build/tar-1.30+dfsg/scripts' make[2]: Nothing to be done for 'check'. make[2]: Leaving directory '/build/tar-1.30+dfsg/scripts' Making check in po make[2]: Entering directory '/build/tar-1.30+dfsg/po' make[2]: Nothing to be done for 'check'. make[2]: Leaving directory '/build/tar-1.30+dfsg/po' Making check in tests make[2]: Entering directory '/build/tar-1.30+dfsg/tests' /usr/bin/make genfile checkseekhole ckmtime make[3]: Entering directory '/build/tar-1.30+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/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT genfile.o -MD -MP -MF .deps/genfile.Tpo -c -o genfile.o genfile.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../gnu -I../gnu -I../lib -DLOCALEDIR=\"/usr/share/locale\" -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT argcv.o -MD -MP -MF .deps/argcv.Tpo -c -o argcv.o argcv.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../gnu -I../gnu -I../lib -DLOCALEDIR=\"/usr/share/locale\" -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT checkseekhole.o -MD -MP -MF .deps/checkseekhole.Tpo -c -o checkseekhole.o checkseekhole.c gcc -DHAVE_CONFIG_H -I. -I.. -I../gnu -I../gnu -I../gnu -I../lib -DLOCALEDIR=\"/usr/share/locale\" -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -MT ckmtime.o -MD -MP -MF .deps/ckmtime.Tpo -c -o ckmtime.o ckmtime.c mv -f .deps/checkseekhole.Tpo .deps/checkseekhole.Po gcc -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wl,-z,relro -o checkseekhole checkseekhole.o ../gnu/libgnu.a -lacl mv -f .deps/ckmtime.Tpo .deps/ckmtime.Po gcc -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wl,-z,relro -o ckmtime ckmtime.o ../gnu/libgnu.a -lacl mv -f .deps/argcv.Tpo .deps/argcv.Po mv -f .deps/genfile.Tpo .deps/genfile.Po gcc -g -O2 -ffile-prefix-map=/build/tar-1.30+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wl,-z,relro -o genfile genfile.o argcv.o ../gnu/libgnu.a -lacl make[3]: Leaving directory '/build/tar-1.30+dfsg/tests' /usr/bin/make check-local make[3]: Entering directory '/build/tar-1.30+dfsg/tests' { \ echo '# Signature of the current package.'; \ echo 'm4_define([AT_PACKAGE_NAME], [GNU tar])'; \ echo 'm4_define([AT_PACKAGE_TARNAME], [tar])'; \ echo 'm4_define([AT_PACKAGE_VERSION], [1.30])'; \ echo 'm4_define([AT_PACKAGE_STRING], [GNU tar 1.30])'; \ echo 'm4_define([AT_PACKAGE_BUGREPORT], [bug-tar@gnu.org])'; \ } >./package.m4 /bin/bash /build/tar-1.30+dfsg/build-aux/missing autom4te --language=autotest -I . testsuite.at -o testsuite.tmp mv testsuite.tmp testsuite /bin/bash ./testsuite -v ## ------------------------ ## ## GNU tar 1.30 test suite. ## ## ------------------------ ## 1. version.at:20: testing tar version ... ./version.at:22: tar --version | sed 1q 1. version.at:20: ok 2. pipe.at:30: testing decompressing from stdin ... ./pipe.at:34: 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:34: 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:34: 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:34: 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:34: 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:30: ok 3. options.at:25: testing mixing options ... ./options.at:28: echo > file1 TAR_OPTIONS=--numeric-owner tar chof archive file1 tar tf archive 3. options.at:25: ok 4. options02.at:27: testing interspersed options ... ./options02.at:30: echo > file1 tar c file1 -f archive tar tf archive 4. options02.at:27: ok 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 --- - 2021-07-04 00:18:07.375457424 -1200 +++ /build/tar-1.30+dfsg/tests/testsuite.dir/at-groups/11/stderr 2021-07-04 00:18:07.371413932 -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) Positional options 12. 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 12. positional01.at:21: ok 13. 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 13. positional02.at:21: ok 14. 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 14. positional03.at:21: ok 15. 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 ) 15. add-file.at:21: ok The -T option 16. 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 ) 16. T-mult.at:21: ok 17. 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 ) 17. T-nest.at:21: ok 18. 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 ) 18. T-rec.at:21: ok 19. 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" ) 19. T-recurse.at:27: ok 20. 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 ) 20. T-recurse.at:66: ok 21. 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 ) 21. T-cd.at:21: ok 22. T-empty.at:27: testing empty entries ... ./T-empty.at:37: 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 ) 22. T-empty.at:27: ok 23. T-null.at:22: testing 0-separated file without -0 ... ./T-null.at:25: 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 ) 23. T-null.at:22: ok 24. 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 - ) 24. T-null2.at:17: ok 25. 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 ) 25. T-zfile.at:26: ok 26. T-nonl.at:27: testing entries with missing newlines ... ./T-nonl.at:30: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * genfile --length=0 --file empty $as_echo_n c > 1.nonl echo d > 2.nonl $as_echo_n e >> 2.nonl touch a b c d e cat >filelist <<'_ATEOF' a b _ATEOF tar cf archive -T empty -T 1.nonl -T 2.nonl -T filelist tar tf archive echo == tar cf archive -T 2.nonl -T empty -T filelist -T 1.nonl tar tf archive ) 26. T-nonl.at:27: ok 27. 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 ) 27. T-dir00.at:28: ok 28. 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 ) 28. T-dir01.at:28: ok Various options 29. indexfile.at:27: testing tar --index-file=FILE --file=- ... ./indexfile.at:30: 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:30: 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:30: 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:30: 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:30: 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 ) 29. indexfile.at:27: ok 30. verbose.at:27: testing tar cvf - ... ./verbose.at:30: 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:30: 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:30: 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:30: 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:30: 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 ) 30. verbose.at:27: ok 31. gzip.at:24: testing gzip ... ./gzip.at:29: cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 tar xfvz /dev/null 2>err RC=$? sed -n '/^tar:/p' err >&2 exit $RC 31. gzip.at:24: ok 32. recurse.at:22: testing recurse ... ./recurse.at:25: 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:25: 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:25: 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:25: 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:25: 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 ) 32. recurse.at:22: ok 33. 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 ) 33. recurs02.at:30: ok 34. shortrec.at:26: testing short records ... ./shortrec.at:29: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * mkdir directory (cd directory && touch a b c d e f g h i j k l m n o p q r) tar -c -b 1 -f - directory | tar -t -f - > /dev/null tar -c -b 1 -f archive directory tar -t -f archive > /dev/null tar -t -f - < archive > /dev/null rm -r directory ) ./shortrec.at:29: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * mkdir directory (cd directory && touch a b c d e f g h i j k l m n o p q r) tar -c -b 1 -f - directory | tar -t -f - > /dev/null tar -c -b 1 -f archive directory tar -t -f archive > /dev/null tar -t -f - < archive > /dev/null rm -r directory ) ./shortrec.at:29: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * mkdir directory (cd directory && touch a b c d e f g h i j k l m n o p q r) tar -c -b 1 -f - directory | tar -t -f - > /dev/null tar -c -b 1 -f archive directory tar -t -f archive > /dev/null tar -t -f - < archive > /dev/null rm -r directory ) ./shortrec.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir directory (cd directory && touch a b c d e f g h i j k l m n o p q r) tar -c -b 1 -f - directory | tar -t -f - > /dev/null tar -c -b 1 -f archive directory tar -t -f archive > /dev/null tar -t -f - < archive > /dev/null rm -r directory ) ./shortrec.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir directory (cd directory && touch a b c d e f g h i j k l m n o p q r) tar -c -b 1 -f - directory | tar -t -f - > /dev/null tar -c -b 1 -f archive directory tar -t -f archive > /dev/null tar -t -f - < archive > /dev/null rm -r directory ) 34. shortrec.at:26: ok 35. numeric.at:18: testing --numeric-owner basic tests ... ./numeric.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir dir genfile --file dir/file MYUID=$(id -u) || exit 77 MYGID=$(id -g) || exit 77 MYUSR=$(id -un) || exit 77 MYGRP=$(id -gn) || exit 77 decho --create tar --create -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --create -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' decho --list tar --list -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --list -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' decho --diff tar --diff -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --diff -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' decho --extract tar --extract -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --extract -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' ) ./numeric.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir dir genfile --file dir/file MYUID=$(id -u) || exit 77 MYGID=$(id -g) || exit 77 MYUSR=$(id -un) || exit 77 MYGRP=$(id -gn) || exit 77 decho --create tar --create -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --create -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' decho --list tar --list -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --list -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' decho --diff tar --diff -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --diff -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' decho --extract tar --extract -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --extract -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' ) ./numeric.at:29: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * mkdir dir genfile --file dir/file MYUID=$(id -u) || exit 77 MYGID=$(id -g) || exit 77 MYUSR=$(id -un) || exit 77 MYGRP=$(id -gn) || exit 77 decho --create tar --create -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --create -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' decho --list tar --list -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --list -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' decho --diff tar --diff -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --diff -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' decho --extract tar --extract -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --extract -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' ) ./numeric.at:29: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * mkdir dir genfile --file dir/file MYUID=$(id -u) || exit 77 MYGID=$(id -g) || exit 77 MYUSR=$(id -un) || exit 77 MYGRP=$(id -gn) || exit 77 decho --create tar --create -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --create -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' decho --list tar --list -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --list -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' decho --diff tar --diff -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --diff -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' decho --extract tar --extract -vvf a dir --numeric-owner | awk '2=="'"$MYUID/$MYGID"'" {print "OK"; next} {print}' tar --extract -vvf a dir | awk '2=="'"$MYUSR/$MYGRP"'" {print "OK"; next} {print}' ) 35. numeric.at:18: ok The --same-order option 36. same-order01.at:27: testing working -C with --same-order ... ./same-order01.at:30: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir directory tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort ) ./same-order01.at:30: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir directory tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort ) ./same-order01.at:30: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir directory tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort ) ./same-order01.at:30: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir directory tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort ) ./same-order01.at:30: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir directory tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort ) 36. same-order01.at:27: ok 37. same-order02.at:26: testing multiple -C options ... ./same-order02.at:29: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir en mkdir to HERE=`pwd` tar -xf archive --same-order --warning=no-timestamp \ -C $HERE/en file1 \ -C $HERE/to file2 || exit 1 ls en echo separator ls to ) ./same-order02.at:29: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir en mkdir to HERE=`pwd` tar -xf archive --same-order --warning=no-timestamp \ -C $HERE/en file1 \ -C $HERE/to file2 || exit 1 ls en echo separator ls to ) ./same-order02.at:29: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir en mkdir to HERE=`pwd` tar -xf archive --same-order --warning=no-timestamp \ -C $HERE/en file1 \ -C $HERE/to file2 || exit 1 ls en echo separator ls to ) ./same-order02.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir en mkdir to HERE=`pwd` tar -xf archive --same-order --warning=no-timestamp \ -C $HERE/en file1 \ -C $HERE/to file2 || exit 1 ls en echo separator ls to ) ./same-order02.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir en mkdir to HERE=`pwd` tar -xf archive --same-order --warning=no-timestamp \ -C $HERE/en file1 \ -C $HERE/to file2 || exit 1 ls en echo separator ls to ) 37. same-order02.at:26: ok Append 38. append.at:22: testing append ... ./append.at:25: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * touch file1 touch file2 tar cf archive file1 tar rf archive file2 tar tf archive) ./append.at:25: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * touch file1 touch file2 tar cf archive file1 tar rf archive file2 tar tf archive) ./append.at:25: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * touch file1 touch file2 tar cf archive file1 tar rf archive file2 tar tf archive) ./append.at:25: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * touch file1 touch file2 tar cf archive file1 tar rf archive file2 tar tf archive) ./append.at:25: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * touch file1 touch file2 tar cf archive file1 tar rf archive file2 tar tf archive) 38. append.at:22: ok 39. append01.at:30: testing appending files with long names ... ./append01.at:35: 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:35: 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:35: 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:35: 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 ) 39. append01.at:30: ok 40. append02.at:55: testing append vs. create ... ./append02.at:58: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * genfile --file file1 genfile --file file2 # Make sure file timestamps in the archive will not differ MTIME="--mtime=@0" # For PAX archives, we need to make sure extended header names are # reproducible and that their contents won't change with time if test $TEST_TAR_FORMAT = posix; then TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime" fi echo Creating archive.1 tar $MTIME -cf archive.1 file1 file2 echo Creating archive.2 tar $MTIME -cf archive.2 -T /dev/null tar $MTIME -rf archive.2 file1 tar $MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 ) ./append02.at:58: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile --file file1 genfile --file file2 # Make sure file timestamps in the archive will not differ MTIME="--mtime=@0" # For PAX archives, we need to make sure extended header names are # reproducible and that their contents won't change with time if test $TEST_TAR_FORMAT = posix; then TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime" fi echo Creating archive.1 tar $MTIME -cf archive.1 file1 file2 echo Creating archive.2 tar $MTIME -cf archive.2 -T /dev/null tar $MTIME -rf archive.2 file1 tar $MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 ) ./append02.at:58: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * genfile --file file1 genfile --file file2 # Make sure file timestamps in the archive will not differ MTIME="--mtime=@0" # For PAX archives, we need to make sure extended header names are # reproducible and that their contents won't change with time if test $TEST_TAR_FORMAT = posix; then TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime" fi echo Creating archive.1 tar $MTIME -cf archive.1 file1 file2 echo Creating archive.2 tar $MTIME -cf archive.2 -T /dev/null tar $MTIME -rf archive.2 file1 tar $MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 ) ./append02.at:58: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile --file file1 genfile --file file2 # Make sure file timestamps in the archive will not differ MTIME="--mtime=@0" # For PAX archives, we need to make sure extended header names are # reproducible and that their contents won't change with time if test $TEST_TAR_FORMAT = posix; then TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime" fi echo Creating archive.1 tar $MTIME -cf archive.1 file1 file2 echo Creating archive.2 tar $MTIME -cf archive.2 -T /dev/null tar $MTIME -rf archive.2 file1 tar $MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 ) ./append02.at:58: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile --file file1 genfile --file file2 # Make sure file timestamps in the archive will not differ MTIME="--mtime=@0" # For PAX archives, we need to make sure extended header names are # reproducible and that their contents won't change with time if test $TEST_TAR_FORMAT = posix; then TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime" fi echo Creating archive.1 tar $MTIME -cf archive.1 file1 file2 echo Creating archive.2 tar $MTIME -cf archive.2 -T /dev/null tar $MTIME -rf archive.2 file1 tar $MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 ) 40. append02.at:55: ok 41. 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 ) 41. append03.at:21: ok 42. 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 ) 42. append04.at:29: ok 43. 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 ) 43. append05.at:32: ok Transforms 44. xform-h.at:31: testing transforming hard links on create ... ./xform-h.at:40: 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:40: 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:40: 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:40: 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:40: 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' ) 44. xform-h.at:31: ok 45. 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 ) 45. xform01.at:26: ok 46. 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 ) 46. xform02.at:21: ok 47. 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 mkdir t tar -C t -xf a.tar find t -type f ) ./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 mkdir t tar -C t -xf a.tar find t -type f ) ./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 mkdir t tar -C t -xf a.tar find t -type f ) ./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 mkdir t tar -C t -xf a.tar find t -type f ) ./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 mkdir t tar -C t -xf a.tar find t -type f ) 47. xform03.at:21: ok Exclude 48. 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 ) 48. exclude.at:23: ok 49. 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 ) 49. exclude01.at:19: ok 50. 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 ) 50. exclude02.at:19: ok 51. 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 ) 51. exclude03.at:19: ok 52. 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 ) 52. exclude04.at:19: ok 53. exclude05.at:22: testing exclude: lots of excludes ... ./exclude05.at:25: 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:25: 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:25: 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:25: 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:25: 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 ) 53. exclude05.at:22: ok 54. 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 ) 54. exclude06.at:26: ok 55. 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 ) 55. exclude07.at:19: ok 56. 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 ) 56. exclude08.at:36: ok 57. 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 ) 57. exclude09.at:37: ok 58. 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 ) 58. exclude10.at:38: ok 59. 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 ) 59. exclude11.at:36: ok 60. 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 ) 60. exclude12.at:37: ok 61. 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 ) 61. exclude13.at:39: ok 62. 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 ) 62. exclude14.at:36: ok 63. 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 ) 63. exclude15.at:36: ok 64. 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 ) 64. exclude16.at:38: ok Deletions 65. delete01.at:24: testing deleting a member after a big one ... ./delete01.at:27: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * genfile -l 50000 --file file1 genfile -l 1024 --file file2 tar cf archive file1 file2 tar f archive --delete file2 tar tf archive) ./delete01.at:27: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile -l 50000 --file file1 genfile -l 1024 --file file2 tar cf archive file1 file2 tar f archive --delete file2 tar tf archive) ./delete01.at:27: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * genfile -l 50000 --file file1 genfile -l 1024 --file file2 tar cf archive file1 file2 tar f archive --delete file2 tar tf archive) ./delete01.at:27: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile -l 50000 --file file1 genfile -l 1024 --file file2 tar cf archive file1 file2 tar f archive --delete file2 tar tf archive) ./delete01.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile -l 50000 --file file1 genfile -l 1024 --file file2 tar cf archive file1 file2 tar f archive --delete file2 tar tf archive) 65. delete01.at:24: ok 66. delete02.at:24: testing deleting a member from stdin archive ... ./delete02.at:27: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * genfile -l 3073 -p zeros --file 1 cp 1 2 cp 2 3 tar cf archive 1 2 3 tar tf archive cat archive | tar f - --delete 2 > archive2 echo separator tar tf archive2) ./delete02.at:27: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile -l 3073 -p zeros --file 1 cp 1 2 cp 2 3 tar cf archive 1 2 3 tar tf archive cat archive | tar f - --delete 2 > archive2 echo separator tar tf archive2) ./delete02.at:27: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * genfile -l 3073 -p zeros --file 1 cp 1 2 cp 2 3 tar cf archive 1 2 3 tar tf archive cat archive | tar f - --delete 2 > archive2 echo separator tar tf archive2) ./delete02.at:27: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile -l 3073 -p zeros --file 1 cp 1 2 cp 2 3 tar cf archive 1 2 3 tar tf archive cat archive | tar f - --delete 2 > archive2 echo separator tar tf archive2) ./delete02.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile -l 3073 -p zeros --file 1 cp 1 2 cp 2 3 tar cf archive 1 2 3 tar tf archive cat archive | tar f - --delete 2 > archive2 echo separator tar tf archive2) 66. delete02.at:24: ok 67. delete03.at:22: testing deleting members with long names ... ./delete03.at:27: 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:27: 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:27: 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 ) 67. delete03.at:22: ok 68. delete04.at:24: testing deleting a large last member ... ./delete04.at:27: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * genfile -l 3 -f file1 genfile -l 5 -f file2 genfile -l 3 -f file3 genfile -l 6 -f file4 genfile -l 24 -f file5 genfile -l 13 -f file6 genfile -l 1385 -f file7 genfile -l 30 -f file8 genfile -l 10 -f file9 genfile -l 256000 -f file10 tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 tar f archive --delete file10 tar tf archive ) ./delete04.at:27: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile -l 3 -f file1 genfile -l 5 -f file2 genfile -l 3 -f file3 genfile -l 6 -f file4 genfile -l 24 -f file5 genfile -l 13 -f file6 genfile -l 1385 -f file7 genfile -l 30 -f file8 genfile -l 10 -f file9 genfile -l 256000 -f file10 tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 tar f archive --delete file10 tar tf archive ) ./delete04.at:27: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * genfile -l 3 -f file1 genfile -l 5 -f file2 genfile -l 3 -f file3 genfile -l 6 -f file4 genfile -l 24 -f file5 genfile -l 13 -f file6 genfile -l 1385 -f file7 genfile -l 30 -f file8 genfile -l 10 -f file9 genfile -l 256000 -f file10 tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 tar f archive --delete file10 tar tf archive ) ./delete04.at:27: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile -l 3 -f file1 genfile -l 5 -f file2 genfile -l 3 -f file3 genfile -l 6 -f file4 genfile -l 24 -f file5 genfile -l 13 -f file6 genfile -l 1385 -f file7 genfile -l 30 -f file8 genfile -l 10 -f file9 genfile -l 256000 -f file10 tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 tar f archive --delete file10 tar tf archive ) ./delete04.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile -l 3 -f file1 genfile -l 5 -f file2 genfile -l 3 -f file3 genfile -l 6 -f file4 genfile -l 24 -f file5 genfile -l 13 -f file6 genfile -l 1385 -f file7 genfile -l 30 -f file8 genfile -l 10 -f file9 genfile -l 256000 -f file10 tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 tar f archive --delete file10 tar tf archive ) 68. delete04.at:24: ok 69. delete05.at:28: testing deleting non-existing member ... ./delete05.at:31: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * genfile -l 1024 -f en genfile -l 1024 -f to tar cf archive en to # Make sure we don't use bogus blocking factor. # GNU tar up to and including 1.14.91 produced an empty archive this way: tar --file archive --blocking-factor=20 --delete tre tar tf archive ) ./delete05.at:31: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile -l 1024 -f en genfile -l 1024 -f to tar cf archive en to # Make sure we don't use bogus blocking factor. # GNU tar up to and including 1.14.91 produced an empty archive this way: tar --file archive --blocking-factor=20 --delete tre tar tf archive ) ./delete05.at:31: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * genfile -l 1024 -f en genfile -l 1024 -f to tar cf archive en to # Make sure we don't use bogus blocking factor. # GNU tar up to and including 1.14.91 produced an empty archive this way: tar --file archive --blocking-factor=20 --delete tre tar tf archive ) ./delete05.at:31: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile -l 1024 -f en genfile -l 1024 -f to tar cf archive en to # Make sure we don't use bogus blocking factor. # GNU tar up to and including 1.14.91 produced an empty archive this way: tar --file archive --blocking-factor=20 --delete tre tar tf archive ) ./delete05.at:31: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile -l 1024 -f en genfile -l 1024 -f to tar cf archive en to # Make sure we don't use bogus blocking factor. # GNU tar up to and including 1.14.91 produced an empty archive this way: tar --file archive --blocking-factor=20 --delete tre tar tf archive ) 69. delete05.at:28: ok Extracting 70. extrac01.at:24: testing extract over an existing directory ... ./extrac01.at:27: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * mkdir directory touch directory/file tar cf archive directory || exit 1 tar xf archive --warning=no-timestamp || exit 1 ) ./extrac01.at:27: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * mkdir directory touch directory/file tar cf archive directory || exit 1 tar xf archive --warning=no-timestamp || exit 1 ) ./extrac01.at:27: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * mkdir directory touch directory/file tar cf archive directory || exit 1 tar xf archive --warning=no-timestamp || exit 1 ) ./extrac01.at:27: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir directory touch directory/file tar cf archive directory || exit 1 tar xf archive --warning=no-timestamp || exit 1 ) ./extrac01.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir directory touch directory/file tar cf archive directory || exit 1 tar xf archive --warning=no-timestamp || exit 1 ) 70. extrac01.at:24: ok 71. extrac02.at:24: testing extracting symlinks over an existing file ... ./extrac02.at:29: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * touch file ln -s file link 2> /dev/null || ln file link tar cf archive link rm link touch link tar xf archive ) ./extrac02.at:29: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * touch file ln -s file link 2> /dev/null || ln file link tar cf archive link rm link touch link tar xf archive ) ./extrac02.at:29: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * touch file ln -s file link 2> /dev/null || ln file link tar cf archive link rm link touch link tar xf archive ) ./extrac02.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * touch file ln -s file link 2> /dev/null || ln file link tar cf archive link rm link touch link tar xf archive ) ./extrac02.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * touch file ln -s file link 2> /dev/null || ln file link tar cf archive link rm link touch link tar xf archive ) 71. extrac02.at:24: ok 72. extrac03.at:24: testing extraction loops ... ./extrac03.at:27: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * mkdir directory tar -cPvf archive directory/../directory echo separator tar -xPvf archive --warning=no-timestamp) ./extrac03.at:27: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * mkdir directory tar -cPvf archive directory/../directory echo separator tar -xPvf archive --warning=no-timestamp) ./extrac03.at:27: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * mkdir directory tar -cPvf archive directory/../directory echo separator tar -xPvf archive --warning=no-timestamp) ./extrac03.at:27: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir directory tar -cPvf archive directory/../directory echo separator tar -xPvf archive --warning=no-timestamp) ./extrac03.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir directory tar -cPvf archive directory/../directory echo separator tar -xPvf archive --warning=no-timestamp) 72. extrac03.at:24: ok 73. extrac04.at:24: testing extract + fnmatch ... ./extrac04.at:27: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 touch file1 mkdir directory mkdir directory/subdirectory touch directory/file1 touch directory/file2 touch directory/subdirectory/file1 touch directory/subdirectory/file2 tar -cf archive ./file1 directory tar -tf archive \ --exclude='./*1' \ --exclude='d*/*1' \ --exclude='d*/s*/*2' | sort ) ./extrac04.at:27: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 touch file1 mkdir directory mkdir directory/subdirectory touch directory/file1 touch directory/file2 touch directory/subdirectory/file1 touch directory/subdirectory/file2 tar -cf archive ./file1 directory tar -tf archive \ --exclude='./*1' \ --exclude='d*/*1' \ --exclude='d*/s*/*2' | sort ) ./extrac04.at:27: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 touch file1 mkdir directory mkdir directory/subdirectory touch directory/file1 touch directory/file2 touch directory/subdirectory/file1 touch directory/subdirectory/file2 tar -cf archive ./file1 directory tar -tf archive \ --exclude='./*1' \ --exclude='d*/*1' \ --exclude='d*/s*/*2' | sort ) ./extrac04.at:27: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 touch file1 mkdir directory mkdir directory/subdirectory touch directory/file1 touch directory/file2 touch directory/subdirectory/file1 touch directory/subdirectory/file2 tar -cf archive ./file1 directory tar -tf archive \ --exclude='./*1' \ --exclude='d*/*1' \ --exclude='d*/s*/*2' | sort ) ./extrac04.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 touch file1 mkdir directory mkdir directory/subdirectory touch directory/file1 touch directory/file2 touch directory/subdirectory/file1 touch directory/subdirectory/file2 tar -cf archive ./file1 directory tar -tf archive \ --exclude='./*1' \ --exclude='d*/*1' \ --exclude='d*/s*/*2' | sort ) 73. extrac04.at:24: ok 74. extrac05.at:31: testing extracting selected members from pax ... ./extrac05.at:39: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile --sparse --file sparsefile 0 ABCD 1M EFGH 2000K IJKL || exit 77 genfile --length 118 --file jeden genfile --length 223 --file dwa genfile --length 517 --file trzy genfile --length 110 --file cztery tar cf archive jeden dwa trzy cztery || exit 1 mkdir dir cd dir tar xvfT ../archive ../../list --warning=no-timestamp || exit 1 cd .. ) 74. extrac05.at:31: ok 75. extrac06.at:35: testing mode of extracted directories ... ./extrac06.at:38: 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:38: 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:38: 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:38: 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:38: 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 ) 75. extrac06.at:35: ok 76. extrac07.at:28: testing extracting symlinks to a read-only dir ... ./extrac07.at:31: 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 ) 76. extrac07.at:28: ok 77. 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 ) 77. extrac08.at:33: ok 78. 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 ) 78. extrac09.at:34: ok 79. 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 ) 79. extrac10.at:29: ok 80. 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 # 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; } ) 80. extrac11.at:25: ok 81. 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 ) 81. extrac12.at:25: ok 82. 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 ) 82. extrac13.at:26: ok 83. 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 ) 83. extrac14.at:25: ok 84. 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 ) 84. extrac15.at:25: ok 85. 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 ) 85. extrac16.at:26: ok 86. 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/ ) 86. extrac17.at:21: ok 87. 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 ) 87. extrac18.at:34: ok 88. 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 ) 88. extrac19.at:21: ok 89. 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 ) 89. extrac20.at:21: ok 90. 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 ) 90. extrac21.at:31: ok 91. backup01.at:34: testing extracting existing dir with --backup ... ./backup01.at:37: 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:37: 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:37: 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:37: 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:37: 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 ) 91. backup01.at:34: ok Comparing 92. 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 -P a/y a/z tar cf a.tar a/x a/y a/z rm a/z ln -s x a/z tar df a.tar ) 92. difflink.at:17: ok Volume label operations 93. 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 ) 93. label01.at:21: ok 94. 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 ) 94. label02.at:21: ok 95. 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 $? ) 95. label03.at:27: ok 96. 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 ) 96. label04.at:27: ok 97. 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 ) 97. label05.at:24: ok Incremental archives 98. incremental.at:24: testing incremental ... ./incremental.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 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:27: 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:27: 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 ) 98. incremental.at:24: ok 99. incr01.at:28: testing restore broken symlinks from incremental ... ./incr01.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 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: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 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: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 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 ) 99. incr01.at:28: ok 100. incr02.at:33: testing restoring timestamps from incremental ... ./incr02.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 # 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:36: 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:36: 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 - ) 100. incr02.at:33: ok 101. listed01.at:27: testing --listed for individual files ... ./listed01.at:30: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 # Let the things settle sleep 1 tar --create \ --file=archive.1 \ --listed-incremental=listing \ directory/file* tar tf archive.1 || exit 1 sleep 2 genfile --length 10240 --pattern zeros --file directory/file2 echo "separator" cp listing listing.old tar --create \ --file=archive.2 \ --listed-incremental=listing \ directory/file* || exit 1 tar tf archive.2 || exit 1 ) ./listed01.at:30: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 # Let the things settle sleep 1 tar --create \ --file=archive.1 \ --listed-incremental=listing \ directory/file* tar tf archive.1 || exit 1 sleep 2 genfile --length 10240 --pattern zeros --file directory/file2 echo "separator" cp listing listing.old tar --create \ --file=archive.2 \ --listed-incremental=listing \ directory/file* || exit 1 tar tf archive.2 || exit 1 ) 101. listed01.at:27: ok 102. listed02.at:29: testing working --listed ... ./listed02.at:32: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 test -z "`sort < /dev/null 2>&1`" || exit 77 echo Create directories mkdir tart sleep 1 mkdir tart/c0 sleep 1 mkdir tart/c1 sleep 1 for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2 do echo File $file > $file sleep 1 done sleep 1 echo Creating main archive echo >&2 "Creating main archive" tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1 # The above prints two lines to stderr announcing the new directories c0 and c1. # Ensure that they appear in this script's stderr in sorted order. sort err 1>&2; rm -f err sleep 1 echo Modifying filesystem rm tart/a1 mv tart/b1 tart/b2 mv tart/c1 tart/c2 touch tart/c2/ca3 echo Directory contents find tart -print | sort 2>/dev/null sleep 1 echo Creating incremental archive echo >&2 "Creating incremental archive" cp -p tart.incr1 tart.incr2 tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1 sleep 1 rm -rf tart/* echo Extracting main archive echo >&2 "Extracting main archive" tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1 echo Extracting incremental archive # This command should produce three messages about deletion # of the existing files, that may appear in any order. Piping # to sort makes sure we don't depend on any particular ordering. tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null echo Final files: find tart -print | sort 2>/dev/null ) ./listed02.at:32: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 test -z "`sort < /dev/null 2>&1`" || exit 77 echo Create directories mkdir tart sleep 1 mkdir tart/c0 sleep 1 mkdir tart/c1 sleep 1 for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2 do echo File $file > $file sleep 1 done sleep 1 echo Creating main archive echo >&2 "Creating main archive" tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1 # The above prints two lines to stderr announcing the new directories c0 and c1. # Ensure that they appear in this script's stderr in sorted order. sort err 1>&2; rm -f err sleep 1 echo Modifying filesystem rm tart/a1 mv tart/b1 tart/b2 mv tart/c1 tart/c2 touch tart/c2/ca3 echo Directory contents find tart -print | sort 2>/dev/null sleep 1 echo Creating incremental archive echo >&2 "Creating incremental archive" cp -p tart.incr1 tart.incr2 tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1 sleep 1 rm -rf tart/* echo Extracting main archive echo >&2 "Extracting main archive" tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1 echo Extracting incremental archive # This command should produce three messages about deletion # of the existing files, that may appear in any order. Piping # to sort makes sure we don't depend on any particular ordering. tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null echo Final files: find tart -print | sort 2>/dev/null ) 102. listed02.at:29: ok 103. 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 ) 103. listed03.at:24: ok 104. 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 ) 104. listed04.at:26: ok 105. 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 ) --- - 2021-07-04 00:19:52.189631079 -1200 +++ /build/tar-1.30+dfsg/tests/testsuite.dir/at-groups/105/stderr 2021-07-04 00:19:52.184439043 -1200 @@ -1,4 +1 @@ -tar: .: Directory is new -tar: ./subdir: Directory is new -tar: ./subdir: directory is on a different filesystem; not dumped --- - 2021-07-04 00:19:52.192798432 -1200 +++ /build/tar-1.30+dfsg/tests/testsuite.dir/at-groups/105/stdout 2021-07-04 00:19:52.188438930 -1200 @@ -1,10 +1 @@ -# Level 0 -./ -./subdir/ -./top-level-file -./subdir/subdir-file -# Remount -# Level 1 -./ -./subdir/ 105. listed05.at:33: skipped (listed05.at:36) 106. incr03.at:29: testing renamed files in incrementals ... ./incr03.at:32: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --file=directory/x genfile --file=directory/y sleep 1 tar -cf archive.1 -g db directory mv directory/x directory/z cp db db.old tar -cf archive.2 -g db directory mv directory orig echo Listing of archive.1 tar -tf archive.1 | sort echo Listing of archive.2 tar -tf archive.2 | sort echo Directory after first restore tar -xf archive.1 -g db --warning=no-timestamp find directory | sort echo Directory after second restore tar -xf archive.2 -g db --warning=no-timestamp find directory | sort ) ./incr03.at:32: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --file=directory/x genfile --file=directory/y sleep 1 tar -cf archive.1 -g db directory mv directory/x directory/z cp db db.old tar -cf archive.2 -g db directory mv directory orig echo Listing of archive.1 tar -tf archive.1 | sort echo Listing of archive.2 tar -tf archive.2 | sort echo Directory after first restore tar -xf archive.1 -g db --warning=no-timestamp find directory | sort echo Directory after second restore tar -xf archive.2 -g db --warning=no-timestamp find directory | sort ) ./incr03.at:32: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * ckmtime || exit 77 test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --file=directory/x genfile --file=directory/y sleep 1 tar -cf archive.1 -g db directory mv directory/x directory/z cp db db.old tar -cf archive.2 -g db directory mv directory orig echo Listing of archive.1 tar -tf archive.1 | sort echo Listing of archive.2 tar -tf archive.2 | sort echo Directory after first restore tar -xf archive.1 -g db --warning=no-timestamp find directory | sort echo Directory after second restore tar -xf archive.2 -g db --warning=no-timestamp find directory | sort ) 106. incr03.at:29: ok 107. incr04.at:30: testing proper icontents initialization ... ./incr04.at:35: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 install-sh -d a/b >/dev/null || exit 77 awk 'BEGIN { for (i=1;i<=142;i++) printf("a/b/one_31_chars_long_file_name_%03d\n", i); }' < /dev/null | genfile --files-from - sleep 1 echo "Initial dump" tar cvf a0.tar -g a.sna a mv a/b a/c echo "Incremental dump" tar cvf a1.tar -g a.sna a ) ./incr04.at:35: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 install-sh -d a/b >/dev/null || exit 77 awk 'BEGIN { for (i=1;i<=142;i++) printf("a/b/one_31_chars_long_file_name_%03d\n", i); }' < /dev/null | genfile --files-from - sleep 1 echo "Initial dump" tar cvf a0.tar -g a.sna a mv a/b a/c echo "Incremental dump" tar cvf a1.tar -g a.sna a ) ./incr04.at:35: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * ckmtime || exit 77 install-sh -d a/b >/dev/null || exit 77 awk 'BEGIN { for (i=1;i<=142;i++) printf("a/b/one_31_chars_long_file_name_%03d\n", i); }' < /dev/null | genfile --files-from - sleep 1 echo "Initial dump" tar cvf a0.tar -g a.sna a mv a/b a/c echo "Incremental dump" tar cvf a1.tar -g a.sna a ) 107. incr04.at:30: ok 108. 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 . ) 108. incr05.at:21: ok 109. 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 . ) 109. incr06.at:21: ok 110. 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 ) 110. incr07.at:18: ok 111. incr08.at:38: testing filename normalization ... ./incr08.at:41: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * ckmtime || exit 77 test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir tartest cd tartest mkdir foo mkdir foo/subdir mkdir foo/subdir/dir1 mkdir subdir mkdir subdir/dir2 decho A find .|sort decho B DIR=`pwd` tar -cvf ../foo.tar --listed-incremental=../foo.snar -C foo . $DIR 2>../err |\ sed "s|$DIR|ABSPATH|" sed "s|$DIR|ABSPATH|" ../err >&2 ) 111. incr08.at:38: ok 112. 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 . ) 112. incr09.at:26: ok 113. 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 ) 113. incr10.at:18: ok 114. 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 ) 114. incr11.at:25: ok Files removed while archiving 115. filerem01.at:36: testing file removed as we read it (ca. 22 seconds) ... ./filerem01.at:39: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir dir mkdir dir/sub genfile --file dir/file1 genfile --file dir/sub/file2 genfile --run --checkpoint=3 --unlink dir/file1 -- \ tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \ --checkpoint-action='echo' -c -f archive.tar \ --listed-incremental db -v dir >/dev/null ) stdout: ./filerem01.at:39: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir dir mkdir dir/sub genfile --file dir/file1 genfile --file dir/sub/file2 genfile --run --checkpoint=3 --unlink dir/file1 -- \ tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \ --checkpoint-action='echo' -c -f archive.tar \ --listed-incremental db -v dir >/dev/null ) stdout: 115. filerem01.at:36: ok 116. filerem02.at:26: testing toplevel file removed (ca. 24 seconds) ... ./filerem02.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir dir mkdir dir/sub genfile --file dir/file1 genfile --file dir/sub/file2 mkdir dir2 genfile --file dir2/file1 genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \ tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \ --checkpoint-action='echo' -c -f archive.tar \ --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null ) stderr: tar: dir2: file changed as we read it tar: dir2: Cannot open: No such file or directory tar: Exiting with failure status due to previous errors stdout: ./filerem02.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir dir mkdir dir/sub genfile --file dir/file1 genfile --file dir/sub/file2 mkdir dir2 genfile --file dir2/file1 genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \ tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \ --checkpoint-action='echo' -c -f archive.tar \ --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null ) stderr: tar: dir2: Cannot stat: No such file or directory tar: dir2: Cannot open: No such file or directory tar: Exiting with failure status due to previous errors stdout: 116. filerem02.at:26: ok Directories removed while archiving 117. dirrem01.at:34: testing directory removed before reading ... ./dirrem01.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 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 --checkpoint=1 --checkpoint-action='echo' \ --checkpoint-action='sleep=1' -c -f archive.tar \ --listed-incremental db -v dir >/dev/null ) stdout: ./dirrem01.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 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 --checkpoint=1 --checkpoint-action='echo' \ --checkpoint-action='sleep=1' -c -f archive.tar \ --listed-incremental db -v dir >/dev/null ) stdout: 117. dirrem01.at:34: ok 118. 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 --checkpoint=1 --checkpoint-action='echo' \ --checkpoint-action='sleep=1' -c -f archive.tar \ --listed-incremental db -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 --checkpoint=1 --checkpoint-action='echo' \ --checkpoint-action='sleep=1' -c -f archive.tar \ --listed-incremental db -v dir dir/sub >/dev/null ) stdout: 118. dirrem02.at:31: ok Renames 119. rename01.at:25: testing renamed dirs in incrementals ... ./rename01.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo genfile --file foo/file1 genfile --file foo/file2 mkdir foo/bar genfile --file foo/bar/file echo "Creating base archive" tar -g incr -cf arch.1 -v foo mv foo/bar foo/baz echo "Creating incremental archive" tar -g incr -cf arch.2 -v foo mv foo old tar xfg arch.1 /dev/null echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" tar xfg arch.2 /dev/null echo Begin directory listing 2 find foo | sort echo End directory listing 2 ) ./rename01.at:28: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo genfile --file foo/file1 genfile --file foo/file2 mkdir foo/bar genfile --file foo/bar/file echo "Creating base archive" tar -g incr -cf arch.1 -v foo mv foo/bar foo/baz echo "Creating incremental archive" tar -g incr -cf arch.2 -v foo mv foo old tar xfg arch.1 /dev/null echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" tar xfg arch.2 /dev/null echo Begin directory listing 2 find foo | sort echo End directory listing 2 ) ./rename01.at:28: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo genfile --file foo/file1 genfile --file foo/file2 mkdir foo/bar genfile --file foo/bar/file echo "Creating base archive" tar -g incr -cf arch.1 -v foo mv foo/bar foo/baz echo "Creating incremental archive" tar -g incr -cf arch.2 -v foo mv foo old tar xfg arch.1 /dev/null echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" tar xfg arch.2 /dev/null echo Begin directory listing 2 find foo | sort echo End directory listing 2 ) 119. rename01.at:25: ok 120. rename02.at:25: testing move between hierarchies ... ./rename02.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo genfile --file foo/file1 genfile --file foo/file2 mkdir foo/bar genfile --file foo/bar/file.r mkdir foo/bar/baz genfile --file foo/bar/baz/file.z sleep 1 echo "Creating base archive" tar -g incr -cf arch.1 -v foo mv foo/bar/baz foo echo "Creating incremental archive" tar -g incr -cf arch.2 -v foo mv foo old tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr sort tmperr >&2 echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 ) ./rename02.at:28: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo genfile --file foo/file1 genfile --file foo/file2 mkdir foo/bar genfile --file foo/bar/file.r mkdir foo/bar/baz genfile --file foo/bar/baz/file.z sleep 1 echo "Creating base archive" tar -g incr -cf arch.1 -v foo mv foo/bar/baz foo echo "Creating incremental archive" tar -g incr -cf arch.2 -v foo mv foo old tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr sort tmperr >&2 echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 ) ./rename02.at:28: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo genfile --file foo/file1 genfile --file foo/file2 mkdir foo/bar genfile --file foo/bar/file.r mkdir foo/bar/baz genfile --file foo/bar/baz/file.z sleep 1 echo "Creating base archive" tar -g incr -cf arch.1 -v foo mv foo/bar/baz foo echo "Creating incremental archive" tar -g incr -cf arch.2 -v foo mv foo old tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr sort tmperr >&2 echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 ) 120. rename02.at:25: ok 121. rename03.at:24: testing cyclic renames ... ./rename03.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo genfile --file foo/file1 genfile --file foo/file2 mkdir foo/a genfile --file foo/a/filea mkdir foo/b genfile --file foo/b/fileb mkdir foo/c genfile --file foo/c/filec sleep 1 echo "First dump" echo "First dump">&2 tar -g incr -cf arch.1 -v foo 2>tmperr sort tmperr >&2 # Shuffle directories: (cd foo mv a $$ mv c a mv b c mv $$ b) echo "Second dump" echo "Second dump" >&2 tar -g incr -cf arch.2 -v foo 2>tmperr sort tmperr >&2 tar xfg arch.1 /dev/null --warning=no-timestamp echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 ) ./rename03.at:27: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo genfile --file foo/file1 genfile --file foo/file2 mkdir foo/a genfile --file foo/a/filea mkdir foo/b genfile --file foo/b/fileb mkdir foo/c genfile --file foo/c/filec sleep 1 echo "First dump" echo "First dump">&2 tar -g incr -cf arch.1 -v foo 2>tmperr sort tmperr >&2 # Shuffle directories: (cd foo mv a $$ mv c a mv b c mv $$ b) echo "Second dump" echo "Second dump" >&2 tar -g incr -cf arch.2 -v foo 2>tmperr sort tmperr >&2 tar xfg arch.1 /dev/null --warning=no-timestamp echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 ) ./rename03.at:27: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo genfile --file foo/file1 genfile --file foo/file2 mkdir foo/a genfile --file foo/a/filea mkdir foo/b genfile --file foo/b/fileb mkdir foo/c genfile --file foo/c/filec sleep 1 echo "First dump" echo "First dump">&2 tar -g incr -cf arch.1 -v foo 2>tmperr sort tmperr >&2 # Shuffle directories: (cd foo mv a $$ mv c a mv b c mv $$ b) echo "Second dump" echo "Second dump" >&2 tar -g incr -cf arch.2 -v foo 2>tmperr sort tmperr >&2 tar xfg arch.1 /dev/null --warning=no-timestamp echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 ) 121. rename03.at:24: ok 122. 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 ) 122. rename04.at:27: ok 123. 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 ) 123. rename05.at:24: ok 124. chtype.at:28: testing changed file types in incrementals ... ./chtype.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 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: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 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: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 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 ) 124. chtype.at:28: ok Ignore failing reads 125. ignfail.at:24: testing ignfail ... ./ignfail.at:27: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * # The test is meaningless for super-user. echo "test" > $$ chmod 0 $$ cat $$ > /dev/null 2>&1 result=$? rm -f $$ test $result -eq 0 && exit 77 touch file mkdir directory touch directory/file echo 1>&2 ----- chmod 000 file tar cf archive file status=$? chmod 600 file test $status = 2 || exit 1 echo 1>&2 ----- chmod 000 file tar cf archive --ignore-failed-read file || exit 1 status=$? chmod 600 file test $status = 0 || exit 1 echo 1>&2 ----- chmod 000 directory tar cf archive directory status=$? chmod 700 directory test $status = 2 || exit 1 echo 1>&2 ----- chmod 000 directory tar cf archive --ignore-failed-read directory || exit 1 status=$? chmod 700 directory test $status = 0 ) ./ignfail.at:27: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * # The test is meaningless for super-user. echo "test" > $$ chmod 0 $$ cat $$ > /dev/null 2>&1 result=$? rm -f $$ test $result -eq 0 && exit 77 touch file mkdir directory touch directory/file echo 1>&2 ----- chmod 000 file tar cf archive file status=$? chmod 600 file test $status = 2 || exit 1 echo 1>&2 ----- chmod 000 file tar cf archive --ignore-failed-read file || exit 1 status=$? chmod 600 file test $status = 0 || exit 1 echo 1>&2 ----- chmod 000 directory tar cf archive directory status=$? chmod 700 directory test $status = 2 || exit 1 echo 1>&2 ----- chmod 000 directory tar cf archive --ignore-failed-read directory || exit 1 status=$? chmod 700 directory test $status = 0 ) ./ignfail.at:27: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * # The test is meaningless for super-user. echo "test" > $$ chmod 0 $$ cat $$ > /dev/null 2>&1 result=$? rm -f $$ test $result -eq 0 && exit 77 touch file mkdir directory touch directory/file echo 1>&2 ----- chmod 000 file tar cf archive file status=$? chmod 600 file test $status = 2 || exit 1 echo 1>&2 ----- chmod 000 file tar cf archive --ignore-failed-read file || exit 1 status=$? chmod 600 file test $status = 0 || exit 1 echo 1>&2 ----- chmod 000 directory tar cf archive directory status=$? chmod 700 directory test $status = 2 || exit 1 echo 1>&2 ----- chmod 000 directory tar cf archive --ignore-failed-read directory || exit 1 status=$? chmod 700 directory test $status = 0 ) ./ignfail.at:27: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * # The test is meaningless for super-user. echo "test" > $$ chmod 0 $$ cat $$ > /dev/null 2>&1 result=$? rm -f $$ test $result -eq 0 && exit 77 touch file mkdir directory touch directory/file echo 1>&2 ----- chmod 000 file tar cf archive file status=$? chmod 600 file test $status = 2 || exit 1 echo 1>&2 ----- chmod 000 file tar cf archive --ignore-failed-read file || exit 1 status=$? chmod 600 file test $status = 0 || exit 1 echo 1>&2 ----- chmod 000 directory tar cf archive directory status=$? chmod 700 directory test $status = 2 || exit 1 echo 1>&2 ----- chmod 000 directory tar cf archive --ignore-failed-read directory || exit 1 status=$? chmod 700 directory test $status = 0 ) ./ignfail.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * # The test is meaningless for super-user. echo "test" > $$ chmod 0 $$ cat $$ > /dev/null 2>&1 result=$? rm -f $$ test $result -eq 0 && exit 77 touch file mkdir directory touch directory/file echo 1>&2 ----- chmod 000 file tar cf archive file status=$? chmod 600 file test $status = 2 || exit 1 echo 1>&2 ----- chmod 000 file tar cf archive --ignore-failed-read file || exit 1 status=$? chmod 600 file test $status = 0 || exit 1 echo 1>&2 ----- chmod 000 directory tar cf archive directory status=$? chmod 700 directory test $status = 2 || exit 1 echo 1>&2 ----- chmod 000 directory tar cf archive --ignore-failed-read directory || exit 1 status=$? chmod 700 directory test $status = 0 ) 125. ignfail.at:24: ok Link handling 126. link01.at:34: testing link count gt 2 ... ./link01.at:37: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * mkdir directory mkdir directory/test1 mkdir directory/test2 echo TEST > directory/test1/test.txt ln directory/test1/test.txt directory/test2/test.txt || exit 77 tar cf archive directory/test1/test.txt directory/test1/test.txt rm -r directory tar xf archive --warning=no-timestamp ls directory/test1 ) ./link01.at:37: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * mkdir directory mkdir directory/test1 mkdir directory/test2 echo TEST > directory/test1/test.txt ln directory/test1/test.txt directory/test2/test.txt || exit 77 tar cf archive directory/test1/test.txt directory/test1/test.txt rm -r directory tar xf archive --warning=no-timestamp ls directory/test1 ) ./link01.at:37: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * mkdir directory mkdir directory/test1 mkdir directory/test2 echo TEST > directory/test1/test.txt ln directory/test1/test.txt directory/test2/test.txt || exit 77 tar cf archive directory/test1/test.txt directory/test1/test.txt rm -r directory tar xf archive --warning=no-timestamp ls directory/test1 ) ./link01.at:37: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * mkdir directory mkdir directory/test1 mkdir directory/test2 echo TEST > directory/test1/test.txt ln directory/test1/test.txt directory/test2/test.txt || exit 77 tar cf archive directory/test1/test.txt directory/test1/test.txt rm -r directory tar xf archive --warning=no-timestamp ls directory/test1 ) ./link01.at:37: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * mkdir directory mkdir directory/test1 mkdir directory/test2 echo TEST > directory/test1/test.txt ln directory/test1/test.txt directory/test2/test.txt || exit 77 tar cf archive directory/test1/test.txt directory/test1/test.txt rm -r directory tar xf archive --warning=no-timestamp ls directory/test1 ) 126. link01.at:34: ok 127. 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' ) 127. link02.at:32: ok 128. 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' ) 128. link03.at:24: ok 129. 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 ) 129. link04.at:29: ok Specific archive formats 130. longv7.at:25: testing long names in V7 archives ... ./longv7.at:31: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * mkdir this_is_a_very_long_name_for_a_directory_which_causes_problems touch this_is_a_very_long_name_for_a_directory_which_causes_problems/this_is_a_very_long_file_name_which_raises_issues.c tar cf archive this_is_a_very_long_name_for_a_directory_which_causes_problems echo separator tar tf archive ) 130. longv7.at:25: ok 131. long01.at:29: testing long file names divisible by block size ... ./long01.at:37: 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:37: 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) 131. long01.at:29: ok 132. lustar01.at:22: testing ustar: unsplittable file name ... ./lustar01.at:28: 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 ) 132. lustar01.at:22: ok 133. lustar02.at:22: testing ustar: unsplittable path name ... ./lustar02.at:33: 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 ) 133. lustar02.at:22: ok 134. lustar03.at:22: testing ustar: splitting long names ... ./lustar03.at:30: 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) 134. lustar03.at:22: ok 135. old.at:24: testing old archives ... ./old.at:28: mkdir directory tar cfvo archive directory || exit 1 tar tf archive 135. old.at:24: ok 136. 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 ) 136. time01.at:20: ok 137. 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 ) 137. time02.at:20: ok Multivolume archives 138. multiv01.at:24: testing multivolume dumps from pipes ... ./multiv01.at:31: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * exec <&- genfile --length 7168 --file file1 for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \ " 9" "10" "11" "12" "13" "14" "15" "16" ; do \ echo "file2 block ${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" for count in 2 3 4 5 6 7 8 ; do echo "bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" done done >file2 if test $TEST_TAR_FORMAT = pax; then TAPE_LENGTH=11 else TAPE_LENGTH=10 fi tar -c --multi-volume --tape-length=$TAPE_LENGTH \ -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 mkdir extract-dir-pipe dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \ -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \ --tape-length=$TAPE_LENGTH --read-full-records || exit 1 cmp file1 extract-dir-pipe/file1 cmp file2 extract-dir-pipe/file2 ) ./multiv01.at:31: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * exec <&- genfile --length 7168 --file file1 for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \ " 9" "10" "11" "12" "13" "14" "15" "16" ; do \ echo "file2 block ${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" for count in 2 3 4 5 6 7 8 ; do echo "bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" done done >file2 if test $TEST_TAR_FORMAT = pax; then TAPE_LENGTH=11 else TAPE_LENGTH=10 fi tar -c --multi-volume --tape-length=$TAPE_LENGTH \ -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 mkdir extract-dir-pipe dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \ -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \ --tape-length=$TAPE_LENGTH --read-full-records || exit 1 cmp file1 extract-dir-pipe/file1 cmp file2 extract-dir-pipe/file2 ) ./multiv01.at:31: mkdir pax (cd pax TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT TAR_OPTIONS="-H pax" export TAR_OPTIONS rm -rf * exec <&- genfile --length 7168 --file file1 for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \ " 9" "10" "11" "12" "13" "14" "15" "16" ; do \ echo "file2 block ${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" for count in 2 3 4 5 6 7 8 ; do echo "bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla" done done >file2 if test $TEST_TAR_FORMAT = pax; then TAPE_LENGTH=11 else TAPE_LENGTH=10 fi tar -c --multi-volume --tape-length=$TAPE_LENGTH \ -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 mkdir extract-dir-pipe dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \ -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \ --tape-length=$TAPE_LENGTH --read-full-records || exit 1 cmp file1 extract-dir-pipe/file1 cmp file2 extract-dir-pipe/file2 ) 138. multiv01.at:24: ok 139. multiv02.at:29: testing skipping a straddling member ... ./multiv02.at:32: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile --length 10240 --file en genfile --length 20000 --file to genfile --length 20000 --file tre genfile --length 10240 --file fire exec <&- tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 echo separator tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 ) ./multiv02.at:32: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile --length 10240 --file en genfile --length 20000 --file to genfile --length 20000 --file tre genfile --length 10240 --file fire exec <&- tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 echo separator tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 ) ./multiv02.at:32: mkdir pax (cd pax TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT TAR_OPTIONS="-H pax" export TAR_OPTIONS rm -rf * genfile --length 10240 --file en genfile --length 20000 --file to genfile --length 20000 --file tre genfile --length 10240 --file fire exec <&- tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 echo separator tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 ) 139. multiv02.at:29: ok 140. multiv03.at:31: testing MV archive & long filenames ... ./multiv03.at:34: 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 ) 149. map.at:21: ok Sparse files 150. sparse01.at:22: testing sparse files ... ./sparse01.at:25: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile --length 1000 -f begin genfile --length 1000 -f end genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 tar -c -f archive --sparse begin sparsefile end || exit 1 echo separator tar tfv archive echo separator mkdir directory tar Cxf directory archive --warning=no-timestamp genfile --stat=name,size sparsefile cmp sparsefile directory/sparsefile ) stdout: separator -rw-r--r-- pbuilder1/pbuilder1 1000 2021-07-04 00:21 begin -rw-r--r-- pbuilder1/pbuilder1 3102720 2021-07-04 00:21 sparsefile -rw-r--r-- pbuilder1/pbuilder1 1000 2021-07-04 00:21 end separator sparsefile 3102720 ./sparse01.at:25: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile --length 1000 -f begin genfile --length 1000 -f end genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 tar -c -f archive --sparse begin sparsefile end || exit 1 echo separator tar tfv archive echo separator mkdir directory tar Cxf directory archive --warning=no-timestamp genfile --stat=name,size sparsefile cmp sparsefile directory/sparsefile ) stdout: separator -rw-r--r-- pbuilder1/pbuilder1 1000 2021-07-04 00:21 begin -rw-r--r-- pbuilder1/pbuilder1 3102720 2021-07-04 00:21 sparsefile -rw-r--r-- pbuilder1/pbuilder1 1000 2021-07-04 00:21 end separator sparsefile 3102720 ./sparse01.at:25: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile --length 1000 -f begin genfile --length 1000 -f end genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 tar -c -f archive --sparse begin sparsefile end || exit 1 echo separator tar tfv archive echo separator mkdir directory tar Cxf directory archive --warning=no-timestamp genfile --stat=name,size sparsefile cmp sparsefile directory/sparsefile ) stdout: separator -rw-r--r-- pbuilder1/pbuilder1 1000 2021-07-04 00:21 begin -rw-r--r-- pbuilder1/pbuilder1 3102720 2021-07-04 00:21 sparsefile -rw-r--r-- pbuilder1/pbuilder1 1000 2021-07-04 00:21 end separator sparsefile 3102720 150. sparse01.at:22: ok 151. sparse02.at:22: testing extracting sparse file over a pipe ... ./sparse02.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 tar --hole-detection=raw -c -f archive --sparse sparsefile || exit 1 echo separator tar xfO archive | cat - > sparsecopy || exit 1 cmp sparsefile sparsecopy ) ./sparse02.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 tar --hole-detection=raw -c -f archive --sparse sparsefile || exit 1 echo separator tar xfO archive | cat - > sparsecopy || exit 1 cmp sparsefile sparsecopy ) ./sparse02.at:29: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 tar --hole-detection=raw -c -f archive --sparse sparsefile || exit 1 echo separator tar xfO archive | cat - > sparsecopy || exit 1 cmp sparsefile sparsecopy ) 151. sparse02.at:22: ok 152. sparse03.at:22: testing storing sparse files > 8G ... ./sparse03.at:30: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile --length 1000 --file begin genfile --length 1000 --file end genfile --sparse --file sparsefile --block-size 512 8G A || exit 77 tar -c -f archive --sparse begin sparsefile end || exit 1 echo separator tar tfv archive echo separator mkdir directory tar Cxf directory archive genfile --stat=name,size sparsefile cmp sparsefile directory/sparsefile ) stdout: separator -rw-r--r-- pbuilder1/pbuilder1 1000 2021-07-04 00:21 begin -rw-r--r-- pbuilder1/pbuilder1 8589935104 2021-07-04 00:21 sparsefile -rw-r--r-- pbuilder1/pbuilder1 1000 2021-07-04 00:21 end separator sparsefile 8589935104 152. sparse03.at:22: ok 153. 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 - ) 153. sparse04.at:21: ok 154. sparse05.at:21: testing listing sparse files bigger than 2^33 B ... ./sparse05.at:31: mkdir pax (cd pax TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT TAR_OPTIONS="-H pax" export TAR_OPTIONS rm -rf * cat >mapfile <<'_ATEOF' 0 =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 10M =2560 _ATEOF genfile --sparse --file BIGFILE --block-size 4K - < mapfile || exit 77 tar -f - -c --sparse --posix BIGFILE | tar tvf - | awk '{ print $3, $(NF) }' ) 154. sparse05.at:21: ok 155. sparse06.at:21: testing storing sparse file using seek method ... ./sparse06.at:32: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * checkseekhole || exit 77 TAR_OPTIONS="$TAR_OPTIONS --hole-detection=seek" genfile --sparse --file bigsparse 0 ABC 8G DEF tar -cSf a bigsparse test $? -eq 0 || exit 1 rm -rf out archive.tar smallsparse && mkdir out genfile --sparse --quiet --file smallsparse 0 ABC tar -cSf archive.tar smallsparse tar -xf archive.tar -C out cmp smallsparse out/smallsparse rm -rf out archive.tar smallsparse && mkdir out genfile --sparse --quiet --file smallsparse 0 ABC 10M tar -cSf archive.tar smallsparse tar -xf archive.tar -C out cmp smallsparse out/smallsparse rm -rf out archive.tar smallsparse && mkdir out genfile --sparse --quiet --file smallsparse 0 ABC 10M DEF tar -cSf archive.tar smallsparse tar -xf archive.tar -C out cmp smallsparse out/smallsparse rm -rf out archive.tar smallsparse && mkdir out genfile --sparse --quiet --file smallsparse 10M tar -cSf archive.tar smallsparse tar -xf archive.tar -C out cmp smallsparse out/smallsparse rm -rf out archive.tar smallsparse && mkdir out genfile --sparse --quiet --file smallsparse 10M ABC tar -cSf archive.tar smallsparse tar -xf archive.tar -C out cmp smallsparse out/smallsparse rm -rf out archive.tar smallsparse && mkdir out genfile --sparse --quiet --file smallsparse 10M ABC 20M tar -cSf archive.tar smallsparse tar -xf archive.tar -C out cmp smallsparse out/smallsparse rm -rf out archive.tar smallsparse && mkdir out genfile --sparse --quiet --file smallsparse 10M DEF 20M GHI 30M JKL 40M tar -cSf archive.tar smallsparse tar -xf archive.tar -C out cmp smallsparse out/smallsparse ) 155. sparse06.at:21: ok 156. 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 ) 156. sparse07.at:21: ok 157. sparsemv.at:22: testing sparse files in MV archives ... ./sparsemv.at:32: 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:32: 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 ) 157. sparsemv.at:22: ok 158. spmvp00.at:22: testing sparse files in PAX MV archives, v.0.0 ... ./spmvp00.at:25: 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 ) 158. spmvp00.at:22: ok 159. spmvp01.at:22: testing sparse files in PAX MV archives, v.0.1 ... ./spmvp01.at:25: 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 ) 159. spmvp01.at:22: ok 160. spmvp10.at:22: testing sparse files in PAX MV archives, v.1.0 ... ./spmvp10.at:25: 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 ) 160. spmvp10.at:22: ok 161. 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 genfile --file baz genfile --run --checkpoint 3 --length 200m --truncate foo -- \ tar --checkpoint=1 \ --checkpoint-action=echo \ --checkpoint-action=sleep=1 \ --sparse -vcf bar foo baz echo Exit status: $? echo separator genfile --file foo --seek 200m --length 11575296 --pattern=zeros tar dvf bar) ./sptrcreat.at:36: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile --sparse --block-size=1024 --file foo \ 0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ genfile --file baz genfile --run --checkpoint 3 --length 200m --truncate foo -- \ tar --checkpoint=1 \ --checkpoint-action=echo \ --checkpoint-action=sleep=1 \ --sparse -vcf bar foo baz echo Exit status: $? echo separator genfile --file foo --seek 200m --length 11575296 --pattern=zeros tar dvf bar) ./sptrcreat.at:36: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile --sparse --block-size=1024 --file foo \ 0 ABCDEFGHIJ 1M ABCDEFGHIJ 10M ABCDEFGHIJ 200M ABCDEFGHIJ genfile --file baz genfile --run --checkpoint 3 --length 200m --truncate foo -- \ tar --checkpoint=1 \ --checkpoint-action=echo \ --checkpoint-action=sleep=1 \ --sparse -vcf bar foo baz echo Exit status: $? echo separator genfile --file foo --seek 200m --length 11575296 --pattern=zeros tar dvf bar) 161. sptrcreat.at:33: ok 162. 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 genfile --file baz echo creating tar --sparse -vcf bar foo baz echo comparing genfile --run --checkpoint 3 --length 200m --truncate foo -- \ tar --checkpoint=1 \ --checkpoint-action=echo='Write checkpoint %u' \ --checkpoint-action=sleep=1 \ --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 genfile --file baz echo creating tar --sparse -vcf bar foo baz echo comparing genfile --run --checkpoint 3 --length 200m --truncate foo -- \ tar --checkpoint=1 \ --checkpoint-action=echo='Write checkpoint %u' \ --checkpoint-action=sleep=1 \ --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 genfile --file baz echo creating tar --sparse -vcf bar foo baz echo comparing genfile --run --checkpoint 3 --length 200m --truncate foo -- \ tar --checkpoint=1 \ --checkpoint-action=echo='Write checkpoint %u' \ --checkpoint-action=sleep=1 \ --sparse -vdf bar ) 162. sptrdiff00.at:26: ok 163. 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 genfile --file baz echo creating tar --sparse -vcf bar foo baz echo comparing genfile --run --checkpoint 5 --length 221278210 --truncate foo -- \ tar --checkpoint=1 \ --checkpoint-action=echo='Write checkpoint %u' \ --checkpoint-action=sleep=1 \ --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 genfile --file baz echo creating tar --sparse -vcf bar foo baz echo comparing genfile --run --checkpoint 5 --length 221278210 --truncate foo -- \ tar --checkpoint=1 \ --checkpoint-action=echo='Write checkpoint %u' \ --checkpoint-action=sleep=1 \ --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 genfile --file baz echo creating tar --sparse -vcf bar foo baz echo comparing genfile --run --checkpoint 5 --length 221278210 --truncate foo -- \ tar --checkpoint=1 \ --checkpoint-action=echo='Write checkpoint %u' \ --checkpoint-action=sleep=1 \ --sparse -vdf bar ) 163. sptrdiff01.at:26: ok Updates 164. update.at:29: testing update unchanged directories ... ./update.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 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: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 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: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 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: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 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: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 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 ) 164. update.at:29: ok 165. 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 ) 165. update01.at:29: ok 166. 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 ) 166. update02.at:26: ok 167. 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 ) 167. update03.at:20: ok Verifying the archive 168. 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 ) 168. verify.at:25: ok Volume operations 169. volume.at:24: testing volume ... ./volume.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * tar -cf archive -V label -T /dev/null || exit 1 tar xfV archive label || exit 1 tar xfV archive 'la?el' || exit 1 tar xfV archive 'l*l' || exit 1 echo 1>&2 ----- tar xfV archive lab test $? = 2 || exit 1 echo 1>&2 ----- tar xfV archive bel test $? = 2 || exit 1 echo 1>&2 ----- tar xfV archive babel test $? = 2 ) ./volume.at:27: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * tar -cf archive -V label -T /dev/null || exit 1 tar xfV archive label || exit 1 tar xfV archive 'la?el' || exit 1 tar xfV archive 'l*l' || exit 1 echo 1>&2 ----- tar xfV archive lab test $? = 2 || exit 1 echo 1>&2 ----- tar xfV archive bel test $? = 2 || exit 1 echo 1>&2 ----- tar xfV archive babel test $? = 2 ) 169. volume.at:24: ok 170. volsize.at:30: testing volume header size ... ./volsize.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 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 ) --- - 2021-07-04 00:23:50.450604539 -1200 +++ /build/tar-1.30+dfsg/tests/testsuite.dir/at-groups/170/stdout 2021-07-04 00:23:50.441676423 -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 170. volsize.at:30: skipped (volsize.at:33) 171. comprec.at:22: testing compressed format recognition ... ./comprec.at:26: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 genfile --length 10240 --file file1 echo "separator" tar cfz archive file1 echo "separator" mv file1 orig tar xfv archive --warning=no-timestamp cmp orig file1 ) ./comprec.at:26: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 genfile --length 10240 --file file1 echo "separator" tar cfz archive file1 echo "separator" mv file1 orig tar xfv archive --warning=no-timestamp cmp orig file1 ) ./comprec.at:26: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 genfile --length 10240 --file file1 echo "separator" tar cfz archive file1 echo "separator" mv file1 orig tar xfv archive --warning=no-timestamp cmp orig file1 ) ./comprec.at:26: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 genfile --length 10240 --file file1 echo "separator" tar cfz archive file1 echo "separator" mv file1 orig tar xfv archive --warning=no-timestamp cmp orig file1 ) ./comprec.at:26: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 genfile --length 10240 --file file1 echo "separator" tar cfz archive file1 echo "separator" mv file1 orig tar xfv archive --warning=no-timestamp cmp orig file1 ) 171. comprec.at:22: ok 172. 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 ) 172. shortfile.at:26: ok 173. 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 ) 173. shortupd.at:31: ok 174. truncate.at:30: testing truncate ... ./truncate.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 foo --length 200k genfile --file baz genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz echo Exit status: $? echo separator genfile --file foo --seek 195k --length 5k --pattern=zeros tar dvf bar) ./truncate.at:33: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile --file foo --length 200k genfile --file baz genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz echo Exit status: $? echo separator genfile --file foo --seek 195k --length 5k --pattern=zeros tar dvf bar) ./truncate.at:33: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * genfile --file foo --length 200k genfile --file baz genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz echo Exit status: $? echo separator genfile --file foo --seek 195k --length 5k --pattern=zeros tar dvf bar) ./truncate.at:33: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile --file foo --length 200k genfile --file baz genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz echo Exit status: $? echo separator genfile --file foo --seek 195k --length 5k --pattern=zeros tar dvf bar) ./truncate.at:33: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile --file foo --length 200k genfile --file baz genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz echo Exit status: $? echo separator genfile --file foo --seek 195k --length 5k --pattern=zeros tar dvf bar) 174. truncate.at:30: ok 175. grow.at:25: testing grow ... ./grow.at:28: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * genfile --file foo --length 50000k genfile --file baz genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz ) ./grow.at:28: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * genfile --file foo --length 50000k genfile --file baz genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz ) ./grow.at:28: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * genfile --file foo --length 50000k genfile --file baz genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz ) ./grow.at:28: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * genfile --file foo --length 50000k genfile --file baz genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz ) ./grow.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * genfile --file foo --length 50000k genfile --file baz genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz ) 175. grow.at:25: ok 176. 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 176. sigpipe.at:21: ok 177. 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 ) 177. comperr.at:18: ok Removing files after archiving 178. 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 178. remfiles01.at:28: ok 179. 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 179. remfiles02.at:28: ok 180. 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 180. remfiles03.at:28: ok 181. 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 ) 181. remfiles04a.at:25: ok 182. 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 ) 182. remfiles04b.at:33: ok 183. 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 ) 183. remfiles04c.at:33: ok 184. 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 ) 184. remfiles05a.at:34: ok 185. 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 ) 185. remfiles05b.at:25: ok 186. 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 ) 186. remfiles05c.at:25: ok 187. 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 ) 187. remfiles06a.at:25: ok 188. 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 ) 188. remfiles06b.at:25: ok 189. 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 ) 189. remfiles06c.at:25: ok 190. 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 ) 190. remfiles07a.at:25: ok 191. 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 ) 191. remfiles07b.at:25: ok 192. 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 ) 192. remfiles07c.at:25: ok 193. 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 . ) 193. remfiles08a.at:28: ok 194. 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 . ) 194. remfiles08b.at:31: ok 195. 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 . ) 195. remfiles08c.at:28: ok 196. 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 . ) 196. remfiles09a.at:25: ok 197. 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 . ) 197. remfiles09b.at:29: ok 198. 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 ) 198. remfiles09c.at:25: ok 199. 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 ) 199. remfiles10.at:20: ok Extended attributes 200. 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 ^$ ) --- - 2021-07-04 00:24:04.330582175 -1200 +++ /build/tar-1.30+dfsg/tests/testsuite.dir/at-groups/200/stdout 2021-07-04 00:24:04.321282461 -1200 @@ -1,3 +1 @@ -user.test="OurDirValue" -user.test="OurFileValue" 200. xattr01.at:25: skipped (xattr01.at:28) 201. 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 ^$ ) --- - 2021-07-04 00:24:04.373357349 -1200 +++ /build/tar-1.30+dfsg/tests/testsuite.dir/at-groups/201/stdout 2021-07-04 00:24:04.365281212 -1200 @@ -1,4 +1 @@ -user.test="OurFile1Value" -user.test="OurFile2Value" -user.test="OurDirValue" 201. xattr02.at:25: skipped (xattr02.at:28) 202. 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 ^$ ) --- - 2021-07-04 00:24:04.421059012 -1200 +++ /build/tar-1.30+dfsg/tests/testsuite.dir/at-groups/202/stdout 2021-07-04 00:24:04.413279849 -1200 @@ -1,4 +1 @@ -trusted.test="OurFile1Value" -trusted.test="OurFile2Value" -trusted.test="OurDirValue" 202. xattr03.at:25: skipped (xattr03.at:28) 203. 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 ) --- - 2021-07-04 00:24:04.465080270 -1200 +++ /build/tar-1.30+dfsg/tests/testsuite.dir/at-groups/203/stdout 2021-07-04 00:24:04.457278601 -1200 @@ -1,2 +1 @@ -user.test="value" 203. xattr04.at:26: skipped (xattr04.at:29) 204. 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 ) 204. xattr05.at:28: skipped (xattr05.at:31) 205. 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 ) 205. xattr06.at:27: skipped (xattr06.at:30) 206. 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 ^$ ) --- - 2021-07-04 00:24:04.608231864 -1200 +++ /build/tar-1.30+dfsg/tests/testsuite.dir/at-groups/206/stderr 2021-07-04 00:24:04.601274513 -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 --- - 2021-07-04 00:24:04.611906217 -1200 +++ /build/tar-1.30+dfsg/tests/testsuite.dir/at-groups/206/stdout 2021-07-04 00:24:04.605274400 -1200 @@ -1,10 +1 @@ -dir/ -dir/file -dir/file2 -dir/ -dir/file -dir/file2 -user.test="OurDirValue2" -user.test="OurFileValue2" -user.test="OurFileValue2" 206. xattr07.at:26: skipped (xattr07.at:29) 207. 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 ) 207. acls01.at:25: skipped (acls01.at:28) 208. 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 ) 208. acls02.at:25: skipped (acls02.at:28) 209. 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 ) 209. acls03.at:30: skipped (acls03.at:47) 210. 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 ) --- - 2021-07-04 00:24:04.800206403 -1200 +++ /build/tar-1.30+dfsg/tests/testsuite.dir/at-groups/210/stdout 2021-07-04 00:24:04.793269064 -1200 @@ -1,4 +1 @@ -security.selinux="system_u -security.selinux="unconfined_u -security.selinux="system_u 210. selnx01.at:25: skipped (selnx01.at:28) 211. 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 ) --- - 2021-07-04 00:24:04.855590614 -1200 +++ /build/tar-1.30+dfsg/tests/testsuite.dir/at-groups/211/stdout 2021-07-04 00:24:04.849267474 -1200 @@ -1,2 +1 @@ -separator 211. selacl01.at:25: skipped (selacl01.at:28) 212. capabs_raw01.at:25: testing capabilities: binary store/restore ... ./capabs_raw01.at:28: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * echo "test" > $$ chmod 0 $$ cat $$ > /dev/null 2>&1 result=$? rm -f $$ test $result -eq 0 || exit 77 file=$(TMPDIR=. mktemp fiXXXXXX) setfattr -n user.test -v test $file &> /dev/null if test "$?" != 0; then exit 77 fi getfattr $file &> /dev/null if test "$?" != 0; then exit 77 fi file=$(TMPDIR=. mktemp fiXXXXXX) setfattr -n user.test -v ahoj $file # check whether tar fails to store xattrs err=$( tar --xattrs -cf /dev/null $file 2>&1 >/dev/null | wc -l ) if test "$err" != "0"; then exit 77 fi file=$(TMPDIR=. mktemp fiXXXXXX) setcap "= cap_chown=ei" $file &> /dev/null if test "$?" != 0; then exit 77 fi getcap $file &> /dev/null if test "$?" != 0; then exit 77 fi rm -rf $file mkdir dir genfile --file dir/file setcap "= cap_chown=ei" dir/file # archive whole directory including binary xattrs tar --xattrs -cf archive.tar dir # clear the directory rm -rf dir # restore _all_ xattrs (not just the user.* domain) tar --xattrs --xattrs-include='*' -xf archive.tar getcap dir/file ) --- - 2021-07-04 00:24:04.911923801 -1200 +++ /build/tar-1.30+dfsg/tests/testsuite.dir/at-groups/212/stdout 2021-07-04 00:24:04.905265885 -1200 @@ -1,2 +1 @@ -dir/file = cap_chown+ei 212. capabs_raw01.at:25: skipped (capabs_raw01.at:28) One top level 213. 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 ) 213. onetop01.at:21: ok 214. 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 ) 214. onetop02.at:21: ok 215. 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 ) 215. onetop03.at:21: ok 216. 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 ) 216. onetop04.at:21: ok 217. 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 ) 217. onetop05.at:21: ok Star tests 218. gtarfail.at:22: testing gtarfail ... ./gtarfail.at:27: test -z "$STAR_TESTSCRIPTS" && exit 77 tarball_prereq gtarfail.tar bf7612e401aaa679edbb07ae1183811b $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 tar --utc -tvf $STAR_TESTSCRIPTS/gtarfail.tar --- - 2021-07-04 00:24:06.155266391 -1200 +++ /build/tar-1.30+dfsg/tests/testsuite.dir/at-groups/218/stdout 2021-07-04 00:24:06.149230575 -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 218. gtarfail.at:22: skipped (gtarfail.at:27) 219. gtarfail2.at:22: testing gtarfail2 ... ./gtarfail2.at:27: test -z "$STAR_TESTSCRIPTS" && exit 77 tarball_prereq gtarfail2.tar 6b607d1faec14b82f69525d9c5b66e53 $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 tar --utc -tvf $STAR_TESTSCRIPTS/gtarfail2.tar --- - 2021-07-04 00:24:06.199487266 -1200 +++ /build/tar-1.30+dfsg/tests/testsuite.dir/at-groups/219/stdout 2021-07-04 00:24:06.193229327 -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 219. gtarfail2.at:22: skipped (gtarfail2.at:27) 220. multi-fail.at:22: testing multi-fail ... ./multi-fail.at:27: test -z "$STAR_TESTSCRIPTS" && exit 77 tarball_prereq gnu-multi-fail-volume1.gtar 7c28663dd98b0bd91ceb4be7af55254e $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 test -z "$STAR_TESTSCRIPTS" && exit 77 tarball_prereq gnu-multi-fail-volume2.gtar b5d41c4c3ec440687d4a44957b5079a8 $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 tar --utc -tvM -f $STAR_TESTSCRIPTS/gnu-multi-fail-volume1.gtar \ -f $STAR_TESTSCRIPTS/gnu-multi-fail-volume2.gtar <&- --- - 2021-07-04 00:24:06.245435532 -1200 +++ /build/tar-1.30+dfsg/tests/testsuite.dir/at-groups/220/stdout 2021-07-04 00:24:06.237228078 -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 220. multi-fail.at:22: skipped (multi-fail.at:27) 221. ustar-big-2g.at:22: testing ustar-big-2g ... ./ustar-big-2g.at:27: cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 test -z "$STAR_TESTSCRIPTS" && exit 77 tarball_prereq ustar-big-2g.tar.bz2 b63979733629c8fcdf40b60065422767 $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 tar --utc -tvjf $STAR_TESTSCRIPTS/ustar-big-2g.tar.bz2 stderr: --- - 2021-07-04 00:24:06.298334944 -1200 +++ /build/tar-1.30+dfsg/tests/testsuite.dir/at-groups/221/stdout 2021-07-04 00:24:06.289226602 -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 221. ustar-big-2g.at:22: skipped (ustar-big-2g.at:27) 222. ustar-big-8g.at:22: testing ustar-big-8g ... ./ustar-big-8g.at:27: cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 test -z "$STAR_TESTSCRIPTS" && exit 77 tarball_prereq ustar-big-8g.tar.bz2 60ff503fa4b8288bef7ada89e9c91b0f $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 tar --utc -tvjf $STAR_TESTSCRIPTS/ustar-big-8g.tar.bz2 stderr: --- - 2021-07-04 00:24:06.348979722 -1200 +++ /build/tar-1.30+dfsg/tests/testsuite.dir/at-groups/222/stdout 2021-07-04 00:24:06.341225126 -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 222. ustar-big-8g.at:22: skipped (ustar-big-8g.at:27) 223. pax-big-10g.at:22: testing pax-big-10g ... ./pax-big-10g.at:27: cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 test -z "$STAR_TESTSCRIPTS" && exit 77 tarball_prereq pax-big-10g.tar.bz2 ca15c23acc8d8bb1f27e60113a5f8bff $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 tar --utc -tvjf $STAR_TESTSCRIPTS/pax-big-10g.tar.bz2 stderr: --- - 2021-07-04 00:24:06.402667639 -1200 +++ /build/tar-1.30+dfsg/tests/testsuite.dir/at-groups/223/stdout 2021-07-04 00:24:06.393223650 -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 223. pax-big-10g.at:22: skipped (pax-big-10g.at:27) ## ------------- ## ## Test results. ## ## ------------- ## 200 tests were successful. 23 tests were skipped. make[3]: Leaving directory '/build/tar-1.30+dfsg/tests' make[2]: Leaving directory '/build/tar-1.30+dfsg/tests' make[2]: Entering directory '/build/tar-1.30+dfsg' make[2]: Leaving directory '/build/tar-1.30+dfsg' make[1]: Leaving directory '/build/tar-1.30+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/tar-1.30+dfsg' Making install in doc make[2]: Entering directory '/build/tar-1.30+dfsg/doc' make[2]: Nothing to be done for 'install'. make[2]: Leaving directory '/build/tar-1.30+dfsg/doc' Making install in gnu make[2]: Entering directory '/build/tar-1.30+dfsg/gnu' make install-recursive make[3]: Entering directory '/build/tar-1.30+dfsg/gnu' make[4]: Entering directory '/build/tar-1.30+dfsg/gnu' make[5]: Entering directory '/build/tar-1.30+dfsg/gnu' if test yes = no; then \ case 'linux-gnu' in \ darwin[56]*) \ need_charset_alias=true ;; \ darwin* | cygwin* | mingw* | pw32* | cegcc*) \ need_charset_alias=false ;; \ *) \ need_charset_alias=true ;; \ esac ; \ else \ need_charset_alias=false ; \ fi ; \ if $need_charset_alias; then \ /bin/bash /build/tar-1.30+dfsg/build-aux/install-sh -d /build/tar-1.30+dfsg/debian/tar/usr/lib ; \ fi ; \ if test -f /build/tar-1.30+dfsg/debian/tar/usr/lib/charset.alias; then \ sed -f ref-add.sed /build/tar-1.30+dfsg/debian/tar/usr/lib/charset.alias > /build/tar-1.30+dfsg/debian/tar/usr/lib/charset.tmp ; \ /usr/bin/install -c -m 644 /build/tar-1.30+dfsg/debian/tar/usr/lib/charset.tmp /build/tar-1.30+dfsg/debian/tar/usr/lib/charset.alias ; \ rm -f /build/tar-1.30+dfsg/debian/tar/usr/lib/charset.tmp ; \ else \ if $need_charset_alias; then \ sed -f ref-add.sed charset.alias > /build/tar-1.30+dfsg/debian/tar/usr/lib/charset.tmp ; \ /usr/bin/install -c -m 644 /build/tar-1.30+dfsg/debian/tar/usr/lib/charset.tmp /build/tar-1.30+dfsg/debian/tar/usr/lib/charset.alias ; \ rm -f /build/tar-1.30+dfsg/debian/tar/usr/lib/charset.tmp ; \ fi ; \ fi make[5]: Nothing to be done for 'install-data-am'. make[5]: Leaving directory '/build/tar-1.30+dfsg/gnu' make[4]: Leaving directory '/build/tar-1.30+dfsg/gnu' make[3]: Leaving directory '/build/tar-1.30+dfsg/gnu' make[2]: Leaving directory '/build/tar-1.30+dfsg/gnu' Making install in lib make[2]: Entering directory '/build/tar-1.30+dfsg/lib' make install-am make[3]: Entering directory '/build/tar-1.30+dfsg/lib' make[4]: Entering directory '/build/tar-1.30+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/tar-1.30+dfsg/lib' make[3]: Leaving directory '/build/tar-1.30+dfsg/lib' make[2]: Leaving directory '/build/tar-1.30+dfsg/lib' Making install in rmt make[2]: Entering directory '/build/tar-1.30+dfsg/rmt' make[3]: Entering directory '/build/tar-1.30+dfsg/rmt' make[3]: Nothing to be done for 'install-exec-am'. /bin/mkdir -p '/build/tar-1.30+dfsg/debian/tar/usr/sbin' /usr/bin/install -c rmt '/build/tar-1.30+dfsg/debian/tar/usr/sbin' make[3]: Leaving directory '/build/tar-1.30+dfsg/rmt' make[2]: Leaving directory '/build/tar-1.30+dfsg/rmt' Making install in src make[2]: Entering directory '/build/tar-1.30+dfsg/src' make[3]: Entering directory '/build/tar-1.30+dfsg/src' /bin/mkdir -p '/build/tar-1.30+dfsg/debian/tar/bin' /usr/bin/install -c tar '/build/tar-1.30+dfsg/debian/tar/bin' make[3]: Nothing to be done for 'install-data-am'. make[3]: Leaving directory '/build/tar-1.30+dfsg/src' make[2]: Leaving directory '/build/tar-1.30+dfsg/src' Making install in scripts make[2]: Entering directory '/build/tar-1.30+dfsg/scripts' make[3]: Entering directory '/build/tar-1.30+dfsg/scripts' /bin/mkdir -p '/build/tar-1.30+dfsg/debian/tar/usr/sbin' /usr/bin/install -c backup.sh dump-remind '/build/tar-1.30+dfsg/debian/tar/usr/sbin' /bin/mkdir -p '/build/tar-1.30+dfsg/debian/tar/usr/sbin' /usr/bin/install -c backup restore '/build/tar-1.30+dfsg/debian/tar/usr/sbin' make[3]: Nothing to be done for 'install-data-am'. make[3]: Leaving directory '/build/tar-1.30+dfsg/scripts' make[2]: Leaving directory '/build/tar-1.30+dfsg/scripts' Making install in po make[2]: Entering directory '/build/tar-1.30+dfsg/po' /bin/mkdir -p /build/tar-1.30+dfsg/debian/tar/usr/share installing bg.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/bg/LC_MESSAGES/tar.mo installing ca.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/ca/LC_MESSAGES/tar.mo installing cs.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/cs/LC_MESSAGES/tar.mo installing da.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/da/LC_MESSAGES/tar.mo installing de.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/de/LC_MESSAGES/tar.mo installing el.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/el/LC_MESSAGES/tar.mo installing eo.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/eo/LC_MESSAGES/tar.mo installing es.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/es/LC_MESSAGES/tar.mo installing et.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/et/LC_MESSAGES/tar.mo installing eu.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/eu/LC_MESSAGES/tar.mo installing fi.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/fi/LC_MESSAGES/tar.mo installing fr.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/fr/LC_MESSAGES/tar.mo installing ga.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/ga/LC_MESSAGES/tar.mo installing gl.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/gl/LC_MESSAGES/tar.mo installing hr.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/hr/LC_MESSAGES/tar.mo installing hu.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/hu/LC_MESSAGES/tar.mo installing id.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/id/LC_MESSAGES/tar.mo installing it.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/it/LC_MESSAGES/tar.mo installing ja.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/ja/LC_MESSAGES/tar.mo installing ko.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/ko/LC_MESSAGES/tar.mo installing ky.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/ky/LC_MESSAGES/tar.mo installing ms.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/ms/LC_MESSAGES/tar.mo installing nb.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/nb/LC_MESSAGES/tar.mo installing nl.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/nl/LC_MESSAGES/tar.mo installing pl.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/pl/LC_MESSAGES/tar.mo installing pt.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/pt/LC_MESSAGES/tar.mo installing pt_BR.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/pt_BR/LC_MESSAGES/tar.mo installing ro.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/ro/LC_MESSAGES/tar.mo installing ru.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/ru/LC_MESSAGES/tar.mo installing sk.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/sk/LC_MESSAGES/tar.mo installing sl.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/sl/LC_MESSAGES/tar.mo installing sr.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/sr/LC_MESSAGES/tar.mo installing sv.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/sv/LC_MESSAGES/tar.mo installing tr.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/tr/LC_MESSAGES/tar.mo installing uk.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/uk/LC_MESSAGES/tar.mo installing vi.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/vi/LC_MESSAGES/tar.mo installing zh_CN.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/zh_CN/LC_MESSAGES/tar.mo installing zh_TW.gmo as /build/tar-1.30+dfsg/debian/tar/usr/share/locale/zh_TW/LC_MESSAGES/tar.mo if test "tar" = "gettext-tools"; then \ /bin/mkdir -p /build/tar-1.30+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/tar-1.30+dfsg/debian/tar/usr/share/gettext/po/$file; \ done; \ for file in Makevars; do \ rm -f /build/tar-1.30+dfsg/debian/tar/usr/share/gettext/po/$file; \ done; \ else \ : ; \ fi make[2]: Leaving directory '/build/tar-1.30+dfsg/po' Making install in tests make[2]: Entering directory '/build/tar-1.30+dfsg/tests' make[3]: Entering directory '/build/tar-1.30+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/tar-1.30+dfsg/tests' make[2]: Leaving directory '/build/tar-1.30+dfsg/tests' make[2]: Entering directory '/build/tar-1.30+dfsg' make[3]: Entering directory '/build/tar-1.30+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/tar-1.30+dfsg' make[2]: Leaving directory '/build/tar-1.30+dfsg' make[1]: Leaving directory '/build/tar-1.30+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-scripts' in '../tar-scripts_1.30+dfsg-6_amd64.deb'. dpkg-deb: building package 'tar-dbgsym' in '../tar-dbgsym_1.30+dfsg-6_amd64.deb'. dpkg-deb: building package 'tar' in '../tar_1.30+dfsg-6_amd64.deb'. dpkg-genbuildinfo --build=binary dpkg-genchanges --build=binary >../tar_1.30+dfsg-6_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) 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/33444 and its subdirectories I: Current time: Sun Jul 4 00:24:15 -12 2021 I: pbuilder-time-stamp: 1625401455 Sun Jul 4 12:24:16 UTC 2021 I: 1st build successful. Starting 2nd build on remote node ionos15-amd64.debian.net. Sun Jul 4 12:24:16 UTC 2021 I: Preparing to do remote build '2' on ionos15-amd64.debian.net. Sun Jul 4 12:31:57 UTC 2021 I: Deleting $TMPDIR on ionos15-amd64.debian.net. Sun Jul 4 12:31:58 UTC 2021 I: tar_1.30+dfsg-6_amd64.changes: Format: 1.8 Date: Tue, 23 Apr 2019 10:05:54 -0600 Source: tar Binary: tar tar-dbgsym tar-scripts Architecture: amd64 Version: 1.30+dfsg-6 Distribution: unstable Urgency: medium Maintainer: Bdale Garbee Changed-By: Bdale Garbee Description: tar - GNU version of the tar archiving utility tar-scripts - optional scripts for GNU version of the tar archiving utility Closes: 926722 Changes: tar (1.30+dfsg-6) unstable; urgency=medium . * eliminate ancient prerm cleanup code that breaks with merged /usr, and is no longer considered useful, closes: #926722 Checksums-Sha1: 738ffad46f5d8656fc57b44ee97e56c8324caf41 732792 tar-dbgsym_1.30+dfsg-6_amd64.deb d4d2822300535722602705633444e1d7f95fffae 170196 tar-scripts_1.30+dfsg-6_amd64.deb f3601d3ecf899444db0955ad658f5c4ce5781760 5179 tar_1.30+dfsg-6_amd64.buildinfo f8bfacef949b64a1c79817afb77beac78c3cb86c 779872 tar_1.30+dfsg-6_amd64.deb Checksums-Sha256: 84b7fba818c1542934b3b834d526cda4246366569546a97d33ff5717db88f420 732792 tar-dbgsym_1.30+dfsg-6_amd64.deb 01924cee65778b55cacfc39844f957ac88520c61188fdbddb5298cb5b2dcd03c 170196 tar-scripts_1.30+dfsg-6_amd64.deb 4511cdf4ed3bdbbae0ec7e63f03311200eaabff3d37a86521d737e59f87a6624 5179 tar_1.30+dfsg-6_amd64.buildinfo 8afffcf03195b06b0345a81b307d662fb9419c5795e238ccc5b36eceea3ec22f 779872 tar_1.30+dfsg-6_amd64.deb Files: 146a4ad5c9bca69d515aef242609b56a 732792 debug optional tar-dbgsym_1.30+dfsg-6_amd64.deb 351922c76e7a3c10f60989faff5698c0 170196 utils optional tar-scripts_1.30+dfsg-6_amd64.deb 7c84df2012623718dd0e3118edd157a4 5179 utils required tar_1.30+dfsg-6_amd64.buildinfo 75b7393fd4eaa44b5135791430e74588 779872 utils required tar_1.30+dfsg-6_amd64.deb Sun Jul 4 12:31:59 UTC 2021 I: diffoscope 177 will be used to compare the two builds: # Profiling output for: /usr/bin/diffoscope --html /srv/reproducible-results/rbuild-debian/tmp.Dtu5Afcu2T/tar_1.30+dfsg-6.diffoscope.html --text /srv/reproducible-results/rbuild-debian/tmp.Dtu5Afcu2T/tar_1.30+dfsg-6.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/tmp.Dtu5Afcu2T/tar_1.30+dfsg-6.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/tmp.Dtu5Afcu2T/b1/tar_1.30+dfsg-6_amd64.changes /srv/reproducible-results/rbuild-debian/tmp.Dtu5Afcu2T/b2/tar_1.30+dfsg-6_amd64.changes ## command (total time: 0.000s) 0.000s 1 call cmp (internal) ## has_same_content_as (total time: 0.000s) 0.000s 1 call abc.DotChangesFile ## main (total time: 0.251s) 0.251s 2 calls outputs 0.000s 1 call cleanup ## recognizes (total time: 0.046s) 0.046s 10 calls diffoscope.comparators.binary.FilesystemFile 0.000s 8 calls abc.DotChangesFile Sun Jul 4 12:32:00 UTC 2021 I: diffoscope 177 found no differences in the changes files, and a .buildinfo file also exists. Sun Jul 4 12:32:00 UTC 2021 I: tar from buster built successfully and reproducibly on amd64. Sun Jul 4 12:32:02 UTC 2021 I: Submitting .buildinfo files to external archives: Sun Jul 4 12:32:02 UTC 2021 I: Submitting 8.0K b1/tar_1.30+dfsg-6_amd64.buildinfo.asc Sun Jul 4 12:32:02 UTC 2021 I: Submitting 8.0K b2/tar_1.30+dfsg-6_amd64.buildinfo.asc Sun Jul 4 12:32:03 UTC 2021 I: Done submitting .buildinfo files to http://buildinfo.debian.net/api/submit. Sun Jul 4 12:32:03 UTC 2021 I: Done submitting .buildinfo files. Sun Jul 4 12:32:03 UTC 2021 I: Removing signed tar_1.30+dfsg-6_amd64.buildinfo.asc files: removed './b1/tar_1.30+dfsg-6_amd64.buildinfo.asc' removed './b2/tar_1.30+dfsg-6_amd64.buildinfo.asc'