Skip to content

Commit

Permalink
Squashed 'tz/' changes from 7aec41a1d..d828740bb
Browse files Browse the repository at this point in the history
9c175ec6c Release 2020d
65f1deaca * tz-link.html: Fix typo
b80ed1696 Fix Palestine 2015 fall and 2020 spring
efd0231aa Palestine ends DST on 2020-10-24
103e7868c Fail on ZIC_BLOAT_DEFAULT typo
980306471 Improve TZUpdater and Python links
ce89cbaa4 Port ‘make rearguard_tarballs’ to macOS
43dda7dbe Cite Tom Scott on Danish time
40e0dc322 Update Danish URLs
ab21ad971 Release 2020c
dc43ed588 * europe (Hungary): Add more URLs (thanks to Géza Nyáry).
0c8cac40a Put dummy pacificnew into rearguard tarball
27264eae8 * ziguard.awk: Add limitations commentary.
6a244fd41 * europe: Hungary URL comments (thanks to Michael Deckers).
d5c1b97cd Fiji observes DST from 2020-12-20 to 2021-01-17
47311d42a Release 2020b
64308c005 * NEWS: Fix Antarctic seasons, Casey change is past
06520a2b4 Tighten up scope wording
c5f6ef851 Convert tz-how-to.html to HTML 5
110feebd9 Further update code to match Link line field names
284e877d7 Drop support for zic -y, Rule TYPEs, pacificnew
b3cf2ee42 Remove obsolete file systemv
d6abc89b3 * antarctica (Antarctica/Casey): Correct 2019-10 transition.
6427fe6c0 Fixes for Casey and Macquarie
dd606383a * NEWS: Fix typo (thanks to Philip Paeps).
d3bdef36c Yukon’s change is effective 2020-11-01.
afc53e03f * tz-link.html: Cite PyPI tzdata (thanks to Paul Ganssle).
2c431bd71 * tz-link.html: Cite Python 3.9 (thanks to Matt Johnson-Pint).
abbe4eeee * tz-art.html: Add Mr. Monk (thanks to Arthur David Olson).
241e6df07 Improve heads-up advice
cb2d288ae * tz-link.html: Cite TZDIST list.  (Thanks to Michael Douglass.)
d7451484e Cite Rishi et al in tz-link
3e865829e * asia: Cite Barak 2020 on Israeli DST controversy.
a9f132757 Mention Intl.DateTimeFormat
243321439 * README: Add a pointer to tz-how-to.html.
6d25c3e89 date: simplify format compuation
dca583ac6 date: redo strftime buffer-exhaustion check
8b238ec54 strftime: conform better to POSIX+
6e2e87703 Minor editorial improvements for newstrftime.3
ba912ae8b * backzone: More commentary re 1940s Bahrain.
39c661ee1 Update Bahrain as per article in The National
63699ef40 Fix leapseconds comment when EXPIRES_LINE
b04741d80 No leap second on 2020-12-31
efbae189b Cite Mirmalek on Martian timekeeping
6ba6f2117 zic now defaults to ‘-b slim’
08c326dfd Do not install 'posixrules' by default
180f76a2d zic has new ‘-l -’ and ‘-p -’ options
c9e377825 * europe: Fix minor comment typos in previous change.
ccbd7d2ef Go back to midnight transitions for France etc.
812249354 * NEWS: Fix recent date typo.
ddb5717c5 Further fixes to 1891 and 1911 French transitions
1c8ce71c3 French clocks stopped for 9′21″ on 1911-03-11
f8eca4dc2 * europe: Add Hungaricana URLs (thanks to Géza Nyáry).
1d8d276b3 Improve 1890 Hungarian transition.
f87ed56da Fix Hungarian transitions 1918-1983
e30fe68d4 Predict Morocco spring-forward after Eid al-Fitr
243ae0709 Fix comment typo re 1900 Spanish decree
c6c18a432 More Ruthenia replacement
b43b6b46b Mention TimeZoneDB’s CSV and SQL files.
402965e63 Use bold for command and func names in man pages
d36f8f5b6 Remove tzsetwall

git-subtree-dir: tz
git-subtree-split: d828740bbde9367c28fda3c08d26db59f0865162
  • Loading branch information
