Skip to content

Commit e4297ef

Browse files
author
GitHub Actions
committed
Update tzdata and zoneinfo to version 2016a.
1 parent e9b9b80 commit e4297ef

23 files changed

+245
-225
lines changed

tzdata/CONTRIBUTING

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,7 @@ Git repository. If you use Git the following workflow may be helpful:
6767
Please do not create issues or pull requests on GitHub, as the
6868
proper procedure for proposing and distributing patches is via
6969
email as illustrated above.
70+
71+
-----
72+
73+
This file is in the public domain.

tzdata/LICENSE

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
With a few exceptions, all files in the tz code and data (including
2+
this one) are in the public domain. The exceptions are tzcode's
3+
date.c, newstrftime.3, and strftime.c, which contain material derived
4+
from BSD and which use the BSD 3-clause license.

tzdata/Makefile

Lines changed: 59 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
PACKAGE= tzcode
66

77
# Version numbers of the code and data distributions.
8-
VERSION= 2015g
8+
VERSION= 2016a
99

1010
# Email address for bug reports.
1111
@@ -84,14 +84,18 @@ LIBDIR= $(TOPDIR)/lib
8484
# below. If you want both sets of data available, with leap seconds counted
8585
# normally, use
8686
# REDO= right_posix
87-
# below. If you want just POSIX-compatible time values, but with
88-
# out-of-scope and often-wrong data from the file 'backzone', use
89-
# REDO= posix_packrat
90-
# POSIX mandates that leap seconds not be counted; for compatibility with it,
91-
# use "posix_only", "posix_right", or "posix_packrat".
87+
# below. POSIX mandates that leap seconds not be counted; for compatibility
88+
# with it, use "posix_only" or "posix_right".
9289

9390
REDO= posix_right
9491

92+
# If you want out-of-scope and often-wrong data from the file 'backzone', use
93+
# PACKRATDATA= backzone
94+
# To omit this data, use
95+
# PACKRATDATA=
96+
97+
PACKRATDATA=
98+
9599
# Since "." may not be in PATH...
96100

97101
YEARISTYPE= ./yearistype
@@ -236,11 +240,22 @@ CFLAGS=
236240

237241
LDFLAGS= $(LFLAGS)
238242

243+
# For leap seconds, this Makefile uses LEAPSECONDS='-L leapseconds' in
244+
# submake command lines. The default is no leap seconds.
245+
246+
LEAPSECONDS=
247+
248+
# The zic command and its arguments.
249+
239250
zic= ./zic
240251
ZIC= $(zic) $(ZFLAGS)
241252

242253
ZFLAGS=
243254

255+
# How to use zic to install tzdata binary files.
256+
257+
ZIC_INSTALL= $(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR) $(LEAPSECONDS)
258+
244259
# The name of a Posix-compliant 'awk' on your system.
245260
AWK= awk
246261

