Skip to content

Commit

Permalink
Update tzdata and zoneinfo to version 2016a.
Browse files Browse the repository at this point in the history
  • Loading branch information
GitHub Actions committed Oct 31, 2022
1 parent e9b9b80 commit e4297ef
Show file tree
Hide file tree
Showing 23 changed files with 245 additions and 225 deletions.
4 changes: 4 additions & 0 deletions tzdata/CONTRIBUTING
Original file line number Diff line number Diff line change
Expand Up @@ -67,3 +67,7 @@ Git repository. If you use Git the following workflow may be helpful:
Please do not create issues or pull requests on GitHub, as the
proper procedure for proposing and distributing patches is via
email as illustrated above.

-----

This file is in the public domain.
4 changes: 4 additions & 0 deletions tzdata/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
With a few exceptions, all files in the tz code and data (including
this one) are in the public domain. The exceptions are tzcode's
date.c, newstrftime.3, and strftime.c, which contain material derived
from BSD and which use the BSD 3-clause license.
92 changes: 59 additions & 33 deletions tzdata/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
PACKAGE= tzcode

# Version numbers of the code and data distributions.
VERSION= 2015g
VERSION= 2016a

# Email address for bug reports.
BUGEMAIL= [email protected]
Expand Down Expand Up @@ -84,14 +84,18 @@ LIBDIR= $(TOPDIR)/lib
# below. If you want both sets of data available, with leap seconds counted
# normally, use
# REDO= right_posix
# below. If you want just POSIX-compatible time values, but with
# out-of-scope and often-wrong data from the file 'backzone', use
# REDO= posix_packrat
# POSIX mandates that leap seconds not be counted; for compatibility with it,
# use "posix_only", "posix_right", or "posix_packrat".
# below. POSIX mandates that leap seconds not be counted; for compatibility
# with it, use "posix_only" or "posix_right".

REDO= posix_right

# If you want out-of-scope and often-wrong data from the file 'backzone', use
# PACKRATDATA= backzone
# To omit this data, use
# PACKRATDATA=

PACKRATDATA=

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

YEARISTYPE= ./yearistype
Expand Down Expand Up @@ -236,11 +240,22 @@ CFLAGS=

LDFLAGS= $(LFLAGS)

# For leap seconds, this Makefile uses LEAPSECONDS='-L leapseconds' in
# submake command lines. The default is no leap seconds.

LEAPSECONDS=

# The zic command and its arguments.

zic= ./zic
ZIC= $(zic) $(ZFLAGS)

ZFLAGS=

# How to use zic to install tzdata binary files.

ZIC_INSTALL= $(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR) $(LEAPSECONDS)

# The name of a Posix-compliant 'awk' on your system.
AWK= awk