Stuart Bishop committed Nov 2, 2020
1 parent bc11842 commit a4a62d8
Show file tree
Hide file tree
Showing 37 changed files with 1,168 additions and 855 deletions.
113 changes: 38 additions & 75 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,13 @@ 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
# one of the $(TDATA) source files, or adding it to a source file).
# Alternatively, if you discover you've got the wrong timezone, you can just
# zic -l rightzone
# to correct things.
# 'zic -l -' to remove it, or 'zic -l rightzone' to change it.
# Use the command
# make zonenames
# to get a list of the values you can use for LOCALTIME.
Expand All @@ -37,33 +37,30 @@ LOCALTIME= GMT

# The POSIXRULES macro controls interpretation of nonstandard and obsolete
# POSIX-like TZ settings like TZ='EET-2EEST' that lack DST transition rules.
# In the reference implementation, if you want something other than Eastern
# United States time as a template for handling these settings, you can
# change the line below (after finding the timezone you want in the
# one of the $(TDATA) source files, or adding it to a source file).
# A setting like TZ='EET-2EEST' is supposed to use the rules in the
# template file to determine "spring forward" and "fall back" days and
# times; the environment variable itself specifies UT offsets of standard and
# daylight saving time.
# Alternatively, if you discover you've got the wrong timezone, you can just
# zic -p rightzone
# to correct things.
# Use the command
# make zonenames
# to get a list of the values you can use for POSIXRULES.
# Such a setting uses the rules in a template file to determine
# "spring forward" and "fall back" days and times; the environment
# variable itself specifies UT offsets of standard and daylight saving time.
#
# If POSIXRULES is empty, no template is installed; this is the intended
# future default for POSIXRULES.
# If POSIXRULES is '-', no template is installed; this is the default.
#
# Nonempty POSIXRULES is obsolete and should not be relied on, because:
# Any other value for POSIXRULES is obsolete and should not be relied on, as:
# * It does not work correctly in popular implementations such as GNU/Linux.
# * It does not work in the tzdb implementation for timestamps after 2037.
# * It is incompatible with 'zic -b slim' if POSIXRULES specifies transitions
# at standard time or UT rather than at local time.
# In short, software should avoid ruleless settings like TZ='EET-2EEST'
# and so should not depend on the value of POSIXRULES.
#
# If, despite the above, you want a template for handling these settings,
# you can change the line below (after finding the timezone you want in the
# one of the $(TDATA) source files, or adding it to a source file).
# Alternatively, if you discover you've got the wrong timezone, you can just
# 'zic -p -' to remove it, or 'zic -p rightzone' to change it.
# Use the command
# make zonenames
# to get a list of the values you can use for POSIXRULES.

POSIXRULES= America/New_York
POSIXRULES= -

# Also see TZDEFRULESTRING below, which takes effect only
# if the time zone files cannot be accessed.
Expand Down Expand Up @@ -172,9 +169,6 @@ TZDATA_TEXT= leapseconds tzdata.zi

# For backward-compatibility links for old zone names, use
# BACKWARD= backward
# If you also want the link US/Pacific-New, even though it is confusing
# and is planned to be removed from the database eventually, use
# BACKWARD= backward pacificnew
# To omit these links, use
# BACKWARD=

Expand All @@ -192,10 +186,6 @@ PACKRATDATA=

UTF8_LOCALE= en_US.utf8

# Since "." may not be in PATH...

YEARISTYPE= ./yearistype

# Non-default libraries needed to link.
LDLIBS=

Expand Down Expand Up @@ -253,13 +243,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)
Expand Down Expand Up @@ -333,9 +322,8 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \
# add
# -DSTD_INSPIRED
# to the end of the "CFLAGS=" line. This arranges for the functions
# "tzsetwall", "offtime", "timelocal", "timegm", "timeoff",
# "offtime", "timelocal", "timegm", "timeoff",
# "posix2time", and "time2posix" to be added to the time conversion library.
# "tzsetwall" is deprecated and is intended to be removed soon; see NEWS.
# "offtime" is like "gmtime" except that it accepts a second (long) argument
# that gives an offset to add to the time_t when converting it.
# "timelocal" is equivalent to "mktime".
Expand Down Expand Up @@ -395,7 +383,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=
Expand Down Expand Up @@ -424,26 +412,6 @@ CURL= curl
# Name of GNU Privacy Guard <https://gnupg.org/>, used to sign distributions.
GPG= gpg

