Skip to content

Commit c64b2d8

Browse files
committed
Merge branch 'tzdb_2022g' into main
2 parents 75024d4 + 1b9bc92 commit c64b2d8

30 files changed

+528
-375
lines changed

settings.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
VZIC_RELEASE_NAME=2022f
2+
VZIC_RELEASE_NAME=2022g
33

44
# The source tzdata is downloaded from this URL.
55
VZIC_TZDATA_ARCHIVE_URL="https://data.iana.org/time-zones/releases/tzdata$VZIC_RELEASE_NAME.tar.gz"

tzdata/Makefile

Lines changed: 34 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,7 @@ PACKRATLIST=
196196
UTF8_LOCALE= en_US.utf8
197197

198198
# Non-default libraries needed to link.
199+
# On some hosts, this should have -lintl unless CFLAGS has -DHAVE_GETTEXT=0.
199200
LDLIBS=
200201

201202
# Add the following to the end of the "CFLAGS=" line as needed to override
@@ -208,14 +209,18 @@ LDLIBS=
208209
# For example, N is 252460800 on AmigaOS.
209210
# -DHAVE_DECL_ASCTIME_R=0 if <time.h> does not declare asctime_r
210211
# -DHAVE_DECL_ENVIRON if <unistd.h> declares 'environ'
212+
# -DHAVE_DECL_TIMEGM=0 if <time.h> does not declare timegm
211213
# -DHAVE_DIRECT_H if mkdir needs <direct.h> (MS-Windows)
212-
# -DHAVE_GENERIC=0 if _Generic does not work
213-
# -DHAVE_GETRANDOM if getgrandom works (e.g., GNU/Linux)*
214-
# -DHAVE_GETTEXT if 'gettext' works (e.g., GNU/Linux, FreeBSD, Solaris)*
214+
# -DHAVE_GENERIC=0 if _Generic does not work*
215+
# -DHAVE_GETRANDOM if getrandom works (e.g., GNU/Linux),
216+
# -DHAVE_GETRANDOM=0 to avoid using getrandom
217+
# -DHAVE_GETTEXT if gettext works (e.g., GNU/Linux, FreeBSD, Solaris),
218+
# where LDLIBS also needs to contain -lintl on some hosts;
219+
# -DHAVE_GETTEXT=0 to avoid using gettext
215220
# -DHAVE_INCOMPATIBLE_CTIME_R if your system's time.h declares
216221
# ctime_r and asctime_r incompatibly with the POSIX standard
217222
# (Solaris when _POSIX_PTHREAD_SEMANTICS is not defined).
218-
# -DHAVE_INTTYPES_H if you have a non-C99 compiler with <inttypes.h>
223+
# -DHAVE_INTTYPES_H=0 if <inttypes.h> does not work*
219224
# -DHAVE_LINK=0 if your system lacks a link function
220225
# -DHAVE_LOCALTIME_R=0 if your system lacks a localtime_r function
221226
# -DHAVE_LOCALTIME_RZ=0 if you do not want zdump to use localtime_rz
@@ -225,15 +230,17 @@ LDLIBS=
225230
# functions like 'link' or variables like 'tzname' required by POSIX
226231
# -DHAVE_SETENV=0 if your system lacks the setenv function
227232
# -DHAVE_SNPRINTF=0 if your system lacks the snprintf function
228-
# -DHAVE_STDINT_H if you have a non-C99 compiler with <stdint.h>*
233+
# -DHAVE_STDCKDINT_H=0 if neither <stdckdint.h> nor substitutes like
234+
# __builtin_add_overflow work*
235+
# -DHAVE_STDINT_H=0 if <stdint.h> does not work*
229236
# -DHAVE_STRFTIME_L if <time.h> declares locale_t and strftime_l
230237
# -DHAVE_STRDUP=0 if your system lacks the strdup function
231238
# -DHAVE_STRTOLL=0 if your system lacks the strtoll function
232239
# -DHAVE_SYMLINK=0 if your system lacks the symlink function
233-
# -DHAVE_SYS_STAT_H=0 if your compiler lacks a <sys/stat.h>*
240+
# -DHAVE_SYS_STAT_H=0 if <sys/stat.h> does not work*
234241
# -DHAVE_TZSET=0 if your system lacks a tzset function
235-
# -DHAVE_UNISTD_H=0 if your compiler lacks a <unistd.h>*
236-
# -DHAVE_UTMPX_H=0 if your compiler lacks a <utmpx.h>*
242+
# -DHAVE_UNISTD_H=0 if <unistd.h> does not work*
243+
# -DHAVE_UTMPX_H=0 if <utmpx.h> does not work*
237244
# -Dlocale_t=XXX if your system uses XXX instead of locale_t
238245
# -DRESERVE_STD_EXT_IDS if your platform reserves standard identifiers
239246
# with external linkage, e.g., applications cannot define 'localtime'.
@@ -280,7 +287,7 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \
280287
-Wdeclaration-after-statement -Wdouble-promotion \
281288
-Wduplicated-branches -Wduplicated-cond \
282289
-Wformat=2 -Wformat-overflow=2 -Wformat-signedness -Wformat-truncation \
283-
-Winit-self -Wlogical-op \
290+
-Wimplicit-fallthrough=5 -Winit-self -Wlogical-op \
284291
-Wmissing-declarations -Wmissing-prototypes -Wnested-externs \
285292
-Wnull-dereference \
286293
-Wold-style-definition -Woverlength-strings -Wpointer-arith \
@@ -293,7 +300,7 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \
293300
-Wtrampolines -Wundef -Wuninitialized -Wunused-macros -Wuse-after-free=3 \
294301
-Wvariadic-macros -Wvla -Wwrite-strings \
295302
-Wno-address -Wno-format-nonliteral -Wno-sign-compare \
296-
-Wno-type-limits -Wno-unused-parameter
303+
-Wno-type-limits
297304
#
298305
# If your system has a "GMT offset" field in its "struct tm"s
299306
# (or if you decide to add such a field in your system's "time.h" file),
@@ -340,14 +347,11 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \
340347
# If you want functions that were inspired by early versions of X3J11's work,
341348
# add
342349
# -DSTD_INSPIRED
343-
# to the end of the "CFLAGS=" line. This arranges for the functions
344-
# "offtime", "timelocal", "timegm", "timeoff",
345-
# "posix2time", and "time2posix" to be added to the time conversion library.
350+
# to the end of the "CFLAGS=" line. This arranges for the following
351+
# functions to be added to the time conversion library.
346352
# "offtime" is like "gmtime" except that it accepts a second (long) argument
347353
# that gives an offset to add to the time_t when converting it.
348354
# "timelocal" is equivalent to "mktime".
349-
# "timegm" is like "timelocal" except that it turns a struct tm into
350-
# a time_t using UT (rather than local time as "timelocal" does).
351355
# "timeoff" is like "timegm" except that it accepts a second (long) argument
352356
# that gives an offset to use when converting to a time_t.
353357
# "posix2time" and "time2posix" are described in an included manual page.
@@ -495,6 +499,11 @@ TARFLAGS= `if tar $(GNUTARFLAGS) --version >/dev/null 2>&1; \
495499
# Flags to give 'gzip' when making a distribution.
496500
GZIPFLAGS= -9n
497501
502+
# When comparing .tzs files, use GNU diff's -F'^TZ=' option if supported.
503+
# This makes it easier to see which Zone has been affected.
504+
DIFF_TZS= diff -u$$(! diff -u -F'^TZ=' - - <>/dev/null >&0 2>&1 \
505+
|| echo ' -F^TZ=')
506+
498507
###############################################################################
499508
500509
#MAKE= make
@@ -773,7 +782,8 @@ tzselect: tzselect.ksh version
773782
chmod +x $@.out
774783
mv $@.out $@
775784
776-
check: check_character_set check_white_space check_links \
785+
check: check_back check_mild
786+
check_mild: check_character_set check_white_space check_links \
777787
check_name_lengths check_slashed_abbrs check_sorted \
778788
check_tables check_web check_ziguard check_zishrink check_tzs
779789
@@ -824,16 +834,19 @@ check_slashed_abbrs: $(TDATA_TO_CHECK)
824834
CHECK_CC_LIST = { n = split($$1,a,/,/); for (i=2; i<=n; i++) print a[1], a[i]; }
825835
826836
check_sorted: backward backzone iso3166.tab zone.tab zone1970.tab
827-
$(AWK) '/^Link/ {printf "%.5d %s\n", g, $$3} /^$$/ {g++}' \
837+
$(AWK) '/^Link/ {printf "%.5d %s\n", g, $$3} !/./ {g++}' \
828838
backward | LC_ALL=C sort -cu
829839
$(AWK) '/^Zone/ {print $$2}' backzone | LC_ALL=C sort -cu
830840
touch $@
831841
832-
check_links: checklinks.awk $(TDATA_TO_CHECK) tzdata.zi
842+
check_back: checklinks.awk $(TDATA_TO_CHECK)
833843
$(AWK) \
834844
-v DATAFORM=$(DATAFORM) \
835845
-v backcheck=backward \
836846
-f checklinks.awk $(TDATA_TO_CHECK)
847+
touch $@
848+
849+
check_links: checklinks.awk tzdata.zi
837850
$(AWK) \
838851
-v DATAFORM=$(DATAFORM) \
839852
-f checklinks.awk tzdata.zi
@@ -849,7 +862,7 @@ check_tables: checktab.awk $(YDATA) backward $(ZONETABLES)
849862
850863
check_tzs: $(TZS) $(TZS_NEW)
851864
if test -s $(TZS); then \
852-
diff -u $(TZS) $(TZS_NEW); \
865+
$(DIFF_TZS) $(TZS) $(TZS_NEW); \
853866
else \
854867
cp $(TZS_NEW) $(TZS); \
855868
fi
@@ -1050,7 +1063,7 @@ $(TIME_T_ALTERNATIVES): $(VERSION_DEPS)
10501063
TZS_YEAR="$$range" TZS_CUTOFF_FLAG="-t $$range" \
10511064
10521065
to$$range.tzs) && \
1053-
diff -u $(TIME_T_ALTERNATIVES_HEAD).dir/to$$range.tzs \
1066+
$(DIFF_TZS) $(TIME_T_ALTERNATIVES_HEAD).dir/to$$range.tzs \
10541067
[email protected]/to$$range.tzs && \
10551068
if diff -q Makefile Makefile 2>/dev/null; then \
10561069
quiet_option='-q'; \
@@ -1220,7 +1233,7 @@ zdump.o: version.h
12201233
zic.o: private.h tzfile.h version.h
12211234
12221235
.PHONY: ALL INSTALL all
1223-
.PHONY: check check_time_t_alternatives
1236+
.PHONY: check check_mild check_time_t_alternatives
12241237
.PHONY: check_web check_zishrink
12251238
.PHONY: clean clean_misc dummy.zd force_tzs
12261239
.PHONY: install install_data maintainer-clean names

tzdata/NEWS

Lines changed: 88 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,91 @@
11
News for the tz database
22

3+
Release 2022g - 2022-11-29 08:58:31 -0800
4+
5+
Briefly:
6+
The northern edge of Chihuahua changes to US timekeeping.
7+
Much of Greenland stops changing clocks after March 2023.
8+
Fix some pre-1996 timestamps in northern Canada.
9+
C89 is now deprecated; please use C99 or later.
10+
Portability fixes for AIX, libintl, MS-Windows, musl, z/OS
11+
In C code, use more C23 features if available.
12+
C23 timegm now supported by default
13+
Fixes for unlikely integer overflows
14+
15+
Changes to future timestamps
16+
17+
In the Mexican state of Chihuahua, the border strip near the US
18+
will change to agree with nearby US locations on 2022-11-30.
19+
The strip's western part, represented by Ciudad Juárez, switches
20+
from -06 all year to -07/-06 with US DST rules, like El Paso, TX.
21+
The eastern part, represented by Ojinaga, will observe US DST next
22+
year, like Presidio, TX. (Thanks to Heitor David Pinto.)
23+
A new Zone America/Ciudad_Juarez splits from America/Ojinaga.
24+
25+
Much of Greenland, represented by America/Nuuk, stops observing
26+
winter time after March 2023, so its daylight saving time becomes
27+
standard time. (Thanks to Jonas Nyrup and Jürgen Appel.)
28+
29+
Changes to past timestamps
30+
31+
Changes for pre-1996 northern Canada (thanks to Chris Walton):
32+
33+
Merge America/Iqaluit and America/Pangnirtung into the former,
34+
with a backward compatibility link for the latter name.
35+
There is no good evidence the two locations differ since 1970.
36+
This change affects pre-1996 America/Pangnirtung timestamps.
37+
38+
Cambridge Bay, Inuvik, Iqaluit, Rankin Inlet, Resolute and
39+
Yellowknife did not observe DST in 1965, and did observe DST
40+
from 1972 through 1979.
41+
42+
Whitehorse moved from -09 to -08 on 1966-02-27, not 1967-05-28.
43+
44+
Colombia's 1993 fallback was 02-06 24:00, not 04-04 00:00.
45+
(Thanks to Alois Treindl.)
46+
47+
Singapore's 1981-12-31 change was at 16:00 UTC (23:30 local time),
48+
not 24:00 local time. (Thanks to Geoff Clare via Robert Elz.)
49+
50+
Changes to code
51+
52+
Although tzcode still works with C89, bugs found in recent routine
53+
maintenance indicate that bitrot has set in and that in practice
54+
C89 is no longer used to build tzcode. As it is a maintenance
55+
burden, support for C89 is planned to be removed soon. Instead,
56+
please use compilers compatible with C99, C11, C17, or C23.
57+
58+
timegm, which tzcode implemented in 1989, will finally be
59+
standardized 34 years later as part of C23, so timegm is now
60+
supported even if STD_INSPIRED is not defined.
61+
62+
Fix bug in zdump's tzalloc emulation on hosts that lack tm_zone.
63+
(Problem reported by Đoàn Trần Công Danh.)
64+
65+
Fix bug in zic on hosts where malloc(0) yields NULL on success.
66+
(Problem reported by Tim McBrayer for AIX 6.1.)
67+
68+
Fix zic configuration to avoid linkage failures on some platforms.
69+
(Problems reported by Gilmore Davidson and Igor Ivanov.)
70+
71+
Work around MS-Windows nmake incompatibility with POSIX.
72+
(Problem reported by Manuela Friedrich.)
73+
74+
Port mktime and strftime to debugging platforms where accessing
75+
uninitialized data has undefined behavior (strftime problem
76+
reported by Robert Elz).
77+
78+
Check more carefully for unlikely integer overflows, preferring
79+
C23 <stdckdint.h> to overflow checking by hand, as the latter has
80+
had obscure bugs.
81+
82+
Changes to build procedure
83+
84+
New Makefile rule check_mild that skips checking whether Link
85+
lines are in the file 'backward'. (Inspired by a suggestion from
86+
Stephen Colebourne.)
87+
88+
389
Release 2022f - 2022-10-28 18:04:57 -0700
490

591
Briefly:
@@ -16,14 +102,15 @@ Release 2022f - 2022-10-28 18:04:57 -0700
16102
In C code, use some C23 features if available.
17103
Remove no-longer-needed workaround for Qt bug 53071.
18104

19-
Changes to future timestamps.
105+
Changes to future timestamps
20106

21107
Mexico will no longer observe DST after 2022, except for areas
22108
near the US border that continue to observe US DST rules.
23109
On 2022-10-30 at 02:00 the Mexican state of Chihuahua moves
24110
from -07 (-06 with DST) to year-round -06, thus not changing
25111
its clocks that day. The new law states that Chihuahua
26112
near the US border no longer observes US DST.
113+
(Thanks to gera for the heads-up about Chihuahua.)
27114

28115
Fiji will not observe DST in 2022/3. (Thanks to Shalvin Narayan.)
29116
For now, assume DST is suspended indefinitely.

tzdata/africa

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -588,6 +588,10 @@ Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
588588
# Agalega Is, Rodriguez
589589
# no information; probably like Indian/Mauritius
590590

591+
592+
# Morocco
593+
# See Africa/Ceuta for Spanish Morocco.
594+
591595
# From Alex Krivenyshev (2008-05-09):
592596
# Here is an article that Morocco plan to introduce Daylight Saving Time between
593597
# 1 June, 2008 and 27 September, 2008.

tzdata/asia

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3585,7 +3585,7 @@ Zone Asia/Singapore 6:55:25 - LMT 1901 Jan 1
35853585
7:20 - +0720 1941 Sep 1
35863586
7:30 - +0730 1942 Feb 16
35873587
9:00 - +09 1945 Sep 12
3588-
7:30 - +0730 1982 Jan 1
3588+
7:30 - +0730 1981 Dec 31 16:00u
35893589
8:00 - +08
35903590

35913591
# Spratly Is

tzdata/backward

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,7 @@ Link America/Tijuana America/Ensenada
267267
Link America/Indiana/Indianapolis America/Fort_Wayne
268268
Link America/Toronto America/Montreal
269269
Link America/Toronto America/Nipigon
270+
Link America/Iqaluit America/Pangnirtung
270271
Link America/Rio_Branco America/Porto_Acre
271272
Link America/Winnipeg America/Rainy_River
272273
Link America/Argentina/Cordoba America/Rosario

tzdata/backzone

Lines changed: 54 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@
77
# [email protected] for general use in the future). For more, please see
88
# the file CONTRIBUTING in the tz distribution.
99

10+
# When proposing changes to this file, please use 'git format-patch'
11+
# format, either by attaching the resulting .patch file to your email,
12+
# or by using 'git send-email'. This will help maintainers save time.
13+
1014

1115
# From Paul Eggert (2014-10-31):
1216

@@ -750,6 +754,55 @@ Zone America/Nipigon -5:53:04 - LMT 1895
750754
-5:00 1:00 EDT 1942 Feb 9 2:00s
751755
-5:00 Canada E%sT
752756

757+
# From Rives McDow (1999-11-08):
758+
# On October 31, when the rest of Nunavut went to Central time,
759+
# Pangnirtung wobbled. Here is the result of their wobble:
760+
#
761+
# The following businesses and organizations in Pangnirtung use Central Time:
762+
#
763+
# First Air, Power Corp, Nunavut Construction, Health Center, RCMP,
764+
# Eastern Arctic National Parks, A & D Specialist
765+
#
766+
# The following businesses and organizations in Pangnirtung use Eastern Time:
767+
#
768+
# Hamlet office, All other businesses, Both schools, Airport operator
769+
#
770+
# This has made for an interesting situation there, which warranted the news.
771+
# No one there that I spoke with seems concerned, or has plans to
772+
# change the local methods of keeping time, as it evidently does not
773+
# really interfere with any activities or make things difficult locally.
774+
# They plan to celebrate New Year's turn-over twice, one hour apart,
775+
# so it appears that the situation will last at least that long.
776+
# The Nunavut Intergovernmental Affairs hopes that they will "come to
777+
# their senses", but the locals evidently don't see any problem with
778+
# the current state of affairs.
779+
780+
# From Michaela Rodrigue, writing in the
781+
# Nunatsiaq News (1999-11-19):
782+
# http://www.nunatsiaqonline.ca/archives/nunavut991130/nvt91119_17.html
783+
# Clyde River, Pangnirtung and Sanikiluaq now operate with two time zones,
784+
# central - or Nunavut time - for government offices, and eastern time
785+
# for municipal offices and schools.... Igloolik [was similar but then]
786+
# made the switch to central time on Saturday, Nov. 6.
787+
788+
# From Chris Walton (2022-11-06):
789+
# The implication is that Pangnirtung and Qikiqtarjuaq have observed Eastern
790+
# Time as far back as 1984 (and likely even further back than that).
791+
# It is possible that these communities never actually observed Atlantic
792+
# Time, but that would be difficult to prove.
793+
# From Paul Eggert (2022-11-06):
794+
# This is in 'backzone' as we have no good evidence that Pangnirtung differs
795+
# from America/Iqaluit since 1970. A Google Books snippet view of
796+
# volume 2, page 186 of "Pilot of Arctic Canada", published 1959 by
797+
# the Canadian Hydrographic Service, suggests (though does not state)
798+
# that Pangnirtung observed EST then.
799+
#
800+
# aka Panniqtuuq
801+
Zone America/Pangnirtung 0 - -00 1921 # trading post est.
802+
-5:00 NT_YK E%sT 1999 Oct 31 2:00
803+
-6:00 Canada C%sT 2000 Oct 29 2:00
804+
-5:00 Canada E%sT
805+
753806
# United States
754807
#
755808
# From Paul Eggert (2018-03-18):
@@ -1043,7 +1096,7 @@ Zone Asia/Kuala_Lumpur 6:46:46 - LMT 1901 Jan 1
10431096
7:20 - +0720 1941 Sep 1
10441097
7:30 - +0730 1942 Feb 16
10451098
9:00 - +09 1945 Sep 12
1046-
7:30 - +0730 1982 Jan 1
1099+
7:30 - +0730 1981 Dec 31 16:00u
10471100
8:00 - +08
10481101

10491102
# Kuwait

0 commit comments

Comments
 (0)