Expand Down Expand Up @@ -344,7 +359,7 @@ MANTXTS= newctime.3.txt newstrftime.3.txt newtzset.3.txt \
time2posix.3.txt \
tzfile.5.txt tzselect.8.txt zic.8.txt zdump.8.txt \
date.1.txt
COMMON= CONTRIBUTING Makefile NEWS README Theory
COMMON= CONTRIBUTING LICENSE Makefile NEWS README Theory
WEB_PAGES= tz-art.htm tz-link.htm
DOCS= $(MANS) date.1 $(MANTXTS) $(WEB_PAGES)
PRIMARY_YDATA= africa antarctica asia australasia \
Expand All @@ -366,7 +381,7 @@ ENCHILADA= $(COMMON) $(DOCS) $(SOURCES) $(DATA) $(MISC)
SHELL= /bin/sh
all: tzselect zic zdump libtz.a $(TABDATA)
all: tzselect yearistype zic zdump libtz.a $(TABDATA)
ALL: all date $(ENCHILADA)
Expand All @@ -375,8 +390,7 @@ install: all $(DATA) $(REDO) $(MANS)
$(DESTDIR)$(LIBDIR) \
$(DESTDIR)$(MANDIR)/man3 $(DESTDIR)$(MANDIR)/man5 \
$(DESTDIR)$(MANDIR)/man8
$(ZIC) -y $(YEARISTYPE) \
-d $(DESTDIR)$(TZDIR) -l $(LOCALTIME) -p $(POSIXRULES)
$(ZIC_INSTALL) -l $(LOCALTIME) -p $(POSIXRULES)
cp -f iso3166.tab $(ZONETABLES) $(DESTDIR)$(TZDIR)/.
cp tzselect zic zdump $(DESTDIR)$(ETCDIR)/.
cp libtz.a $(DESTDIR)$(LIBDIR)/.
Expand All @@ -398,7 +412,7 @@ version.h:
zdump: $(TZDOBJS)
$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TZDOBJS) $(LDLIBS)
zic: $(TZCOBJS) yearistype
zic: $(TZCOBJS)
$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TZCOBJS) $(LDLIBS)
yearistype: yearistype.sh
Expand All @@ -408,13 +422,28 @@ yearistype: yearistype.sh
leapseconds: $(LEAP_DEPS)
$(AWK) -f leapseconds.awk leap-seconds.list >$@
posix_only: zic $(TDATA)
$(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR) \
-L /dev/null $(TDATA)
right_only: zic leapseconds $(TDATA)
$(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR) \
-L leapseconds $(TDATA)
# Arguments to pass to submakes of install_data.
# They can be overridden by later submake arguments.
INSTALLARGS = \
DESTDIR=$(DESTDIR) \
LEAPSECONDS='$(LEAPSECONDS)' \
PACKRATDATA='$(PACKRATDATA)' \
TZDIR=$(TZDIR) \
YEARISTYPE=$(YEARISTYPE) \
ZIC='$(ZIC)'
# 'make install_data' installs one set of tz binary files.
# It can be tailored by setting LEAPSECONDS, PACKRATDATA, etc.
install_data: zic leapseconds yearistype $(PACKRATDATA) $(TDATA)
$(ZIC_INSTALL) $(TDATA)
$(AWK) '/^Rule/' $(TDATA) | $(ZIC_INSTALL) - $(PACKRATDATA)
posix_only:
$(MAKE) $(INSTALLARGS) LEAPSECONDS= install_data
right_only:
$(MAKE) $(INSTALLARGS) LEAPSECONDS='-L leapseconds' \
install_data
# In earlier versions of this makefile, the other two directories were
# subdirectories of $(TZDIR). However, this led to configuration errors.
Expand All @@ -425,26 +454,22 @@ right_only: zic leapseconds $(TDATA)
# Therefore, the other two directories are now siblings of $(TZDIR).
# You must replace all of $(TZDIR) to switch from not using leap seconds
# to using them, or vice versa.
right_posix: right_only leapseconds
right_posix: right_only
rm -fr $(DESTDIR)$(TZDIR)-leaps
ln -s $(TZDIR_BASENAME) $(DESTDIR)$(TZDIR)-leaps || \
$(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR)-leaps \
-L leapseconds $(TDATA)
$(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR)-posix \
-L /dev/null $(TDATA)
$(MAKE) $(INSTALLARGS) TZDIR=$(TZDIR)-leaps right_only
$(MAKE) $(INSTALLARGS) TZDIR=$(TZDIR)-posix posix_only
posix_right: posix_only leapseconds
posix_right: posix_only
rm -fr $(DESTDIR)$(TZDIR)-posix
ln -s $(TZDIR_BASENAME) $(DESTDIR)$(TZDIR)-posix || \
$(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR)-posix \
-L /dev/null $(TDATA)
$(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR)-leaps \
-L leapseconds $(TDATA)
$(MAKE) $(INSTALLARGS) TZDIR=$(TZDIR)-posix posix_only
$(MAKE) $(INSTALLARGS) TZDIR=$(TZDIR)-leaps right_only
posix_packrat: posix_only backzone
$(AWK) '/^Rule/' $(TDATA) | \
$(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR) \
-L /dev/null - backzone
# This obsolescent rule is present for backwards compatibility with
# tz releases 2014g through 2015g. It should go away eventually.
posix_packrat:
$(MAKE) $(INSTALLARGS) PACKRATDATA=backzone posix_only
zones: $(REDO)
Expand Down Expand Up @@ -660,6 +685,7 @@ zic.o: private.h tzfile.h version.h
.PHONY: check check_character_set check_links
.PHONY: check_public check_sorted check_tables
.PHONY: check_time_t_alternatives check_web check_white_space clean clean_misc
.PHONY: install maintainer-clean names posix_packrat posix_only posix_right
.PHONY: install install_data maintainer-clean names
.PHONY: posix_only posix_packrat posix_right
.PHONY: public right_only right_posix signatures tarballs typecheck
.PHONY: zonenames zones
58 changes: 58 additions & 0 deletions tzdata/NEWS
Original file line number Diff line number Diff line change
@@ -1,5 +1,60 @@
News for the tz database

Release 2016a - 2016-01-26 23:28:02 -0800

Changes affecting future time stamps

America/Cayman will not observe daylight saving this year after all.
Revert our guess that it would. (Thanks to Matt Johnson.)

Asia/Chita switches from +0800 to +0900 on 2016-03-27 at 02:00.
(Thanks to Alexander Krivenyshev.)

