From 7c46363ffe8a76296ea2abed9c194e45cd5714cd Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Tue, 24 Feb 2009 22:05:37 -0700 Subject: [PATCH] fold in previous work on tar 1.20 --- debian/NEWS | 10 + debian/README.Debian | 18 ++ debian/changelog | 651 +++++++++++++++++++++++++++++++++++++++++++ debian/compat | 1 + debian/control | 20 ++ debian/copyright | 34 +++ debian/dirs | 2 + debian/docs | 5 + debian/mime | 2 + debian/postinst | 14 + debian/prerm | 19 ++ debian/rmt.8 | 223 +++++++++++++++ debian/rmt.sh | 8 + debian/rules | 88 ++++++ debian/tar.1 | 387 +++++++++++++++++++++++++ debian/tar.1.orig | 325 +++++++++++++++++++++ debian/tar.mime | 2 + src/create.c | 4 +- src/list.c | 9 + tests/incremental.at | 4 +- 20 files changed, 1822 insertions(+), 4 deletions(-) create mode 100644 debian/NEWS create mode 100644 debian/README.Debian create mode 100644 debian/changelog create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/copyright create mode 100644 debian/dirs create mode 100644 debian/docs create mode 100644 debian/mime create mode 100644 debian/postinst create mode 100644 debian/prerm create mode 100644 debian/rmt.8 create mode 100644 debian/rmt.sh create mode 100755 debian/rules create mode 100644 debian/tar.1 create mode 100644 debian/tar.1.orig create mode 100644 debian/tar.mime diff --git a/debian/NEWS b/debian/NEWS new file mode 100644 index 0000000..6dae9f1 --- /dev/null +++ b/debian/NEWS @@ -0,0 +1,10 @@ +tar (1.15.91-2) unstable; urgency=low + + * Upstream changed the default behavior of tar regarding wildcards in + filenames. You may need to add the new '--wildcards' option to scripts + using tar if you depend on the old, undocumented behavior. See the tar + documentation (the wildcards menu item in the non-free package 'tar-doc', + or http://www.gnu.org/software/tar/manual/html_node/wildcards.html) + for more detailed information. + + -- Bdale Garbee Wed, 28 Jun 2006 23:30:23 -0400 diff --git a/debian/README.Debian b/debian/README.Debian new file mode 100644 index 0000000..bdc7abb --- /dev/null +++ b/debian/README.Debian @@ -0,0 +1,18 @@ +The options -Z, --compress, and --uncompress all require that there be a +'compress' utility installed on the system. If there is no compress installed +on your system, you will get errors if you try to use these options to tar. + +Unfortunately, the algorithm used by compress is encumbered, and therefore +this utility is not part of Debian. + +The gunzip package can uncompress a file created with compress, but gzip can +not create a file in 'compress' format. Since the tar -Z option and friends +end up calling 'compress' or 'compress -d', support for these options is not +available in Debian. However, at the time of this writing a package called +'ncompress' exists in non-free, and you can install it if the license terms +are acceptable to you. + +Alternatively, if you don't really care what the format of the resulting file +is, you could always create a 'compress' that is a symlink to gzip. I refuse +to do that in either the tar or gzip packages, however, since what gzip creates +is a compressed file, but not a 'compress' format file... diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..cead765 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,651 @@ +tar (1.20-2) UNRELEASED; urgency=low + + * version the Replaces entry for cpio, closes: #483355 + + -- Bdale Garbee Fri, 30 May 2008 10:47:42 -0600 + +tar (1.20-1) unstable; urgency=low + + * new upstream version + + -- Bdale Garbee Wed, 16 Apr 2008 19:24:39 -0600 + +tar (1.19-3) unstable; urgency=low + + * upstream patch to remove error message when updating a non-existing archive + * patch from Phil Hands for man page prevents URL splitting, closes: #463215 + + -- Bdale Garbee Tue, 18 Mar 2008 14:25:33 -0600 + +tar (1.19-2) unstable; urgency=low + + * patch from Ubuntu to fix FTBFS with gcc-4.3, closes: #452096, #441606 + * more descriptive short description in control, closes: #406301 + + -- Bdale Garbee Fri, 22 Feb 2008 18:17:50 -0700 + +tar (1.19-1) unstable; urgency=low + + * new upstream version + * no need to deliver license text, as GPL-3 is in common-licenses now + + -- Bdale Garbee Sun, 21 Oct 2007 11:47:17 -0600 + +tar (1.18-3) unstable; urgency=high + + * fix build with gcc-4.3, closes: #441606 + + -- Bdale Garbee Thu, 13 Sep 2007 00:37:36 +0200 + +tar (1.18-2) unstable; urgency=high + + * patch from Neil Moore improving the man page, closes: #439916 + * patch from Justin Pryzby improving the man page, closes: #433553 + * patch from upstream to fix directory traversal concern on extraction + documented in (CVE-2007-4131), closes: #439335 + * urgency to high since preceding bug has having security implications + + -- Bdale Garbee Wed, 05 Sep 2007 10:20:45 +0100 + +tar (1.18-1) unstable; urgency=low + + * new upstream version, closes: #429417, #426808 + * include COPYING file containing GPLv3 until base-file is updated + * fix filename of NEWS.Debian so that it actually gets delivered + * patch from Wim De Smet to document --strip in the man page, closes: #417810 + * patch from upstream CVS to fix --verify on large files, closes: #422718 + * add suggest of ncompress mirroring suggest of bzip2 to enable optional + functionality, closes: #122451 + + -- Bdale Garbee Thu, 09 Aug 2007 20:52:32 -0600 + +tar (1.16.1-1) unstable; urgency=low + + * new upstream version, closes: #402179 + * updated Russian translation from Yuriy Talakan, closes: #411613 + + -- Bdale Garbee Mon, 2 Apr 2007 22:10:24 -0600 + +tar (1.16-2) unstable; urgency=high + + * patch from Kees Cook via upstream to disable handling of GNUTYPE_NAMES + by default and add a new command-line switch --allow-name-mangling to + re-enable it, as a fix for directory traversal bug (CVE-2006-6097), + closes: #399845 + + -- Bdale Garbee Fri, 1 Dec 2006 09:19:02 -0700 + +tar (1.16-1) unstable; urgency=medium + + * new upstream version, closes: #376816, #363943, #377124, #377330 + * fix for buffer overflow in test suite, closes: #377557 + * force a clean in the tests directory before running the test suite, seems + to work around test suite repeatability problems, closes: #377330, #379393 + * accept patch from Raphael Bossek to zero nanoseconds, closes: #329843 + * update man page to reflect change in -l definition and other misc changes + to options since man page was last updated, + closes: #384508, #391718, 361932, #315506 + * stop delivering upstream README, closes: #323232 + + -- Bdale Garbee Tue, 24 Oct 2006 17:41:51 -0600 + +tar (1.15.91-2) unstable; urgency=low + + * add a NEWS.Debian file that communicates the change in wildcard processing + * re-institute the patch for filenames that are exactly 100 characters in + length originally reported in #230910, closes: #376909 + + -- Bdale Garbee Thu, 6 Jul 2006 19:30:46 -0600 + +tar (1.15.91-1) unstable; urgency=low + + * new upstream version, retrieved from alpha.gnu.org + * update date in tar.1, closes: #367290 + * support rollbacks in maintainer scripts, drop removal of info since this + package no longer delivers an info doc, closes: #374461 + + -- Bdale Garbee Thu, 22 Jun 2006 16:05:21 -0600 + +tar (1.15.1dfsg-3) unstable; urgency=low + + * revert to upstream auto* products and take a different approach to eliding + doc/ contents, since I'm clearly just not smart enough to use auto* tools + without breaking more than I fix, closes: #362249 + + -- Bdale Garbee Sat, 15 Apr 2006 00:18:42 -0600 + +tar (1.15.1dfsg-2) unstable; urgency=low + + * run aclocal and automake to get last reference to doc subdir out of + Makefile.in, closes: #361931 + + -- Bdale Garbee Thu, 13 Apr 2006 07:33:20 +0900 + +tar (1.15.1dfsg-1) unstable; urgency=low + + * remove the documentation source from this package, since it is licensed + under the GFDL with invariant cover texts that upstream is unwilling or + unable to to remove, closes: #357259 + * remove install-info call from postinst, since it is no longer relevant + * include URL for the online version of the tar documentation in the man page + * run make with same env vars set as configure to avoid situation where + make re-running configure causes rsh to not be found, etc, closes: #356657 + * another patch from Goswin to fix test failures on amd64, closes: #354847 + + -- Bdale Garbee Tue, 11 Apr 2006 17:18:12 +0900 + +tar (1.15.1-6) unstable; urgency=low + + * patch from upstream to fix incorrect listing of a non-existing section as + invariant in the GFDL license header, closes: #357259 + + -- Bdale Garbee Fri, 17 Mar 2006 19:09:14 +0100 + +tar (1.15.1-5) unstable; urgency=low + + * patch from Goswin von Brederlow to sort tar output in test suite to + compensate for different file order when ext3 option dir_index is enabled + on build system, first seen on amd64 autobuilder, closes: #354847 + + -- Bdale Garbee Fri, 17 Mar 2006 16:02:13 +0100 + +tar (1.15.1-4) unstable; urgency=low + + * change section from base to utils to resolve override disparity + * add build dependency on autoconf, closes: #354194 + + -- Bdale Garbee Fri, 24 Feb 2006 20:09:21 -0700 + +tar (1.15.1-3) unstable; urgency=high + + * patch for src/xheader.c suggested by Martin Pitt, to fix exploitable + buffer overflow [CVE-2006-0300], closes: #354091, #314805 + * change default path for rmt in lib/localedir.h to be correct for Debian + systems, closes: #319635 + * updated Italian translation from Marco d'Itri, closes: #286978 + * patch from Loic Minier fixing wrong matching of file names when special + characters are present, closes: #272888 + * patch suggested by Stephen Frost to convert fatal error to warning when + an archive spanning multiple volumes contains a filename longer than + 100 characters, closes: #330187 + * patch from Peter Samuelson to fix hard link handling in the presence + of the --strip-components option, closes: #343062 + * update debhelper compat level to 5 + + -- Bdale Garbee Thu, 23 Feb 2006 13:02:09 -0600 + +tar (1.15.1-2) unstable; urgency=low + + * patch from LaMont to fix gcc-4.0 error in the test suite, + closes: #308815, #310830 + * patch for de.po from Jens Seidel, closes: #313900 + * fix amanda upstream URL in the info pages, closes: #310158 + * patch from NIIBE Yutaka to support cross builds, closes: #283723 + + -- Bdale Garbee Tue, 14 Jun 2005 23:42:40 -0600 + +tar (1.15.1-1) unstable; urgency=low + + * new upstream version, closes: #292255, #287251, #255067 + * fetch tests/append.at from CVS since it was omitted from the 1.15.1 + tarball, and update the regression test invocation in debian/rules + * tweaks to man page, closes: #265615 + * add --libexecdir definition to configure call, closes: #307070, #291068 + * stop trying to link /sbin/rmt, closes: #287217, #156550 + * add --owner to man page, closes: #204848 + * only mention --totals once in man page, closes: #288002 + + -- Bdale Garbee Sun, 8 May 2005 22:41:15 -0600 + +tar (1.14-2) unstable; urgency=low + + * patch from Paul Eggert that does a better job of eliminating the + dependency on (buggy) valloc, closes: #234422, #248897 + * patch for typo in upstream po/de.po, closes: #154511 + * switch from dh_installmanpages to dh_installman + + -- Bdale Garbee Tue, 3 Aug 2004 08:22:17 -0600 + +tar (1.14-1) unstable; urgency=low + + * new upstream version, closes: #252491, #242231 + * eliminate autoconf and automake build dependencies + * fix a bash-ism in the prerm for POSIX shell users + * change valloc to malloc when allocating record_start, closes: #234422 + + -- Bdale Garbee Mon, 2 Aug 2004 08:02:18 -0700 + +tar (1.13.93-4) unstable; urgency=high + + * patch to stop issuing lone zero block warnings, closes: #235820 + * patch to clean up hyphenation in man page, closes: #185670 + * clean up manpage discussion of exclude and exclude-from, closes: #146196 + * turn on regression tests in the build process + + -- Bdale Garbee Sat, 24 Apr 2004 15:38:32 -0600 + +tar (1.13.93-3) unstable; urgency=high + + * patch from upstream converts lone zero block errors to warnings, + closes: #235821 + + -- Bdale Garbee Fri, 12 Mar 2004 17:02:47 -0700 + +tar (1.13.93-2) unstable; urgency=high + + * recover portion of patch from Ingo Saitz included in 1.13.92-4 that got + lost when merging 1.13.93 upstream (argh!), closes: 230910 + + -- Bdale Garbee Wed, 3 Mar 2004 13:22:49 -0700 + +tar (1.13.93-1) unstable; urgency=low + + * new upstream version + + -- Bdale Garbee Sat, 28 Feb 2004 20:10:13 -0700 + +tar (1.13.92-5) unstable; urgency=low + + * patch from Paul Eggert to revert bogus behavior where POSIXLY_CORRECT + set in the environment forced 'pax' format archives, closes: #230872 + * add a lintian override for rmt's man page, since delivering it as an + alternative makes the filename no longer match the script and symlink + delivered for the binary + + -- Bdale Garbee Sun, 15 Feb 2004 16:03:20 -0700 + +tar (1.13.92-4) unstable; urgency=low + + * patch from Ingo Saitz to avoid creating archives with shortnames of 100 + characters, since it can cause dpkg problems, closes: #230910 + * fix typo in info page, closes: #222569 + + -- Bdale Garbee Thu, 12 Feb 2004 01:17:10 -0700 + +tar (1.13.92-3) unstable; urgency=low + + * freshen build dependencies to use automaken + * lose /usr/share/info/dir*gz, closes: #230418 + * reinstate content for mime-support, closes: #111893 + * implement alternatives for rmt, the version provided with dump will get + higher priority than the one in tar since it's better - see #183901 + + -- Bdale Garbee Sat, 31 Jan 2004 16:55:29 -0700 + +tar (1.13.92-2) unstable; urgency=low + + * patches from CVS to stop stripping './' prefix from filenames, and to fix + --no-recursion, closes: #230431, #230434 + + -- Bdale Garbee Sat, 31 Jan 2004 01:11:04 -0700 + +tar (1.13.92-1) unstable; urgency=low + + * new upstream version, closes: #229827 + + -- Bdale Garbee Fri, 30 Jan 2004 02:02:08 -0700 + +tar (1.13.25-6) unstable; urgency=low + + * accept patch from Goswin Brederlow to hard-code RSH definition in rules + file, eliminating rsh-client from build deps, closes: #185594, #200042 + * patch from Marc SCHAEFER to fix symlink extraction + as empty files, closes: #149532 + + -- Bdale Garbee Sun, 14 Sep 2003 10:55:42 -0600 + +tar (1.13.25-5) unstable; urgency=low + + * include fresher config.sub/guess, update in debian/rules, closes: #165778 + + -- Bdale Garbee Tue, 22 Oct 2002 16:09:43 -0600 + +tar (1.13.25-4) unstable; urgency=high + + * apply patch for path vulnerabilities documented in CVE CAN-2002-0399, + make urgency high since this is a security issue, closes: #163152 + * include improved tar.1 man page from Andrew Moise + + -- Bdale Garbee Wed, 16 Oct 2002 11:16:44 -0600 + +tar (1.13.25-3) unstable; urgency=low + + * apply patch to the Debian-originated tar manpage from Pedro Zorzenon Neto + to clarify the value of using --bzip2 in scripts instead + of -j to ensure compatibility with both old and new versions of tar. + closes: #142242, #83233 + * fix capitalization concern in the control file, closes: #125629 + + -- Bdale Garbee Wed, 10 Apr 2002 14:14:40 -0600 + +tar (1.13.25-2) unstable; urgency=medium + + * add a README.Debian that clarifies the situation with respect to 'compress' + in Debian and the impact on the -Z and related options, closes: #122336 + * patch from Mark Eichin to fix archive corruption in special cases, which + has been accepted upstream for next release. closes: #126274 + + -- Bdale Garbee Fri, 1 Feb 2002 08:49:26 -0700 + +tar (1.13.25-1) unstable; urgency=medium + + * new upstream version (bug fixes), closes: #113531 + * start having tar provide rmt, which means conflicting with and replacing + cpio versions prior to the cutover, closes: #94257, #90794 + * make medium urgency, since we really want this and the associated cpio + upload to both be in woody! + + -- Bdale Garbee Fri, 23 Nov 2001 09:20:40 -0700 + +tar (1.13.22-1) unstable; urgency=medium + + * new upstream version, released specifically to help close bugs in woody + upstream (Paul Eggert) says: + regarding 1.13.22 + This fixes Debian bug 92106, in addition to the bug fixes I already + reported to you for GNU tar 1.13.20 and 1.13.21. It also fixes a + core-dump bug for tar 1.13.19 and later, reported to bug-tar. + regarding 1.13.21 + This fixes Debian bug 95984, in addition to the bug fixes I already + reported to you for 1.13.20. It also upgrades tar to use gettext + 0.10.39. + regarding 1.13.20 + I haven't had time to fix all or even most of the bugs, but I suggest + closing out or modifying the following bug reports: + 13312 I changed tar to avoid the problem (I hope; I can't test it). + 52092 Fixed. + 58890 Fixed, I think -- at least, I can't reproduce it now. + 65719 Not a bug? last message in that bug report says it works for him. + 77664 Not a bug. In that context FOO:BAR means 'file BAR on host FOO'. + 78179 Sorry, I don't follow this report. Tar does strip leading '/'s + for me. + 83458 Fixed. + 83735 Fixed. + 85400 Fixed for the info page only. The man page is not part of + tar-1.13.20. + 90794 This partly seems to be a Debian packaging problem; see 94257. + 94287 Fixed. + 95344 Fixed. + 95984 Not fixed in 1.13.20, but will be fixed in next version. + 99655 Fixed. + 100883 This bug report applies to the Debian distribution only. + 100885 Not a bug; see its last message. + 105744 Not a bug; see its last message. + closes: #92106, #95984, #13312, #52092, #58890, #65719, #77664, #78179 + closes: #83458, #83735, #94287, #95344, #99655, #100885, #105744 + * add documentation for --rsh-command to the Debian-provided man page, + closes: #85400 + * fix Debian-provided man page's reference to --exclude, closes: #100883 + + -- Bdale Garbee Fri, 31 Aug 2001 01:13:49 -0600 + +tar (1.13.19-1) unstable; urgency=low + + * new upstream version, -I no longer a valid option, closes: #81556 + * freshen debian/copyright + + -- Bdale Garbee Tue, 23 Jan 2001 09:42:13 -0700 + +tar (1.13.18-2) unstable; urgency=low + + * update (Debian-only, not part of upstream release) man page for tar to + reflect change from -I to -j for bzip2 support, closes: #80331 + + -- Bdale Garbee Fri, 22 Dec 2000 14:18:51 -0700 + +tar (1.13.18-1) unstable; urgency=low + + * new upstream version, closes: #57436, #51889 + * add suggestion for bzip2, closes: #64279 + * this package is pristine upstream source plus the debian/ directory, so + there should be no issues compiling on any platform, closes: #58171 + + -- Bdale Garbee Wed, 20 Dec 2000 13:09:44 -0700 + +tar (1.13.17-2) frozen unstable; urgency=low + + * reconfigure, recompile to fix compile from source problem, closes: #60824 + + -- Bdale Garbee Thu, 23 Mar 2000 09:27:16 -0700 + +tar (1.13.17-1) unstable; urgency=low + + * new upstream source from alpha.gnu.org recommended by uptream maintainer + Paul Eggert. + * this version should handle multibyte encoded filenames, closes: #25140 + * upstream says the problem reported with -g is unreproducible in this + version, closes: #23511 + * this version excludes sockets when building archives, closes: #51064 + + -- Bdale Garbee Fri, 7 Jan 2000 22:57:34 -0700 + +tar (1.13.15-1) unstable; urgency=low + + * new upstream source from alpha.gnu.org recommended by uptream maintainer + Paul Eggert. + * update to current policy + * can't reproduce problem with remote host access reported in 1.13.11-2, + assuming it's fixed, closes: #45647 + * upstream has not picked up our tar.1 manpage, so we'll try to keep it + up to date, closes: #50856 + + -- Bdale Garbee Fri, 3 Dec 1999 13:29:41 -0700 + +tar (1.13.14-5) unstable; urgency=low + + * minor tweaks to clean up our diff, pointed out by the upstream maintainer + + -- Bdale Garbee Tue, 23 Nov 1999 09:23:56 -0700 + +tar (1.13.14-4) unstable; urgency=low + + * update upstream maintainer and copyright references, etc + + -- Bdale Garbee Sun, 21 Nov 1999 09:56:26 -0700 + +tar (1.13.14-3) unstable; urgency=low + + * fix default device in man page, closes: 50856 + + -- Bdale Garbee Sun, 21 Nov 1999 09:45:32 -0700 + +tar (1.13.14-2) unstable; urgency=low + + * fold in Torsten's work that closes: #50553 + * upstream folks indicate that $TAPE does not override -f in 1.13.14, + closes: #47664 + * 1.13.14 has an updated man page that closes: #48603 + * the -X stuff has supposedly been fixed since 1.13.12, closes: #43826 + * rename upstream ChangeLog to changelog in the Debian package to satisfy + lintian/policy + + -- Bdale Garbee Sat, 20 Nov 1999 22:07:46 -0700 + +tar (1.13.14-1.1) unstable; urgency=low + + * Non maintainer upload. + * Moved the AC_LINK_FILES in configure.in inside the if (closes: #50553) + + -- Torsten Landschoff Sun, 21 Nov 1999 04:25:10 +0100 + +tar (1.13.14-1) unstable; urgency=low + + * new upstream source from alpha.gnu.org recommended by uptream maintainer + Paul Eggert. + + -- Bdale Garbee Thu, 11 Nov 1999 01:56:54 -0700 + +tar (1.13.11-2) unstable; urgency=low + + * fix error in man page, closes: #44610 + * patch from upstream that closes: #44827 + + -- Bdale Garbee Tue, 14 Sep 1999 20:58:23 -0600 + +tar (1.13.11-1) unstable; urgency=low + + * new upstream source from alpha.gnu.org recommended by uptream maintainer + Paul Eggert. + * move to FHS compliance with new debhelper + + -- Bdale Garbee Mon, 6 Sep 1999 16:49:51 -0600 + +tar (1.13.6-1) unstable; urgency=medium + + * new upstream source from alpha.gnu.org recommended by uptream maintainer + Paul Eggert. + * bzip2 support is back, now with option '-y' instead of '-I'... rejoice! + Closes: #42428, #42562, #42572, #42661, #42772 + * Paul claims that the -X option is fixed again, Closes: #42552 + * add mime-support goo, Closes: #26706 + * close bug reports I forgot to close last time, Closes: #33134, #37659 + + -- Bdale Garbee Wed, 11 Aug 1999 09:20:48 -0600 + +tar (1.13-3) unstable; urgency=low + + * include more docs in /usr/doc/tar, closes 33134 + * minor tweak to tar.1, closes 37659 + + -- Bdale Garbee Mon, 2 Aug 1999 00:48:44 -0600 + +tar (1.13-2) unstable; urgency=low + + * back out hacks we had made to 1.12 that seem to be causing problems in + 1.13, getting essentially to pristine 1.13 source plus debian control files + + -- Bdale Garbee Mon, 2 Aug 1999 00:26:49 -0600 + +tar (1.13-1) unstable; urgency=low + + * new upstream source + + -- Bdale Garbee Sun, 1 Aug 1999 23:33:29 -0600 + +tar (1.12-9) unstable; urgency=low + + * fix some issues with the contest of the po directory in my CVS repository + + -- Bdale Garbee Sun, 1 Aug 1999 18:02:35 -0600 + +tar (1.12-8) unstable; urgency=low + + * update to handle changes in automake + + -- Bdale Garbee Wed, 9 Jun 1999 20:15:15 -0600 + +tar (1.12-7) frozen unstable; urgency=low + + * merge new version of Italian translation, closes 30284 + * merge README.debian with copyright, closes 22370 + + -- Bdale Garbee Wed, 6 Jan 1999 23:56:47 -0700 + +tar (1.12-6) frozen unstable; urgency=low + + * update manpage to document -I, closes 21224 + + -- Bdale Garbee Fri, 17 Apr 1998 23:37:02 -0600 + +tar (1.12-5) frozen unstable; urgency=low + + * fix for erroneous time reports from --totals from Rob Browning, + closes 18345 + * add --numeric-owner to man page, closes 20801 + * add some examples to the man page, closes 20290 + + -- Bdale Garbee Fri, 10 Apr 1998 00:30:17 -0600 + +tar (1.12-4) unstable; urgency=low + + * move from debmake to debhelper + * address lintian error reports + * apply patch from amanda distribution to fix read errors on sparse files. + This should close 16694. + * updated dds2tar patch to restore proper operation of 'v' option. This was + causing corrupted archives when stdout was used. Closes 17857, 17916. + + -- Bdale Garbee Mon, 9 Feb 1998 23:52:05 -0700 + +tar (1.12-3) unstable; urgency=low + + * apply patch to support dds2tar-2.4.15, closes bug 10774 + * apply patch to support use of bzip2, closes bugs 16280, 17221 + + -- Bdale Garbee Wed, 4 Feb 1998 04:05:43 -0700 + +tar (1.12-2) unstable; urgency=low + + * libc6 + * Folded in some of Michael Dorman's changes for alpha, which are really + libc6 changes. Closes bug 8823. + + -- Bdale Garbee Fri, 5 Sep 1997 00:13:00 -0600 + +tar (1.12-1) unstable; urgency=low + + * New upstream version. + + -- Bdale Garbee Fri, 25 Apr 1997 21:15:44 -0600 + +tar (1.11.8-11) stable frozen unstable; urgency=low + + * back out the change made for 1.11.8-8, since it isn't really effective, + and caused several folks grief. Closes bug 8040. + + -- Bdale Garbee Tue, 18 Mar 1997 01:38:10 -0700 + +tar (1.11.8-10) stable frozen unstable; urgency=low + + * rework debian/rules for CFLAGS as per policy. Closes bug 8065. + + -- Bdale Garbee Fri, 14 Mar 1997 21:22:50 -0700 + +tar (1.11.8-9) unstable; urgency=medium + + * debmake shoved a man page for a porting utility (ansi2knr) that + is in the tar source tree into the package. Fixes bug 7408. + + -- Bdale Garbee Thu, 27 Feb 1997 01:30:56 -0700 + +tar (1.11.8-8) unstable; urgency=medium + + * patch from the net for a quasi-security issue. changes the behavior + during extracts, so that tar won't create inappropriate setuid files + from nonexistent users. + + -- Bdale Garbee Thu, 6 Feb 1997 23:06:17 -0700 + +tar (1.11.8-7) unstable; urgency=medium + + * updated to current package standards + * patch from the net that fixes sporadic multi-vol seg faults + + -- Bdale Garbee Sun, 17 Nov 1996 19:37:43 -0700 + +Fri May 24 08:05:55 MDT 1996 Bdale Garbee + + * fold in changes from 1.11.9 configure.in so that we properly + recognize that it's ok to build 'rmt' + * administrivia + +Sun Apr 14 21:50:21 MDT 1996 Bdale Garbee + + * add architecture and section fields to the control file + * add a man page to squelch the frequent bug reports + +Wed Dec 27 00:29:37 MST 1995 Bdale Garbee + + * fixed a null pointer dereference when the username on a remote + tape reference was omitted... this closes several essentially + duplicate bug reports about segmentation violation core dumps. + +Sun Dec 3 01:13:19 MST 1995 Bdale Garbee + + * ELF build + * add libc5 dependency + * new maintainer + +Local variables: +mode: debian-changelog +End: diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +5 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..d0f0dab --- /dev/null +++ b/debian/control @@ -0,0 +1,20 @@ +Source: tar +Section: utils +Priority: required +Maintainer: Bdale Garbee +Build-Depends: debhelper (>> 5), gettext, autoconf, autotools-dev +Standards-Version: 3.7.3 + +Package: tar +Architecture: any +Pre-Depends: ${shlibs:Depends} +Essential: yes +Conflicts: cpio (<= 2.4.2-38) +Replaces: cpio (<< 2.4.2-39) +Suggests: bzip2, ncompress +Description: GNU version of the tar archiving utility + Tar is a program for packaging a set of files as a single archive in tar + format. The function it performs is conceptually similar to cpio, and to + things like PKZIP in the DOS world. It is heavily used by the Debian package + management system, and is useful for performing system backups and exchanging + sets of files with others. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..ecf69f1 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,34 @@ +This is the Debian GNU/Linux prepackaged version of GNU tar. GNU +tar, heavily based on John Gilmore's public domain version of tar, +was originally written by Graham Todd. It is now maintained by +Paul Eggert . + +This package is maintained for Debian by Bdale Garbee , and +was built from the sources found at: + + ftp://ftp.gnu.org/gnu/tar/ + +GNU tar is + + Copyright (C) 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1999, 2000, + 2001, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 3, or (at your option) any later + version. + +On Debian GNU/Linux systems, the complete text of the GNU General Public +License version 3 can be found in /usr/share/common-licenses/GPL-3. + +The Debian packaging is + + Copyright (C) 2006, 2007 Bdale Garbee + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 2, or (at your option) any later + version. + +On Debian GNU/Linux systems, the complete text of the GNU General Public +License version 2 can be found in /usr/share/common-licenses/GPL-2. diff --git a/debian/dirs b/debian/dirs new file mode 100644 index 0000000..51c5a9f --- /dev/null +++ b/debian/dirs @@ -0,0 +1,2 @@ +etc +usr/share/man/man8 diff --git a/debian/docs b/debian/docs new file mode 100644 index 0000000..1c3836f --- /dev/null +++ b/debian/docs @@ -0,0 +1,5 @@ +AUTHORS +ChangeLog +ChangeLog.1 +NEWS +THANKS diff --git a/debian/mime b/debian/mime new file mode 100644 index 0000000..c203ff6 --- /dev/null +++ b/debian/mime @@ -0,0 +1,2 @@ +application/x-tar; /bin/tar tvf -; print=/bin/tar tvf - | print text/plain:-; copiousoutput +application/x-gtar; /bin/tar tvzf -; print=/bin/tar tvzf - | print text/plain:-; copiousoutput diff --git a/debian/postinst b/debian/postinst new file mode 100644 index 0000000..008b928 --- /dev/null +++ b/debian/postinst @@ -0,0 +1,14 @@ +#!/bin/sh +set -e + +case "$1" in + configure|abort-deconfigure|abort-remove) + update-alternatives --install /usr/sbin/rmt rmt /usr/sbin/rmt-tar 50 \ + --slave /usr/share/man/man8/rmt.8.gz rmt.8.gz \ + /usr/share/man/man8/rmt-tar.8.gz + ;; + upgrade) + ;; +esac + +#DEBHELPER# diff --git a/debian/prerm b/debian/prerm new file mode 100644 index 0000000..6d54f81 --- /dev/null +++ b/debian/prerm @@ -0,0 +1,19 @@ +#!/bin/sh +set -e + +case "$1" in + remove|deconfigure) + update-alternatives --remove rmt /usr/sbin/rmt-tar + if test -L /sbin/rmt && test /sbin/rmt -ef /usr/sbin/rmt; then + rm -f /sbin/rmt + fi + ;; + upgrade|failed-upgrade) + ;; + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# diff --git a/debian/rmt.8 b/debian/rmt.8 new file mode 100644 index 0000000..ba709c9 --- /dev/null +++ b/debian/rmt.8 @@ -0,0 +1,223 @@ +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)rmt.8 8.2 (Berkeley) 12/11/93 +.\" +.Dd December 11, 1993 +.Dt RMT 8 +.Os BSD 4.2 +.Sh NAME +.Nm rmt +.Nd remote magtape protocol module +.Sh SYNOPSIS +.Nm rmt +.Sh DESCRIPTION +.Nm Rmt +is a program used by tar, cpio, mt, and the remote dump and restore +programs in manipulating a magnetic tape drive through an interprocess +communication connection. +.Nm Rmt +is normally started up with an +.Xr rexec 3 +or +.Xr rcmd 3 +call or the +.Xr rsh 1 +command. +.Pp +The +.Nm rmt +program accepts requests specific to the manipulation of +magnetic tapes, performs the commands, then responds with +a status indication. All responses are in +.Tn ASCII +and in +one of two forms. +Successful commands have responses of: +.Bd -filled -offset indent +.Sm off +.Sy A Ar number No \en +.Sm on +.Ed +.Pp +.Ar Number +is an +.Tn ASCII +representation of a decimal number. +Unsuccessful commands are responded to with: +.Bd -filled -offset indent +.Sm off +.Xo Sy E Ar error-number +.No \en Ar error-message +.No \en +.Xc +.Sm on +.Ed +.Pp +.Ar Error-number +is one of the possible error +numbers described in +.Xr intro 2 +and +.Ar error-message +is the corresponding error string as printed +from a call to +.Xr perror 3 . +The protocol is comprised of the +following commands, which are sent as indicated - no spaces are supplied +between the command and its arguments, or between its arguments, and +.Ql \en +indicates that a newline should be supplied: +.Bl -tag -width Ds +.Sm off +.It Xo Sy \&O Ar device +.No \en Ar mode No \en +.Xc +Open the specified +.Ar device +using the indicated +.Ar mode . +.Ar Device +is a full pathname and +.Ar mode +is an +.Tn ASCII +representation of a decimal +number suitable for passing to +.Xr open 2 . +If a device had already been opened, it is +closed before a new open is performed. +.It Xo Sy C Ar device No \en +.Xc +Close the currently open device. The +.Ar device +specified is ignored. +.It Xo Sy L +.Ar offset No \en +.Ar whence No \en +.Xc +.Sm on +Perform an +.Xr lseek 2 +operation using the specified parameters. +The response value is that returned from the +.Xr lseek +call. +.Sm off +.It Sy W Ar count No \en +.Sm on +Write data onto the open device. +.Nm Rmt +reads +.Ar count +bytes from the connection, aborting if +a premature end-of-file is encountered. +The response value is that returned from +the +.Xr write 2 +call. +.Sm off +.It Sy R Ar count No \en +.Sm on +Read +.Ar count +bytes of data from the open device. +If +.Ar count +exceeds the size of the data buffer (10 kilobytes), it is +truncated to the data buffer size. +.Nm rmt +then performs the requested +.Xr read 2 +and responds with +.Sm off +.Sy A Ar count-read No \en +.Sm on +if the read was +successful; otherwise an error in the +standard format is returned. If the read +was successful, the data read is then sent. +.Sm off +.It Xo Sy I Ar operation +.No \en Ar count No \en +.Xc +.Sm on +Perform a +.Dv MTIOCOP +.Xr ioctl 2 +command using the specified parameters. +The parameters are interpreted as the +.Tn ASCII +representations of the decimal values +to place in the +.Ar mt_op +and +.Ar mt_count +fields of the structure used in the +.Xr ioctl +call. The return value is the +.Ar count +parameter when the operation is successful. +.It Sy S +Return the status of the open device, as +obtained with a +.Dv MTIOCGET +.Xr ioctl +call. If the operation was successful, +an ``ack'' is sent with the size of the +status buffer, then the status buffer is +sent (in binary). +.El +.Sm on +.Pp +Any other command causes +.Nm rmt +to exit. +.Sh DIAGNOSTICS +All responses are of the form described above. +.Sh SEE ALSO +.Xr tar 1 , +.Xr cpio 1 , +.Xr mt 1 , +.Xr rsh 1 , +.Xr rcmd 3 , +.Xr rexec 3 , +.Xr mtio 4 , +.Xr rdump 8 , +.Xr rrestore 8 +.Sh BUGS +People should be discouraged from using this for a remote +file access protocol. +.Sh HISTORY +The +.Nm +command appeared in +.Bx 4.2 . diff --git a/debian/rmt.sh b/debian/rmt.sh new file mode 100644 index 0000000..4fadd09 --- /dev/null +++ b/debian/rmt.sh @@ -0,0 +1,8 @@ +#!/bin/sh +# +# This is not a mistake. This shell script (/etc/rmt) has been provided +# for compatibility with other Unix-like systems, some of which have +# utilities that expect to find (and execute) rmt in the /etc directory +# on remote systems. +# +exec /usr/sbin/rmt diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..a8b047f --- /dev/null +++ b/debian/rules @@ -0,0 +1,88 @@ +#!/usr/bin/make -f + +DEB_BUILD_GNU_TYPE = $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +DEB_HOST_GNU_TYPE = $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) +CONFARGS = --host=$(DEB_HOST_GNU_TYPE) +endif + +configure: configure-stamp +configure-stamp: + dh_testdir + + RSH="/usr/bin/rsh" CFLAGS="-O2 -g -Wall" \ + ./configure --prefix=/usr --libexecdir=/usr/sbin $(CONFARGS) + + touch configure-stamp + +build: configure-stamp build-stamp +build-stamp: + dh_testdir + + RSH="/usr/bin/rsh" CFLAGS="-O2 -g -Wall -fno-gnu89-inline" $(MAKE) +ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) + (cd tests ; $(MAKE) clean) + $(MAKE) check +endif + + touch build-stamp + +clean: + dh_testdir + dh_testroot + rm -f build-stamp configure-stamp + + [ ! -f Makefile ] || $(MAKE) distclean + + -test -r /usr/share/misc/config.sub && \ + cp -f /usr/share/misc/config.sub build-aux/config.sub + -test -r /usr/share/misc/config.guess && \ + cp -f /usr/share/misc/config.guess build-aux/config.guess + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + make install bindir=`pwd`/debian/tar/bin prefix=`pwd`/debian/tar/usr \ + libexecdir=`pwd`/debian/tar/usr/sbin + install -m 755 debian/rmt.sh debian/tar/etc/rmt + mv debian/tar/usr/sbin/rmt debian/tar/usr/sbin/rmt-tar + +# Build architecture-independent files here. +binary-indep: build install + +# Build architecture-dependent files here. +binary-arch: build install + 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 debian/tar.1 debian/rmt.8 + 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 + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/debian/tar.1 b/debian/tar.1 new file mode 100644 index 0000000..4e95db1 --- /dev/null +++ b/debian/tar.1 @@ -0,0 +1,387 @@ +.\" @(#)tar.1 1.11.1 93/19/22 PJV; +.TH TAR 1 "29 Aug 2007" +.SH NAME +tar \- The GNU version of the tar archiving utility +.SH SYNOPSIS +.B tar +[ +.B \- +] +.B A \-\-catenate \-\-concatenate \||\| c \-\-create \||\| d \-\-diff \-\-compare \||\| \-\-delete \||\| r \-\-append \||\| t \-\-list \||\| u \-\-update \||\| x \-\-extract \-\-get +.I [ options ] +.I pathname [ pathname ... ] +.SH DESCRIPTION +.LP +This manual page documents the GNU version of +.B tar +, an archiving program designed to store and extract files from +an archive file known as a +.IR tarfile. +A +.IR tarfile +may be made on a tape drive, however, it is also common +to write a +.IR tarfile +to a normal file. +The first argument to +.B tar +must be one of the options: +.BR Acdrtux , +followed by any optional functions. +The final arguments to +.B tar +are the names of the files or directories which should be archived. The use +of a directory name always implies that the subdirectories below should be +included in the archive. +.SH EXAMPLES +.TP +.B tar \-xvvf foo.tar +extract foo.tar +.TP +.B tar \-xvvzf foo.tar.gz +extract gzipped foo.tar.gz +.TP +.B tar \-cvvf foo.tar foo/ +tar contents of folder foo in foo.tar +.SH "FUNCTION LETTERS" +.TP +.B One of the following options must be used: +.TP +.B \-A, \-\-catenate, \-\-concatenate +append tar files to an archive +.TP +.B \-c, \-\-create +create a new archive +.TP +.B \-d, \-\-diff, \-\-compare +find differences between archive and file system +.TP +.B \-\-delete +delete from the archive (not for use on mag tapes!) +.TP +.B \-r, \-\-append +append files to the end of an archive +.TP +.B \-t, \-\-list +list the contents of an archive +.TP +.B \-u, \-\-update +only append files that are newer than copy in archive +.TP +.B \-x, \-\-extract, \-\-get +extract files from an archive +.SH "OTHER OPTIONS" +.TP +.B \-\-allow\-name\-mangling +re-enable handling of GNUTYPE_NAMES which is now disabled by default +.TP +.B \-\-anchored +force exclusion patterns to match initial subsequences +.TP +.B \-\-atime\-preserve +don't change access times on dumped files +.TP +.B \-a, \-\-auto\-compress +with \-\-create, selects compression algorithm basing on the suffix +of the archive file name +.TP +.B \-b, \-\-blocking\-factor N +use record size of Nx512 bytes (default N=20) +.TP +.B \-B, \-\-read\-full\-records +reblock as we read (for reading 4.2BSD pipes) +.TP +.B \-\-backup[\=TYPE] +back up files instead of overwriting (TYPE=numbered, existing, simple) +.TP +.B \-C, \-\-directory DIR +change to directory DIR +.TP +.B \-\-checkpoint +print periodic checkpoints +.TP +.B \-\-checkpoint\-action +this action allows to specify an action to be executed upon hitting a +checkpoint. Recognized actions are: dot, echo (the default), +echo\=string, ttyout\=string, exec\=cmdline, and sleep\=value. Any number +of `\-\-checkpoint\-action' options can be specified, the actions will be +executed in order of their appearance in the command line. +.TP +.B \-\-check\-device +enables comparing device numbers. This is the default. +.TP +.B \-\-no\-check\-device +disables comparing device numbers during preparatory stage of an +incremental dump. +This allows to avoid creating full dumps if the device numbers change +(e.g. when using an LVM snapshot) +.TP +.B \-\-exclude=PATTERN +exclude files matching PATTERN +.TP +.B \-f, \-\-file [HOSTNAME:]F +use archive file or device F (otherwise value of TAPE environment variable; if unset, "\-", meaning stdin/stdout) +.TP +.B \-F, \-\-info\-script F, \-\-new\-volume\-script F +run script at end of each tape (implies \-M) +.TP +.B \-\-force\-local +archive file is local even if it has a colon +.TP +.B \-G, \-\-incremental +create/list/extract old GNU-format incremental backup +.TP +.B \-g, \-\-listed\-incremental F +create/list/extract new GNU-format incremental backup +.TP +.B \-\-group G +set group to G while adding files +.TP +.B \-h, \-\-dereference +don't dump symlinks; dump the files they point to +.TP +.B \-\-hard\-dereference +during archive creation, dereferences hard links and stores the files +they refer to, instead of creating usual hard link members (type '1') +.TP +.B \-\-help +print help message +.TP +.B \-i, \-\-ignore\-zeros +ignore blocks of zeros in archive (normally mean EOF) +.TP +.B \-\-ignore\-case +ignore case when excluding files +.TP +.B \-\-ignore\-failed\-read +don't exit with non-zero status on unreadable files +.TP +.B \-j, \-\-bzip2 +filter archive through bzip2, use to decompress .bz2 files. +WARNING: some previous versions of tar used option \-I to +filter through bzip2. When writing scripts, use \-\-bzip2 +instead of \-j so that both older and newer tar versions +will work. +.TP +.B \-k, \-\-keep\-old\-files +keep existing files; don't overwrite them from archive +.TP +.B \-K, \-\-starting\-file F +begin at file F in the archive +.TP +.B \-\-lzma +selects LZMA compression algorithm +.TP +.B \-l, \-\-check\-links +print a message if not all links are dumped +.TP +.B \-L, \-\-tape\-length N +change tapes after writing N*1024 bytes +.TP +.B \-m, \-\-touch +don't extract file modified time +.TP +.BI \-\-transform " expr" +applies filename transformations. +The argument to this option can be a list of replace expressions, separated +by semicolon (as in `sed'). +Filename transformations are applied to symbolic link targets during both +creation and extraction. +This option may be specified any number of +times, the specified transofrmations will be applied in turn. +.TP +.B \-M, \-\-multi\-volume +create/list/extract multi-volume archive +.TP +.B \-\-mode M +set permissions to M while adding files +.TP +.B \-N, \-\-after\-date DATE, \-\-newer DATE +only store files newer than DATE +.TP +.B \-\-newer\-mtime DATE +only store files whose contents have changed after DATE +.TP +.B \-\-no\-anchored +allow exclusion patterns to match any substring (the default) +.TP +.B \-\-no\-ignore\-case +match patterns case sensitively (the default) +.TP +.B \-\-no\-recursion +do not recurse into subdirectories +.TP +.B \-o, \-\-no\-same\-owner +extract files with owner set to current user (the default for non-root +users) +.TP +.B \-\-no\-same\-permissions +apply umask to extracted files (the default for non-root users) +.TP +.B \-\-no\-wildcards +do not use wildcards when excluding files +.TP +.B \-\-no\-wildcards\-match\-slash +don't let wildcards match "/" when excluding files +.TP +.B \-\-null +for \-T, use "NUL" instead of newline as filename terminator +.TP +.B \-\-numeric\-owner +always use numbers for user/group names +.TP +.B \-\-old\-archive, \-\-portability +write a V7 format archive, rather than ANSI format. These options are +deprecated, please use +.B \-\-format\=v7 +instead. +.TP +.B \-\-one\-file\-system +stay in local file system when creating an archive +.TP +.B \-\-owner O +set owner to O while adding files +.TP +.B \-O, \-\-to\-stdout +extract files to standard output +.TP +.B \-p, \-\-same\-permissions, \-\-preserve\-permissions +ignore umask when extracting files (the default for root) +.TP +.B \-P, \-\-absolute\-names +don't strip leading `/'s from file names +.TP +.B \-\-posix +create POSIX compliant archive. This option is deprecated, +please use +.B \-\-format\=posix +instead. +.TP +.B \-\-preserve +like \-p \-s +.TP +.B \-R, \-\-block\-number +show block number within archive with each message +.TP +.B \-\-record\-size SIZE +use SIZE bytes per record +.TP +.B \-\-recursion +recurse into directories (the default) +.TP +.B \-\-recursive\-unlink +remove existing directories before extracting directories of the same +name +.TP +.B \-\-remove\-files +remove files after adding them to the archive +.TP +.B \-\-rsh\-command=CMD +Use remote COMMAND instead of `rsh'. This option exists so that +people who use something other than the standard `rsh' (e.g., a +Kerberized `rsh') can access a remote device. +.TP +.B \-S, \-\-sparse +handle sparse files efficiently +.TP +.B \-s, \-\-same\-order, \-\-preserve\-order +list of names to extract is sorted to match archive +.TP +.B \-\-same\-owner +extract files with owner as specified in archive (the default for +root) +.TP +.B \-\-show\-omitted\-dirs +mention directories that are being skipped over +.TP +.BI \-\-strip\-components " n" +Strip the given number of leading directory components +.TP +.B \-\-strip, \-\-strip\-components N +Strips the first N components from archive members' pathnames when +unpacking. +.TP +.B \-\-suffix SUFFIX +append SUFFIX to make backup files (default ~) +.TP +.B \-T, \-\-files\-from F +get names to extract or archive from file F +.TP +.B \-\-totals +display total bytes written after creating an archive +.TP +.B \-U, \-\-unlink\-first +unlink & recreate files instead of overwriting +.TP +.B \-\-use\-compress\-program PROG +filter the archive through PROG (which must accept \-d) +.TP +.B \-v, \-\-verbose +verbosely list files processed +.TP +.B \-V, \-\-label NAME +create archive with volume name NAME +.TP +.B \-\-version +print tar program version number +.TP +.B \-\-volno\-file F +keep track of current volume (of a multi-volume archive) in F +.TP +.B \-w, \-\-interactive, \-\-confirmation +ask for confirmation for every action +.TP +.B \-W, \-\-verify +attempt to verify the archive after writing it +.TP +.B \-\-wildcards +use wildcards when excluding files (the default) +.TP +.B \-\-wildcards\-match\-slash +allow wildcards to match "/" (the default) +.TP +.B \-X, \-\-exclude\-from=FILE +exclude files matching patterns listed in FILE +.TP +.B \-Z, \-\-compress, \-\-uncompress +filter the archive through compress +.TP +.B \-z, \-\-gzip, \-\-gunzip, \-\-ungzip +filter the archive through gzip +.TP +.B \-[0\-7][lmh] +specify drive and density +.SH ENVIRONMENT +The behavior of tar is controlled by the following environment variables, +among others: +.TP +.B TAPE +Device or file to use for the archive if \fB--file\fR is not specified. +If this environment variable is unset, use stdin or stdout instead. +.TP +.B TAR_OPTIONS +Options to prepend to those specified on the command line, separated by +whitespace. Embedded backslashes may be used to escape whitespace or +backslashes within an option. +.LP +In addition, the value of the blocking factor is made available to info +and checkpoint scripts via environment variable +.B TAR_BLOCKING_FACTOR. +.SH BUGS +.LP +The GNU folks, in general, abhor man pages, and create info documents instead. +Unfortunately, the info document describing tar is licensed under the GFDL with +invariant cover texts, which violates the Debian Free Software Guidelines. As +a result, the info documentation for tar is not included in the Debian package. + +If you want to read the complete documentation for GNU tar, please refer to +the online version at +.PP +.ce 1 + +.PP +This man page was created for the Debian distribution. It does not describe +all of the functionality of tar, and it is often out of date. Patches to +improve the coverage and/or accuracy of this man page are appreciated, and +should be filed as wishlist severity bugs against the Debian tar package, +not submitted to the GNU tar maintainers. diff --git a/debian/tar.1.orig b/debian/tar.1.orig new file mode 100644 index 0000000..ad32bbb --- /dev/null +++ b/debian/tar.1.orig @@ -0,0 +1,325 @@ +.\" @(#)tar.1 1.11.1 93/19/22 PJV; +.TH TAR 1 "15 May 2006" +.SH NAME +tar \- The GNU version of the tar archiving utility +.SH SYNOPSIS +.B tar +[ +.B \- +] +.B A \-\-catenate \-\-concatenate \||\| c \-\-create \||\| d \-\-diff \-\-compare \||\| \-\-delete \||\| r \-\-append \||\| t \-\-list \||\| u \-\-update \||\| x \-\-extract \-\-get +.I [ options ] +.I pathname [ pathname ... ] +.SH DESCRIPTION +.LP +This manual page documents the GNU version of +.B tar +, an archiving program designed to store and extract files from +an archive file known as a +.IR tarfile. +A +.IR tarfile +may be made on a tape drive, however, it is also common +to write a +.IR tarfile +to a normal file. +The first argument to +.B tar +must be one of the options: +.BR Acdrtux , +followed by any optional functions. +The final arguments to +.B tar +are the names of the files or directories which should be archived. The use +of a directory name always implies that the subdirectories below should be +included in the archive. +.SH EXAMPLES +.TP +.B tar \-xvvf foo.tar +extract foo.tar +.TP +.B tar \-xvvzf foo.tar.gz +extract gzipped foo.tar.gz +.TP +.B tar \-cvvf foo.tar foo/ +tar contents of folder foo in foo.tar +.SH "FUNCTION LETTERS" +.TP +.B One of the following options must be used: +.TP +.B \-A, \-\-catenate, \-\-concatenate +append tar files to an archive +.TP +.B \-c, \-\-create +create a new archive +.TP +.B \-d, \-\-diff, \-\-compare +find differences between archive and file system +.TP +.B \-\-delete +delete from the archive (not for use on mag tapes!) +.TP +.B \-r, \-\-append +append files to the end of an archive +.TP +.B \-t, \-\-list +list the contents of an archive +.TP +.B \-u, \-\-update +only append files that are newer than copy in archive +.TP +.B \-x, \-\-extract, \-\-get +extract files from an archive +.SH "OTHER OPTIONS" +.TP +.B \-\-allow\-name\-mangling +re-enable handling of GNUTYPE_NAMES which is now disabled by default +.TP +.B \-\-anchored +force exclusion patterns to match initial subsequences +.TP +.B \-\-atime\-preserve +don't change access times on dumped files +.TP +.B \-b, \-\-blocking\-factor N +use record size of Nx512 bytes (default N=20) +.TP +.B \-B, \-\-read\-full\-records +reblock as we read (for reading 4.2BSD pipes) +.TP +.B \-\-backup[\=TYPE] +back up files instead of overwriting (TYPE=numbered, existing, simple) +.TP +.B \-C, \-\-directory DIR +change to directory DIR +.TP +.B \-\-checkpoint +print periodic checkpoints +.TP +.B \-\-exclude=PATTERN +exclude files matching PATTERN +.TP +.B \-f, \-\-file [HOSTNAME:]F +use archive file or device F (default "\-", meaning stdin/stdout) +.TP +.B \-F, \-\-info\-script F, \-\-new\-volume\-script F +run script at end of each tape (implies \-M) +.TP +.B \-\-force\-local +archive file is local even if it has a colon +.TP +.B \-G, \-\-incremental +create/list/extract old GNU-format incremental backup +.TP +.B \-g, \-\-listed\-incremental F +create/list/extract new GNU-format incremental backup +.TP +.B \-\-group G +set group to G while adding files +.TP +.B \-h, \-\-dereference +don't dump symlinks; dump the files they point to +.TP +.B \-\-help +print help message +.TP +.B \-i, \-\-ignore\-zeros +ignore blocks of zeros in archive (normally mean EOF) +.TP +.B \-\-ignore\-case +ignore case when excluding files +.TP +.B \-\-ignore\-failed\-read +don't exit with non-zero status on unreadable files +.TP +.B \-j, \-\-bzip2 +filter archive through bzip2, use to decompress .bz2 files. +WARNING: some previous versions of tar used option \-I to +filter through bzip2. When writing scripts, use \-\-bzip2 +instead of \-j so that both older and newer tar versions +will work. +.TP +.B \-k, \-\-keep\-old\-files +keep existing files; don't overwrite them from archive +.TP +.B \-K, \-\-starting\-file F +begin at file F in the archive +.TP +.B \-l, \-\-check\-links +print a message if not all links are dumped +.TP +.B \-L, \-\-tape\-length N +change tapes after writing N*1024 bytes +.TP +.B \-m, \-\-touch +don't extract file modified time +.TP +.B \-M, \-\-multi\-volume +create/list/extract multi-volume archive +.TP +.B \-\-mode M +set permissions to M while adding files +.TP +.B \-N, \-\-after\-date DATE, \-\-newer DATE +only store files newer than DATE +.TP +.B \-\-newer\-mtime DATE +only store files whose contents have changed after DATE +.TP +.B \-\-no\-anchored +allow exclusion patterns to match any substring (the default) +.TP +.B \-\-no\-ignore\-case +match patterns case sensitively (the default) +.TP +.B \-\-no\-recursion +do not recurse into subdirectories +.TP +.B \-o, \-\-no\-same\-owner +extract files with owner set to current user (the default for non-root +users) +.TP +.B \-\-no\-same\-permissions +apply umask to extracted files (the default for non-root users) +.TP +.B \-\-no\-wildcards +do not use wildcards when excluding files +.TP +.B \-\-no\-wildcards\-match\-slash +don't let wildcards match "/" when excluding files +.TP +.B \-\-null +for \-T, use "NUL" instead of newline as filename terminator +.TP +.B \-\-numeric\-owner +always use numbers for user/group names +.TP +.B \-\-old\-archive, \-\-portability +write a V7 format archive, rather than ANSI format. These options are +deprecated, please use +.B \-\-format\=v7 +instead. +.TP +.B \-\-one\-file\-system +stay in local file system when creating an archive +.TP +.B \-\-owner O +set owner to O while adding files +.TP +.B \-O, \-\-to\-stdout +extract files to standard output +.TP +.B \-p, \-\-same\-permissions, \-\-preserve\-permissions +ignore umask when extracting files (the default for root) +.TP +.B \-P, \-\-absolute\-names +don't strip leading `/'s from file names +.TP +.B \-\-posix +create POSIX compliant archive. This option is deprecated, +please use +.B \-\-format\=posix +instead. +.TP +.B \-\-preserve +like \-p \-s +.TP +.B \-R, \-\-block\-number +show block number within archive with each message +.TP +.B \-\-record\-size SIZE +use SIZE bytes per record +.TP +.B \-\-recursion +recurse into directories (the default) +.TP +.B \-\-recursive\-unlink +remove existing directories before extracting directories of the same +name +.TP +.B \-\-remove\-files +remove files after adding them to the archive +.TP +.B \-\-rsh\-command=CMD +Use remote COMMAND instead of `rsh'. This option exists so that +people who use something other than the standard `rsh' (e.g., a +Kerberized `rsh') can access a remote device. +.TP +.B \-S, \-\-sparse +handle sparse files efficiently +.TP +.B \-s, \-\-same\-order, \-\-preserve\-order +list of names to extract is sorted to match archive +.TP +.B \-\-same\-owner +extract files with owner as specified in archive (the default for +root) +.TP +.B \-\-show\-omitted\-dirs +mention directories that are being skipped over +.TP +.B \-\-suffix SUFFIX +append SUFFIX to make backup files (default ~) +.TP +.B \-T, \-\-files\-from F +get names to extract or archive from file F +.TP +.B \-\-totals +display total bytes written after creating an archive +.TP +.B \-U, \-\-unlink\-first +unlink & recreate files instead of overwriting +.TP +.B \-\-use\-compress\-program PROG +filter the archive through PROG (which must accept \-d) +.TP +.B \-v, \-\-verbose +verbosely list files processed +.TP +.B \-V, \-\-label NAME +create archive with volume name NAME +.TP +.B \-\-version +print tar program version number +.TP +.B \-\-volno\-file F +keep track of current volume (of a multi-volume archive) in F +.TP +.B \-w, \-\-interactive, \-\-confirmation +ask for confirmation for every action +.TP +.B \-W, \-\-verify +attempt to verify the archive after writing it +.TP +.B \-\-wildcards +use wildcards when excluding files (the default) +.TP +.B \-\-wildcards\-match\-slash +allow wildcards to match "/" (the default) +.TP +.B \-X, \-\-exclude\-from=FILE +exclude files matching patterns listed in FILE +.TP +.B \-Z, \-\-compress, \-\-uncompress +filter the archive through compress +.TP +.B \-z, \-\-gzip, \-\-gunzip, \-\-ungzip +filter the archive through gzip +.TP +.B \-[0\-7][lmh] +specify drive and density +.SH BUGS +.LP +The GNU folks, in general, abhor man pages, and create info documents instead. +Unfortunately, the info document describing tar is licensed under the GFDL with +invariant cover texts, which violates the Debian Free Software Guidelines. As +a result, the info documentation for tar is not included in the Debian package. + +If you want to read the complete documentation for GNU tar, please refer to +the online version at . + +This man page was created for the Debian distribution. It does not describe +all of the functionality of tar, and it is often out of date. Patches to +improve the coverage and/or accuracy of this man page are appreciated, and +should be filed as wishlist severity bugs against the Debian tar package, +not submitted to the GNU tar maintainers. diff --git a/debian/tar.mime b/debian/tar.mime new file mode 100644 index 0000000..c203ff6 --- /dev/null +++ b/debian/tar.mime @@ -0,0 +1,2 @@ +application/x-tar; /bin/tar tvf -; print=/bin/tar tvf - | print text/plain:-; copiousoutput +application/x-gtar; /bin/tar tvzf -; print=/bin/tar tvzf - | print text/plain:-; copiousoutput diff --git a/src/create.c b/src/create.c index 413115c..61bf47a 100644 --- a/src/create.c +++ b/src/create.c @@ -744,7 +744,7 @@ write_header_name (struct tar_stat_info *st) return write_short_name (st); } else if (NAME_FIELD_SIZE - (archive_format == OLDGNU_FORMAT) - < strlen (st->file_name)) + <= strlen (st->file_name)) return write_long_name (st); else return write_short_name (st); @@ -1398,7 +1398,7 @@ dump_hard_link (struct tar_stat_info *st) block_ordinal = current_block_ordinal (); assign_string (&st->link_name, link_name); if (NAME_FIELD_SIZE - (archive_format == OLDGNU_FORMAT) - < strlen (link_name)) + <= strlen (link_name)) write_long_link (st); st->stat.st_size = 0; diff --git a/src/list.c b/src/list.c index b17f604..93de630 100644 --- a/src/list.c +++ b/src/list.c @@ -136,6 +136,14 @@ read_and (void (*do_something) (void)) if (!ignore_zeros_option) { + + /* + * According to POSIX tar specs, this is wrong, but on the web + * there are some tar specs that can trigger this, and some tar + * implementations create tars according to that spec. For now, + * let's not be pedantic about issuing the warning. + */ +#if 0 char buf[UINTMAX_STRSIZE_BOUND]; status = read_header (false); @@ -143,6 +151,7 @@ read_and (void (*do_something) (void)) break; WARN ((0, 0, _("A lone zero block at %s"), STRINGIFY_BIGINT (current_block_ordinal (), buf))); +#endif break; } status = prev_status; diff --git a/tests/incremental.at b/tests/incremental.at index bab0beb..4b1fcf3 100644 --- a/tests/incremental.at +++ b/tests/incremental.at @@ -39,12 +39,12 @@ ls -l structure/file >/dev/null # 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 +sleep 2 tar cf archive --listed=list structure tar cfv archive --listed=list structure echo separator -sleep 1 +sleep 2 echo y >structure/file tar cfv archive --listed=list structure ], -- 2.43.0