# The path where SGML DTDs are kept and the catalog file(s) to use when
# validating HTML 4.01. The default should work on both Debian and Red Hat.
SGML_TOPDIR= /usr
SGML_DTDDIR= $(SGML_TOPDIR)/share/xml/w3c-sgml-lib/schema/dtd
SGML_SEARCH_PATH= $(SGML_DTDDIR)/REC-html401-19991224
SGML_CATALOG_FILES= \
$(SGML_TOPDIR)/share/doc/w3-recs/html/www.w3.org/TR/1999/REC-html401-19991224/HTML4.cat:$(SGML_TOPDIR)/share/sgml/html/4.01/HTML4.cat

# The name, arguments and environment of a program to validate HTML 4.01.
# See <http://openjade.sourceforge.net/doc/> for a validator, and
# <https://validator.w3.org/source/> for a validation library.
# Set VALIDATE=':' if you do not have such a program.
VALIDATE = nsgmls
VALIDATE_FLAGS = -s -B -wall -wno-unused-param
VALIDATE_ENV = \
SGML_CATALOG_FILES='$(SGML_CATALOG_FILES)' \
SGML_SEARCH_PATH='$(SGML_SEARCH_PATH)' \
SP_CHARSET_FIXED=YES \
SP_ENCODING=UTF-8

