Skip to content

Commit

Permalink
Update tzdata and zoneinfo to version 2022c.
Browse files Browse the repository at this point in the history
  • Loading branch information
GitHub Actions committed Oct 31, 2022
1 parent 99bce0f commit 9054840
Show file tree
Hide file tree
Showing 8 changed files with 91 additions and 90 deletions.
9 changes: 5 additions & 4 deletions tzdata/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -298,8 +298,9 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \
# guess TM_GMTOFF from other macros; define NO_TM_GMTOFF to suppress this.
# Similarly, if your system has a "zone abbreviation" field, define
# -DTM_ZONE=tm_zone
# and define NO_TM_ZONE to suppress any guessing. These two fields are not
# required by POSIX, but are widely available on GNU/Linux and BSD systems.
# and define NO_TM_ZONE to suppress any guessing. Although these two fields
# not required by POSIX, a future version of POSIX is planned to require them
# and they are widely available on GNU/Linux and BSD systems.
#
# The next batch of options control support for external variables
# exported by tzcode. In practice these variables are less useful
Expand Down Expand Up @@ -538,7 +539,7 @@ DATA= $(TDATA_TO_CHECK) backzone iso3166.tab leap-seconds.list \
leapseconds $(ZONETABLES)
AWK_SCRIPTS= checklinks.awk checktab.awk leapseconds.awk \
ziguard.awk zishrink.awk
MISC= $(AWK_SCRIPTS) zoneinfo2tdf.pl
MISC= $(AWK_SCRIPTS)
TZS_YEAR= 2050
TZS_CUTOFF_FLAG= -c $(TZS_YEAR)
TZS= to$(TZS_YEAR).tzs
Expand Down Expand Up @@ -567,7 +568,7 @@ VERSION_DEPS= \
tzfile.5 tzfile.h tzselect.8 tzselect.ksh \
workman.sh zdump.8 zdump.c zic.8 zic.c \
ziguard.awk zishrink.awk \
zone.tab zone1970.tab zoneinfo2tdf.pl
zone.tab zone1970.tab
# And for the benefit of csh users on systems that assume the user
# shell should be used to handle commands in Makefiles. . .
Expand Down
26 changes: 25 additions & 1 deletion tzdata/NEWS
Original file line number Diff line number Diff line change
@@ -1,5 +1,29 @@
News for the tz database

Release 2022c - 2022-08-15 17:47:18 -0700

Briefly:
Work around awk bug in FreeBSD, macOS, etc.
Improve tzselect on intercontinental Zones.

Changes to code

Work around a bug in onetrueawk that broke commands like
'make traditional_tarballs' on FreeBSD, macOS, etc.
(Problem reported by Deborah Goldsmith.)

Add code to tzselect that uses experimental structured comments in
zone1970.tab to clarify whether Zones like Africa/Abidjan and
Europe/Istanbul cross continent or ocean boundaries.
(Inspired by a problem reported by Peter Krefting.)

Fix bug with 'zic -d /a/b/c' when /a is unwritable but the
directory /a/b already exists.

Remove zoneinfo2tdf.pl, as it was unused and triggered false
malware alarms on some email servers.


Release 2022b - 2022-08-10 15:38:32 -0700

Briefly:
Expand Down Expand Up @@ -83,7 +107,7 @@ Release 2022b - 2022-08-10 15:38:32 -0700

zic no longer complains "can't determine time zone abbreviation to
use just after until time" when a transition to a new standard
time occurs simultanously with the first DST fallback transition.
time occurs simultaneously with the first DST fallback transition.

Changes to build procedure

Expand Down
4 changes: 2 additions & 2 deletions tzdata/asia
Original file line number Diff line number Diff line change
Expand Up @@ -1505,8 +1505,8 @@ Zone Asia/Jayapura 9:22:48 - LMT 1932 Nov
# onwards (which was during the Islamic Republic).

# From Francis Santoni (2022-06-01):
# for Iran and 1977 the effective change is only 20 october
# (UIT No. 143 17.XI.1977) and not 23 september (UIT No. 141 13.IX.1977).
# for Iran and 1977 the effective change is only 20 October
# (UIT No. 143 17.XI.1977) and not 23 September (UIT No. 141 13.IX.1977).
# UIT is the Operational Bulletin of International Telecommunication Union.

