--- /dev/null
+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 <bdale@gag.com> Wed, 28 Jun 2006 23:30:23 -0400
--- /dev/null
+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...
--- /dev/null
+tar (1.27.1-3) UNRELEASED; urgency=low
+
+ * Set timestamp in generated manpage to latest changelog date
+ to make building the package reproducible.
+ * patch from Lunar adding --clamp-mtime option for reproducible builds,
+ closes: #790415
+
+ -- Bdale Garbee <bdale@gag.com> Sun, 23 Aug 2015 19:50:32 +0200
+
+tar (1.27.1-2) unstable; urgency=low
+
+ * patch from David Gilman adds watch file with signature verification,
+ closes: #742351
+ * patch from David Gilman fixes problem with multi-line descriptions,
+ closes: #593149
+
+ -- Bdale Garbee <bdale@gag.com> Sat, 22 Mar 2014 15:55:03 -0600
+
+tar (1.27.1-1) unstable; urgency=low
+
+ * new upstream version
+
+ -- Bdale Garbee <bdale@gag.com> Mon, 03 Feb 2014 18:05:53 -0700
+
+tar (1.27-4) unstable; urgency=low
+
+ * add ACL, XATTR, and SELinux support by augmenting build-deps so the
+ configure will find the right libraries, closes: #732071
+
+ -- Bdale Garbee <bdale@gag.com> Sat, 14 Dec 2013 10:05:08 -0700
+
+tar (1.27-3) unstable; urgency=low
+
+ * patch from Joey Hess to allow tar to replicate 1.26 output on behalf
+ of pristine-tar, closes: #728025
+ * honor DEB_BUILD_OPTIONS parallel=<n>, honor dpkg-buildflags in build
+ target in addition to configure target, closes: #727196
+ * lower mime priority to 1 so interactive packages using the default
+ priority of 5 win, closes: #727303
+
+ -- Bdale Garbee <bdale@gag.com> Sun, 03 Nov 2013 09:40:31 -0700
+
+tar (1.27-2) unstable; urgency=low
+
+ * claim support for mime type application/x-ustar too, and no longer
+ explicitly mention decompression, closes: #727159
+
+ -- Bdale Garbee <bdale@gag.com> Tue, 22 Oct 2013 20:39:24 -0600
+
+tar (1.27-1) unstable; urgency=low
+
+ * new upstream version
+ * prefix backup and restore scripts with tar- to avoid conflicts with
+ other packages like openafs-client, closes: #724064, #724240
+ * move "libexec" content in tar-scripts to /usr/lib/tar, closes: #724238
+
+ -- Bdale Garbee <bdale@gag.com> Tue, 15 Oct 2013 09:56:45 -0600
+
+tar (1.26+dfsg-10) unstable; urgency=low
+
+ * tar-scripts should be optional, not required
+
+ -- Bdale Garbee <bdale@gag.com> Sun, 22 Sep 2013 01:09:42 -0600
+
+tar (1.26+dfsg-9) unstable; urgency=low
+
+ * add a tar-scripts package containing the --enable-backup-scripts content,
+ which conflicts with files in at least the dump package, closes: #293671
+
+ -- Bdale Garbee <bdale@gag.com> Sat, 21 Sep 2013 09:44:48 -0600
+
+tar (1.26+dfsg-8) unstable; urgency=low
+
+ * cherry-pick upstream commit at Pino Toscano's suggestion to fix FTBFS
+ on hurd-i386, closes: #719863
+
+ -- Bdale Garbee <bdale@gag.com> Fri, 16 Aug 2013 11:37:40 +0200
+
+tar (1.26+dfsg-7) unstable; urgency=low
+
+ * cherry-pick upstream commit at Marc Schaeffer's suggestion to fix
+ --compare failures, closes: #614085
+
+ -- Bdale Garbee <bdale@gag.com> Thu, 15 Aug 2013 15:22:11 +0200
+
+tar (1.26+dfsg-6) unstable; urgency=low
+
+ * cherry-pick upstream commit at Paul Eggert's suggestion to address link
+ extraction issue, closes: #452365
+
+ -- Bdale Garbee <bdale@gag.com> Fri, 31 May 2013 12:12:35 -0600
+
+tar (1.26+dfsg-5) unstable; urgency=low
+
+ [ Wookey ]
+ * Fix included gnulib so we don't get FTBFS with eglibc-2.16,
+ closes: #693352, #701419
+
+ [ Bdale Garbee ]
+ * update mailcap entries to use %s, closes: #681302
+ * include the http://www.gnu.org/software/tar/utils/tarcat script for use
+ with multi-volume archives, closes: #492036
+
+ -- Bdale Garbee <bdale@gag.com> Mon, 01 Apr 2013 09:17:04 -0600
+
+tar (1.26+dfsg-0.1) unstable; urgency=low
+
+ * non-maintainer upload
+ * remove unused and non-DFSG compliant doc/*.texi and doc/*.info* files from
+ source, closes: #695803
+
+ -- David Prévot <taffit@debian.org> Mon, 31 Dec 2012 11:05:50 -0400
+
+tar (1.26-4) unstable; urgency=low
+
+ * mark "Mult-Arch: foreign" to ease crossgrading, closes: #649478
+ * hardened build flags patch from Moritz Huehlenhoff, closes: #653722
+
+ -- Bdale Garbee <bdale@gag.com> Fri, 30 Dec 2011 09:18:11 -0700
+
+tar (1.26-3) unstable; urgency=low
+
+ * only run listed03.at on Linux systems synce upstream says it's known to
+ fail on BSD, apparently including our kfreebsd variants, closes: #639178
+
+ -- Bdale Garbee <bdale@gag.com> Sat, 12 Nov 2011 11:49:38 -0700
+
+tar (1.26-2) unstable; urgency=low
+
+ * clean up various lintian warnings
+
+ -- Bdale Garbee <bdale@gag.com> Wed, 17 Aug 2011 14:47:33 -0700
+
+tar (1.26-1) unstable; urgency=low
+
+ * new upstream version
+ * add a check to the rules file to ensure test suite is not attempted while
+ building as root, closes: #596268
+
+ -- Bdale Garbee <bdale@gag.com> Wed, 17 Aug 2011 10:46:03 -0700
+
+tar (1.25-3) unstable; urgency=low
+
+ * cherry-pick some upstream commits that appear to address open bugs
+ * fix for --one-file-system and --listed-incremental together,
+ closes: #603371, #604394, #604698
+ * fix for FreeBSD symlink incompatibility with POSIX, closes: #602241
+
+ -- Bdale Garbee <bdale@gag.com> Mon, 06 Dec 2010 20:35:55 -0700
+
+tar (1.25-2) unstable; urgency=low
+
+ * accept a "hack" from Joey Hess to work around an unfortunate side effect
+ of removing the patch to src/create.c regarding links of 100 chars in
+ 1.23-4 that broke pristine-tar in some cases. The "fix" is to support
+ the old behavior if the environment variable TAR_LONGLINK_100 is set,
+ which pristine-tar knows about and will use when necessary but which
+ should never be used by anyone else! closes: #603231
+
+ -- Bdale Garbee <bdale@gag.com> Fri, 12 Nov 2010 02:31:25 -0700
+
+tar (1.25-1) unstable; urgency=low
+
+ * new upstream version, closes: #602184, #602209, #602413, #575298
+ * Add Vcs-Git, Vcs-Browser fields to debian/control using patch from
+ Simon McVittie's 1.24-1.1 NMU, closes: #602639, #602709
+ * stop patching src/list.c since it now does more harm than good,
+ and add a Breaks against old dpkg versions, closes: #522858
+
+ -- Bdale Garbee <bdale@gag.com> Wed, 10 Nov 2010 15:45:09 -0700
+
+tar (1.24-1) unstable; urgency=low
+
+ * new upstream version
+
+ -- Bdale Garbee <bdale@gag.com> Mon, 01 Nov 2010 17:26:56 -0600
+
+tar (1.23-4) unstable; urgency=low
+
+ * revert patch to src/create.c introduced in 2004 to fix a dpkg bug long
+ since resolved, closes: #598345
+
+ -- Bdale Garbee <bdale@gag.com> Wed, 29 Sep 2010 06:01:21 +0900
+
+tar (1.23-3) unstable; urgency=medium
+
+ * add xz-utils back to the Suggests list since it may not be 'required'
+ forever
+ * current debhelper includes trigger support, closes: #561598
+ * patch from upstream to fix ability of rmt to accept mixed file mode
+ representations, closes: #587702, #597672
+
+ -- Bdale Garbee <bdale@gag.com> Wed, 22 Sep 2010 00:33:16 -0600
+
+tar (1.23-2.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * src/extract.c: Apply upstream git commit b60e56fd which fixes a dead loop
+ on extracting existing symlinks with the -k option, closes: #577978,
+ #576876.
+
+ -- Michael Banck <mbanck@debian.org> Sun, 18 Jul 2010 17:14:48 +0200
+
+tar (1.23-2) unstable; urgency=low
+
+ * use xz when lzma is called for, and stop suggesting both lzma since it's
+ no longer used, and xz-utils since it's now priority required,
+ closes: #582706, #523494
+
+ -- Bdale Garbee <bdale@gag.com> Mon, 14 Jun 2010 11:05:57 -0600
+
+tar (1.23-1) unstable; urgency=low
+
+ * new upstream version, fixes security issue in rmt (CVE-2010-0624)
+ * add suggests for lzma and xz-utils, closes: #523499
+
+ -- Bdale Garbee <bdale@gag.com> Wed, 10 Mar 2010 09:51:37 -0700
+
+tar (1.22-2) unstable; urgency=low
+
+ * Add Carl Worth as an uploader.
+ * Fix to allow parallel build (-j2), closes: #535319
+ * Don't close file stream before EOF, closes: #525818
+ * Preserve hard links with --remove-files, closes: #188663
+ Thanks to Ted T'so for the idea and Sergey Poznyakoff for
+ cleaning up my original implementation.
+ * Respect DEB_BUILD_OPTIONS=nocheck to conform with Policy 3.8.2
+
+ -- Carl Worth <cworth@cworth.org> Tue, 04 Aug 2009 12:07:06 -0700
+
+tar (1.22-1.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Set SIGPIPE to default action, patch from upstream. (closes: #532570)
+
+ -- Bastian Blank <waldi@debian.org> Tue, 30 Jun 2009 22:23:48 +0200
+
+tar (1.22-1) unstable; urgency=low
+
+ * new upstream version
+ * version the Replaces entry for cpio, closes: #483355
+ * move config.* update to configure target, yields a smaller diff that
+ doesn't clash with git-buildpackage... already had autotools-dev build dep!
+ * script debian/tarman contributed by Marcus Watts now used to create tar.1
+ by processing usage text in source code! Partial fix for #473328.
+ closes: #515578, #429776, #411707,
+
+ -- Bdale Garbee <bdale@gag.com> Fri, 03 Apr 2009 01:33:52 -0600
+
+tar (1.20-1) unstable; urgency=low
+
+ * new upstream version
+
+ -- Bdale Garbee <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> Wed, 3 Mar 2004 13:22:49 -0700
+
+tar (1.13.93-1) unstable; urgency=low
+
+ * new upstream version
+
+ -- Bdale Garbee <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> Sat, 31 Jan 2004 01:11:04 -0700
+
+tar (1.13.92-1) unstable; urgency=low
+
+ * new upstream version, closes: #229827
+
+ -- Bdale Garbee <bdale@gag.com> 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 <schaefer@alphanet.ch> to fix symlink extraction
+ as empty files, closes: #149532
+
+ -- Bdale Garbee <bdale@gag.com> 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 <bdale@gag.com> 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 <moise@nauticom.net>
+
+ -- Bdale Garbee <bdale@gag.com> 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
+ <pzn@terra.com.br> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <torsten@debian.org> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> Mon, 2 Aug 1999 00:26:49 -0600
+
+tar (1.13-1) unstable; urgency=low
+
+ * new upstream source
+
+ -- Bdale Garbee <bdale@gag.com> 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 <bdale@gag.com> Sun, 1 Aug 1999 18:02:35 -0600
+
+tar (1.12-8) unstable; urgency=low
+
+ * update to handle changes in automake
+
+ -- Bdale Garbee <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> Fri, 5 Sep 1997 00:13:00 -0600
+
+tar (1.12-1) unstable; urgency=low
+
+ * New upstream version.
+
+ -- Bdale Garbee <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> 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 <bdale@gag.com> Sun, 17 Nov 1996 19:37:43 -0700
+
+Fri May 24 08:05:55 MDT 1996 Bdale Garbee <bdale@gag.com>
+
+ * 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 <bdale@gag.com>
+
+ * 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 <bdale@gag.com>
+
+ * 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 <bdale@gag.com>
+
+ * ELF build
+ * add libc5 dependency
+ * new maintainer
+
+Local variables:
+mode: debian-changelog
+End:
--- /dev/null
+Source: tar
+Section: utils
+Priority: required
+Maintainer: Bdale Garbee <bdale@gag.com>
+Uploaders: Carl Worth <cworth@cworth.org>
+Build-Depends: debhelper (>> 5), gettext, autoconf, autotools-dev, libacl1-dev, libattr1-dev, libselinux1-dev [linux-any]
+Standards-Version: 3.9.6
+Vcs-Git: git://git.gag.com/debian/tar
+Vcs-Browser: http://git.gag.com/?p=debian/tar
+
+Package: tar
+Architecture: any
+Multi-Arch: foreign
+Pre-Depends: ${shlibs:Depends}, ${misc:Depends}
+Essential: yes
+Conflicts: cpio (<= 2.4.2-38)
+Replaces: cpio (<< 2.4.2-39)
+Breaks: dpkg-dev (<< 1.14.26)
+Suggests: bzip2, ncompress, xz-utils, tar-scripts
+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.
+
+Package: tar-scripts
+Architecture: any
+Priority: optional
+Multi-Arch: foreign
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Conflicts: dump, openafs-client
+Description: optional scripts for GNU version of the tar archiving utility
+ This package provides the backup, restore, backup.sh, and dump-remind
+ scripts that are mentioned in the tar documentation.
--- /dev/null
+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 <eggert@twinsun.com>.
+
+This package is maintained for Debian by Bdale Garbee <bdale@gag.com>, and
+was built from the sources found at:
+
+ ftp://ftp.gnu.org/gnu/tar/
+
+More recently, I'm directly using the upstream source repository at
+
+ http://git.savannah.gnu.org/cgit/tar.git
+
+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 <bdale@gag.com>
+
+ 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.
--- /dev/null
+etc
+usr/share/man/man8
--- /dev/null
+AUTHORS
+ChangeLog
+ChangeLog.1
+NEWS
+THANKS
--- /dev/null
+[DEFAULT]
+upstream-branch = dfsg-orig
+debian-branch = dfsg-debian
--- /dev/null
+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
--- /dev/null
+From d9bea5154e28817f7c42e7fb7798df17eca483ff Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Bobbio?= <lunar@debian.org>
+Date: Thu, 4 Jun 2015 11:05:20 +0000
+Subject: [PATCH] Add --clamp-mtime option
+
+The new `--clamp-mtime` option will change the behavior of `--mtime` to
+only use the time specified if the file mtime is newer than the given time.
+The `--clamp-mtime` option can only be used together with `--mtime`.
+
+Typical use case is to make builds reproducible: to loose less
+information, it's better to keep the original date of an archive, except for
+files modified during the build process. In that case, using a reference (and
+thus reproducible) timestamps for the latter is good enough. See
+<https://wiki.debian.org/ReproducibleBuilds> for more information.
+
+In order to implement the option, we transform `set_mtime_option` from
+a bool to an enum with three values: use original file mtime, force all mtimes
+to be of the same value, and clamp mtimes (as explained above).
+
+To verify that `--clamp-mtime` is used together with `--mtime`, `mtime_option`
+is now initialized to a minimal value as done for `newer_mtime_option`. As
+the same macro can now be used for both options, NEWER_OPTION_INITIALIZED
+has been renamed to TIME_OPTION_INITIALIZED.
+---
+ src/common.h | 17 ++++++++++++-----
+ src/create.c | 15 ++++++++++++++-
+ src/list.c | 2 +-
+ src/tar.c | 23 ++++++++++++++++++++---
+ 4 files changed, 47 insertions(+), 10 deletions(-)
+
+diff --git a/src/common.h b/src/common.h
+index 42fd539..962ce1d 100644
+--- a/src/common.h
++++ b/src/common.h
+@@ -211,13 +211,20 @@ GLOBAL bool multi_volume_option;
+ do not get archived (also see after_date_option above). */
+ GLOBAL struct timespec newer_mtime_option;
+
+-/* If true, override actual mtime (see below) */
+-GLOBAL bool set_mtime_option;
+-/* Value to be put in mtime header field instead of the actual mtime */
++enum set_mtime_option_mode
++{
++ USE_FILE_MTIME,
++ FORCE_MTIME,
++ CLAMP_MTIME,
++};
++
++/* Override actual mtime if set to FORCE_MTIME or CLAMP_MTIME */
++GLOBAL enum set_mtime_option_mode set_mtime_option;
++/* Value to use when forcing or clamping the mtime header field. */
+ GLOBAL struct timespec mtime_option;
+
+-/* Return true if newer_mtime_option is initialized. */
+-#define NEWER_OPTION_INITIALIZED(opt) (0 <= (opt).tv_nsec)
++/* Return true if mtime_option or newer_mtime_option is initialized. */
++#define TIME_OPTION_INITIALIZED(opt) (0 <= (opt).tv_nsec)
+
+ /* Return true if the struct stat ST's M time is less than
+ newer_mtime_option. */
+diff --git a/src/create.c b/src/create.c
+index 4344a24..63585a1 100644
+--- a/src/create.c
++++ b/src/create.c
+@@ -822,7 +822,20 @@ start_header (struct tar_stat_info *st)
+ }
+
+ {
+- struct timespec mtime = set_mtime_option ? mtime_option : st->mtime;
++ struct timespec mtime;
++ switch (set_mtime_option)
++ {
++ case FORCE_MTIME:
++ mtime = mtime_option;
++ break;
++ case CLAMP_MTIME:
++ mtime = timespec_cmp (st->mtime, mtime_option) > 0 ? mtime_option : st->mtime;
++ break;
++ default:
++ mtime = st->mtime;
++ break;
++ }
++
+ if (archive_format == POSIX_FORMAT)
+ {
+ if (MAX_OCTAL_VAL (header->header.mtime) < mtime.tv_sec
+diff --git a/src/list.c b/src/list.c
+index 858aa73..ce2d304 100644
+--- a/src/list.c
++++ b/src/list.c
+@@ -166,7 +166,7 @@ read_and (void (*do_something) (void))
+ decode_header (current_header, ¤t_stat_info,
+ ¤t_format, 1);
+ if (! name_match (current_stat_info.file_name)
+- || (NEWER_OPTION_INITIALIZED (newer_mtime_option)
++ || (TIME_OPTION_INITIALIZED (newer_mtime_option)
+ /* FIXME: We get mtime now, and again later; this causes
+ duplicate diagnostics if header.mtime is bogus. */
+ && ((mtime.tv_sec
+diff --git a/src/tar.c b/src/tar.c
+index 4f5017d..cbaa9df 100644
+--- a/src/tar.c
++++ b/src/tar.c
+@@ -267,6 +267,7 @@ enum
+ CHECK_DEVICE_OPTION,
+ CHECKPOINT_OPTION,
+ CHECKPOINT_ACTION_OPTION,
++ CLAMP_MTIME_OPTION,
+ DELAY_DIRECTORY_RESTORE_OPTION,
+ HARD_DEREFERENCE_OPTION,
+ DELETE_OPTION,
+@@ -515,6 +516,8 @@ static struct argp_option options[] = {
+ N_("force NAME as group for added files"), GRID+1 },
+ {"mtime", MTIME_OPTION, N_("DATE-OR-FILE"), 0,
+ N_("set mtime for added files from DATE-OR-FILE"), GRID+1 },
++ {"clamp-mtime", CLAMP_MTIME_OPTION, 0, 0,
++ N_("only set time when the file is more recent than what was given with --mtime"), GRID+1 },
+ {"mode", MODE_OPTION, N_("CHANGES"), 0,
+ N_("force (symbolic) mode CHANGES for added files"), GRID+1 },
+ {"atime-preserve", ATIME_PRESERVE_OPTION,
+@@ -1355,6 +1358,10 @@ parse_opt (int key, char *arg, struct argp_state *state)
+ set_subcommand_option (CREATE_SUBCOMMAND);
+ break;
+
++ case CLAMP_MTIME_OPTION:
++ set_mtime_option = CLAMP_MTIME;
++ break;
++
+ case 'C':
+ name_add_dir (arg);
+ break;
+@@ -1492,7 +1499,8 @@ parse_opt (int key, char *arg, struct argp_state *state)
+
+ case MTIME_OPTION:
+ get_date_or_file (args, "--mtime", arg, &mtime_option);
+- set_mtime_option = true;
++ if (set_mtime_option == USE_FILE_MTIME)
++ set_mtime_option = FORCE_MTIME;
+ break;
+
+ case 'n':
+@@ -1508,7 +1516,7 @@ parse_opt (int key, char *arg, struct argp_state *state)
+ /* Fall through. */
+
+ case NEWER_MTIME_OPTION:
+- if (NEWER_OPTION_INITIALIZED (newer_mtime_option))
++ if (TIME_OPTION_INITIALIZED (newer_mtime_option))
+ USAGE_ERROR ((0, 0, _("More than one threshold date")));
+ get_date_or_file (args,
+ key == NEWER_MTIME_OPTION ? "--newer-mtime"
+@@ -2249,6 +2257,8 @@ decode_options (int argc, char **argv)
+ excluded = new_exclude ();
+ newer_mtime_option.tv_sec = TYPE_MINIMUM (time_t);
+ newer_mtime_option.tv_nsec = -1;
++ mtime_option.tv_sec = TYPE_MINIMUM (time_t);
++ mtime_option.tv_nsec = -1;
+ recursion_option = FNM_LEADING_DIR;
+ unquote_option = true;
+ tar_sparse_major = 1;
+@@ -2408,7 +2418,7 @@ decode_options (int argc, char **argv)
+ _("Multiple archive files require '-M' option")));
+
+ if (listed_incremental_option
+- && NEWER_OPTION_INITIALIZED (newer_mtime_option))
++ && TIME_OPTION_INITIALIZED (newer_mtime_option))
+ USAGE_ERROR ((0, 0,
+ _("Cannot combine --listed-incremental with --newer")));
+ if (incremental_level != -1 && !listed_incremental_option)
+@@ -2461,6 +2471,13 @@ decode_options (int argc, char **argv)
+ USAGE_ERROR ((0, 0, _("Cannot concatenate compressed archives")));
+ }
+
++ if (set_mtime_option == CLAMP_MTIME)
++ {
++ if (!TIME_OPTION_INITIALIZED (mtime_option))
++ USAGE_ERROR ((0, 0,
++ _("--clamp-mtime needs a date specified using --mtime")));
++ }
++
+ /* It is no harm to use --pax-option on non-pax archives in archive
+ reading mode. It may even be useful, since it allows to override
+ file attributes from tar headers. Therefore I allow such usage.
+--
+2.1.4
+
--- /dev/null
+diff --git a/tests/listed03.at b/tests/listed03.at
+index f3feda7..d595b99 100644
+--- a/tests/listed03.at
++++ b/tests/listed03.at
+@@ -24,6 +24,7 @@ AT_KEYWORDS([listed incremental listed03])
+
+ AT_TAR_CHECK([
+ AT_UNPRIVILEGED_PREREQ
++test `uname` = "Linux" || AT_SKIP_TEST
+
+ mkdir dir
+ mkdir dir/sub
--- /dev/null
+diff --git a/src/common.h b/src/common.h
+index 42fd539..fe032ec 100644
+--- a/src/common.h
++++ b/src/common.h
+@@ -906,4 +906,7 @@ void finish_deferred_unlinks (void);
+ /* Module exit.c */
+ extern void (*fatal_exit_hook) (void);
+
++GLOBAL int debian_longlink_hack;
++GLOBAL int pristine_tar_compat;
++
+ _GL_INLINE_HEADER_END
+diff --git a/src/create.c b/src/create.c
+index 4344a24..de10cae 100644
+--- a/src/create.c
++++ b/src/create.c
+@@ -27,6 +27,9 @@
+ #include "common.h"
+ #include <hash.h>
+
++extern int debian_longlink_hack;
++extern int pristine_tar_compat;
++
+ /* Error number to use when an impostor is discovered.
+ Pretend the impostor isn't there. */
+ enum { IMPOSTOR_ERRNO = ENOENT };
+@@ -534,6 +537,11 @@ write_short_name (struct tar_stat_info *st)
+ return header;
+ }
+
++#define FILL(field,byte) do { \
++ memset(field, byte, sizeof(field)-1); \
++ (field)[sizeof(field)-1] = 0; \
++} while (0)
++
+ /* Write a GNUTYPE_LONGLINK or GNUTYPE_LONGNAME block. */
+ static void
+ write_gnu_long_link (struct tar_stat_info *st, const char *p, char type)
+@@ -544,6 +552,11 @@ write_gnu_long_link (struct tar_stat_info *st, const char *p, char type)
+ char *tmpname;
+
+ header = start_private_header ("././@LongLink", size, 0);
++ if (pristine_tar_compat) {
++ FILL (header->header.mtime, '0');
++ FILL (header->header.mode, '0');
++ }
++
+ uid_to_uname (0, &tmpname);
+ UNAME_TO_CHARS (tmpname, header->header.uname);
+ free (tmpname);
+@@ -724,7 +737,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) + debian_longlink_hack)
+ return write_long_name (st);
+ else
+ return write_short_name (st);
+@@ -1476,7 +1489,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) + debian_longlink_hack)
+ write_long_link (st);
+
+ st->stat.st_size = 0;
+diff --git a/src/tar.c b/src/tar.c
+index 4f5017d..b72e25b 100644
+--- a/src/tar.c
++++ b/src/tar.c
+@@ -1246,6 +1246,26 @@ expand_pax_option (struct tar_args *targs, const char *arg)
+ return res;
+ }
+
++/* Debian specific environment variable used by pristine-tar to enable use of
++ * longlinks for filenames exactly 100 bytes long. */
++void debian_longlink_hack_init (void) {
++ char *s=getenv ("TAR_LONGLINK_100");
++ if (s && strcmp(s, "1") == 0)
++ debian_longlink_hack=1;
++ else
++ debian_longlink_hack=0;
++}
++
++/* pristine-tar sets this environment variable to force fields in longlinks
++ * to be zeroed as was the case in tar 1.26. */
++void pristine_tar_compat_init (void) {
++ char *s=getenv ("PRISTINE_TAR_COMPAT");
++ if (s && strcmp(s, "1") == 0)
++ pristine_tar_compat=1;
++ else
++ pristine_tar_compat=0;
++}
++
+ \f
+ static uintmax_t
+ parse_owner_group (char *arg, uintmax_t field_max, char const **name_option)
+@@ -2626,6 +2646,9 @@ main (int argc, char **argv)
+ filename_terminator = '\n';
+ set_quoting_style (0, DEFAULT_QUOTING_STYLE);
+
++ debian_longlink_hack_init ();
++ pristine_tar_compat_init ();
++
+ /* Make sure we have first three descriptors available */
+ stdopen ();
+
--- /dev/null
+pristine-tar.diff
+listed03-linux-only
+add-clamp-mtime.diff
--- /dev/null
+#!/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#
--- /dev/null
+#!/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#
--- /dev/null
+.\" 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 .
--- /dev/null
+#!/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
--- /dev/null
+#!/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
+
+CFLAGS = `dpkg-buildflags --get CFLAGS`
+CFLAGS += -Wall
+LDFLAGS += `dpkg-buildflags --get LDFLAGS`
+CPPFLAGS = `dpkg-buildflags --get CPPFLAGS`
+
+export BUILD_DATE = $(shell dpkg-parsechangelog | sed -n -e 's/^Date: //p')
+
+ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+ NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+ MAKEFLAGS += -j$(NUMJOBS)
+endif
+
+configure: configure-stamp
+configure-stamp:
+ dh_testdir
+ cp -f /usr/share/misc/config.sub build-aux/config.sub
+ cp -f /usr/share/misc/config.guess build-aux/config.guess
+ RSH="/usr/bin/rsh" CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure \
+ --prefix=/usr \
+ --libexecdir=/usr/lib/tar \
+ --enable-backup-scripts \
+ --with-lzma=xz \
+ $(CONFARGS)
+ touch configure-stamp
+
+build: build-arch build-indep
+build-arch: build-stamp
+build-indep: build-stamp
+build-stamp: configure-stamp
+ dh_testdir
+ RSH="/usr/bin/rsh" CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" \
+ LDFLAGS="$(LDFLAGS)" $(MAKE)
+
+ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
+ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
+ @runas=`whoami` ; \
+ if test $$runas = "root" ; \
+ then \
+ echo "Sorry, but the test suite is not designed to be run as root."; \
+ exit 1 ;\
+ fi
+ $(MAKE) check
+endif
+endif
+
+ perl debian/tarman > debian/tar.1
+ touch build-stamp
+
+clean:
+ dh_testdir
+ dh_testroot
+ rm -f build-stamp configure-stamp debian/tar.1
+ [ ! -f Makefile ] || $(MAKE) distclean
+ 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/lib/tar
+ install -m 755 debian/rmt.sh debian/tar/etc/rmt
+ mv debian/tar/usr/lib/tar/rmt debian/tar/usr/sbin/rmt-tar
+ install -m 755 debian/tarcat debian/tar/usr/sbin/tarcat
+
+ mv debian/tar/usr/sbin/backup debian/tar-scripts/usr/sbin/tar-backup
+ mv debian/tar/usr/sbin/restore debian/tar-scripts/usr/sbin/tar-restore
+ mv debian/tar/usr/lib/tar/backup.sh debian/tar-scripts/usr/lib/tar/
+ mv debian/tar/usr/lib/tar/dump-remind debian/tar-scripts/usr/lib/tar/
+
+# 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 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
+ dh_md5sums
+ dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install configure
--- /dev/null
+3.0 (quilt)
--- /dev/null
+usr/lib/tar
+usr/sbin
--- /dev/null
+tar-scripts: script-with-language-extension usr/sbin/backup.sh
--- /dev/null
+application/x-tar; /bin/tar tvf '%s'; print=/bin/tar tvf - | print text/plain:-; copiousoutput ; priority=1
+application/x-gtar; /bin/tar tvf '%s'; print=/bin/tar tvf - | print text/plain:-; copiousoutput ; priority=1
+application/x-ustar; /bin/tar tvf '%s'; print=/bin/tar tvf - | print text/plain:-; copiousoutput ; priority=1
--- /dev/null
+#! /bin/sh
+# Usage: tarcat volume1 volume2 ...
+# concatenates a GNU tar multi-volume archive into a single tar archive.
+# Author: Bruno Haible <bruno@clisp.org>, Sergey Poznyakoff <gray@gnu.org.ua>
+
+# dump_type FILE [N]
+# Print type character from block N (default 0) of tar archive FILE
+dump_type() {
+ dd if="$1" skip=${2:-0} bs=512 count=1 2>/dev/null |
+ tr '\0' ' ' |
+ cut -c157
+}
+
+case `dump_type "$1"` in
+ [gx]) PAX=1;;
+esac
+
+cat "$1"
+shift
+for f
+do
+ SKIP=0
+ T=`dump_type "$f"`
+ if [ -n "$PAX" ]; then
+ if [ "$T" = "g" ]; then
+ # Global extended header.... 2 blocks
+ # Extended header........... 2 blocks
+ # Ustar header.............. 1 block
+ # FIXME: This calculation is will fail for very long file names.
+ SKIP=5
+ fi
+ else
+ if [ "$T" = "V" ]; then
+ T=`dump_type "$f" 1`
+ fi
+ if [ "$T" = "M" ]; then
+ SKIP=$(($SKIP + 1))
+ fi
+ fi
+ dd skip=$SKIP if="$f"
+done
+
--- /dev/null
+.\" Hey, EMACS: -*- nroff -*-
+.\" (C) Copyright 2013 Bdale Garbee <bdale@gag.com>
+.\"
+.TH TARCAT 1
+.SH NAME
+tarcat \- concatenates the pieces of a GNU tar multi-volume archive
+.SH SYNOPSIS
+.B tarcat
+files ...
+.SH DESCRIPTION
+The
+.B tarcat
+command simply concatenates the files from a GNU tar multi-volume
+archive into a single tar archive.
+.SH SEE ALSO
+.BR tar (1).
+.SH AUTHORS
+The
+.B tarcat
+script was written by
+Bruno Haible <bruno@clisp.org> and
+Sergey Poznyakoff <gray@gnu.org.ua>.
+.PP
+This document was written by Bdale Garbee <bdale@gag.com> for Debian.
+
--- /dev/null
+#
+# tarman - make tar man page from src/tar.c
+# some text cribbed from debian tar man page
+#
+
+use strict;
+use POSIX qw(strftime);
+
+my $t = $ENV{'BUILD_DATE'} // strftime("%a, %d %b %Y %H:%M:%S %z", localtime(time));
+my $datestr = substr($t,8,3)." ".substr($t,5,2).", ".substr($t,12,4);
+
+@ARGV=qw(src/tar.c);
+my $mode;
+my @operations;
+my $lastoperation;
+my @options;
+my @formats;
+my @short;
+my $examples;
+my $saw_format;
+my @env_vars;
+while (<>) {
+ my $nflag = 0;
+ chomp;
+# print "$mode: $_\n";
+ if (/getenv.*"/) {
+ next if defined($mode);
+ my @c1 = split('"');
+ if ($#c1 > 0) {
+ push @env_vars, $c1[1];
+ }
+ }
+ if (/Main operation mode:/) {
+ $mode = 1;
+ next;
+ }
+ if (/Operation modifiers:/) {
+ $mode = 2;
+ next;
+ }
+ if (/Examples:/) {
+ $mode = 3;
+ next;
+ }
+ if (/define GRID/) {
+ $mode = 2;
+ }
+ if (/undef GRID/) {
+ undef $lastoperation;
+ undef $mode;
+ next;
+ }
+ if ($mode == 1 || $mode == 2) {
+ if (/{"/) { # }
+ my @j = split(',');
+ my @c1 = split('"', $j[0]);
+ if (/OPTION_ALIAS/) {
+ next unless defined($lastoperation);
+ push @{$$lastoperation{'alias'} }, $c1[1];
+ next;
+ }
+ my %newhash = ();
+ $lastoperation = \%newhash;
+ my $name = $c1[1];
+ if ($name =~ /^ /) {
+ $name =~ s/^ */format=/;
+ push @formats, $lastoperation;
+ } elsif ($mode == 1) {
+ push @operations, $lastoperation;
+ } else {
+ push @options, $lastoperation;
+ }
+ $newhash{'name'} = $name;
+ if ($mode == 2 && $name eq 'format') {
+ $saw_format = $lastoperation;
+ }
+ my @c2 = split("'", $j[1]);
+ if ($#c2 > 0) {
+ $newhash{'short'} = $c2[1];
+ push @short, $c2[1] if ($mode == 1);
+ }
+ if ($j[2] =~ /N_/) {
+ $nflag = 1;
+ }
+ }
+ if (/N_/) {
+ next unless defined($lastoperation);
+ my $nrest = $_;
+ $nrest =~ s/.*N_//;
+ my @c3 = split('"', $nrest);
+ if ($#c3 > 0) {
+ if ($nflag) {
+ $$lastoperation{'operand'} .= $c3[1];
+ } else {
+ $$lastoperation{'description'} .= $c3[1];
+ }
+ }
+ if (!$nflag && !/\}/) {
+ while (<>) {
+ my @extended_desc = split('"', $_);
+ $$lastoperation{'description'} .= $extended_desc[1];
+ if (/\}/) {
+ last;
+ }
+ }
+ }
+ }
+ }
+ if ($mode == 3 ) {
+ my $j = $_;
+ $j =~ s/\\n.*//;
+ my ($c1, $c2) = split('#', $j, 2);
+ $c1 =~ s/ *$//;
+ $c1 =~ s/^ *//;
+$c1 =~ s/-/\\-/g;
+ $c2 =~ s/^ *//;
+$examples .= <<".";
+$c2
+.Bd -literal -offset indent -compact
+$c1
+.Ed
+.
+ # (
+ if (/"\)/) {
+ undef $mode;
+ }
+ }
+}
+
+# for my $q ( @operations) {
+# print "\nshort=".$$q{'short'}."\n";
+# print "name=".$$q{'name'}."\n";
+# print "desc=".$$q{'description'}."\n";
+# if (defined($$q{'alias'})) {
+# print "alias=".join(',',@{ $$q{'alias'}})."\n";
+# }
+# }
+
+sub long2nroff {
+ my $f = shift;
+ if ($f !~ /^-/) {
+ $f = "Fl -$f";
+ }
+ $f =~ s/-/\\-/g;
+ return $f;
+}
+
+sub format_options
+{
+ my $h = shift;
+ my $r;
+ for my $q ( @$h ) {
+ $r .= ".It";
+ my @functions;
+ push @functions, " Fl ".$$q{'short'} if defined($$q{'short'});
+ push @functions, " ".long2nroff($$q{'name'});
+ push @functions, join(' ', '', map {long2nroff $_} @{ $$q{'alias'} })
+ if defined($$q{'alias'});
+ $r .= join(' ,', @functions);
+ if (defined($$q{'operand'})) {
+ if ($#functions > 0) {
+ $r .= " ";
+ } else {
+ $r .= " Ns \\= Ns ";
+ }
+ $r .= "Ar ".$$q{'operand'};
+ }
+ $r .= "\n".$$q{'description'}."\n";
+ $r .= $$q{'extra'};
+ }
+ return $r;
+}
+
+sub optionkeyword
+{
+ my $h = shift;
+ my $k = $$h{'short'};
+ $k = $$h{'name'} if !defined($k);
+ my $l = $k;
+ if ($l =~ s/^no-//) {
+ $l .= "-no";
+ }
+ return ($l,$k);
+}
+
+sub optioncmp
+{
+ my ($x1, $x2) = optionkeyword($a);
+ my ($y1, $y2) = optionkeyword($b);
+ my $r = lc($x1) cmp lc($y1);
+ return $r if $r;
+ $r = $y1 cmp $x1;
+ return $r if $r;
+ return $x2 cmp $y2;
+}
+
+@operations = sort optioncmp @operations;
+@operations = sort optioncmp @operations;
+@options = sort optioncmp @options;
+@formats = sort optioncmp @formats;
+
+if ($#formats >= 0 && !$saw_format) {
+ print STDERR "FIXME: saw --format=X but no root --format!\n";
+ exit(1);
+}
+
+my $function_letters;
+my $short_letters = join('', sort @short);
+my $option_letters;
+my $format_letters;
+my $command_string = <<".";
+.Nm tar
+.
+$command_string .= ".Oo Fl Oc";
+my $env_variables;
+my %env_description = (
+'SIMPLE_BACKUP_SUFFIX' => <<".",
+Backup prefix to use when extracting, if
+.Fl \\-suffix
+is not specified.
+The backup suffix defaults to `~' if neither is specified.
+.
+'TAPE' => <<".",
+Device or file to use for the archive if
+.Fl \\-file
+is not specified.
+If this environment variable is unset, use stdin or stdout instead.
+.
+'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.
+.
+);
+my $sep = "";
+for my $q ( @operations) {
+ $command_string .= " Cm";
+ $command_string .= $sep;
+ $command_string .= " ".$$q{'short'} if defined($$q{'short'});
+ $command_string .= " ".long2nroff($$q{'name'});
+ if (defined($$q{'alias'})) {
+ my $t = join(' ', '', map{long2nroff $_} @{ $$q{'alias'} });
+ $t =~ s/ Fl / /g;
+ $command_string .= $t;
+ }
+ $sep = " \\||\\|";
+}
+$function_letters = ".Bl -tag -width flag\n";
+$function_letters .= format_options(\@operations);
+$function_letters .= ".El";
+if ($#formats >= 0) {
+ $format_letters = ".Bl -tag -width flag\n";
+ $format_letters .= format_options(\@formats);
+ $format_letters .= ".El\n";
+ $$saw_format{'extra'} = $format_letters;
+}
+### Ar Cm Ic Li Nm Op Pa Va
+$option_letters = ".Bl -tag -width flag\n";
+$option_letters .= format_options(\@options);
+$option_letters .= ".El";
+$env_variables .= ".Bl -tag -width Ds\n";
+for my $q ( @env_vars) {
+ $env_variables .= ".It Ev $q\n";
+ $env_variables .= $env_description{$q};
+}
+$env_variables .= ".El";
+
+$examples =~ s/\n$//;
+$function_letters =~ s/\n$//;
+$option_letters =~ s/\n$//;
+$env_variables =~ s/\n$//;
+print <<".";
+.\\" generated by script on $t
+.Dd $datestr
+.Dt TAR 1
+.Sh NAME
+.Nm tar
+.Nd The GNU version of the tar archiving utility
+.Sh SYNOPSIS
+$command_string
+.Op Ar options
+.Op Ar pathname ...
+.Sh DESCRIPTION
+.Nm Tar
+stores and extracts files from a tape or disk archive.
+.Pp
+The first argument to
+tar
+should be a function; either one of the letters
+.Cm $short_letters ,
+or one of the long function names.
+A function letter need not be prefixed with ``\\-'', and may be combined
+with other single-letter options.
+A long function name must be prefixed with
+.Cm \\\\-\\\\- .
+Some options take a parameter; with the single-letter form
+these must be given as separate arguments.
+With the long form, they may be given by appending
+.Cm = Ns Ar value
+to the option.
+.Sh FUNCTION LETTERS
+Main operation mode:
+$function_letters
+.Sh OTHER OPTIONS
+Operation modifiers:
+$option_letters
+.Sh ENVIRONMENT
+The behavior of tar is controlled by the following environment variables,
+among others:
+$env_variables
+.Sh EXAMPLES
+$examples
+.Sh SEE ALSO
+.\\" libarchive
+.Xr tar 5 ,
+.\\" man-pages
+.Xr symlink 7 ,
+.Xr rmt 8
+.Sh HISTORY
+The
+.Nm tar
+command appeared in
+.At v7 .
+.Sh BUGS
+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 makes it impossible to include any text
+from that document in this man page.
+Most of the text in this document was automatically extracted from the usage
+text in the source.
+It may not completely describe all features of the program.
+.
+__END__
--- /dev/null
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: SKS 1.1.4
+Comment: Hostname: keyserver.sincer.us
+
+mQGiBDxhQHkRBACyhJxCLQvLs70IUZSlYVKAm+u1Oa4RyUo5/ctCcMm2KOcjui3zxs+yUwlg
+lo1n/de9NNJY98PJNLHniMVi5sPba8OKwYx9bilwuAWLgTsgfpX8UuuYTANQmTybmrxjzxrG
+qN7eyjBT3utgbK3ACKDo/JUCgZMkdFu2c2i7186sDwCgo9pQygxOOWEWBm70Rymdfvkon6EE
+AKY5h9nL1qYw46vM1+QY+vhyX2lHTD/E9QyFQv4LdriY3CerLAZ07yk5p8I6T31d7HEUt9DZ
+cl0ZD99Y9IH84wWvms1xtnCuoLlP4ntwFQ5ZUZtMY0AIVRtFbgkTDDLZsdanscqMu/LqnO2/
+QWjCQhaO/tcaIdPVgBIbCr28fuBJA/9KA5vbQBd4WnNFLVJsr47irnJBYdR+OqPQAUFUcQPO
+1metR76UZ7+7LwtOldAjPN3RDJtRB8/JooHDNq+VCEzjs02JaBpQ+BCOzzqELnkoBPl26yHR
+56r4WbC5+FH/QxEaicjVGxIF/Z9crzG/XUMXwieTNcM6HoGCnMboGqCM4bQgU2VyZ2V5IFBv
+em55YWtvZmYgPGdyYXlAZ251Lm9yZz6IXgQTEQIAHgUCQ/CVtQIbAwYLCQgHAwIDFQIDAxYC
+AQIeAQIXgAAKCRA2ArB/VdDHMkVKAJ41glKzudqU5UgxMkHdSLo28ov+cACeLUrGgtmv/6Mb
+mICeG64v6KOrnga0I1NlcmdleSBQb3pueWFrb2ZmIDxncmF5QGdudS5vcmcudWE+iF4EExEC
+AB4FAkPwlXcCGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQNgKwf1XQxzLm6gCfbavgu1bR
+DHsaUQKvY83CqOX2RcsAnirapY4we57AiCr2TTldQ+H5+xw5tDJTZXJnZXkgUG96bnlha29m
+ZiAoR3JheSkgPGdyYXlAbWlyZGRpbi5mYXJsZXAubmV0PohGBBARAgAGBQJClLMcAAoJEIvY
+Lm8wuUtcoE4AnRDfvCNyheky5myvvIuPOnRoOLY3AKCfBIzNZgUabR7lPTwrkKud+DKQ2IhG
+BBIRAgAGBQI/W2BoAAoJEKMJ1nkZoiVHcawAn0gd/9GX/b55HTeZ0B74B5JNoF9qAJ9Swtzv
+/Cn59vtejqUpB7O8nMYGq4hXBBMRAgAXBQI8YUB5BQsHCgMEAxUDAgMWAgECF4AACgkQNgKw
+f1XQxzIN4gCglbS1XsDcwg347otcE1ps+9yHFGkAnA4yuO+9QOhv8+ql+Ww7itci/2HkiF8E
+ExECABcFAjxhQHkFCwcKAwQDFQMCAxYCAQIXgAASCRA2ArB/VdDHMgdlR1BHAAEBDeIAoJW0
+tV7A3MIN+O6LXBNabPvchxRpAJwOMrjvvUDob/PqpflsO4rXIv9h5IkBIgQQAQIADAUCQj6y
+7AUDABJ1AAAKCRCXELibyletfFW7CACzqk4TKwf2Tes9n/b3WkuFN0on4fvhOh1pT4eM9t20
+3f//S48RrAVB0M8o705zQOYC5OocOuA89BjE6jXeF3wW1zcSgLxYy5BL1LoCyeHv/vpX8+Bf
+i1g61iEM0dN99orknymnIcsA8zsLTK3EJ3TQ6jCzOO/xKSArS+OkG9EUEoBEK6ow+Lx/H0wL
+2isxjpfzn4EyRhx8Tb/tVb0HvipSRXzEl68mEw6EHbmsYnS00iWNcWSwAsRZYXr78VngaUOA
+boULu8c3RdOk+eSG5WcNfK558r2TPqB9jeCLKyo9EVfVo3LViam+DlCOy1LpCZ3EqwyIEXUF
+q2LHr80Qn7EBiQEiBBABAgAMBQJCUD7MBQMAEnUAAAoJEJcQuJvKV6185aAH/1tkjj5pLiwi
+CDUEZ9BzM3pCp3NHi61Ei5Skb89iwBzORlG3JAsvP/BO/XY6bdDLuCH3XHtvp525gr/k8LDq
+acnO4/vSEM7+/qpU2WERVkAjtefBsPyxSw/mtRBaWEASZX0VoNsZLOcnjg+ov2egMTJVN3lr
+1pyqhivAeYjObF15ZfqcpiZXmIc+LwOyAl1NIWA6ZGPFQL/y0Ff3XCvl+GJrMR9rknsoE6Xr
+BcZocJkTFZ1mwbdntg0pwvo4CJtF2WOKxSdzso6sZ5QC4pVj8Ud1tgJTjdlMhEKxtkg9i/NT
+c1uOfL86DcSTML3CNUP2JHlX6vGN8RQ0P0z+nioEkYyJASIEEAECAAwFAkJiDJYFAwASdQAA
+CgkQlxC4m8pXrXzdgQf/S5FoKHVmyd/hzlq1Hbz9Re3ITJMTs6rQcyRfFV8UCb561McPJVQQ
+NTkqd0YhhZAc8MGq84UlaVFxOF7GAreK4PoKgUsfzbWrcMWOCyZIql4QgHV6sOncdgJjy+5r
+Or8JY15F1vidPFMUxwgSo/GpCfyUTKDANlu7UnI0vRtn+8q+MtQkQW675rNiZpBGTlbJdLjk
+MDaCDYxlISGS9dUvlGhrayYk8CyjXqOdOWM87Fy6rkVYdRsZv4q6UaXuyuMBQA7W4RC1szBN
+Nb5YTgQz/yVlcEfEUgdRiw/Ld7Jm3EA7wO1jptcM0gm7ZLK9fPB04OqQ1gp+MkbScgwGtZHj
+MYkBIgQQAQIADAUCQmK1GAUDABJ1AAAKCRCXELibyletfN5NCACg7SyHUFOjiI41Q+V6heTL
+FU3gnO7uBYROfBwGDvZzum9MMhaCvYh5QJM6KL+SjRlibQhQYFo2i0r9UOs3i4iGpQ/dW7Vj
+BWHL7otrFi/8NviVPIlnBWnv8KqdNrLoV74cs0/esg3TXZnbJerymFLXKtBeoRNUZaFpIesU
+21GTUzIHyP4C8Jg6mZlRM80tA4oTVWOogSC3nmLoiAwx+xx6v/QBhQrKKNb7WAmqDOcO8h3T
+mPI1QTntRi+ljhX4h0Gq1leceYa+88kq32ieGtHB/R+YisE5NUdCB32L381Guybo+n5ZDCH2
+tL3gZ4XGxmfKGErBL/4LdYuG+ZawXk4MiQEiBBABAgAMBQJCdUutBQMAEnUAAAoJEJcQuJvK
+V618+MkIAILO+4vPDJARUOqgAfQlHDSpzpcAyAIBlByTMhI73gzIpiQbxKagZWIAqa8FowcH
+suojJ8sfYr8gdkpJ1YdiB0RcEKIfL9wQhn9LGdfwo/bZhgowE26L1YqpD8Kjy8FyNPbr/tha
+XV3YQVYAVQ2qZD1F0fEYLrf+mxY53JhKcsDXVObWrzLoQJVPGcG7IZ+r8vht1MZb31Vt2EPw
+C6t9OT3io3R2nYxtnhRfCh9HzC3Pu/aPVuIAPqNPzc6TZNTvONB6yLF0w12y4OMHUrzCbHBa
+thDA+Lnnb3OWZLpz9sNv/cISzxrx8Hr60cD78o3mb6B3yyen2BVX8Gy2JfvokT+JASIEEAEC
+AAwFAkKHGEAFAwASdQAACgkQlxC4m8pXrXw/Nwf8DYchCfD6q0F3I8Xao99vCqzRBEM6wulj
+jF61qdU+ryBDE4OqxZ3awQ8oFcpbCq+eaN0ToLtFLIKggg0E1aFSZay7JCUAxNx0VShHVvQr
+qReC8DSmVjIsAJ5q8ho4o3MZL19bRzeDtSLiWVUMo3tHXJolaBdKIBtyg0N/tNgM4LTPIRfF
+uVxWELPxce8ApBM/cSH3M8UgThQNcjkdcmTxNmyv5xdx9+qTM6lt03/ft0iSzLBPJ2BvEd6J
+N55+gUS5UGTCW4/euqg4fBKep1NPp4OlLnjfG2KetCGo+HBgNS3z+ctR7gMng1Odvaf2+qWD
+vbzAdudGpYrS+L0CLhS11okBIgQQAQIADAUCQom/SgUDABJ1AAAKCRCXELibyletfLF0B/9A
+wsObANiamJG6b5adwlnoSAABokQ1+YhLemP3yoeoz6TCjXEDjeKVr2oZF/9IymovMfO74xUr
+609PCPHsSx+8kH4/S1PFJpgJ7WpKzRSvAk7nhNLU534V0K8fQ0S/rd7y9XrnFyP+uQatx4Li
+u+lm3groaC8VwWhnWavnXaGcme0rVkUfZDhwTtVyAR6hzuVBLrHr6iQzTjr778nVi0FOV18m
+0FOx1xeZhHbLLNhv0ZQ6rVikAV3fPV8/uNl1Yk/MxrddYSI5NBiITE93T2LEGIWaObcRVItz
+3k7rkhpzPfJ3l7ZqKKt8sxwTv4/ZigxjKDTTnt7hXxrkZea7FPViiQEiBBABAgAMBQJCm3bH
+BQMAEnUAAAoJEJcQuJvKV618zGUIAMOAYUFUH+YlM9Yh/CvEsXtH7cdXaLsivd2K3tZrUxaM
+Ozl+EXA+AMQWz5475G7FhV1a8RRQaDHXm4sueVJaVrdbyPuC/HsGj25R4+7fSaFwBOAT6gfk
+VzATbz2eJe6Qq51/VMlpCQQ9qWKUsVV3aYZvVXN6GL0PXbarkIv9Q7dCxEobRP6L1TGuc1G8
+xnOPhTJlxd/wgPoF/8KdIOiXVVPKvGd2uNrNjN46UMWBrx9yWJMsV9gt8IHMugAJ/1GHiQhp
+s5Qy8RYPof23C5HOgXttV8vYfGNyV6Sten4ubVAPFdfuv+UCPa2SA/xN/ADxyBCPWdVqCfAY
+x2q4oDpPw1mJASIEEAECAAwFAkKcx/oFAwASdQAACgkQlxC4m8pXrXydiQf/S5yJQwEIRVg7
+SRRKub+//wC8LwrFE1Qeb15/NJOrjHqslWPdCeuWccukKFLaokJy/WBd9UyK+k9MTxwnVH7j
+IwoR6RIGPiS23CEDoSgCfxDDGQCQh5tuY2xwSaLRFhcezIGAbJYDVCjfw7guPVY1IZnW25Pe
+/NY+su9I1Hq0M+1zRrmzMB99wh9dwqFLIVq4CpYsAUdwlFgZOuwnTPBP2E+lbgXOpdSaWHG2
+ehK06SMKpU5iRdp8bjuMkU83gb7+lHwB2sH9RJGR0K2O6A5I0UVYk6PJwPjB5gMTmzDod8IM
+m8FditTHCmoVvHjv7QzRuazMVWeM1+bUO/Na3bdwOIkBIgQQAQIADAUCQq/hkAUDABJ1AAAK
+CRCXELibyletfIAtCACSAu1NGXLdGiVO9WnOh59WEASHacxOeF96r1wx2+uk7ENMm+jTIfq2
+gpiwTI3mWZ+vG/gVtpaD2F1BGB/eGh4LycyFN2we2mB9FpqT0I87zAvaXk8VZwP5OiAJlL2P
+hRqK27HQoGoUloTcMieB48hln8mFTpOM1SUg6blgp2ceqIghZw8hfUEwjCW4UAKUrJqFPktO
+Ku1+T9Gq5/05f/2wrEQ0P5v+3MnPOT1d6ilJHGnIU37Qi336aaaEujjzjE1Ld4QRgAgYzgtf
+e8EFkilNJDc7blLM/diDzYugWbTVT72Ree3MzMMahgU57kQpK/qtLjKSQl3bEkwK0FFLgsSF
+iQEiBBABAgAMBQJCtSzlBQMAEnUAAAoJEJcQuJvKV618uAsH/ixHUob6l8hWzVNpfmNlIsB2
+ukC9+d6YcSbQXnPqBFd/M0qvMErYR/qPIZYhKOa0PYRVeV6HrmyTdhvRGh/5TgiGw9jKJu9C
+lsJ6ywRMORpb2BDwELx5Y2K7Ci/+IvlTA16fSCmMf3fR2Jp+FztsaefPvqEXnM2zpyBs0HT0
+MjrnhRKy0/LIcc2/VlrG2HgB29/hqmYEYyCqmanb+hAxbDm82EpyXSY98qmSeYXDc64cx1a1
+9oZbk6SWM/MuZPE4E7I/Sxv2gU/qK5pvBxFEcfLDy1CxWjX0Fi5JYDivgeep8V8rXFyXnVww
+vU6LxA8W30jby3d5uNh3pQoYJ1oUC6GJASIEEAECAAwFAkK3KE0FAwASdQAACgkQlxC4m8pX
+rXyHpQgAoBovhQ+++g35g2D1Oby200fxZ7+wq3iN61OTSquOe/WFfD8e6w3p6UEZ3MujEv8t
+gMMVjNwvezsD2Z/MDWv/fK8m3Ng83yLme77wE/rOkz37Id+Ehe1kojrjAV03zJr1VmhZfvx3
+e1Y/A00ipmfZPUzR1Jx82zmlfDeXavAScuQDUyORloLTEHv9bc9soospjYSFK1nWJ1t8C2DD
+YX2skcYoxGqyqVnBzAw6ozq9jZmOVaMlc7czjMQffNwdwYXtSXo1NNjL+0eQdAWpOfMIlgKs
+hkFymcd4cBbgE6RCw0r2brVkVtSt0+ZnctvHQotxuNvwJXFRFVBh153l5IWdOYkBIgQQAQIA
+DAUCQtEgTAUDABJ1AAAKCRCXELibyletfI7CCACIWICj9ZkESfm+5iVbFc3JP+4mXaHaXfHA
+fYmdBdy4MK9BPx2dkS0scMiFWRH6jRi8Tzk3bH6M4wwS4MDXuSrlsOKPxNpiAVgDI+SflcPG
+M10VrSOy+8W9FF5F6onD0ojP7Fg4KG1ige4Rm6dM/YnEw7a2iWZ8Be7cCd8Bi77y/XN0SMpP
+EEjnEWhdpzH1esD0fc3N1A721C7NMWeCLEtm+e1YixFcoccegJniJ8QYNHzti+kVPR77EJFw
+gZechF/dNEXfnlAuyQSj6Wc90vPAH27+kaoxTiO2p/YzqTKwj4CJl/y6NOMQcoJ7CO2rf9fY
+rf0ZVwCdt7iL5s/JFfCviQEiBBABAgAMBQJC0cZ0BQMAEnUAAAoJEJcQuJvKV618kWoH/0zV
+rsTcYUOIM7ZUviejStEvRhX4dMTWzKPlJHVeMgKqqMF2ibMTlynrvj/K2ufFWM26maoOKoiA
+Dd4f1gBNLlMH60hrsxuMhAotB8RgfqL54nBUj9CJmzGXToPrYEC7xlCJObIf9j6tzd07TZZc
+W0UtVQR1uNpy1G00psYd7oP9Db1OE7oKCqOKwcJwsdKpf59HcstbEe8CCjcHJQh9v0fyoz7U
+3OkAAOPmUTzh3YlWLZuqMl53CYGWqxTJvW6gOoEl1TdmsYIO9aXR7MGcz9j2pzwkJdc9uC9Q
+TCXfU8bdXi86P99e7TXakUr7koAwcFkYgQDUvJvO7Pda24Qnuh+JASIEEAECAAwFAkLj7sQF
+AwASdQAACgkQlxC4m8pXrXwEOQgAlmsoab76veaNTiiOClkeFX1Hzj1E/KBOlgkyR3ObDE22
+8X9LIk5iWhV1XaWEWA1v8o0UvD+hXIDL1XVZ9YjKQ+as5UQOadKqGVDpIusmb6U/vL5JtdyC
+N1wbRgq2WnkkqgSK+C5qBNdI5ds6T7tU4eoO5DcZMQSyqHlaLrgkAnXLEXOd5r78JhqKHOO0
+6hEZGVI5jD/0Msmdld8lZPPO/5Leo4LU4RuM2BBAopR0kiQcbNbt0QUf+FOb9LAq4RQBn69u
+PPSRZF1lFkW6sAk20YdkrUyNvC14gFgJsswLZBjBqHJ1IHNorJUTET/7bhywxCz1z7KLok7d
+DHaqTpWr8YkBIgQQAQIADAUCQune5wUDABJ1AAAKCRCXELibyletfLeZB/9jvTYpufTVTc7O
+dTltkR8O0panwhG16mJu0/yddXsdBROx6d6LBNSHn0ACx38b5GJoCXeX2QnoU5rjWbQDKbSv
+mJAoxn1Rg+yRW78yXcE53PBFdjGAY7aC9WMF4eBfoIsCXTYFQVk3hNHkV3gvsnOtrLnYOTtA
+btERFE4Ftol5GbXF5atSyf9zclYMt6brx6PnxH2X4YhZ9aH3okN1mAzrPmZoefDGE0PMx0B/
+LWIzQBMHwoSnM/NLLloto7hcOus4wpwg136NeqgyKzdOqM1xNWHljJRnskrUb234rIR7WU3v
+XuQX7JmC0YvOkC4Gp43AScTjgO4dSWDb262mnGbQiQEiBBABAgAMBQJC7IIMBQMAEnUAAAoJ
+EJcQuJvKV618EfgH/iPsvwNYSsamkBTvBAAH8EijR26NpNrO/f+fWc/FOfPIA9gZ1NAD8UWG
+t5ycqCy0ZHNhCPIERBj2hkrLu89d9ZrLCC1i6/plloCvhxdVaALjpPco/V8t/I+QRXXu5P/I
+UHDNnTxK4AK15CePCx8PKsqO2Rraej/pRnTxsvthWfMnwkXdRg68zkovO0OZE2OrXLLN5nx7
+7uODWKvIALFNw+637vw7EQyTa6yxE2TiK2iXd8J6TQaTdmO/rmGBv2/rkyLfapNzFAMRespn
+PXx0pk/Ff7ITeWGQtMvcmggo6ersyGXpKXama7R4bV/CqdbAVXuzK65inkndEzunJMx8V/SJ
+ASIEEAECAAwFAkLtKhUFAwASdQAACgkQlxC4m8pXrXxVRAf8DcrZp6lr3knkQGhTKAgxO/k5
+Q3NtS4Cx07Xsrp+/eUqZWsctOLuMGz0YiZ//E+JCdBr5fZptgNW211NjkRKOmvc4s6IrKXMh
+pywkYudNZZdzzNy/AIm3rkAsDr1pU7zZQ4zaawxBB1QXwu8tg/s6OcW8bk6y16nag0dX6FOh
+lv/Ual0zER2RUBlnFnG1Dtn4tmbOGYLNFYkdAJqnAA6QZvsMQCV3VgKmjbIk1GNhtJpoO3Cw
+2PjLXTiwlhVRNCHsX1XnUnnFjnx9bKXnDa4uNzh9BTQbhZ70GmnpcwUA2GPHrZievqnapFB2
+Y9TcCAyIEmQ5IPBctbeu2Z6U/FbNcIkBIgQQAQIADAUCQwBd/gUDABJ1AAAKCRCXELibylet
+fMkYB/9vvgca4wBjh3izodha1NVKS4XRs4p+vcze7SuH6n2K/Vs2bZ1K2uL6pHUGbVYJztQd
+5LERBmkWMe0o3sVeuZe6jSWT8UOYFcQIQWcr5QTLVvHinCg2jVFKtowJDXXO3ZxXQ3gSEWNy
+i18uA+3MQB2NPdCqoiK5u79TvTe1u07Vh14FpMIa/C7LyKBdVuiIJuTu9ARXBdmQzdasve76
+rQ0cCEsgAyIVR3IkPPzhl631TlI85kbyEUJA1kerfEAGYYPWGUcARYL8/HUYBRv4oZXAVMmd
+tfIL6o0BKRfHwLxICRZ+pdy+8IKcuEVXUc+MU88m7ERmOfKBKNbUZhJKSkhYiQEiBBABAgAM
+BQJDCEmYBQMAEnUAAAoJEJcQuJvKV618HoQIAL1DV7lgbpGjD9Nvrp46/3lANw22BTinQJ0k
+3JvJXZBO7127/eztbtPuvFL6CSrpmcBZI0GdJH8/lmK18eJLuNif/7LZvBrcX6FgjcsVXVzw
+adrSCAyAL5r0EnyTlso080aQfzYLcwYpNU9cwuxmSpiId7GU1FmLwivPSe5qDrqYPrNZWsGC
+4u/v5e5D5Q5EQcGTEAt3G62yni6YhOZfZP/CxgkdkiNhJmubciEG6q75VqYrxlLiHSezL16m
+t+kFfkBr2fAOZFgJO9m6UTRWvwUTmr61sDeUfBXaFINhh4ccid/E4aurMNFKmPlx9R3nCdI4
+tGNWdn9hnCj032WdQi6JASIEEAECAAwFAkMMQ8QFAwASdQAACgkQlxC4m8pXrXy/FAf+JkU4
+QcZ8aBmrbv2p7BawhCWHDjmhIAfl0RqlVUoI/2FjopLgAo0oKrW65fkFcnVTZYanLVFl7Fuz
+2w2jjBXEqLFkQJsA6XOG9xIssRimeyD/lT1wAIz8JE9ezdG3oaS0SVhduMJ4byN/tKLYN0V5
+avxUbu/vtXgBr6PZlTmulOJjbWnrlb3e4QIMADzxDGyea+qsqQfyf8cwJvX5qFX0NGIU4Lwv
+OBJDh4PkHOQkEfFsnNhO8jLBImHBw8tckeoafrt8zp8HsTGOKmDZzYPUnU9OwAYhezH4sS9Y
+AbAcY6RZhyRr99H4vekI4ZJKpXGKgmCcfoWkzvAmfCZ1XtQ99okBIgQQAQIADAUCQxDbbAUD
+ABJ1AAAKCRCXELibyletfOLsCACgR+14gUggcK6JuYLYa9pSyZOVmjRIBR6lVBg/aBkt46aG
+m9iHo1BH2EtyhjW5oihjWgQ+i25qZxhFp9unzPz/vXKXDLVKf8dLE9SE3dlCuv8a8DWRcWNb
+3ULtle5FaV7dvCp3g+8mMPBoAd98y+OIcyxdgoxdAZvMcHDgwVu6viV9UrFDbySWqqx3/wmb
+aijuzd3+CNluyWJ3pOmsCcobSp1J9UlBfo9wurayCF/U8z8ARqxYokwRWqLwzyJOciKDQwT4
+Og2PN3D6MfNrUc+vSK80tnX7iWes630qAWTaPHYcos7Y9nHFSrzt8I0hK0rnzUWhmPrlafjB
+xkc1u4GMiQEiBBABAgAMBQJDEizGBQMAEnUAAAoJEJcQuJvKV618Um4H/0mzDk2raGBfNlGH
+GqmDEioiHkLlgUtlh9QVeKhg52SVrapABKyIeVu51ztVbecGQEoFY3AwbkvzFgoJazWyUE5Y
+bf8I0xzfwDKWonJTUjR27/P5PNw19+KThPwesLCru1vayOkuO1WFJB/QqkWRfp4G75RBwxYV
+jWlEQ43JkM3HsfW3fn/HE6L3GmaEDfP42X9QjBG/vqWkXEq6ZR0YcBHc/L83zj3mJsgkYypo
+CYb4dWrY7iUUI4o6tS5TgTm1a5FIVTb5fjFKhvlRqZfvSyk20wxd9h+sExx5XGAKjWEWCzXE
+hFf8wQ7qsnjkG6s3KYvS5iXrC0+/PuesVNtGDk+JASIEEAECAAwFAkMUKM4FAwASdQAACgkQ
+lxC4m8pXrXw5mQgAhUf0zDvIEWHDy/c8/vKOJ0aK8B7M35C3tHhWW0xoGHSQ2Ofpkl79fUeZ
+UcnkaOlGRmF1Xe9sKhTnnW4NeKlNeHMrwlqo+/ovagy6TC47pp+XAAbqh1lQIYYj2RaIpIk3
+TbOrLh9jYO8YUlscsUveTRL99JiyQL0332w/18twj51bNG/cDNIAXGdxxLJJLGwlgvn90FYq
+vzSL7bDHVJHZSOY2FReXiB+wrKohTG4J6J1+X4dxj6I2e8DjzH/rilOG2Xcli9sITKRWprpI
+4P7Ld13pkXb4fPnPSSHal+aE6ocZY45mbhUqn1es1kSG7P0UcvF0iDKfBDvO0j08r7qp/YkB
+IgQQAQIADAUCQxYjKgUDABJ1AAAKCRCXELibyletfKe+B/4un5+FU1w5t7/ZtVdmRCm6UFe9
+QUAyQzjcZlx9KxXhxuFzBk3hklgkunIBLCW8/e1Wf+rQzQCjD0Wwo6WHnxHoCiTBp1rZs45z
+miUCweNxkqYMAmAI2v8ywEY5MpYDbPmDAx2PmNaIgw9ZFRrArrVHHJJqq8R9q3DXzQA4C7jM
+98r+DgAAaiqldGe+cEZ/C9s/n33zNVKlFbnpwoR9gBvyKva4X7Nqu629ikPv0ichLCJbNr8h
+n86Oi/pyV7jxKNunPiD3iWLEAv0b4SFjoSqya+YndulQ+dLMX5ZwAKQ1AMRNwE/E6Cq85os8
+OJOTIDXrgTyCswtYF7lF4I1vQLLTiQEiBBABAgAMBQJDGMYWBQMAEnUAAAoJEJcQuJvKV618
+6MwH/jiHXFC+L/r1t5l90ewP+WaIeAwxgLodYfj2tHzOeTLsqJ8cQRvvRmbA+V8HYNaRi5uv
+abRKHc3Xz8A/4T0mGMBxC7zhAUGKZiij4lpEoecLmgMyLn4OcbKlw0vSF7uh8f0FtGXYAnMu
+dC7fTGI9tEJAGVvO4wD3CDf0vvmFNhlMBhQ6N29naxKNQ43wvdEMS1bua+kHQEeBlnc69+JV
+y+JqaM8WIyBYU+od+gUK9Cj13Zy5J8CZRe517kNbyjH9YdMQN+6EcvbyQMQ+WAukSCYu5+RM
+Wh21YSjWX4LjHfAwYfBgtXLJYfD6+3qPTtgx3vjqDDeuQjlSK0Gz7kJV3GaJASIEEAECAAwF
+AkMbZ+MFAwASdQAACgkQlxC4m8pXrXzNZgf+Ozkz/PM4JVhRjWB/yr/Fu65hHaVBbYhzqwYz
+JolwZ82NORG3T00IE4NwWDX1dVFqc7vulWk1dPDyPi/ZojLSPbO85IDQKPGNgql/XMt9MG2k
+3lSorxlsChUwwnL/T7p8atvJOz5FHFVwNdfFokoXoUffLeJ3GlQg+k9fzGjXSbvl68RSc1jJ
++IxBqODiqZITE/yik7jid92YsFOCPlmYJ504et7WBtQDCaaeqKQA5h+IaJYn/Wa4NnZMFkhO
+qbbOFmz1YvrkybofiHtSPDS3J49vKSm7lLGqlyhIP3G0ZZ84VoLcnbIgGvBfHntk2dACBR8R
+mePwdNpxGhwi7Epbm4kBIgQQAQIADAUCRJr1pwUDABJ1AAAKCRCXELibyletfMNlCAC9ySHI
+FPGOG0nbUoJOf6iMLANVQjn5pIl6B1pGJTSB6bDCYhBlLh3Ye4HqM4uDGotlg7Ts+igsyobk
+iBFstLHgxuODo9XycYMyzz6xnoaeUzX2qUwkvYHq3BA3W2V0uTi+Et4TP2t5bNpiEi0V007A
+io80BMcijScEH8S85zcSSfuKoVGvqOOmfH0n4C0BorM7bdiuLWc6aBNMce9sHS71l3Y3y/R8
+Y4oLvRpLBpnR8CNbMXrUfYKObZMrhDhS4rMexb0owNYfX1dGBS4vCYSYaSrB5E6KlKbN27dP
+foMfxuXuX6BPbVNVs9U3Y6SA4nmfh8ISK3wAWPhRg+Gf5AloiQEiBBABAgAMBQJErDXMBQMA
+EnUAAAoJEJcQuJvKV618ESAIALMpRIlLp375Uza4f/ABbWSjmvF8kqhQ5j7dEZeeGzXxrhIK
+0hpnxJolxLAHWRt8RKBXc5Bs9pedSSQko3Vd5CA0fpnjBKKuMTbEzwYQhej4vt1strVuujeG
+r8N7bTdS75ONPZcuze1yxSiM7LvzSKHCixC723k4pN3xUT12ip1MIbiqQghsRQZP7yaNCjUB
+FuKiYjK50sBvxnNeMGwd+rnhxVrvS/F2x1S2a76l2QMz/UQTDXWhaPBwA+ho1q3UXU43+U/5
+/yMlMniBnjoJEb32zddKyjAiwiynJ/d5623RheGdspLLIgzEDL1KuPK7iyEuoWXU/Lp5iQjk
+CbCNDCeJASIEEAECAAwFAkS+n3kFAwASdQAACgkQlxC4m8pXrXxDGAf+MP6N76GTFoMrsJOM
+n/iwBV0LCazH5ZVwimN0kzBiiT0dnmxyV0gPmXDhipKkVNjK1Zx/W0QdEZJaNg/4+ncU6Cs3
+kdFQXJmpIKTWkZsdPGbmPGiUOuK3U3xLcWhs+oTgpkvP65mN0B21atgN76QTnCew8B39yTwq
+WLllEkgP4UQ6yAC6b/nriHNHTDedB2YX9G9P99RjCXIy7SWVEFqq7UhmW97ij5sK3wtIudy2
+73QRKbDvx3i0JClmY2RW049FGAxhRGq1NGT00QqPHDQ3QKS191xPaJ8Ka2EMXdDzi+Gf07jO
+WpvL3adkqAjc0Z90d6B2WJnwQBPLU/Qw5nnLjIkBIgQQAQIADAUCRM/cWAUDABJ1AAAKCRCX
+ELibyletfMcVB/9/uF/6AyVHxHIjXe6lZro4PaRGHRgUXpOCMB3Dh4MqKda31jg2JqSINdxB
+V4wL8YkL1IE7Dl8As0MjFjEb1tl+D5AiuOrDoFhn7GpAOAVl4dJxnLhdi4bYBfw4UZkiuHcT
+l3/ZPlDfDkRlcQjSIEUq5ah6sbSPVxGu9fyXJlTtUMwo5tPLX59g3e/TW4wd0nODxqytCCoP
+v2sssH1StGi4ZcUVUXYDWKmYdSeR6FOOD6z3DhlReqp8xKBoXWo8VeOKQ9y0BYizQVVzX0tQ
+OJAqjPTLEAJo7OLgE7neLkhLIPxUEF3CNEpA4HB14D32CaAzzMPN/Y6KJJOyMajRUdsXiQEi
+BBABAgAMBQJE4Xq/BQMAEnUAAAoJEJcQuJvKV618BsgH/21iYazUbpykAobyp5LwlF67Y8er
+71OoBcPd2MK6fwlgX1YQUOshRYxMe46/guMCZXXJ17PyCqRUIfle6cpuHIZcDojb9oAegMGD
+2q9WkhmKkNkpUrsQmdRwqsx4Z0mir8o74UGM5Rf2eoUfPcMyVPfiKR6lv/Bns8EIS7yBU3/R
+yOOEOtEHJrTj8bZEnJqOsrse2ep45ALJFYTZhM95XFqIgo9WMDWJxrNejyPrFSyNsHdXI0jf
+//9le5eDpsOys5/6QLKlLMWwS1cEnpy1+soGMsr7EfMyQtmn2wwq863s3Bd+VZfg0mxXbKQQ
+S5QmLUk8UPXep59SsrnFGcgEt2KJASIEEAECAAwFAkTzZwsFAwASdQAACgkQlxC4m8pXrXy8
+Cgf+O+IqtqZqbCSBt5BjEQ/etAQx/D+STiBEpi8Y8XWFcwyAQS5pZ6pmU8fHpR59XtSxwYdr
+5hBltyvXLwXfnrRoye6LSMwYeJahBjTSdwZr/Dd1WDZRIbzREDkigidRfJpFAkaPb8i4DO0X
+1EJeaTUHTdFeuKcc+eX2ZFp6JDS80gvJIjAn+NyI1BLy6BK0GxRpt3qiUdL8nDU3Mbl94pWa
+JcpirmVfEqU6dhnYlN8Ou/3MN5vgSL4XN59QDPomEVD1DR+Tu1iA5wOmxj7Oese+YYMYxqI0
+saWWsHsM89NnqbhpL+nacMAQm7OhW2BTH3OByYT7IdeOn27UH3Afy0FKu4kBIgQQAQIADAUC
+RQXNDQUDABJ1AAAKCRCXELibyletfPGCB/9wBPKkSyHuu+XVDT9msJCFLKHYJlN9nPGgcSAy
+bNw0TideU3nwnUT+L55WiHbzHp10EJNp6RL4gKuvubM3XvEjUOkCzpHdWepLVhFrni+xzUhM
+LIOKyqRYdbM3ku6SwCaHoP5QoCC8Olb/lCVYOLu33E1Wt7VsHS1L6BZIyXHVAc8j2a41En3o
+fhZffCBe9BDG+wO30hOpYKiW85ZyK7ssBXLRgg85j0/VigC8QQfG0Zky7eP87JimiU9V9Vmv
+C+wjjKeP2+zg1mLWzhLGbFrbbxQPQbYqHiZV8/YLdC/aAzgJJLpeWIJ2tqqam+KQrqn8F6Nd
+HVQ5rlH3Bmnm8qZdiQEiBBABAgAMBQJFaR6NBQMAEnUAAAoJEJcQuJvKV618W5kH+wWc2YQs
+kUi+qmvVNpMIc+wFSJ2ODw1d21wehDRsEUObVBCgM5Jk3wDfFWVpEN5+vXKVjDHQtTsCygqj
+udWg5xxWtFok138xr2hju2oAzxjNOYdW9T8Rru0Kqy8QVJNIYaJy69+yVl2eM3fyBJy9cq66
+94TxCv8RpyhTSWpdEU0BoQNwV3oZSs5Rn3IC61cOiE08AxqrVldbTVqXOwJwIzqRpiP2HdfV
+RMjpmBYueAAdnlThUSGByLZ/7T7gJGjlU3s3CfMdxhw1+JAWMpLiUuLMqMoyv3upC/47mZF0
+oxg+viWqlk+D1pq5G64g/FH1q/Vx/OAnQCZTiRTZjuoF9eKJASIEEAECAAwFAkV6hlkFAwAS
+dQAACgkQlxC4m8pXrXwZAQf+LBvNw1ExALAFmeyCr/IMT/orpMv7QQ6Ax6g6pHlKAcXiQX12
+wlUjzAKsw+SJFobtXK1K4JvL+pACb0ycsK0FGexQ7I7Xs+wt/KOiTYsvDA8wVh6J15BdoXFE
+MYZLAxM/OOPvf2gKNXzzCjLbA/hwGI1KBMCFx+13ZmKR2r62hfzG20Ut+FHstvCNn0vcA0gF
+mLQNLskk19obz16udm7Axi3RlIl0emZR/AL0F7uDepxTbRtj8KBmk3eXAGojAJCqpEuIipJm
+iaIyzvVGZp0iBMCg/Vmralbk/mGw3avWiC/Hzp5F+DUqpaTm8YiWX9eGyKWVszTmbXWu12V7
+tU397okBIgQQAQIADAUCRZ6MzgUDABJ1AAAKCRCXELibyletfFO6B/wJLxCgtlLh71bNWeO9
+MYGNZSfuFDDwtHHj8raI1yK63thPBTJlXIoVTESj1h3Fi7I5ntjTABr+ck1UuK3kMlMwFM3l
+JgfDy4eg5sJb4X3fOTDjWoZvnYUjC6djPhCjcL2d0Fgdzx5yZmouLX7vt/jTGMrQkACVcIys
+ifxX0hgokhEOk0Kte4FgNNfs/3oSl91s8whzgCCrYu2pOOmer6tX3o1jaQ+8n1NMLDY136DL
+ESBdLANvCpU77nu7NaSoHlCspgWpQBacd5+GurBIQg7oDI+f8339umntn67Hqu5Vp9VGUHHr
+++nTwoMEs42bs7jkm/Rp/zIoGhfGJhsecOFIuQENBDxhQHwQBAD3qEphUOWRg9C8hSJpZ9Zo
+8F+hXnF6mvMWuy76R+yHqg4H5CPWSH116lOKl5xpGeXdOOzM5OxGgdEChb+jLoszM9rc3HQf
+cKAQmFMd03Iay4/5jMAS+vNgCfDV98nj6gU0Y3kuUdTkyMPDObQWv1ginAnkoOVXb7nAVW/X
+5n8izwADBQP8CPuRROj2FC+w2tTXDgaJam9PEm1coHRJAoHef1nBZfOAOZLjRD10wBg2m8q2
+EUJ4/mr/1D0whTINThJkvmZkRGVkuNILeC3X5dMQ1AX4fIOOnVObWVrlg5etH8ichIOYOUOq
+Cx/cuV9F6Apg9PE6vcFqmh4BoOlb0qOaIdzN1sWIRgQYEQIABgUCPGFAfAAKCRA2ArB/VdDH
+MlPgAKCM9FxutfWWvZqNKW5up6GnB4y6WwCeN5k4mxck975PULOk8jq/ZqLGvnSITgQYEQIA
+BgUCPGFAfAASCRA2ArB/VdDHMgdlR1BHAAEBU+AAoIz0XG619Za9mo0pbm6noacHjLpbAJ43
+mTibFyT3vk9Qs6TyOr9mosa+dA==
+=mQUf
+-----END PGP PUBLIC KEY BLOCK-----
--- /dev/null
+version=3
+opts=pgpsigurlmangle=s/$/.sig/ \
+http://ftp.gnu.org/gnu/tar/tar-([\d\.]*)\.(?:zip|tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz)))