# This expensive test requires USE_LTZ.
# To suppress it, define this macro to be empty.
CHECK_TIME_T_ALTERNATIVES = check_time_t_alternatives
Expand Down Expand Up @@ -538,16 +506,16 @@ DOCS= $(MANS) date.1 $(MANTXTS) $(WEB_PAGES)
PRIMARY_YDATA= africa antarctica asia australasia \
europe northamerica southamerica
YDATA= $(PRIMARY_YDATA) etcetera
NDATA= systemv factory
TDATA_TO_CHECK= $(YDATA) $(NDATA) backward pacificnew
NDATA= factory
TDATA_TO_CHECK= $(YDATA) $(NDATA) backward
TDATA= $(YDATA) $(NDATA) $(BACKWARD)
ZONETABLES= zone1970.tab zone.tab
TABDATA= iso3166.tab $(TZDATA_TEXT) $(ZONETABLES)
LEAP_DEPS= leapseconds.awk leap-seconds.list
TZDATA_ZI_DEPS= ziguard.awk zishrink.awk version $(TDATA) $(PACKRATDATA)
DSTDATA_ZI_DEPS= ziguard.awk $(TDATA) $(PACKRATDATA)
DATA= $(TDATA_TO_CHECK) backzone iso3166.tab leap-seconds.list \
leapseconds yearistype.sh $(ZONETABLES)
leapseconds $(ZONETABLES)
AWK_SCRIPTS= checklinks.awk checktab.awk leapseconds.awk \
ziguard.awk zishrink.awk
MISC= $(AWK_SCRIPTS) zoneinfo2tdf.pl
Expand All @@ -573,12 +541,10 @@ VERSION_DEPS= \
etcetera europe factory iso3166.tab \
leap-seconds.list leapseconds.awk localtime.c \
newctime.3 newstrftime.3 newtzset.3 northamerica \
pacificnew private.h \
southamerica strftime.c systemv theory.html \
private.h southamerica strftime.c theory.html \
time2posix.3 tz-art.html tz-how-to.html tz-link.html \
tzfile.5 tzfile.h tzselect.8 tzselect.ksh \
workman.sh yearistype.sh \
zdump.8 zdump.c zic.8 zic.c \
workman.sh zdump.8 zdump.c zic.8 zic.c \
ziguard.awk zishrink.awk \
zone.tab zone1970.tab zoneinfo2tdf.pl
Expand All @@ -587,7 +553,7 @@ VERSION_DEPS= \
SHELL= /bin/sh
all: tzselect yearistype zic zdump libtz.a $(TABDATA) \
all: tzselect zic zdump libtz.a $(TABDATA) \
vanguard.zi main.zi rearguard.zi
ALL: all date $(ENCHILADA)
Expand Down Expand Up @@ -657,10 +623,6 @@ zdump: $(TZDOBJS)
zic: $(TZCOBJS)
$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TZCOBJS) $(LDLIBS)
yearistype: yearistype.sh
cp yearistype.sh yearistype
chmod +x yearistype
leapseconds: $(LEAP_DEPS)
$(AWK) -v EXPIRES_LINE=$(EXPIRES_LINE) \
-f leapseconds.awk leap-seconds.list >$@.out
Expand All @@ -675,10 +637,9 @@ INSTALLARGS = \
PACKRATDATA='$(PACKRATDATA)' \
TZDEFAULT='$(TZDEFAULT)' \
TZDIR='$(TZDIR)' \
YEARISTYPE='$(YEARISTYPE)' \
ZIC='$(ZIC)'
INSTALL_DATA_DEPS = zic leapseconds yearistype tzdata.zi
INSTALL_DATA_DEPS = zic leapseconds tzdata.zi
# 'make install_data' installs one set of TZif files.
install_data: $(INSTALL_DATA_DEPS)
Expand Down Expand Up @@ -793,7 +754,7 @@ check_character_set: $(ENCHILADA)
! grep -Env $(SAFE_LINE)'|^UNUSUAL_OK_'$(OK_CHAR)'*$$' \
Makefile && \
! grep -Env $(SAFE_SHARP_LINE) $(TDATA_TO_CHECK) backzone \
leapseconds yearistype.sh zone.tab && \
leapseconds zone.tab && \
! grep -Env $(OK_LINE) $(ENCHILADA); \
}
touch $@
Expand Down Expand Up @@ -845,15 +806,13 @@ check_tzs: $(TZS) $(TZS_NEW)
check_web: $(CHECK_WEB_PAGES)
check_theory.html: theory.html
check_tz-art.html: tz-art.html
check_tz-how-to.html: tz-how-to.html
check_tz-link.html: tz-link.html
check_theory.html check_tz-art.html check_tz-link.html:
check_theory.html check_tz-art.html check_tz-how-to.html check_tz-link.html:
$(CURL) -sS --url https://validator.w3.org/nu/ -F out=gnu \
-F file=@$$(expr $@ : 'check_\(.*\)') -o $@.out && \
test ! -s $@.out || { cat $@.out; exit 1; }
mv $@.out $@
check_tz-how-to.html: tz-how-to.html
$(VALIDATE_ENV) $(VALIDATE) $(VALIDATE_FLAGS) tz-how-to.html
touch $@
# Check that zishrink.awk does not alter the data, and that ziguard.awk
# preserves main-format data.
Expand Down Expand Up @@ -883,7 +842,7 @@ clean_misc:
rm -fr check_*.dir
rm -f *.o *.out $(TIME_T_ALTERNATIVES) \
check_* core typecheck_* \
date tzselect version.h zdump zic yearistype libtz.a
date tzselect version.h zdump zic libtz.a
clean: clean_misc
rm -fr *.dir tzdb-*/
rm -f *.zi $(TZS_NEW)
Expand Down Expand Up @@ -1063,10 +1022,14 @@ tzdata$(VERSION)-rearguard.tar.gz: rearguard.zi set-timestamps.out
done
sed '1s/$$/-rearguard/' \
<version >tzdata$(VERSION)-rearguard.dir/version
: The dummy pacificnew pacifies TZUpdater 2.3.1 and earlier.
TZ=UTC0 touch -mt 202010122253.00 \
tzdata$(VERSION)-rearguard.dir/pacificnew
touch -cmr version tzdata$(VERSION)-rearguard.dir/version
LC_ALL=C && export LC_ALL && \
(cd tzdata$(VERSION)-rearguard.dir && \
tar $(TARFLAGS) -cf - $(COMMON) $(DATA) $(MISC) | \
tar $(TARFLAGS) -cf - \
$(COMMON) $(DATA) $(MISC) pacificnew | \
gzip $(GZIPFLAGS)) >$@.out
mv $@.out $@
Expand Down
109 changes: 109 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,5 +1,114 @@
News for the tz database

Release 2020d - 2020-10-21 11:24:13 -0700

Briefly:
Palestine ends DST earlier than predicted, on 2020-10-24.

Changes to past and future timestamps