# From Roozbeh Pournader (2003-03-15):
Expand Down
26 changes: 14 additions & 12 deletions tzdata/theory.html
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ <h2 id="naming">Timezone identifiers</h2>
locate the user on a timezone map or prioritize names that are
geographically close. For an example selection interface, see the
<code>tzselect</code> program in the <code><abbr>tz</abbr></code> code.
The <a href="http://cldr.unicode.org">Unicode Common Locale Data
The <a href="https://cldr.unicode.org">Unicode Common Locale Data
Repository</a> contains data that may be useful for other selection
interfaces; it maps timezone names like <code>Europe/Prague</code> to
locale-dependent strings like "Prague", "Praha", "Прага", and "布拉格".
Expand Down Expand Up @@ -571,7 +571,7 @@ <h2 id="abbreviations">Time zone abbreviations</h2>
locations while uninhabited.
The leading '<code>-</code>' is a flag that the <abbr>UT</abbr> offset is in
some sense undefined; this notation is derived
from <a href="https://tools.ietf.org/html/rfc3339">Internet
from <a href="https://datatracker.ietf.org/doc/html/rfc3339">Internet
<abbr title="Request For Comments">RFC</abbr> 3339</a>.
</li>
</ul>
Expand Down Expand Up @@ -624,7 +624,7 @@ <h2 id="accuracy">Accuracy of the <code><abbr>tz</abbr></code> database</h2>
should be observed.
In her 2015 book
<cite><a
href="http://www.hup.harvard.edu/catalog.php?isbn=9780674286146">The
href="https://www.hup.harvard.edu/catalog.php?isbn=9780674286146">The
Global Transformation of Time, 1870&ndash;1950</a></cite>,
Vanessa Ogle writes
"Outside of Europe and North America there was no system of time
Expand Down Expand Up @@ -810,7 +810,7 @@ <h2 id="accuracy">Accuracy of the <code><abbr>tz</abbr></code> database</h2>
See: Stephenson FR, Morrison LV, Hohenkerk CY.
<a href="https://dx.doi.org/10.1098/rspa.2016.0404">Measurement of
the Earth's rotation: 720 BC to AD 2015</a>.
<cite>Proc Royal Soc A</cite>. 2016 Dec 7;472:20160404.
<cite>Proc Royal Soc A</cite>. 2016;472:20160404.
Also see: Espenak F. <a
href="https://eclipse.gsfc.nasa.gov/SEhelp/uncertainty2004.html">Uncertainty
in Delta T (ΔT)</a>.
Expand Down Expand Up @@ -1036,7 +1036,7 @@ <h3 id="POSIX-extensions">Extensions to POSIX in the
and numeric data as described <a href="#POSIX">above</a>.
The file's format is <dfn><abbr>TZif</abbr></dfn>,
a timezone information format that contains binary data; see
<a href="https://tools.ietf.org/html/8536">Internet
<a href="https://datatracker.ietf.org/doc/html/8536">Internet
<abbr>RFC</abbr> 8536</a>.
The daylight saving time rules to be used for a
particular timezone are encoded in the
Expand Down Expand Up @@ -1064,11 +1064,12 @@ <h3 id="POSIX-extensions">Extensions to POSIX in the
</li>
<li>
The code supports platforms with a <abbr>UT</abbr> offset member
in <code>struct tm</code>, e.g., <code>tm_gmtoff</code>.
</li>
<li>
The code supports platforms with a time zone abbreviation member in
<code>struct tm</code>, e.g., <code>tm_zone</code>.
in <code>struct tm</code>, e.g., <code>tm_gmtoff</code>,
or with a time zone abbreviation member in
<code>struct tm</code>, e.g., <code>tm_zone</code>. As noted
in <a href="https://austingroupbugs.net/view.php?id=1533">Austin
Group defect 1533</a>, a future version of POSIX is planned to
require <code>tm_gmtoff</code> and <code>tm_zone</code>.
</li>
<li>
Functions <code>tzalloc</code>, <code>tzfree</code>,
Expand Down Expand Up @@ -1129,7 +1130,8 @@ <h3 id="vestigial">POSIX features no longer needed</h3>
<abbr>API</abbr>s.
Although it can still be used in arguments to
<code>mktime</code> to disambiguate timestamps near
a <abbr>DST</abbr> transition when the clock jumps back, this
a <abbr>DST</abbr> transition when the clock jumps back on
platforms lacking <code>tm_gmtoff</code>, this
disambiguation does not work when standard time itself jumps back,
which can occur when a location changes to a time zone with a
lesser <abbr>UT</abbr> offset.
Expand Down Expand Up @@ -1277,7 +1279,7 @@ <h2 id="leapsec">Leap seconds</h2>
<a href="tz-link.html#precision">Precision timekeeping</a>,
and this package by default installs a <samp>leapseconds</samp> file
commonly used by
<a href="http://www.ntp.org"><abbr title="Network Time Protocol">NTP</abbr></a>
<a href="https://www.ntp.org"><abbr title="Network Time Protocol">NTP</abbr></a>
software that adjusts the kernel clock.
However, kernel-clock twiddling approximates UTC only roughly,
and systems needing more-precise UTC can use this package's leap
Expand Down
2 changes: 1 addition & 1 deletion tzdata/version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2022b
2022c
37 changes: 20 additions & 17 deletions tzdata/ziguard.awk
Original file line number Diff line number Diff line change
Expand Up @@ -91,12 +91,13 @@ $1 == "#PACKRATLIST" && $2 == PACKRATLIST {
/^Zone/ { zone = $2 }

DATAFORM != "main" {
in_comment = /^#/
in_comment = $0 ~ /^#/
uncomment = comment_out = 0

# If this line should differ due to Czechoslovakia using negative SAVE values,
# uncomment the desired version and comment out the undesired one.
if (zone == "Europe/Prague" && /^#?[\t ]+[01]:00[\t ]/ && /1947 Feb 23/) {
if (zone == "Europe/Prague" && $0 ~ /^#?[\t ]+[01]:00[\t ]/ \
&& $0 ~ /1947 Feb 23/) {
if (($(in_comment + 2) != "-") == (DATAFORM != "rearguard")) {
uncomment = in_comment
} else {
Expand All @@ -106,9 +107,9 @@ DATAFORM != "main" {

# If this line should differ due to Ireland using negative SAVE values,
# uncomment the desired version and comment out the undesired one.
Rule_Eire = /^#?Rule[\t ]+Eire[\t ]/
Rule_Eire = $0 ~ /^#?Rule[\t ]+Eire[\t ]/
Zone_Dublin_post_1968 \
= (zone == "Europe/Dublin" && /^#?[\t ]+[01]:00[\t ]/ \
= (zone == "Europe/Dublin" && $0 ~ /^#?[\t ]+[01]:00[\t ]/ \
&& (!$(in_comment + 4) || 1968 < $(in_comment + 4)))
if (Rule_Eire || Zone_Dublin_post_1968) {
if ((Rule_Eire \
Expand All @@ -122,9 +123,9 @@ DATAFORM != "main" {

# If this line should differ due to Namibia using negative SAVE values,
# uncomment the desired version and comment out the undesired one.
Rule_Namibia = /^#?Rule[\t ]+Namibia[\t ]/
Rule_Namibia = $0 ~ /^#?Rule[\t ]+Namibia[\t ]/
Zone_using_Namibia_rule \
= (zone == "Africa/Windhoek" && /^#?[\t ]+[12]:00[\t ]/ \
= (zone == "Africa/Windhoek" && $0 ~ /^#?[\t ]+[12]:00[\t ]/ \
&& ($(in_comment + 2) == "Namibia" \
|| ($(in_comment + 2) == "-" && $(in_comment + 3) == "CAT" \
&& ((1994 <= $(in_comment + 4) && $(in_comment + 4) <= 2017) \
Expand All @@ -142,8 +143,8 @@ DATAFORM != "main" {

# If this line should differ due to Portugal benefiting from %z if supported,
# uncomment the desired version and comment out the undesired one.
if (/^#?[\t ]+-[12]:00[\t ]+Port[\t ]+[%+-]/) {
if (/%z/ == (DATAFORM == "vanguard")) {
if ($0 ~ /^#?[\t ]+-[12]:00[\t ]+Port[\t ]+[%+-]/) {
if (($0 ~ /%z/) == (DATAFORM == "vanguard")) {
uncomment = in_comment
} else {
comment_out = !in_comment
Expand All @@ -164,8 +165,8 @@ DATAFORM != "main" {
sub(/-00CHANGE-TO-%z/, "-00")
sub(/[-+][^\t ]+CHANGE-TO-/, "")
} else {
if (/^[^#]*%z/) {
stdoff_column = 2 * /^Zone/ + 1
if ($0 ~ /^[^#]*%z/) {
stdoff_column = 2 * ($0 ~ /^Zone/) + 1
rules_column = stdoff_column + 1
stdoff = get_minutes($stdoff_column)
rules = $rules_column
Expand All @@ -184,9 +185,9 @@ DATAFORM != "main" {
dstoff = 20
} else if (((rules == "Cook" || rules == "LH") && NF == 3) \
|| (rules == "Uruguay" \
&& /[\t ](1942 Dec 14|1960|1970|1974 Dec 22)$/)) {
&& $0 ~ /[\t ](1942 Dec 14|1960|1970|1974 Dec 22)$/)) {
dstoff = 30
} else if (rules == "Uruguay" && /[\t ]1974 Mar 10$/) {
} else if (rules == "Uruguay" && $0 ~ /[\t ]1974 Mar 10$/) {
dstoff = 90
} else {
dstoff = 60
Expand Down Expand Up @@ -222,7 +223,7 @@ DATAFORM != "main" {
stdoff_subst[1] = rounded_stdoff
}
} else if (stdoff_subst[0]) {
stdoff_column = 2 * /^Zone/ + 1
stdoff_column = 2 * ($0 ~ /^Zone/) + 1
stdoff_column_val = $stdoff_column
if (stdoff_column_val == stdoff_subst[0]) {
sub(stdoff_subst[0], stdoff_subst[1])
Expand All @@ -233,7 +234,7 @@ DATAFORM != "main" {

# In rearguard form, change the Japan rule line with "Sat>=8 25:00"
# to "Sun>=9 1:00", to cater to zic before 2007 and to older Java.
if (/^Rule/ && $2 == "Japan") {
if ($0 ~ /^Rule/ && $2 == "Japan") {
if (DATAFORM == "rearguard") {
if ($7 == "Sat>=8" && $8 == "25:00") {
sub(/Sat>=8/, "Sun>=9")
Expand All @@ -250,7 +251,7 @@ DATAFORM != "main" {
# In rearguard form, change the Morocco lines with negative SAVE values
# to use positive SAVE values.
if ($2 == "Morocco") {
if (/^Rule/) {
if ($0 ~ /^Rule/) {
if ($4 ~ /^201[78]$/ && $6 == "Oct") {
if (DATAFORM == "rearguard") {
sub(/\t2018\t/, "\t2017\t")
Expand Down Expand Up @@ -290,8 +291,10 @@ DATAFORM != "main" {
/^Zone/ {
packrat_ignored = FILENAME == PACKRATDATA && PACKRATLIST && !packratlist[$2];
}
packrat_ignored && !/^Rule/ {
sub(/^/, "#")
{
if (packrat_ignored && $0 !~ /^Rule/) {
sub(/^/, "#")
}
}

# If a Link line is followed by a Link or Zone line for the same data, comment
Expand Down
24 changes: 24 additions & 0 deletions tzdata/zone1970.tab
Original file line number Diff line number Diff line change
Expand Up @@ -351,3 +351,27 @@ VN +1045+10640 Asia/Ho_Chi_Minh Vietnam (south)
VU -1740+16825 Pacific/Efate
WS -1350-17144 Pacific/Apia
ZA,LS,SZ -2615+02800 Africa/Johannesburg
#
# The next section contains experimental tab-separated comments for
# use by user agents like tzselect that identify continents and oceans.
#
# For example, the comment "#@AQ<tab>Antarctica/" means the country code
# AQ is in the continent Antarctica regardless of the Zone name,
# so Pacific/Auckland should be listed under Antarctica as well as
# under the Pacific because its line's country codes include AQ.
#
# If more than one country code is affected each is listed separated
# by commas, e.g., #@IS,SH<tab>Atlantic/". If a country code is in
# more than one continent or ocean, each is listed separated by
# commas, e.g., the second column of "#@CY,TR<tab>Asia/,Europe/".
#
# These experimental comments are present only for country codes where
# the continent or ocean is not already obvious from the Zone name.
# For example, there is no such comment for RU since it already
# corresponds to Zone names starting with both "Europe/" and "Asia/".
#
#@AQ Antarctica/
#@IS,SH Atlantic/
#@CY,TR Asia/,Europe/
#@SJ Arctic/
#@CC,CX,KM,MG,YT Indian/
53 changes: 0 additions & 53 deletions tzdata/zoneinfo2tdf.pl

This file was deleted.

0 comments on commit 9054840

Please sign in to comment.