@@ -344,7 +359,7 @@ MANTXTS= newctime.3.txt newstrftime.3.txt newtzset.3.txt \
344359
time2posix.3.txt \
345360
tzfile.5.txt tzselect.8.txt zic.8.txt zdump.8.txt \
346361
date.1.txt
347-
COMMON= CONTRIBUTING Makefile NEWS README Theory
362+
COMMON= CONTRIBUTING LICENSE Makefile NEWS README Theory
348363
WEB_PAGES= tz-art.htm tz-link.htm
349364
DOCS= $(MANS) date.1 $(MANTXTS) $(WEB_PAGES)
350365
PRIMARY_YDATA= africa antarctica asia australasia \
@@ -366,7 +381,7 @@ ENCHILADA= $(COMMON) $(DOCS) $(SOURCES) $(DATA) $(MISC)
366381
367382
SHELL= /bin/sh
368383
369-
all: tzselect zic zdump libtz.a $(TABDATA)
384+
all: tzselect yearistype zic zdump libtz.a $(TABDATA)
370385
371386
ALL: all date $(ENCHILADA)
372387
@@ -375,8 +390,7 @@ install: all $(DATA) $(REDO) $(MANS)
375390
$(DESTDIR)$(LIBDIR) \
376391
$(DESTDIR)$(MANDIR)/man3 $(DESTDIR)$(MANDIR)/man5 \
377392
$(DESTDIR)$(MANDIR)/man8
378-
$(ZIC) -y $(YEARISTYPE) \
379-
-d $(DESTDIR)$(TZDIR) -l $(LOCALTIME) -p $(POSIXRULES)
393+
$(ZIC_INSTALL) -l $(LOCALTIME) -p $(POSIXRULES)
380394
cp -f iso3166.tab $(ZONETABLES) $(DESTDIR)$(TZDIR)/.
381395
cp tzselect zic zdump $(DESTDIR)$(ETCDIR)/.
382396
cp libtz.a $(DESTDIR)$(LIBDIR)/.
@@ -398,7 +412,7 @@ version.h:
398412
zdump: $(TZDOBJS)
399413
$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TZDOBJS) $(LDLIBS)
400414
401-
zic: $(TZCOBJS) yearistype
415+
zic: $(TZCOBJS)
402416
$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TZCOBJS) $(LDLIBS)
403417
404418
yearistype: yearistype.sh
@@ -408,13 +422,28 @@ yearistype: yearistype.sh
408422
leapseconds: $(LEAP_DEPS)
409423
$(AWK) -f leapseconds.awk leap-seconds.list >$@
410424
411-
posix_only: zic $(TDATA)
412-
$(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR) \
413-
-L /dev/null $(TDATA)
414-
415-
right_only: zic leapseconds $(TDATA)
416-
$(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR) \
417-
-L leapseconds $(TDATA)
425+
# Arguments to pass to submakes of install_data.
426+
# They can be overridden by later submake arguments.
427+
INSTALLARGS = \
428+
DESTDIR=$(DESTDIR) \
429+
LEAPSECONDS='$(LEAPSECONDS)' \
430+
PACKRATDATA='$(PACKRATDATA)' \
431+
TZDIR=$(TZDIR) \
432+
YEARISTYPE=$(YEARISTYPE) \
433+
ZIC='$(ZIC)'
434+
435+
# 'make install_data' installs one set of tz binary files.
436+
# It can be tailored by setting LEAPSECONDS, PACKRATDATA, etc.
437+
install_data: zic leapseconds yearistype $(PACKRATDATA) $(TDATA)
438+
$(ZIC_INSTALL) $(TDATA)
439+
$(AWK) '/^Rule/' $(TDATA) | $(ZIC_INSTALL) - $(PACKRATDATA)
440+
441+
posix_only:
442+
$(MAKE) $(INSTALLARGS) LEAPSECONDS= install_data
443+
444+
right_only:
445+
$(MAKE) $(INSTALLARGS) LEAPSECONDS='-L leapseconds' \
446+
install_data
418447
419448
# In earlier versions of this makefile, the other two directories were
420449
# subdirectories of $(TZDIR). However, this led to configuration errors.
@@ -425,26 +454,22 @@ right_only: zic leapseconds $(TDATA)
425454
# Therefore, the other two directories are now siblings of $(TZDIR).
426455
# You must replace all of $(TZDIR) to switch from not using leap seconds
427456
# to using them, or vice versa.
428-
right_posix: right_only leapseconds
457+
right_posix: right_only
429458
rm -fr $(DESTDIR)$(TZDIR)-leaps
430459
ln -s $(TZDIR_BASENAME) $(DESTDIR)$(TZDIR)-leaps || \
431-
$(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR)-leaps \
432-
-L leapseconds $(TDATA)
433-
$(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR)-posix \
434-
-L /dev/null $(TDATA)
460+
$(MAKE) $(INSTALLARGS) TZDIR=$(TZDIR)-leaps right_only
461+
$(MAKE) $(INSTALLARGS) TZDIR=$(TZDIR)-posix posix_only
435462
436-
posix_right: posix_only leapseconds
463+
posix_right: posix_only
437464
rm -fr $(DESTDIR)$(TZDIR)-posix
438465
ln -s $(TZDIR_BASENAME) $(DESTDIR)$(TZDIR)-posix || \
439-
$(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR)-posix \
440-
-L /dev/null $(TDATA)
441-
$(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR)-leaps \
442-
-L leapseconds $(TDATA)
466+
$(MAKE) $(INSTALLARGS) TZDIR=$(TZDIR)-posix posix_only
467+
$(MAKE) $(INSTALLARGS) TZDIR=$(TZDIR)-leaps right_only
443468
444-
posix_packrat: posix_only backzone
445-
$(AWK) '/^Rule/' $(TDATA) | \
446-
$(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR) \
447-
-L /dev/null - backzone
469+
# This obsolescent rule is present for backwards compatibility with
470+
# tz releases 2014g through 2015g. It should go away eventually.
471+
posix_packrat:
472+
$(MAKE) $(INSTALLARGS) PACKRATDATA=backzone posix_only
448473
449474
zones: $(REDO)
450475
@@ -660,6 +685,7 @@ zic.o: private.h tzfile.h version.h
660685
.PHONY: check check_character_set check_links
661686
.PHONY: check_public check_sorted check_tables
662687
.PHONY: check_time_t_alternatives check_web check_white_space clean clean_misc
663-
.PHONY: install maintainer-clean names posix_packrat posix_only posix_right
688+
.PHONY: install install_data maintainer-clean names
689+
.PHONY: posix_only posix_packrat posix_right
664690
.PHONY: public right_only right_posix signatures tarballs typecheck
665691
.PHONY: zonenames zones

