Skip to content

Commit 9e15fad

Browse files
committed
Squashed 'tz/' changes from d2c79c4bc..e6150f292
95ecc37d2 Release 2022a d90452ece * NEWS: Add 2022a "Briefly". 44b73f770 * NEWS: Coalesce Palestine entries. 049044d77 * zdump.c: Fix date typo in comment. e8681e760 Adjust Chile LMT; expand 1946/1947 commentary 0caefb646 Revert "Chile’s Magallanes was like Santiago in 1946/7" 22a2dca72 URL housekeeping 6d6a21f59 Chile’s Magallanes was like Santiago in 1946/7 f4b156691 Palestine springs forward a day later cac76bf92 Fix white space. 318759658 Add URLs to Morocco commentary (thanks to Milamber) 6ff7b3502 Fix French typo 88d2c3909 Fix Lubumbashi between 1897 and 1929 7f60edb1d * private.h (UNINIT_TRAP): Add comment. db9347fbb Fix processing of TZif truncation df4699ddf Add comments on Russia in 1981 (thanks to Alois Treindl) 4117b20d0 Simplify Ukraine metadata 93dcac0c6 Ukraine’s 1992/1996 DST changes 02:00s not 01:00u b74f54452 dumptime’s argument is always nonnull now 3a11c9cc2 I18nize zdump a bit better a12823400 Improve doc for some source files 0b8077257 Simplify recent zdump port 80096e016 zdump ports better to odd C11 platforms b6f92f762 zdump -v reports localtime+gmtime failures better e3c58df90 * Makefile (AWK): Warn re mawk 1.3.3 (thanks to Jonathan Ben Avraham) 9c8cb5d76 No leap second on 2022-06-30 cec7d9e2e Improve rearguard port of post-2087 Morocco 01eeac6b0 zic: omit parens that the C standard doesn’t allow 6cfaa796e Fix "el ds" typo in man pages aa9c4662f * CONTRIBUTING: Move pull request insns to start. 4292b9320 Convert CONTRIBUTING back to plain text b0c24fad4 Rename CONTRIBUTING.md back to CONTRIBUTING 7a200f2b3 Fix Y2242 bug in tzdb tarball generation 5f6467141 Support busybox awk 8407d785a Port zic to Solaris 10 automounts b10ff6d60 Port tzselect to Solaris 10 /bin/sh e4a46da99 Simplify tzselect by omitting old Bash workaround ee44afb40 Distribute tarballs in ustar rather than gnu form 68b99887d Remove duplicate Trinidad and Tobago comment f6c9f51fa Fix minor formatting inconsistencies 3fdd3c482 Rename CONTRIBUTING to CONTRIBUTING.md b0de1570e Switch to Markdown format 228a93f75 Remove bad backzone link for US Virgin Is 8b409e22d Be more generous when dealing with v1 data e5a4add00 Fix uninitialized variable bug 1a4a7eab6 spelling fix 0b13c6b41 Update Palestine commentary 59467e337 Improve Palestine predictions for 2025 and later b102002e5 Release 2021e d86edaf12 Palestine falls back October 29 01:00. 8da2e33e0 Palestine falls back October 28 24:00 4de3d7f24 Release 2021d 951b4f301 * NEWS: Reformat to fit in fewer columns. 5f06f9a31 zic -r now uses -00 for unspecified timestamps f8c660ce6 Simplify zic writezone slightly bdeb83438 Document that -00 means local time is unspecified f74940d96 Fiji suspends DST for the 2021/2022 season 0bf5a761f Fix zic.8 typos 868ba546b Correct spelling of "Treindl" (thanks to Steffen Nurpmeso) e5d72c0f9 Clarify comments re Rome in April 1944 git-subtree-dir: tz git-subtree-split: e6150f292f19c33ae136f70464d6075c41a1a5f3
1 parent 8e18f04 commit 9e15fad

28 files changed

+511
-211
lines changed

CONTRIBUTING

Lines changed: 34 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,58 @@
1-
Contributing to the tz code and data
1+
# Contributing to the tz code and data
2+
3+
Please do not create issues or pull requests on GitHub, as the
4+
proper procedure for proposing and distributing patches is via
5+
email as described below.
26

37
The time zone database is by no means authoritative: governments
48
change timekeeping rules erratically and sometimes with little
59
warning, the data entries do not cover all of civil time before
610
1970, and undoubtedly errors remain in the code and data. Feel
711
free to fill gaps or fix mistakes, and please email improvements
8-
to [email protected] for use in the future. In your email, please give
12+
to <[email protected]> for use in the future. In your email, please give
913
reliable sources that reviewers can check.
1014