Asia/Tehran now has DST predictions for the year 2038 and later,
to be March 21 00:00 to September 21 00:00. This is likely better
than predicting no DST, albeit off by a day every now and then.

Changes affecting past and future time stamps

America/Metlakatla switched from PST all year to AKST/AKDT on
2015-11-01 at 02:00. (Thanks to Steffen Thorsen.)

America/Santa_Isabel has been removed, and replaced with a
backward compatibility link to America/Tijuana. Its contents were
apparently based on a misreading of Mexican legislation.

Changes affecting past time stamps

Asia/Karachi's two transition times in 2002 were off by a minute.
(Thanks to Matt Johnson.)

Changes affecting build procedure

An installer can now combine leap seconds with use of the backzone file,
e.g., with 'make PACKRATDATA=backzone REDO=posix_right zones'.
The old 'make posix_packrat' rule is now marked as obsolescent.
(Thanks to Ian Abbott for an initial implementation.)

Changes affecting documentation and commentary

A new file LICENSE makes it easier to see that the code and data
are mostly public-domain. (Thanks to James Knight.) The three
non-public-domain files now use the current (3-clause) BSD license
instead of older versions of that license.

tz-link.htm mentions the BDE library (thanks to Andrew Paprocki),
CCTZ (thanks to Tim Parenti), TimeJones.com, and has a new section
on editing tz source files (with a mention of Sublime zoneinfo,
thanks to Gilmore Davidson).

The Theory and asia files now mention the 2015 book "The Global
Transformation of Time, 1870-1950", and cite a couple of reviews.

The America/Chicago entry now documents the informal use of US
central time in Fort Pierre, South Dakota. (Thanks to Rick
McDermid, Matt Johnson, and Steve Jones.)


Release 2015g - 2015-10-01 00:39:51 -0700

Changes affecting future time stamps
Expand All @@ -26,6 +81,9 @@ Release 2015g - 2015-10-01 00:39:51 -0700
localtime no longer mishandles America/Anchorage after 2037.
(Thanks to Bradley White for reporting the bug.)

On hosts with signed 32-bit time_t, localtime no longer mishandles
Pacific/Fiji after 2038-01-16 14:00 UTC.

The localtime module allows the variables 'timezone', 'daylight',
and 'altzone' to be in common storage shared with other modules,
and declares them in case the system <time.h> does not.
Expand Down
10 changes: 6 additions & 4 deletions tzdata/README
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,6 @@ locations around the globe. It is updated periodically to reflect
changes made by political bodies to time zone boundaries, UTC offsets,
and daylight-saving rules.

Unless otherwise specified, all files in the tz code and data are in
the public domain, so clarified as of 2009-05-17 by Arthur David Olson.
The few exceptions are code derived from BSD, which uses the BSD license.

Here is a recipe for acquiring, building, installing, and testing the
tz distribution on a GNU/Linux or similar host.

Expand Down Expand Up @@ -59,3 +55,9 @@ None of them are responsible for remaining errors.
Look in <ftp://ftp.iana.org/tz/releases/> for updated versions of these files.

Please send comments or information to [email protected].

-----

This file is in the public domain, so clarified as of 2009-05-17 by
Arthur David Olson. The other files in this distribution are either
public domain or BSD licensed; see the file LICENSE for details.
10 changes: 9 additions & 1 deletion tzdata/Theory
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,15 @@ Errors in the tz database arise from many sources:
be needed if the tz database's scope were extended to cover even
just the known or guessed history of standard time; for example,
the current single entry for France would need to split into dozens
of entries, perhaps hundreds.
of entries, perhaps hundreds. And in most of the world even this
approach would be misleading due to widespread disagreement or
indifference about what times should be observed. In her 2015 book
"The Global Transformation of Time, 1870-1950", Vanessa Ogle writes
"Outside of Europe and North America there was no system of time
zones at all, often not even a stable landscape of mean times,
prior to the middle decades of the twentieth century". See:
Timothy Shenk, Booked: A Global History of Time. Dissent 2015-12-17
https://www.dissentmagazine.org/blog/booked-a-global-history-of-time-vanessa-ogle

* Most of the pre-1970 data entries come from unreliable sources, often
astrology books that lack citations and whose compilers evidently
Expand Down
24 changes: 20 additions & 4 deletions tzdata/asia
Original file line number Diff line number Diff line change
Expand Up @@ -874,6 +874,15 @@ Zone Asia/Dili 8:22:20 - LMT 1912 Jan 1
9:00 - TLT

# India

