On 12/13/21 12:50, Paul Eggert wrote:
I installed the attached patch to suggest --pax option 'delete=[ac]time' instead; this should work around the issue.
After fooling around with --format=ustar and --format=pax a bit more with tzdb, and discovering the Y2242 problem that I'd forgotten about in ustar format, I installed the attached further patch. It changes the documentation to suggest 'delete=atime,delete=ctime' instead (more robust to shell expansion). And it downgrades its suggestion of delete=mtime because that stops working after 2242. (No time like the present...)
The other two patches bring the doc a bit more up to speed on boilerplate. If you're curious, the companion patch I installed into tzdb is here: https://github.com/eggert/tz/commit/7a200f2b3ef4ea71d5091d8f712bc40d8c340381It uses "--format=pax --pax-option='delete=atime,delete=ctime'" instead of "--format=ustar". Since the tarball contains only files with integer timestamps, the two options are equivalent until the year 2242, when the latter will stop working and the former starts using pax extensions.
From afe68ac741e38e0106716bb21c34d56454597a0b Mon Sep 17 00:00:00 2001 From: Paul Eggert <egg...@cs.ucla.edu> Date: Mon, 13 Dec 2021 15:27:52 -0800 Subject: [PATCH 1/3] =?UTF-8?q?Don=E2=80=99t=20recommend=20delete=3Dmtime?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit That stops working after the year 2242. --- doc/tar.texi | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/doc/tar.texi b/doc/tar.texi index 64efcebd..2b5747e0 100644 --- a/doc/tar.texi +++ b/doc/tar.texi @@ -10578,31 +10578,25 @@ same contents: @noindent If you extract files from such an archive and recreate the archive -from them, you will also need to eliminate changes due to ctime, as -shown in examples below: +from them, you will also need to eliminate changes due to ctime: @smallexample ---pax-option 'delete=[ac]time' +--pax-option 'delete=atime,delete=ctime' @end smallexample -@noindent Normally @command{tar} saves an mtime value with subsecond resolution in an extended header for any file with a timestamp that is not on a one-second boundary. This is in addition to the traditional mtime -timestamp in the header block, which can represent integer timestamps -in the 1970-01-01 00:00:00 through 2242-03-16 12:56:31 @sc{utc}. If -this traditional timestamp suffices and you do not want subsecond -timestamp resolution, you can use: - -@smallexample ---pax-option 'delete=[acm]time' -@end smallexample +timestamp in the header block. Although you can suppress subsecond +timestamp resolution with @option{--pax-option delete=mtime}, +this hack will not work for timestamps before 1970 or after 2242-03-16 +12:56:31 @sc{utc}. If the environment variable @env{POSIXLY_CORRECT} is set, two POSIX archives created using the same options on the same set of files might not be byte-to-byte equivalent even with the above options. This is because the POSIX default for extended header names includes -@command{tar}'s process @acronym{ID}, which typically differs at each +the @command{tar} process @acronym{ID}, which typically differs at each run. To produce byte-to-byte equivalent archives in this case, either unset @env{POSIXLY_CORRECT}, or use the following option, which can be combined with the above options: -- 2.33.1
From 1547d0aaf419e5bb1fd808557d79d4e6773e4353 Mon Sep 17 00:00:00 2001 From: Paul Eggert <egg...@cs.ucla.edu> Date: Mon, 13 Dec 2021 15:44:26 -0800 Subject: [PATCH 2/3] Format ` and ' more nicely in doc Use @documentencoding and set txicodequoteundirected and txicodequotebacktick to get nicer-looking quoting in the manual. --- doc/tar.texi | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/doc/tar.texi b/doc/tar.texi index 2b5747e0..248be0d2 100644 --- a/doc/tar.texi +++ b/doc/tar.texi @@ -5,6 +5,16 @@ @settitle GNU tar @value{VERSION} @setchapternewpage odd +@documentencoding UTF-8 +@c These two commands require Texinfo 5.0; for now use the older +@c equivalent @set commands supported in Texinfo 4.11 and later. +@ignore +@codequotebacktick on +@codequoteundirected on +@end ignore +@set txicodequoteundirected +@set txicodequotebacktick + @finalout @smallbook -- 2.33.1
From 1217adbc0db9a014410f4114a0e8be369fab64e5 Mon Sep 17 00:00:00 2001 From: Paul Eggert <egg...@cs.ucla.edu> Date: Mon, 13 Dec 2021 15:45:52 -0800 Subject: [PATCH 3/3] Copy COPYING and fdl.texi from upstream --- COPYING | 8 ++++---- doc/fdl.texi | 11 +++++------ 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/COPYING b/COPYING index 94a9ed02..f288702d 100644 --- a/COPYING +++ b/COPYING @@ -1,7 +1,7 @@ GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/> Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -645,7 +645,7 @@ the "copyright" line and a pointer to where the full notice is found. GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. + along with this program. If not, see <https://www.gnu.org/licenses/>. Also add information on how to contact you by electronic and paper mail. @@ -664,11 +664,11 @@ might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see -<http://www.gnu.org/licenses/>. +<https://www.gnu.org/licenses/>. The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read -<http://www.gnu.org/philosophy/why-not-lgpl.html>. +<https://www.gnu.org/licenses/why-not-lgpl.html>. diff --git a/doc/fdl.texi b/doc/fdl.texi index 9f1ec47a..eaf3da0e 100644 --- a/doc/fdl.texi +++ b/doc/fdl.texi @@ -5,8 +5,8 @@ @c hence no sectioning command or @node. @display -Copyright @copyright{} 2000--2021 Free Software Foundation, Inc. -@uref{http://fsf.org/} +Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. +@uref{https://fsf.org/} Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -97,7 +97,7 @@ format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and -JPG. Opaque formats include proprietary formats that can be +JPG@. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, @@ -414,7 +414,7 @@ The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See -@uref{http://www.gnu.org/copyleft/}. +@uref{https://www.gnu.org/licenses/}. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this @@ -481,7 +481,7 @@ license notices just after the title page: @end smallexample If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, -replace the ``with@dots{}Texts.'' line with this: +replace the ``with@dots{}Texts.''@: line with this: @smallexample @group @@ -503,4 +503,3 @@ to permit their use in free software. @c Local Variables: @c ispell-local-pdict: "ispell-dict" @c End: - -- 2.33.1