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/7a200f2b3ef4ea71d5091d8f712bc40d8c340381

It 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

Reply via email to