# From Ian P. Beacock, in "A brief history of (modern) time", The Atlantic
# http://www.theatlantic.com/technology/archive/2015/12/the-creation-of-modern-time/421419/
# (2015-12-22):
# In January 1906, several thousand cotton-mill workers rioted on the
# outskirts of Bombay.... They were protesting the proposed abolition of
# local time in favor of Indian Standard Time.... Journalists called this
# dispute the "Battle of the Clocks." It lasted nearly half a century.

# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Kolkata 5:53:28 - LMT 1880 # Kolkata
5:53:20 - HMT 1941 Oct # Howrah Mean Time?
Expand Down Expand Up @@ -1084,8 +1093,15 @@ Rule Iran 2032 2033 - Mar 21 0:00 1:00 D
Rule Iran 2032 2033 - Sep 21 0:00 0 S
Rule Iran 2034 2035 - Mar 22 0:00 1:00 D
Rule Iran 2034 2035 - Sep 22 0:00 0 S
Rule Iran 2036 2037 - Mar 21 0:00 1:00 D
Rule Iran 2036 2037 - Sep 21 0:00 0 S
#
# The following rules are approximations starting in the year 2038.
# These are the best post-2037 approximations available, given the
# restrictions of a single rule using a Gregorian-based data format.
# At some point this table will need to be extended, though quite
# possibly Iran will change the rules first.
Rule Iran 2036 max - Mar 21 0:00 1:00 D
Rule Iran 2036 max - Sep 21 0:00 0 S

# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Tehran 3:25:44 - LMT 1916
3:25:44 - TMT 1946 # Tehran Mean Time
Expand Down Expand Up @@ -2111,8 +2127,8 @@ Zone Asia/Kathmandu 5:41:16 - LMT 1920
# http://www.app.com.pk/en_/index.php?option=com_content&task=view&id=99374&Itemid=2

# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Pakistan 2002 only - Apr Sun>=2 0:01 1:00 S
Rule Pakistan 2002 only - Oct Sun>=2 0:01 0 -
Rule Pakistan 2002 only - Apr Sun>=2 0:00 1:00 S
Rule Pakistan 2002 only - Oct Sun>=2 0:00 0 -
Rule Pakistan 2008 only - Jun 1 0:00 1:00 S
Rule Pakistan 2008 2009 - Nov 1 0:00 0 -
Rule Pakistan 2009 only - Apr 15 0:00 1:00 S
Expand Down
1 change: 1 addition & 0 deletions tzdata/backward
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ Link America/Argentina/Mendoza America/Mendoza
Link America/Toronto America/Montreal
Link America/Rio_Branco America/Porto_Acre
Link America/Argentina/Cordoba America/Rosario
Link America/Tijuana America/Santa_Isabel
Link America/Denver America/Shiprock
Link America/Port_of_Spain America/Virgin
Link Pacific/Auckland Antarctica/South_Pole
Expand Down
7 changes: 6 additions & 1 deletion tzdata/backzone
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@

# This file is not intended to be compiled standalone, as it
# assumes rules from other files. In the tz distribution, use
# 'make posix_packrat' to compile this file.
# 'make PACKRATDATA=backzone zones' to compile and install this file.

# Zones are sorted by zone name. Each zone is preceded by the
# name of the country that the zone is in, along with any other
Expand Down Expand Up @@ -279,6 +279,11 @@ Zone America/Aruba -4:40:24 - LMT 1912 Feb 12 # Oranjestad
-4:30 - ANT 1965 # Netherlands Antilles Time
-4:00 - AST

# Cayman Is
Zone America/Cayman -5:25:32 - LMT 1890 # Georgetown
-5:07:11 - KMT 1912 Feb # Kingston Mean Time
-5:00 - EST

# Canada
Zone America/Coral_Harbour -5:32:40 - LMT 1884
-5:00 NT_YK E%sT 1946
Expand Down
2 changes: 1 addition & 1 deletion tzdata/checklinks.awk
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Check links in tz tables.

# Contributed by Paul Eggert.
# Contributed by Paul Eggert. This file is in the public domain.

BEGIN {
# Special marker indicating that the name is defined as a Zone.
Expand Down
4 changes: 2 additions & 2 deletions tzdata/checktab.awk
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Check tz tables for consistency.

# Contributed by Paul Eggert.
# Contributed by Paul Eggert. This file is in the public domain.

BEGIN {
FS = "\t"
Expand Down Expand Up @@ -38,7 +38,7 @@ BEGIN {
}
cc0 = cc
if (name2cc[name]) {
printf "%s:%d: '%s' and '%s' have the sname name\n", \
printf "%s:%d: '%s' and '%s' have the same name\n", \
iso_table, iso_NR, name2cc[name], cc \
>>"/dev/stderr"
status = 1
Expand Down
Loading

0 comments on commit e4297ef

Please sign in to comment.