tzdata/backport-zic-now-defaults-to-b-slim.patch
2020-10-10 19:03:29 +08:00

125 lines
4.3 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

From 6ba6f2117b95eab345a7ed9159cef939e30c4cd3 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Sun, 21 Jun 2020 14:49:03 -0700
Subject: [PATCH 17/47] =?UTF-8?q?zic=20now=20defaults=20to=20=E2=80=98-b?=
=?UTF-8?q?=20slim=E2=80=99?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Make zics -b slim option the default. This option first
appeared in tzdb 2019b (2019-07-01), and is already the default in
NetBSD 9.0 (2020-02-14) and seems to be working there. Using
slim format should help finish off the TZif formats Y2038
transition that began in tzcode 95f (1995-10-28).
* Makefile, NEWS, zic.8: Mention this.
* zic.c (ZIC_BLOAT_DEFAULT): Default to "slim".
---
Makefile | 10 +++++-----
NEWS | 2 ++
zic.8 | 10 ++++------
zic.c | 5 ++---
4 files changed, 13 insertions(+), 14 deletions(-)
diff --git a/Makefile b/Makefile
index 0da7c3f..8abd4d0 100644
--- a/Makefile
+++ b/Makefile
@@ -22,6 +22,7 @@ BUGEMAIL= tz@iana.org
# DATAFORM= main
# To wait even longer for new features, use:
# DATAFORM= rearguard
+# Rearguard users might also want "ZFLAGS = -b fat"; see below.
DATAFORM= main
# Change the line below for your timezone (after finding the one you want in
@@ -249,13 +250,12 @@ LDLIBS=
# other than simply getting garbage data
# -DUSE_LTZ=0 to build zdump with the system time zone library
# Also set TZDOBJS=zdump.o and CHECK_TIME_T_ALTERNATIVES= below.
-# -DZIC_BLOAT_DEFAULT=\"slim\" to default zic's -b option to "slim", and
-# similarly for "fat". Fat TZif files work around incompatibilities
+# -DZIC_BLOAT_DEFAULT=\"fat\" to default zic's -b option to "fat", and
+# similarly for "slim". Fat TZif files work around incompatibilities
# and bugs in some TZif readers, notably readers that mishandle 64-bit
# data in TZif files. Slim TZif files are more efficient and do not
# work around these incompatibilities and bugs. If not given, the
-# current default is "fat" but this is intended to change as readers
-# requiring fat files often mishandle timestamps after 2037 anyway.
+# default is "slim".
# -DZIC_MAX_ABBR_LEN_WO_WARN=3
# (or some other number) to set the maximum time zone abbreviation length
# that zic will accept without a warning (the default is 6)
@@ -390,7 +390,7 @@ ZIC= $(zic) $(ZFLAGS)
# To shrink the size of installed TZif files,
# append "-r @N" to omit data before N-seconds-after-the-Epoch.
-# You can also append "-b slim" if that is not already the default;
+# To grow the files and work around older application bugs, append "-b fat";
# see ZIC_BLOAT_DEFAULT above.
# See the zic man page for more about -b and -r.
ZFLAGS=
diff --git a/NEWS b/NEWS
index bfe02ea..6b9fd43 100644
--- a/NEWS
+++ b/NEWS
@@ -23,6 +23,8 @@ Unreleased, experimental changes
Changes to code
+ zic now defaults to '-b slim' instead of to '-b fat'.
+
zic's new '-l -' and '-p -' options uninstall any existing
localtime and posixrules files, respectively.
diff --git a/zic.8 b/zic.8
index a431311..8d34368 100644
--- a/zic.8
+++ b/zic.8
@@ -61,15 +61,13 @@ is
.BR slim ,
keep the output files small; this can help check for the bugs
and incompatibilities.
-Although the default is currently
-.BR fat ,
-this is intended to change in future
-.B zic
-versions, as software that mishandles the 64-bit data typically
+The default is
+.BR slim ,
+as software that mishandles 64-bit data typically
mishandles timestamps after the year 2038 anyway.
Also see the
.B \*-r
-option for another way to shrink output size.
+option for another way to alter output size.
.TP
.BI "\*-d " directory
Create time conversion information files in the named directory rather than
diff --git a/zic.c b/zic.c
index c874b04..3aed819 100644
--- a/zic.c
+++ b/zic.c
@@ -661,8 +661,7 @@ static const char * tzdefault;
static const char * yitcommand;
/* -1 if the TZif output file should be slim, 0 if default, 1 if the
- output should be fat for backward compatibility. Currently the
- default is fat, although this may change. */
+ output should be fat for backward compatibility. The default is slim. */
static int bloat;
static bool
@@ -672,7 +671,7 @@ want_bloat(void)
}
#ifndef ZIC_BLOAT_DEFAULT
-# define ZIC_BLOAT_DEFAULT "fat"
+# define ZIC_BLOAT_DEFAULT "slim"
#endif
int
--
1.8.3.1