tzdata/NEWS

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,60 @@
11
News for the tz database
22

3+
Release 2016a - 2016-01-26 23:28:02 -0800
4+
5+
Changes affecting future time stamps
6+
7+
America/Cayman will not observe daylight saving this year after all.
8+
Revert our guess that it would. (Thanks to Matt Johnson.)
9+
10+
Asia/Chita switches from +0800 to +0900 on 2016-03-27 at 02:00.
11+
(Thanks to Alexander Krivenyshev.)
12+
13+
Asia/Tehran now has DST predictions for the year 2038 and later,
14+
to be March 21 00:00 to September 21 00:00. This is likely better
15+
than predicting no DST, albeit off by a day every now and then.
16+
17+
Changes affecting past and future time stamps
18+
19+
America/Metlakatla switched from PST all year to AKST/AKDT on
20+
2015-11-01 at 02:00. (Thanks to Steffen Thorsen.)
21+
22+
America/Santa_Isabel has been removed, and replaced with a
23+
backward compatibility link to America/Tijuana. Its contents were
24+
apparently based on a misreading of Mexican legislation.
25+
26+
Changes affecting past time stamps
27+
28+
Asia/Karachi's two transition times in 2002 were off by a minute.
29+
(Thanks to Matt Johnson.)
30+
31+
Changes affecting build procedure
32+
33+
An installer can now combine leap seconds with use of the backzone file,
34+
e.g., with 'make PACKRATDATA=backzone REDO=posix_right zones'.
35+
The old 'make posix_packrat' rule is now marked as obsolescent.
36+
(Thanks to Ian Abbott for an initial implementation.)
37+
38+
Changes affecting documentation and commentary
39+
40+
A new file LICENSE makes it easier to see that the code and data
41+
are mostly public-domain. (Thanks to James Knight.) The three
42+
non-public-domain files now use the current (3-clause) BSD license
43+
instead of older versions of that license.
44+
45+
tz-link.htm mentions the BDE library (thanks to Andrew Paprocki),
46+
CCTZ (thanks to Tim Parenti), TimeJones.com, and has a new section
47+
on editing tz source files (with a mention of Sublime zoneinfo,
48+
thanks to Gilmore Davidson).
49+
50+
The Theory and asia files now mention the 2015 book "The Global
51+
Transformation of Time, 1870-1950", and cite a couple of reviews.
52+
53+
The America/Chicago entry now documents the informal use of US
54+
central time in Fort Pierre, South Dakota. (Thanks to Rick
55+
McDermid, Matt Johnson, and Steve Jones.)
56+
57+
358
Release 2015g - 2015-10-01 00:39:51 -0700
459

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

84+
On hosts with signed 32-bit time_t, localtime no longer mishandles
85+
Pacific/Fiji after 2038-01-16 14:00 UTC.
86+
2987
The localtime module allows the variables 'timezone', 'daylight',
3088
and 'altzone' to be in common storage shared with other modules,
3189
and declares them in case the system <time.h> does not.

tzdata/README

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,6 @@ locations around the globe. It is updated periodically to reflect
1010
changes made by political bodies to time zone boundaries, UTC offsets,
1111
and daylight-saving rules.
1212

13-
Unless otherwise specified, all files in the tz code and data are in
14-
the public domain, so clarified as of 2009-05-17 by Arthur David Olson.
15-
The few exceptions are code derived from BSD, which uses the BSD license.
16-
1713
Here is a recipe for acquiring, building, installing, and testing the
1814
tz distribution on a GNU/Linux or similar host.
1915

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

6157
Please send comments or information to [email protected].
58+
59+
-----
60+
61+
This file is in the public domain, so clarified as of 2009-05-17 by
62+
Arthur David Olson. The other files in this distribution are either
63+
public domain or BSD licensed; see the file LICENSE for details.

tzdata/Theory

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,15 @@ Errors in the tz database arise from many sources:
263263
be needed if the tz database's scope were extended to cover even
264264
just the known or guessed history of standard time; for example,
265265
the current single entry for France would need to split into dozens
266-
of entries, perhaps hundreds.
266+
of entries, perhaps hundreds. And in most of the world even this
267+
approach would be misleading due to widespread disagreement or
268+
indifference about what times should be observed. In her 2015 book
269+
"The Global Transformation of Time, 1870-1950", Vanessa Ogle writes
270+
"Outside of Europe and North America there was no system of time
271+
zones at all, often not even a stable landscape of mean times,
272+
prior to the middle decades of the twentieth century". See:
273+
Timothy Shenk, Booked: A Global History of Time. Dissent 2015-12-17
274+
https://www.dissentmagazine.org/blog/booked-a-global-history-of-time-vanessa-ogle
267275