11-
-----
12-
13-
Developers can contribute technical changes to the source code and
14-
data as follows.
15+
## Contributing technical changes
1516

1617
To email small changes, please run a POSIX shell command like
1718
'diff -u old/europe new/europe >myfix.patch', and attach
18-
myfix.patch to the email.
19+
'myfix.patch' to the email.
1920

2021
For more-elaborate or possibly-controversial changes,
2122
such as renaming, adding or removing zones, please read
22-
<https://www.iana.org/time-zones/repository/theory.html> or the file
23-
theory.html. It is also good to browse the mailing list archives
23+
"Theory and pragmatics of the tz code and data"
24+
<https://www.iana.org/time-zones/repository/theory.html>.
25+
It is also good to browse the mailing list archives
2426
<https://mm.icann.org/pipermail/tz/> for examples of patches that tend
2527
to work well. Additions to data should contain commentary citing
26-
reliable sources as justification. Citations should use https: URLs
28+
reliable sources as justification. Citations should use "https:" URLs
2729
if available.
2830

2931
For changes that fix sensitive security-related bugs, please see the
30-
file SECURITY.
32+
distribution's 'SECURITY' file.
3133

32-
Please submit changes against either the latest release in
34+
Please submit changes against either the latest release
3335
<https://www.iana.org/time-zones> or the main branch of the development
34-
repository. The latter is preferred. If you use Git the following
35-
workflow may be helpful:
36+
repository. The latter is preferred.
37+
38+
## Sample Git workflow for developing contributions
39+
40+
If you use Git the following workflow may be helpful:
3641

3742
* Copy the development repository.
3843

39-
git clone https://github.com/eggert/tz.git
40-
cd tz
44+
git clone https://github.com/eggert/tz.git
45+
cd tz
4146

4247
* Get current with the main branch.
4348

44-
git checkout main
45-
git pull
49+
git checkout main
50+
git pull
4651

4752
* Switch to a new branch for the changes. Choose a different
4853
branch name for each change set.
4954

50-
git checkout -b mybranch
55+
git checkout -b mybranch
5156

5257
* Sleuth by using 'git blame'. For example, when fixing data for
5358
Africa/Sao_Tome, if the command 'git blame africa' outputs a line
@@ -60,36 +65,33 @@ workflow may be helpful:
6065

6166
* Debug the changes, e.g.:
6267

63-
make check
64-
make install
65-
./zdump -v America/Los_Angeles
68+
make check
69+
make install
70+
./zdump -v America/Los_Angeles
6671

6772
* For each separable change, commit it in the new branch, e.g.:
6873

69-
git add northamerica
70-
git commit
74+
git add northamerica
75+
git commit
7176

7277
See recent 'git log' output for the commit-message style.
7378

74-
* Create patch files 0001-*, 0002-*, ...
79+
* Create patch files 0001-..., 0002-..., ...
7580

76-
git format-patch main
81+
git format-patch main
7782

78-
* After reviewing the patch files, send the patches to [email protected]
83+
* After reviewing the patch files, send the patches to <[email protected]>
7984
for others to review.
8085

81-
git send-email main
86+
git send-email main
8287

8388
For an archived example of such an email, see
89+
"[PROPOSED] Fix off-by-1 error for Jamaica and T&C before 1913"
8490
<https://mm.icann.org/pipermail/tz/2018-February/026122.html>.
8591

8692
* Start anew by getting current with the main branch again
8793
(the second step above).
8894

89-
Please do not create issues or pull requests on GitHub, as the
90-
proper procedure for proposing and distributing patches is via
91-
email as illustrated above.
92-
9395
-----
9496

9597
This file is in the public domain.

Makefile

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -399,9 +399,10 @@ ZFLAGS=
399399
ZIC_INSTALL= $(ZIC) -d '$(DESTDIR)$(TZDIR)' $(LEAPSECONDS)
400400

401401
# The name of a Posix-compliant 'awk' on your system.
402-
# Older 'mawk' versions, such as the 'mawk' in Ubuntu 16.04, might dump core;
403-
# on Ubuntu you can work around this with
404-
# AWK= gawk
402+
# mawk 1.3.3 and Solaris 10 /usr/bin/awk do not work.
403+
# Also, it is better (though not essential) if 'awk' supports UTF-8,
404+
# and unfortunately mawk and busybox awk do not support UTF-8.
405+
# Try AWK=gawk or AWK=nawk if your awk has the abovementioned problems.
405406
AWK= awk
406407

