From bca2b8743e2a953bee279375c72640021545389c Mon Sep 17 00:00:00 2001 From: kre Date: Wed, 28 Sep 2022 11:05:35 +0000 Subject: [PATCH] Import tzdata2022d from https://github.com/JodaOrg/global-tz/releases/download/2022dgtz/tzdata2022dgtz.tar.gz Summary of changes in tzdata2022d (2022-09-23 12:02:57 -0700): * Palestine now springs forward and falls back at 02:00 on the first Saturday on or after March 24 and October 24, respectively. * Simplify three Ukraine zones to one, since the post-1970 differences seem to have been imaginary. This is an update from 2022b to 2022d, there were no tzdata changes in 2022c --- external/public-domain/tz/dist/Makefile | 9 ++-- external/public-domain/tz/dist/NEWS | 47 ++++++++++++++++- external/public-domain/tz/dist/africa | 2 +- external/public-domain/tz/dist/asia | 34 +++++++----- external/public-domain/tz/dist/australasia | 6 +-- external/public-domain/tz/dist/backward | 2 + external/public-domain/tz/dist/backzone | 50 ++++++++++++++++++ external/public-domain/tz/dist/europe | 58 ++++----------------- external/public-domain/tz/dist/southamerica | 10 +++- external/public-domain/tz/dist/theory.html | 26 ++++----- external/public-domain/tz/dist/version | 2 +- external/public-domain/tz/dist/ziguard.awk | 37 +++++++------ external/public-domain/tz/dist/zone.tab | 2 - external/public-domain/tz/dist/zone1970.tab | 26 ++++++++- 14 files changed, 206 insertions(+), 105 deletions(-) diff --git a/external/public-domain/tz/dist/Makefile b/external/public-domain/tz/dist/Makefile index 88240ad70e0e..b68f843d08ee 100644 --- a/external/public-domain/tz/dist/Makefile +++ b/external/public-domain/tz/dist/Makefile @@ -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 @@ -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 @@ -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. . . diff --git a/external/public-domain/tz/dist/NEWS b/external/public-domain/tz/dist/NEWS index 6a0d5c502727..64327d0d1ae2 100644 --- a/external/public-domain/tz/dist/NEWS +++ b/external/public-domain/tz/dist/NEWS @@ -1,5 +1,50 @@ News for the tz database +Release 2022d - 2022-09-23 12:02:57 -0700 + + Briefly: + Palestine transitions are now Saturdays at 02:00. + Simplify three Ukraine zones into one. + + Changes to future timestamps + + Palestine now springs forward and falls back at 02:00 on the + first Saturday on or after March 24 and October 24, respectively. + This means 2022 falls back 10-29 at 02:00, not 10-28 at 01:00. + (Thanks to Heba Hamad.) + + Changes to past timestamps + + Simplify three Ukraine zones to one, since the post-1970 + differences seem to have been imaginary. Move Europe/Uzhgorod and + Europe/Zaporozhye to 'backzone'; backward-compatibility links + still work, albeit with different timestamps before October 1991. + + +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: @@ -83,7 +128,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 diff --git a/external/public-domain/tz/dist/africa b/external/public-domain/tz/dist/africa index 69e0a7f1ce7b..a190b1ac8cf7 100644 --- a/external/public-domain/tz/dist/africa +++ b/external/public-domain/tz/dist/africa @@ -1470,7 +1470,7 @@ Zone Africa/Freetown -0:53:00 - LMT 1882 -0:53:00 - FMT 1913 Jul 1 # Freetown MT -1:00 SL %s 1939 Sep 5 -1:00 - -01 1941 Dec 6 24:00 - 0:00 SL GMT/+01 + 0:00 - GMT # Somalia # Zone NAME STDOFF RULES FORMAT [UNTIL] diff --git a/external/public-domain/tz/dist/asia b/external/public-domain/tz/dist/asia index 03fa7612efcb..609767565399 100644 --- a/external/public-domain/tz/dist/asia +++ b/external/public-domain/tz/dist/asia @@ -1516,8 +1516,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): @@ -3407,10 +3407,6 @@ Zone Asia/Karachi 4:28:12 - LMT 1907 # The winter time in 2015 started on October 23 at 01:00. # https://wafa.ps/ar_page.aspx?id=CgpCdYa670694628582aCgpCdY # http://www.palestinecabinet.gov.ps/portal/meeting/details/27583 -# -# From Paul Eggert (2019-04-10): -# For now, guess spring-ahead transitions are at 00:00 on the Saturday -# preceding March's last Sunday (i.e., Sat>=24). # From P Chan (2021-10-18): # http://wafa.ps/Pages/Details/34701 @@ -3427,6 +3423,18 @@ Zone Asia/Karachi 4:28:12 - LMT 1907 # From Heba Hamad (2022-03-10): # summer time will begin in Palestine from Sunday 03-27-2022, 00:00 AM. +# From Heba Hamad (2022-08-30): +# winter time will begin in Palestine from Saturday 10-29, 02:00 AM by +# 60 minutes backwards. Also the state of Palestine adopted the summer +# and winter time for the years: 2023,2024,2025,2026 ... +# https://mm.icann.org/pipermail/tz/attachments/20220830/9f024566/Time-0001.pdf +# (2022-08-31): ... the Saturday before the last Sunday in March and October +# at 2:00 AM ,for the years from 2023 to 2026. +# (2022-09-05): https://mtit.pna.ps/Site/New/1453 +# +# From Paul Eggert (2022-08-31): +# For now, assume that this rule will also be used after 2026. + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S Rule EgyptAsia 1957 only - May 10 0:00 1:00 S Rule EgyptAsia 1957 1958 - Oct 1 0:00 0 - @@ -3457,14 +3465,16 @@ Rule Palestine 2013 only - Sep 27 0:00 0 - Rule Palestine 2014 only - Oct 24 0:00 0 - Rule Palestine 2015 only - Mar 28 0:00 1:00 S Rule Palestine 2015 only - Oct 23 1:00 0 - -Rule Palestine 2016 2018 - Mar Sat>=24 1:00 1:00 S -Rule Palestine 2016 2018 - Oct Sat>=24 1:00 0 - +Rule Palestine 2016 2018 - Mar Sat<=30 1:00 1:00 S +Rule Palestine 2016 2018 - Oct Sat<=30 1:00 0 - Rule Palestine 2019 only - Mar 29 0:00 1:00 S -Rule Palestine 2019 only - Oct Sat>=24 0:00 0 - -Rule Palestine 2020 2021 - Mar Sat>=24 0:00 1:00 S +Rule Palestine 2019 only - Oct Sat<=30 0:00 0 - +Rule Palestine 2020 2021 - Mar Sat<=30 0:00 1:00 S Rule Palestine 2020 only - Oct 24 1:00 0 - -Rule Palestine 2021 max - Oct Fri>=23 1:00 0 - -Rule Palestine 2022 max - Mar Sun>=25 0:00 1:00 S +Rule Palestine 2021 only - Oct 29 1:00 0 - +Rule Palestine 2022 only - Mar 27 0:00 1:00 S +Rule Palestine 2022 max - Oct Sat<=30 2:00 0 - +Rule Palestine 2023 max - Mar Sat<=30 2:00 1:00 S # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Asia/Gaza 2:17:52 - LMT 1900 Oct diff --git a/external/public-domain/tz/dist/australasia b/external/public-domain/tz/dist/australasia index 3d3fd2fbf802..f8349726b814 100644 --- a/external/public-domain/tz/dist/australasia +++ b/external/public-domain/tz/dist/australasia @@ -489,8 +489,8 @@ Zone Pacific/Kiritimati -10:29:20 - LMT 1901 # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Pacific/Saipan -14:17:00 - LMT 1844 Dec 31 9:43:00 - LMT 1901 - 9:00 - +09 1969 Oct - 10:00 - +10 2000 Dec 23 + 9:00 - +09 1944 Jul 9 + 10:00 Guam G%sT 2000 Dec 23 10:00 - ChST # Chamorro Standard Time # Marshall Is @@ -929,7 +929,7 @@ Zone Pacific/Funafuti 11:56:52 - LMT 1901 Zone Pacific/Midway -11:49:28 - LMT 1901 -11:00 - -11 1956 Jun 3 -11:00 1:00 -10 1956 Sep 2 - -11:00 - -11 + -11:00 - SST # S=Samoa # Palmyra # uninhabited since World War II; was probably like Pacific/Kiritimati diff --git a/external/public-domain/tz/dist/backward b/external/public-domain/tz/dist/backward index 8c36596ee374..6fa86b98f8fa 100644 --- a/external/public-domain/tz/dist/backward +++ b/external/public-domain/tz/dist/backward @@ -90,6 +90,8 @@ Link Etc/UTC Etc/UCT Link Europe/London Europe/Belfast Link Europe/Kyiv Europe/Kiev Link Europe/Chisinau Europe/Tiraspol +Link Europe/Kyiv Europe/Uzhgorod +Link Europe/Kyiv Europe/Zaporozhye Link Europe/London GB Link Europe/London GB-Eire Link Etc/GMT GMT+0 diff --git a/external/public-domain/tz/dist/backzone b/external/public-domain/tz/dist/backzone index c0c06887ffda..6c482be8c5e1 100644 --- a/external/public-domain/tz/dist/backzone +++ b/external/public-domain/tz/dist/backzone @@ -1093,6 +1093,27 @@ Zone Europe/Tiraspol 1:58:32 - LMT 1880 2:00 Russia EE%sT 1992 Jan 19 2:00 3:00 Russia MSK/MSD +# Ukraine +# +# Although Shanks & Pottenger say Transcarpathia used CET 1990/1991, +# this unreliable source contradicts contemporaneous government resolutions +# (see the commentary for Ukraine in the 'europe' file) +# so for now this dubious zone is in 'backzone'. +# "Uzhhorod" is the transliteration of the Ukrainian spelling, but +# "Uzhgorod" was a common English spelling when this dubious zone was +# added to TZDB in 1999. +Zone Europe/Uzhgorod 1:29:12 - LMT 1890 Oct + 1:00 - CET 1940 + 1:00 C-Eur CE%sT 1944 Oct + 1:00 1:00 CEST 1944 Oct 26 + 1:00 - CET 1945 Jun 29 + 3:00 Russia MSK/MSD 1990 + 3:00 - MSK 1990 Jul 1 2:00 + 1:00 - CET 1991 Mar 31 3:00 + 2:00 - EET 1992 Mar 20 + 2:00 C-Eur EE%sT 1996 May 13 + 2:00 EU EE%sT + # Liechtenstein # From Paul Eggert (2022-07-21): @@ -1106,6 +1127,25 @@ Zone Europe/Tiraspol 1:58:32 - LMT 1880 # Croatia +# Ukraine + +# Although Shanks & Pottenger say Zaporizhzhia and eastern Lugansk +# observed DST 1990/1991, this unreliable source contradicts contemporaneous +# government resolutions (see the commentary for Ukraine in the 'europe' file) +# so for now this dubious zone is in 'backzone'. +# "Zaporizhzhia" is the transliteration of the Ukrainian name, but +# "Zaporozhye" was a common English spelling when this dubious zone was +# added to TZDB in 1999. +Zone Europe/Zaporozhye 2:20:40 - LMT 1880 + 2:20 - +0220 1924 May 2 + 2:00 - EET 1930 Jun 21 + 3:00 - MSK 1941 Aug 25 + 1:00 C-Eur CE%sT 1943 Oct 25 + 3:00 Russia MSK/MSD 1991 Mar 31 2:00 + 2:00 E-Eur EE%sT 1992 Mar 20 + 2:00 C-Eur EE%sT 1996 May 13 + 2:00 EU EE%sT + # Madagascar # Christmas @@ -1184,6 +1224,16 @@ Zone Pacific/Johnston -10:00 - HST # Also see Pacific/Chuuk and commentary for Micronesia in 'australasia'. # N Mariana Is +# +# From Paul Eggert (2022-08-16): +# Although Shanks & Pottenger say Saipan used +09 and then switched +# to Guam time in October 1969, this is surely wrong. +# Saipan used Guam time in the late 1950s; see page 4 of the minutes on the +# conference of the 12th Saipan Legislature and the Select Committee on +# Saipan Mission, 5th Guam Legislature (1959-09-11): +# http://www.nmhcouncil.org/nmhc_archives/U.S.%20Navy%20Civil%20Affairs%20Files%201944-1962/1959/1959%2009%2017%20letter,%20minutes%20of%20conference,%20Borja.pdf +# For now, assume Saipan switched to Guam time after the Battle of Saipan. +# # Wake diff --git a/external/public-domain/tz/dist/europe b/external/public-domain/tz/dist/europe index 7aabd9d61ed9..075a48400aea 100644 --- a/external/public-domain/tz/dist/europe +++ b/external/public-domain/tz/dist/europe @@ -2776,10 +2776,14 @@ Zone Europe/Simferopol 2:16:24 - LMT 1880 # From Alexander Krivenyshev (2014-03-17): # time change at 2:00 (2am) on March 30, 2014 # https://vz.ru/news/2014/3/17/677464.html -# From Paul Eggert (2014-03-30): -# Simferopol and Sevastopol reportedly changed their central town clocks -# late the previous day, but this appears to have been ceremonial -# and the discrepancies are small enough to not worry about. +# From Tim Parenti (2022-07-01), per Paul Eggert (2014-03-30): +# The clocks at the railway station in Simferopol were put forward from 22:00 +# to 24:00 the previous day in a "symbolic ceremony"; however, per +# contemporaneous news reports, "ordinary Crimeans [made] the daylight savings +# time switch at 2am" on Sunday. +# https://www.business-standard.com/article/pti-stories/crimea-to-set-clocks-to-russia-time-114033000014_1.html +# https://www.reuters.com/article/us-ukraine-crisis-crimea-time/crimea-switches-to-moscow-time-amid-incorporation-frenzy-idUKBREA2S0LT20140329 +# https://www.bbc.com/news/av/world-europe-26806583 2:00 EU EE%sT 2014 Mar 30 2:00 4:00 - MSK 2014 Oct 26 2:00s 3:00 - MSK @@ -3918,8 +3922,8 @@ Link Europe/Istanbul Asia/Istanbul # Istanbul is in both continents. # US colleague David Cochrane) are still trying to get more # information upon these local deviations from Kiev rules. # -# From Paul Eggert (2022-02-08): -# For now, assume that Ukraine's other three zones followed the same rules, +# From Paul Eggert (2022-08-27): +# For now, assume that Ukraine's zones all followed the same rules, # except that Crimea switched to Moscow time in 1994 as described elsewhere. # From Igor Karpov, who works for the Ukrainian Ministry of Justice, @@ -3989,21 +3993,7 @@ Link Europe/Istanbul Asia/Istanbul # Istanbul is in both continents. # * Ukrainian Government's Resolution of 20.03.1992, No. 139. # http://www.uazakon.com/documents/date_8u/pg_grcasa.htm -# From Paul Eggert (2022-04-12): -# As is usual in tzdb, Ukrainian zones use the most common English spellings. -# In particular, tzdb's name Europe/Kyiv uses the most common spelling in -# English for Ukraine's capital. Although tzdb's former name was Europe/Kiev, -# "Kyiv" is now more common due to widespread reporting of the current conflict. -# Conversely, tzdb continues to use the names Europe/Uzhgorod and -# Europe/Zaporozhye; this is similar to tzdb's use of Europe/Prague, which is -# certainly wrong as a transliteration of the Czech "Praha". -# English-language spelling of Ukrainian names is in flux, and -# some day "Uzhhorod" or "Zaporizhzhia" may become substantially more -# common in English; in the meantime, do not change these -# English spellings as that means less disruption for our users. - # Zone NAME STDOFF RULES FORMAT [UNTIL] -# This represents most of Ukraine. See above for the spelling of "Kyiv". Zone Europe/Kyiv 2:02:04 - LMT 1880 2:02:04 - KMT 1924 May 2 # Kyiv Mean Time 2:00 - EET 1930 Jun 21 @@ -4013,34 +4003,6 @@ Zone Europe/Kyiv 2:02:04 - LMT 1880 2:00 1:00 EEST 1991 Sep 29 3:00 2:00 C-Eur EE%sT 1996 May 13 2:00 EU EE%sT -# Transcarpathia used CET 1990/1991. -# "Uzhhorod" is the transliteration of the Rusyn/Ukrainian pronunciation, but -# "Uzhgorod" is more common in English. -Zone Europe/Uzhgorod 1:29:12 - LMT 1890 Oct - 1:00 - CET 1940 - 1:00 C-Eur CE%sT 1944 Oct - 1:00 1:00 CEST 1944 Oct 26 - 1:00 - CET 1945 Jun 29 - 3:00 Russia MSK/MSD 1990 - 3:00 - MSK 1990 Jul 1 2:00 - 1:00 - CET 1991 Mar 31 3:00 - 2:00 - EET 1992 Mar 20 - 2:00 C-Eur EE%sT 1996 May 13 - 2:00 EU EE%sT -# Zaporozh'ye and eastern Lugansk oblasts observed DST 1990/1991. -# "Zaporizhzhia" is the transliteration of the Ukrainian name, but -# "Zaporozh'ye" is more common in English. Use the common English -# spelling, except omit the apostrophe as it is not allowed in -# portable Posix file names. -Zone Europe/Zaporozhye 2:20:40 - LMT 1880 - 2:20 - +0220 1924 May 2 - 2:00 - EET 1930 Jun 21 - 3:00 - MSK 1941 Aug 25 - 1:00 C-Eur CE%sT 1943 Oct 25 - 3:00 Russia MSK/MSD 1991 Mar 31 2:00 - 2:00 E-Eur EE%sT 1992 Mar 20 - 2:00 C-Eur EE%sT 1996 May 13 - 2:00 EU EE%sT # Vatican City # See Europe/Rome. diff --git a/external/public-domain/tz/dist/southamerica b/external/public-domain/tz/dist/southamerica index e20161080906..e564e94e96e1 100644 --- a/external/public-domain/tz/dist/southamerica +++ b/external/public-domain/tz/dist/southamerica @@ -1312,8 +1312,14 @@ Zone America/Rio_Branco -4:31:12 - LMT 1914 # for America/Santiago will start on midnight of September 11th; # and will end on April 1st, 2023. Magallanes region (America/Punta_Arenas) # will keep UTC -3 "indefinitely"... This is because on September 4th -# we will have a voting whether to approve a new Constitution.... -# https://www.interior.gob.cl/noticias/2022/08/09/comunicado-el-proximo-sabado-10-de-septiembre-los-relojes-se-deben-adelantar-una-hora/ +# we will have a voting whether to approve a new Constitution. +# +# From Eduardo Romero Urra (2022-08-17): +# https://www.diariooficial.interior.gob.cl/publicaciones/2022/08/13/43327/01/2172567.pdf +# +# From Paul Eggert (2022-08-17): +# Although the presidential decree stops at fall 2026, assume that +# similar DST rules will continue thereafter. # Rule NAME FROM TO - IN ON AT SAVE LETTER/S Rule Chile 1927 1931 - Sep 1 0:00 1:00 - diff --git a/external/public-domain/tz/dist/theory.html b/external/public-domain/tz/dist/theory.html index 2b14c5114686..56390ae44a8d 100644 --- a/external/public-domain/tz/dist/theory.html +++ b/external/public-domain/tz/dist/theory.html @@ -122,7 +122,7 @@ If geolocation information is available, a selection interface can locate the user on a timezone map or prioritize names that are geographically close. For an example selection interface, see the tzselect program in the tz code. -The Unicode Common Locale Data +The Unicode Common Locale Data Repository contains data that may be useful for other selection interfaces; it maps timezone names like Europe/Prague to locale-dependent strings like "Prague", "Praha", "Прага", and "布拉格". @@ -571,7 +571,7 @@ in decreasing order of importance: locations while uninhabited. The leading '-' is a flag that the UT offset is in some sense undefined; this notation is derived - from Internet + from Internet RFC 3339. @@ -624,7 +624,7 @@ Errors in the tz database arise from many sources: should be observed. In her 2015 book The + href="https://www.hup.harvard.edu/catalog.php?isbn=9780674286146">The Global Transformation of Time, 1870–1950, Vanessa Ogle writes "Outside of Europe and North America there was no system of time @@ -810,7 +810,7 @@ href="https://www.dissentmagazine.org/blog/booked-a-global-history-of-time-vanes See: Stephenson FR, Morrison LV, Hohenkerk CY. Measurement of the Earth's rotation: 720 BC to AD 2015. - Proc Royal Soc A. 2016 Dec 7;472:20160404. + Proc Royal Soc A. 2016;472:20160404. Also see: Espenak F. Uncertainty in Delta T (ΔT). @@ -1036,7 +1036,7 @@ an older zic. and numeric data as described above. The file's format is TZif, a timezone information format that contains binary data; see - Internet + Internet RFC 8536. The daylight saving time rules to be used for a particular timezone are encoded in the @@ -1064,11 +1064,12 @@ an older zic.
  • The code supports platforms with a UT offset member - in struct tm, e.g., tm_gmtoff. -
  • -
  • - The code supports platforms with a time zone abbreviation member in - struct tm, e.g., tm_zone. + in struct tm, e.g., tm_gmtoff, + or with a time zone abbreviation member in + struct tm, e.g., tm_zone. As noted + in Austin + Group defect 1533, a future version of POSIX is planned to + require tm_gmtoff and tm_zone.
  • Functions tzalloc, tzfree, @@ -1129,7 +1130,8 @@ The vestigial APIs are: APIs. Although it can still be used in arguments to mktime to disambiguate timestamps near - a DST transition when the clock jumps back, this + a DST transition when the clock jumps back on + platforms lacking tm_gmtoff, 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 UT offset. @@ -1277,7 +1279,7 @@ the operating system kernel clock as described in Precision timekeeping, and this package by default installs a leapseconds file commonly used by -NTP +NTP 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 diff --git a/external/public-domain/tz/dist/version b/external/public-domain/tz/dist/version index 87c4651419bc..db4b717c8b1f 100644 --- a/external/public-domain/tz/dist/version +++ b/external/public-domain/tz/dist/version @@ -1 +1 @@ -2022bgtz +2022dgtz diff --git a/external/public-domain/tz/dist/ziguard.awk b/external/public-domain/tz/dist/ziguard.awk index 0728baa51343..0556cc4a9dbb 100644 --- a/external/public-domain/tz/dist/ziguard.awk +++ b/external/public-domain/tz/dist/ziguard.awk @@ -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 { @@ -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 \ @@ -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) \ @@ -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 @@ -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 @@ -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 @@ -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]) @@ -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") @@ -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") @@ -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 diff --git a/external/public-domain/tz/dist/zone.tab b/external/public-domain/tz/dist/zone.tab index 1f73ddaf8ee9..49040289a2be 100644 --- a/external/public-domain/tz/dist/zone.tab +++ b/external/public-domain/tz/dist/zone.tab @@ -401,8 +401,6 @@ TV -0831+17913 Pacific/Funafuti TW +2503+12130 Asia/Taipei TZ -0648+03917 Africa/Dar_es_Salaam UA +5026+03031 Europe/Kyiv Ukraine (most areas) -UA +4837+02218 Europe/Uzhgorod Transcarpathia -UA +4750+03510 Europe/Zaporozhye Zaporozhye and east Lugansk UG +0019+03225 Africa/Kampala UM +2813-17722 Pacific/Midway Midway Islands UM +1917+16637 Pacific/Wake Wake Island diff --git a/external/public-domain/tz/dist/zone1970.tab b/external/public-domain/tz/dist/zone1970.tab index 3e1948cbb741..cf9cf201bf3c 100644 --- a/external/public-domain/tz/dist/zone1970.tab +++ b/external/public-domain/tz/dist/zone1970.tab @@ -312,8 +312,6 @@ TO -210800-1751200 Pacific/Tongatapu TR +4101+02858 Europe/Istanbul TW +2503+12130 Asia/Taipei UA +5026+03031 Europe/Kyiv Ukraine (most areas) -UA +4837+02218 Europe/Uzhgorod Transcarpathia -UA +4750+03510 Europe/Zaporozhye Zaporozhye and east Lugansk US +404251-0740023 America/New_York Eastern (most areas) US +421953-0830245 America/Detroit Eastern - MI (most areas) US +381515-0854534 America/Kentucky/Louisville Eastern - KY (Louisville area) @@ -351,3 +349,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 "#@AQAntarctica/" 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,SHAtlantic/". 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,TRAsia/,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/