Palestine ends DST on 2020-10-24 at 01:00, instead of 2020-10-31
as previously predicted (thanks to Sharef Mustafa.) Its
2019-10-26 fall-back was at 00:00, not 01:00 (thanks to Steffen
Thorsen.) Its 2015-10-23 transition was at 01:00 not 00:00, and
its spring 2020 transition was on March 28 at 00:00, not March 27
(thanks to Pierre Cashon.) This affects Asia/Gaza and
Asia/Hebron. Assume future spring and fall transitions will be on
the Saturday preceding the last Sunday of March and October,
respectively.


Release 2020c - 2020-10-16 11:15:53 -0700

Briefly:
Fiji starts DST later than usual, on 2020-12-20.

Changes to future timestamps

Fiji will start DST on 2020-12-20, instead of 2020-11-08 as
previously predicted. DST will still end on 2021-01-17.
(Thanks to Raymond Kumar and Alan Mintz.) Assume for now that
the later-than-usual start date is a one-time departure from the
recent pattern.

Changes to build procedure

Rearguard tarballs now contain an empty file pacificnew.
Some older downstream software expects this file to exist.
(Problem reported by Mike Cullinan.)


Release 2020b - 2020-10-06 18:35:04 -0700

Briefly:
Revised predictions for Morocco's changes starting in 2023.
Canada's Yukon changes to -07 on 2020-11-01, not 2020-03-08.
Macquarie Island has stayed in sync with Tasmania since 2011.
Casey, Antarctica is at +08 in winter and +11 in summer.
zic no longer supports -y, nor the TYPE field of Rules.

Changes to future timestamps

Morocco's spring-forward after Ramadan is now predicted to occur
no sooner than two days after Ramadan, instead of one day.
(Thanks to Milamber.) The first altered prediction is for 2023,
now predicted to spring-forward on April 30 instead of April 23.

Changes to past and future timestamps

Casey Station, Antarctica has been using +08 in winter and +11 in
summer since 2018. The most recent transition from +08 to +11 was
2020-10-04 00:01. Also, Macquarie Island has been staying in
sync with Tasmania since 2011. (Thanks to Steffen Thorsen.)

Changes to past and future time zone abbreviations and DST flags

Canada's Yukon, represented by America/Whitehorse and
America/Dawson, changes its time zone rules from -08/-07 to
permanent -07 on 2020-11-01, not on 2020-03-08 as 2020a had it.
This change affects only the time zone abbreviation (MST vs PDT)
and daylight saving flag for the period between the two dates.
(Thanks to Andrew G. Smith.)

Changes to past timestamps

Correct several transitions for Hungary for 1918/1983.
For example, the 1983-09-25 fall-back was at 01:00, not 03:00.
(Thanks to Géza Nyáry.) Also, the 1890 transition to standard
time was on 11-01, not 10-01 (thanks to Michael Deckers).

The 1891 French transition was on March 16, not March 15. The
1911-03-11 French transition was at midnight, not a minute later.
Monaco's transitions were on 1892-06-01 and 1911-03-29, not
1891-03-15 and 1911-03-11. (Thanks to Michael Deckers.)

Changes to code

Support for zic's long-obsolete '-y YEARISTYPE' option has been
removed and, with it, so has support for the TYPE field in Rule
lines, which is now reserved for compatibility with earlier zic.
These features were previously deprecated in release 2015f.
(Thanks to Tim Parenti.)

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.

The undocumented and ineffective tzsetwall function has been
removed.

Changes to build procedure

The Makefile now defaults POSIXRULES to '-', so the posixrules
feature (obsolete as of 2019b) is no longer installed by default.

Changes to documentation and commentary

The long-obsolete files pacificnew, systemv, and yearistype.sh have
been removed from the distribution. (Thanks to Tim Parenti.)


Release 2020a - 2020-04-23 16:03:47 -0700

Briefly:
Expand Down
2 changes: 2 additions & 0 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ substituting your desired installation directory for "$HOME/tzdir":
make TOPDIR=$HOME/tzdir install
$HOME/tzdir/usr/bin/zdump -v America/Los_Angeles

See the file tz-how-to.html for examples of how to read the data files.

This database of historical local time information has several goals:

* Provide a compendium of data about the history of civil time that
Expand Down
Loading

0 comments on commit a4a62d8

Please sign in to comment.