407408
# The full path name of a Posix-compliant shell, preferably one that supports
@@ -466,7 +467,9 @@ OK_LINE= '^'$(OK_CHAR)'*$$'
466467
467468
# Flags to give 'tar' when making a distribution.
468469
# Try to use flags appropriate for GNU tar.
469-
GNUTARFLAGS= --numeric-owner --owner=0 --group=0 --mode=go+u,go-w --sort=name
470+
GNUTARFLAGS= --format=pax --pax-option='delete=atime,delete=ctime' \
471+
--numeric-owner --owner=0 --group=0 \
472+
--mode=go+u,go-w --sort=name
470473
TARFLAGS= `if tar $(GNUTARFLAGS) --version >/dev/null 2>&1; \
471474
then echo $(GNUTARFLAGS); \
472475
else :; \
@@ -742,7 +745,7 @@ date: $(DATEOBJS)
742745
tzselect: tzselect.ksh version
743746
VERSION=`cat version` && sed \
744747
-e 's|#!/bin/bash|#!$(KSHELL)|g' \
745-
-e 's|AWK=[^}]*|AWK=$(AWK)|g' \
748+
-e 's|AWK=[^}]*|AWK='\''$(AWK)'\''|g' \
746749
-e 's|\(PKGVERSION\)=.*|\1='\''($(PACKAGE)) '\''|' \
747750
-e 's|\(REPORT_BUGS_TO\)=.*|\1=$(BUGEMAIL)|' \
748751
-e 's|TZDIR=[^}]*|TZDIR=$(TZDIR)|' \

NEWS

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

3+
Release 2022a - 2022-03-15 23:02:01 -0700
4+
5+
Briefly:
6+
Palestine will spring forward on 2022-03-27, not -03-26.
7+
zdump -v now outputs better failure indications.
8+
Bug fixes for code that reads corrupted TZif data.
9+
10+
Changes to future timestamps
11+
12+
Palestine will spring forward on 2022-03-27, not 2022-03-26.
13+
(Thanks to Heba Hamad.) Predict future transitions for first
14+
Sunday >= March 25. Additionally, predict fallbacks to be the first
15+
Friday on or after October 23, not October's last Friday, to be more
16+
consistent with recent practice. The first differing fallback
17+
prediction is on 2025-10-24, not 2025-10-31.
18+
19+
Changes to past timestamps
20+
21+
From 1992 through spring 1996, Ukraine's DST transitions were at
22+
02:00 standard time, not at 01:00 UTC. (Thanks to Alois Treindl.)
23+
24+
Chile's Santiago Mean Time and its LMT precursor have been adjusted
25+
eastward by 1 second to align with past and present law.
26+
27+
Changes to commentary
28+
29+
Add several references for Chile's 1946/1947 transitions, some of
30+
which only affected portions of the country.
31+
32+
Changes to code
33+
34+
Fix bug when mktime gets confused by truncated TZif files with
35+
unspecified local time. (Problem reported by Almaz Mingaleev.)
36+
37+
Fix bug when 32-bit time_t code reads malformed 64-bit TZif data.
38+
(Problem reported by Christos Zoulas.)
39+
40+
When reading a version 2 or later TZif file, the TZif reader now
41+
validates the version 1 header and data block only enough to skip
42+
over them, as recommended by RFC 8536 section 4. Also, the TZif
43+
reader no longer mistakenly attempts to parse a version 1 TZIf
44+
file header as a TZ string.
45+
46+
zdump -v now outputs "(localtime failed)" and "(gmtime failed)"
47+
when local time and UT cannot be determined for a timestamp.
48+
49+
Changes to build procedure
50+
51+
Distribution tarballs now use standard POSIX.1-1988 ustar format
52+
instead of GNU format. Although the formats are almost identical
53+
for these tarballs, ustar headers' magic fields contain "ustar"
54+
instead of "ustar ", and their version fields contain "00" instead
55+
of " ". The two formats are planned to diverge more significantly
56+
for tzdb releases after 2242-03-16 12:56:31 UTC, when the ustar
57+
format becomes obsolete and the tarballs switch to pax format, an
58+
extension of ustar. For details about these formats, please see
59+
"pax - portable archive interchange", IEEE Std 1003.1-2017,
60+
<https://pubs.opengroup.org/onlinepubs/9699919799/utilities/pax.html#tag_20_92_13>.
61+
62+
63+
Release 2021e - 2021-10-21 18:41:00 -0700
64+
65+
Changes to future timestamps
66+
67+
Palestine will fall back 10-29 (not 10-30) at 01:00.
68+
(Thanks to P Chan and Heba Hemad.)
69+
70+
71+
Release 2021d - 2021-10-15 13:48:18 -0700
72+
73+
Briefly:
74+
Fiji suspends DST for the 2021/2022 season.
75+
'zic -r' marks unspecified timestamps with "-00".
76+
77+
Changes to future timestamps
78+
79+
Fiji will suspend observance of DST for the 2021/2022 season.
80+
Assume for now that it will return next year. (Thanks to Jashneel
81+
Kumar and P Chan.)
82+
83+
Changes to code
84+
85+
'zic -r' now uses "-00" time zone abbreviations for intervals
86+
with UT offsets that are unspecified due to -r truncation.
87+
This implements a change in draft Internet RFC 8536bis.
88+
89+
390
Release 2021c - 2021-10-01 14:21:49 -0700
491

592
Briefly:
@@ -546,13 +633,13 @@ Release 2019c - 2019-09-11 08:59:48 -0700
546633
probably wrong.)
547634

548635
Fix several errors in pre-1970 transitions in Perry County, IN.
549-
(Thanks to Alois Triendl for pointing out the 1967/9 errors.)
636+
(Thanks to Alois Treindl for pointing out the 1967/9 errors.)
550637

551638
Edmonton did not observe DST in 1967 or 1969. In 1946 Vancouver
552639
ended DST on 09-29 not 10-13, and Vienna ended DST on 10-07 not
553640
10-06. In 1945 Königsberg (now Kaliningrad) switched from +01/+02
554641
to +02/+03 on 04-10 not 01-01, and its +02/+03 is abbreviated
555-
EET/EEST, not CET/CEST. (Thanks to Alois Triendl.) In 1946
642+
EET/EEST, not CET/CEST. (Thanks to Alois Treindl.) In 1946
556643
Königsberg switched to +03 on 04-07 not 01-01.
557644

558645
In 1946 Louisville switched from CST to CDT on 04-28 at 00:01, not

africa

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -918,6 +918,10 @@ Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
918918
# (car (cdr (cdr a))) (calendar-month-name (car a) t) (car (cdr a))
919919
# (car (cdr (cdr b))) (calendar-month-name (car b) t) (car (cdr b)))))
920920
# (setq islamic-year (+ 1 islamic-year))))
921+
#
922+
# From Milamber (2021-03-31, 2022-03-10), confirming these predictions:
923+
# https://www.mmsp.gov.ma/fr/actualites.aspx?id=2076
924+
# https://www.ecoactu.ma/horaires-administration-ramadan-gmtheure-gmt-a-partir-de-dimanche-27-mars/
921925

922926
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
923927
Rule Morocco 1939 only - Sep 12 0:00 1:00 -

asia

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3386,11 +3386,6 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
33863386
# shall [end] on Oct 24th 2020 at 01:00AM by delaying the clock by 60 minutes.
33873387
# http://www.palestinecabinet.gov.ps/portal/Meeting/Details/51584
33883388

3389-
# From Tim Parenti (2020-10-20):
3390-
# Predict future fall transitions at 01:00 on the Saturday preceding October's
3391-
# last Sunday (i.e., Sat>=24). This is consistent with our predictions since
3392-
# 2016, although the time of the change differed slightly in 2019.
3393-
33943389
# From Pierre Cashon (2020-10-20):
33953390
# The summer time this year started on March 28 at 00:00.
33963391
# https://wafa.ps/ar_page.aspx?id=GveQNZa872839351758aGveQNZ
@@ -3403,6 +3398,21 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
34033398
# For now, guess spring-ahead transitions are at 00:00 on the Saturday
34043399
# preceding March's last Sunday (i.e., Sat>=24).
34053400

3401+
# From P Chan (2021-10-18):
3402+
# http://wafa.ps/Pages/Details/34701
3403+
# Palestine winter time will start from midnight 2021-10-29 (Thursday-Friday).
3404+
#
3405+
# From Heba Hemad, Palestine Ministry of Telecom & IT (2021-10-20):
3406+
# ... winter time will begin in Palestine from Friday 10-29, 01:00 AM
3407+
# by 60 minutes backwards.
3408+
#
3409+
# From Tim Parenti (2021-10-25), per Paul Eggert (2021-10-24):
3410+
# Guess future fall transitions at 01:00 on the Friday preceding October's
3411+
# last Sunday (i.e., Fri>=23), as this is more consistent with recent practice.
3412+
3413+
# From Heba Hamad (2022-03-10):
3414+
# summer time will begin in Palestine from Sunday 03-27-2022, 00:00 AM.
3415+
34063416
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
34073417
Rule EgyptAsia 1957 only - May 10 0:00 1:00 S
34083418
Rule EgyptAsia 1957 1958 - Oct 1 0:00 0 -
@@ -3437,8 +3447,10 @@ Rule Palestine 2016 2018 - Mar Sat>=24 1:00 1:00 S
34373447
Rule Palestine 2016 2018 - Oct Sat>=24 1:00 0 -
34383448
Rule Palestine 2019 only - Mar 29 0:00 1:00 S
34393449
Rule Palestine 2019 only - Oct Sat>=24 0:00 0 -
3440-
Rule Palestine 2020 max - Mar Sat>=24 0:00 1:00 S
3441-
Rule Palestine 2020 max - Oct Sat>=24 1:00 0 -
3450+
Rule Palestine 2020 2021 - Mar Sat>=24 0:00 1:00 S
3451+
Rule Palestine 2020 only - Oct 24 1:00 0 -
3452+
Rule Palestine 2021 max - Oct Fri>=23 1:00 0 -
3453+
Rule Palestine 2022 max - Mar Sun>=25 0:00 1:00 S
34423454

34433455
# Zone NAME STDOFF RULES FORMAT [UNTIL]
34443456
Zone Asia/Gaza 2:17:52 - LMT 1900 Oct

australasia

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -385,9 +385,22 @@ Zone Indian/Cocos 6:27:40 - LMT 1900
385385
# "Minister for Employment, Parveen Bala says they had never thought of
386386
# stopping daylight saving. He says it was just to decide on when it should
387387
# start and end. Bala says it is a short period..."
388-
# Since the end date is still in line with our ongoing predictions, assume for
389-
# now that the later-than-usual start date is a one-time departure from the
390-
# recent second Sunday in November pattern.
388+
#
389+
# From Tim Parenti (2021-10-11), per Jashneel Kumar (2021-10-11) and P Chan
390+
# (2021-10-12):
391+
# https://www.fiji.gov.fj/Media-Centre/Speeches/English/PM-BAINIMARAMA-S-COVID-19-ANNOUNCEMENT-10-10-21
392+
# https://www.fbcnews.com.fj/news/covid-19/curfew-moved-back-to-11pm/
393+
# In a 2021-10-10 speech concerning updated Covid-19 mitigation measures in
394+
# Fiji, prime minister Josaia Voreqe "Frank" Bainimarama announced the
395+
# suspension of DST for the 2021/2022 season: "Given that we are in the process
396+
# of readjusting in the midst of so many changes, we will also put Daylight
397+
# Savings Time on hold for this year. It will also make the reopening of
398+
# scheduled commercial air service much smoother if we don't have to be
399+
# concerned shifting arrival and departure times, which may look like a simple
400+
# thing but requires some significant logistical adjustments domestically and
401+
# internationally."
402+
# Assume for now that DST will resume with the recent pre-2020 rules for the
403+
# 2022/2023 season.
391404

392405
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
393406
Rule Fiji 1998 1999 - Nov Sun>=1 2:00 1:00 -
@@ -399,10 +412,11 @@ Rule Fiji 2011 only - Mar Sun>=1 3:00 0 -
399412
Rule Fiji 2012 2013 - Jan Sun>=18 3:00 0 -
400413
Rule Fiji 2014 only - Jan Sun>=18 2:00 0 -
401414
Rule Fiji 2014 2018 - Nov Sun>=1 2:00 1:00 -
402-
Rule Fiji 2015 max - Jan Sun>=12 3:00 0 -
415+
Rule Fiji 2015 2021 - Jan Sun>=12 3:00 0 -
403416
Rule Fiji 2019 only - Nov Sun>=8 2:00 1:00 -
404417
Rule Fiji 2020 only - Dec 20 2:00 1:00 -
405-
Rule Fiji 2021 max - Nov Sun>=8 2:00 1:00 -
418+
Rule Fiji 2022 max - Nov Sun>=8 2:00 1:00 -
419+
Rule Fiji 2023 max - Jan Sun>=12 3:00 0 -
406420
# Zone NAME STDOFF RULES FORMAT [UNTIL]
407421
Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva
408422
12:00 Fiji +12/+13

0 commit comments

Comments
 (0)