268276
* Most of the pre-1970 data entries come from unreliable sources, often
269277
astrology books that lack citations and whose compilers evidently

tzdata/asia

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -874,6 +874,15 @@ Zone Asia/Dili 8:22:20 - LMT 1912 Jan 1
874874
9:00 - TLT
875875

876876
# India
877+
878+
# From Ian P. Beacock, in "A brief history of (modern) time", The Atlantic
879+
# http://www.theatlantic.com/technology/archive/2015/12/the-creation-of-modern-time/421419/
880+
# (2015-12-22):
881+
# In January 1906, several thousand cotton-mill workers rioted on the
882+
# outskirts of Bombay.... They were protesting the proposed abolition of
883+
# local time in favor of Indian Standard Time.... Journalists called this
884+
# dispute the "Battle of the Clocks." It lasted nearly half a century.
885+
877886
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
878887
Zone Asia/Kolkata 5:53:28 - LMT 1880 # Kolkata
879888
5:53:20 - HMT 1941 Oct # Howrah Mean Time?
@@ -1084,8 +1093,15 @@ Rule Iran 2032 2033 - Mar 21 0:00 1:00 D
10841093
Rule Iran 2032 2033 - Sep 21 0:00 0 S
10851094
Rule Iran 2034 2035 - Mar 22 0:00 1:00 D
10861095
Rule Iran 2034 2035 - Sep 22 0:00 0 S
1087-
Rule Iran 2036 2037 - Mar 21 0:00 1:00 D
1088-
Rule Iran 2036 2037 - Sep 21 0:00 0 S
1096+
#
1097+
# The following rules are approximations starting in the year 2038.
1098+
# These are the best post-2037 approximations available, given the
1099+
# restrictions of a single rule using a Gregorian-based data format.
1100+
# At some point this table will need to be extended, though quite
1101+
# possibly Iran will change the rules first.
1102+
Rule Iran 2036 max - Mar 21 0:00 1:00 D
1103+
Rule Iran 2036 max - Sep 21 0:00 0 S
1104+
10891105
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
10901106
Zone Asia/Tehran 3:25:44 - LMT 1916
10911107
3:25:44 - TMT 1946 # Tehran Mean Time
@@ -2111,8 +2127,8 @@ Zone Asia/Kathmandu 5:41:16 - LMT 1920
21112127
# http://www.app.com.pk/en_/index.php?option=com_content&task=view&id=99374&Itemid=2
21122128

21132129
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
2114-
Rule Pakistan 2002 only - Apr Sun>=2 0:01 1:00 S
2115-
Rule Pakistan 2002 only - Oct Sun>=2 0:01 0 -
2130+
Rule Pakistan 2002 only - Apr Sun>=2 0:00 1:00 S
2131+
Rule Pakistan 2002 only - Oct Sun>=2 0:00 0 -
21162132
Rule Pakistan 2008 only - Jun 1 0:00 1:00 S
21172133
Rule Pakistan 2008 2009 - Nov 1 0:00 0 -
21182134
Rule Pakistan 2009 only - Apr 15 0:00 1:00 S

tzdata/backward

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ Link America/Argentina/Mendoza America/Mendoza
2323
Link America/Toronto America/Montreal
2424
Link America/Rio_Branco America/Porto_Acre
2525
Link America/Argentina/Cordoba America/Rosario
26+
Link America/Tijuana America/Santa_Isabel
2627
Link America/Denver America/Shiprock
2728
Link America/Port_of_Spain America/Virgin
2829
Link Pacific/Auckland Antarctica/South_Pole

tzdata/backzone

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131

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

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

282+
# Cayman Is
283+
Zone America/Cayman -5:25:32 - LMT 1890 # Georgetown
284+
-5:07:11 - KMT 1912 Feb # Kingston Mean Time
285+
-5:00 - EST
286+
282287
# Canada
283288
Zone America/Coral_Harbour -5:32:40 - LMT 1884
284289
-5:00 NT_YK E%sT 1946

tzdata/checklinks.awk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Check links in tz tables.
22

3-
# Contributed by Paul Eggert.
3+
# Contributed by Paul Eggert. This file is in the public domain.
44

55
BEGIN {
66
# Special marker indicating that the name is defined as a Zone.

0 commit comments

Comments
 (0)