[PATCH 0/5] Simplifying Link line maintenance
Although TZDB currently puts most Link lines in the ‘backward’ file, some Link lines reside in the continental files ‘africa’, ‘antarctica’, etc., with little rhyme or reason as to which lines are in ‘backward’ and which line are in a continental file. This is confusing and makes maintenance a bit more difficult. This proposed series of patches aims to regularize this by putting the Link lines into ‘backward’, except that to work around a TZUpdater bug the GMT Link line is in ‘backward’ only when using vanguard form. As part of these patches, the Link lines in ‘backward’ are organized into sections that better explain the reason for each Link line. Also, comments are added to document shortcut Link lines, that is, Link lines reworded to reference the target rather than the source of another Link line. Furthermore, the Makefile is augmented to check Link lines more carefully. The overall effect of this patch is to shrink TZDB’s source code and make maintenance simpler and more robust, without affecting data except for users who are purposely bleeding-edge by omitting all backward-compatibility links. Because these patches are nontrivial I have not installed them in the development repository, and there is no rush. Comments welcome as usual. Paul Eggert (5): Move a few links to ‘backward’ Move most remaining links to ‘backward’ Reorder 'backward’ Improve checking for shortcut links Coalesce some commentary Makefile | 6 +- NEWS | 17 +++ africa | 213 ++++++++++-------------------------- antarctica | 2 +- asia | 69 ++++-------- australasia | 46 +++----- backward | 288 +++++++++++++++++++++++++++++++++++++++---------- checklinks.awk | 17 +++ etcetera | 17 ++- europe | 202 ++++++++++++---------------------- northamerica | 86 ++++----------- southamerica | 15 --- theory.html | 1 + zdump.c | 4 +- ziguard.awk | 14 +++ 15 files changed, 472 insertions(+), 525 deletions(-) -- 2.37.3
If a Link is just an alternate name, it’s not needed for zone.tab and ‘backward’ is a better home for it anyway. This helps improve link checking. * Makefile (check_links): Use new backcheck option. * asia (Europe/Nicosia): * etcetera (Etc/Universal, Etc/Zulu, Etc/Greenwich, Etc/GMT-0) (Etc/GMT+0, Etc/GMT0): * europe (Asia/Istanbul): Move Link to ‘backward’. * checklinks.awk: Add backcheck option, to check that non-‘backward’ Links are next to the Zones they link to, and that a Link is in a continental file if and only if it is in zone.tab. Add a special case for GMT. * etcetera (GMT): In vanguard form, now a Zone, not a Link, since it’s the file the leap second code depends on. (Etc/GMT): In vanguard form, now a link in ‘backward’ instead of a Zone here. * ziguard.awk: Support the vanguard form. --- Makefile | 3 ++- NEWS | 17 +++++++++++++++++ asia | 4 ---- backward | 26 ++++++++++++++++++++++++++ checklinks.awk | 27 +++++++++++++++++++++++++++ etcetera | 17 +++++++---------- europe | 1 - theory.html | 1 + zdump.c | 4 ++-- ziguard.awk | 14 ++++++++++++++ 10 files changed, 96 insertions(+), 18 deletions(-) diff --git a/Makefile b/Makefile index b68f843..69cb704 100644 --- a/Makefile +++ b/Makefile @@ -823,7 +823,8 @@ check_sorted: backward backzone iso3166.tab zone.tab zone1970.tab touch $@ check_links: checklinks.awk $(TDATA_TO_CHECK) tzdata.zi - $(AWK) -f checklinks.awk $(TDATA_TO_CHECK) + $(AWK) -f checklinks.awk -v backcheck=backward \ + $(TDATA_TO_CHECK) $(AWK) -f checklinks.awk tzdata.zi touch $@ diff --git a/NEWS b/NEWS index 64327d0..1e22ef7 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,22 @@ News for the tz database +Unreleased, experimental changes + + Briefly: + Move links to 'backward'. + In vanguard form, GMT is now a Zone and Etc/GMT a link. + + Changes to data + + Move links to 'backward' to ease and simplify link maintenance. + This affects generated data only if you use 'make BACKWARD='. + + GMT is now a Zone and Etc/GMT a link instead of vice versa, + as GMT is needed for leap second support whereas Etc/GMT is not. + However, this change exposes a bug in TZUpdater 2.3.2 so it is + present only in vanguard form for now. + + Release 2022d - 2022-09-23 12:02:57 -0700 Briefly: diff --git a/asia b/asia index e0daae0..5a33a8e 100644 --- a/asia +++ b/asia @@ -1172,10 +1172,6 @@ Zone Asia/Famagusta 2:15:48 - LMT 1921 Nov 14 3:00 - +03 2017 Oct 29 1:00u 2:00 EUAsia EE%sT -# Classically, Cyprus belongs to Asia; e.g. see Herodotus, Histories, I.72. -# However, for various reasons many users expect to find it under Europe. -Link Asia/Nicosia Europe/Nicosia - # Georgia # From Paul Eggert (1994-11-19): # Today's _Economist_ (p 60) reports that Georgia moved its clocks forward diff --git a/backward b/backward index 14e4b14..517ec89 100644 --- a/backward +++ b/backward @@ -43,6 +43,8 @@ Link Asia/Shanghai Asia/Chongqing Link Asia/Shanghai Asia/Chungking Link Asia/Dhaka Asia/Dacca Link Asia/Shanghai Asia/Harbin +# Istanbul is in both continents. +Link Europe/Istanbul Asia/Istanbul Link Asia/Urumqi Asia/Kashgar Link Asia/Kathmandu Asia/Katmandu Link Asia/Macau Asia/Macao @@ -86,18 +88,42 @@ Link Pacific/Easter Chile/EasterIsland Link America/Havana Cuba Link Africa/Cairo Egypt Link Europe/Dublin Eire +# Vanguard section, for most .zi parsers. +#Link GMT Etc/GMT +#Link GMT Etc/GMT+0 +#Link GMT Etc/GMT-0 +#Link GMT Etc/GMT0 +#Link GMT Etc/Greenwich +# Rearguard section, for TZUpdater 2.3.2 and earlier. +Link Etc/GMT Etc/GMT+0 +Link Etc/GMT Etc/GMT-0 +Link Etc/GMT Etc/GMT0 +Link Etc/GMT Etc/Greenwich +# End of rearguard section. Link Etc/UTC Etc/UCT +Link Etc/UTC Etc/Universal +Link Etc/UTC Etc/Zulu Link Europe/London Europe/Belfast Link Europe/Kyiv Europe/Kiev +# Classically, Cyprus is in Asia; e.g. see Herodotus, Histories, I.72. +# However, for various reasons many users expect to find it under Europe. +Link Asia/Nicosia Europe/Nicosia Link Europe/Chisinau Europe/Tiraspol Link Europe/Kyiv Europe/Uzhgorod Link Europe/Kyiv Europe/Zaporozhye Link Europe/London GB Link Europe/London GB-Eire +# Vanguard section, for most .zi parsers. +#Link GMT GMT+0 +#Link GMT GMT-0 +#Link GMT GMT0 +#Link GMT Greenwich +# Rearguard section, for TZUpdater 2.3.2 and earlier. Link Etc/GMT GMT+0 Link Etc/GMT GMT-0 Link Etc/GMT GMT0 Link Etc/GMT Greenwich +# End of rearguard section. Link Asia/Hong_Kong Hongkong Link Africa/Abidjan Iceland Link Asia/Tehran Iran diff --git a/checklinks.awk b/checklinks.awk index f309010..45f67e3 100644 --- a/checklinks.awk +++ b/checklinks.awk @@ -7,6 +7,18 @@ BEGIN { # It is a newline so that it cannot match a valid name. # It is not null so that its slot does not appear unset. Zone = "\n" + + if (!zone_table) zone_table = "zone.tab" + + while (getline <zone_table) { + if (/^#/) continue + zone_cc[$3] = $1 + } + + # As a special case, a link to "GMT" is allowed in a continental file. + # Remove this special case once the hack for TZUpdater 2.3.2 is + # moved from main to reaguard form. + zone_cc["GMT"] = 1 } /^Z/ { @@ -19,6 +31,7 @@ BEGIN { status = 1 } defined[$2] = Zone + last_zone = $2 } /^L/ { @@ -32,6 +45,20 @@ BEGIN { } status = 1 } + if (backcheck) { + backward = FILENAME == backcheck + if (!!zone_cc[$3] == backward) { + shouldbe = backward ? "a continental file" : "'backward'" + printf "%s:%d: %s: Link should be in %s\n", \ + FILENAME, FNR, $3, shouldbe + status = 1 + } + if (!backward && $2 != last_zone) { + printf "%s:%d: Link %s should come just after Zone %s\n", \ + FILENAME, FNR, $3, $2 + status = 1 + } + } used[$2] = 1 defined[$3] = $2 } diff --git a/etcetera b/etcetera index a7e0eb4..865a220 100644 --- a/etcetera +++ b/etcetera @@ -16,26 +16,23 @@ # Do not use a POSIX TZ setting like TZ='GMT+4', which is four hours # behind GMT but uses the completely misleading abbreviation "GMT". -Zone Etc/GMT 0 - GMT - # The following zone is used by tzcode functions like gmtime, # which load the "UTC" file to handle seconds properly. Zone Etc/UTC 0 - UTC +# Functions like gmtime load the "GMT" file to handle leap seconds properly. +# Vanguard section, which works with most .zi parsers. +#Zone GMT 0 - GMT +# Rearguard section, for TZUpdater 2.3.2 and earlier. +Zone Etc/GMT 0 - GMT + # The following link uses older naming conventions, # but it belongs here, not in the file 'backward', # as it is needed for tzcode releases through 2022a, # where functions like gmtime load "GMT" instead of the "Etc/UTC". # We want this to work even on installations that omit 'backward'. Link Etc/GMT GMT - -Link Etc/UTC Etc/Universal -Link Etc/UTC Etc/Zulu - -Link Etc/GMT Etc/Greenwich -Link Etc/GMT Etc/GMT-0 -Link Etc/GMT Etc/GMT+0 -Link Etc/GMT Etc/GMT0 +# End of rearguard section. # Be consistent with POSIX TZ settings in the Zone names, # even though this is the opposite of what many people expect. diff --git a/europe b/europe index bb0c7cf..76b741b 100644 --- a/europe +++ b/europe @@ -3734,7 +3734,6 @@ Zone Europe/Istanbul 1:55:52 - LMT 1880 2:00 1:00 EEST 2015 Nov 8 1:00u 2:00 EU EE%sT 2016 Sep 7 3:00 - +03 -Link Europe/Istanbul Asia/Istanbul # Istanbul is in both continents. # Ukraine # diff --git a/theory.html b/theory.html index 56390ae..298db86 100644 --- a/theory.html +++ b/theory.html @@ -329,6 +329,7 @@ still supported. These legacy names are mostly defined in the file '<code>etcetera</code>'. Also, the file '<code>backward</code>' defines the legacy names +'<code>Etc/GMT0</code>', '<code>Etc/GMT-0</code>', '<code>Etc/GMT+0</code>', '<code>GMT0</code>', '<code>GMT-0</code>' and '<code>GMT+0</code>', and the file '<code>northamerica</code>' defines the legacy names '<code>EST5EDT</code>', '<code>CST6CDT</code>', diff --git a/zdump.c b/zdump.c index a63a343..ef6cb8b 100644 --- a/zdump.c +++ b/zdump.c @@ -281,9 +281,9 @@ gmtzinit(void) if (USE_LOCALTIME_RZ) { /* Try "GMT" first to find out whether this is one of the rare platforms where time_t counts leap seconds; this works due to - the "Link Etc/GMT GMT" line in the "etcetera" file. If "GMT" + the "Zone GMT 0 - GMT" line in the "etcetera" file. If "GMT" fails, fall back on "GMT0" which might be similar due to the - "Link Etc/GMT GMT0" line in the "backward" file, and which + "Link GMT GMT0" line in the "backward" file, and which should work on all POSIX platforms. The rest of zdump does not use the "GMT" abbreviation that comes from this setting, so it is OK to use "GMT" here rather than the more-modern "UTC" which diff --git a/ziguard.awk b/ziguard.awk index 0556cc4..a864f9f 100644 --- a/ziguard.awk +++ b/ziguard.awk @@ -15,6 +15,9 @@ # after main became rearguard and vanguard became main). # There is no need to convert rearguard to other forms. # +# When converting to vanguard form, the output can use the line +# "Zone GMT 0 - GMT" which TZUpdater 2.3.2 mistakenly rejects. +# # When converting to vanguard form, the output can use negative SAVE # values. # @@ -151,6 +154,17 @@ DATAFORM != "main" { } } + # In vanguard form, use the line "Zone GMT 0 - GMT" instead of + # "Zone Etc/GMT 0 - GMT" and adjust Link lines accordingly. + # This works around a bug in TZUpdater 2.3.2. + if (/^#?(Zone|Link)[\t ]+(Etc\/)?GMT[\t ]/) { + if (($2 == "GMT") == (DATAFORM == "vanguard")) { + uncomment = in_comment + } else { + comment_out = !in_comment + } + } + if (uncomment) { sub(/^#/, "") } -- 2.37.3
This simplifies checking and postprocessing a bit. The sole remaining link is GMT, as TZUpdater (incorrectly) relies on it being a link instead of a zone. The GMT link is in 'backward' only when using vanguard form. * checklinks.awk: Simplify due to the link move. This reverts almost all of the previous change to this file. --- africa | 39 ------------------ asia | 16 -------- australasia | 10 ----- backward | 107 +++++++++++++++++++++++++++++++++++++++++++++++++ checklinks.awk | 29 ++------------ europe | 28 ------------- northamerica | 23 ----------- 7 files changed, 110 insertions(+), 142 deletions(-) diff --git a/africa b/africa index 7cbd6b0..bd7fe0f 100644 --- a/africa +++ b/africa @@ -150,17 +150,6 @@ Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Africa/Abidjan -0:16:08 - LMT 1912 0:00 - GMT -Link Africa/Abidjan Africa/Accra # Ghana -Link Africa/Abidjan Africa/Bamako # Mali -Link Africa/Abidjan Africa/Banjul # The Gambia -Link Africa/Abidjan Africa/Conakry # Guinea -Link Africa/Abidjan Africa/Dakar # Senegal -Link Africa/Abidjan Africa/Freetown # Sierra Leone -Link Africa/Abidjan Africa/Lome # Togo -Link Africa/Abidjan Africa/Nouakchott # Mauritania -Link Africa/Abidjan Africa/Ouagadougou # Burkina Faso -Link Africa/Abidjan Atlantic/Reykjavik # Iceland -Link Africa/Abidjan Atlantic/St_Helena # St Helena # Djibouti # See Africa/Nairobi. @@ -448,15 +437,6 @@ Zone Africa/Nairobi 2:27:16 - LMT 1908 May 2:30 - +0230 1936 Dec 31 24:00 2:45 - +0245 1942 Jul 31 24:00 3:00 - EAT -Link Africa/Nairobi Africa/Addis_Ababa # Ethiopia -Link Africa/Nairobi Africa/Asmara # Eritrea -Link Africa/Nairobi Africa/Dar_es_Salaam # Tanzania -Link Africa/Nairobi Africa/Djibouti -Link Africa/Nairobi Africa/Kampala # Uganda -Link Africa/Nairobi Africa/Mogadishu # Somalia -Link Africa/Nairobi Indian/Antananarivo # Madagascar -Link Africa/Nairobi Indian/Comoro -Link Africa/Nairobi Indian/Mayotte # Lesotho # See Africa/Johannesburg. @@ -1147,14 +1127,6 @@ Zone Africa/El_Aaiun -0:52:48 - LMT 1934 Jan # El Aaiún # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Africa/Maputo 2:10:20 - LMT 1903 Mar 2:00 - CAT -Link Africa/Maputo Africa/Blantyre # Malawi -Link Africa/Maputo Africa/Bujumbura # Burundi -Link Africa/Maputo Africa/Gaborone # Botswana -Link Africa/Maputo Africa/Harare # Zimbabwe -Link Africa/Maputo Africa/Kigali # Rwanda -Link Africa/Maputo Africa/Lubumbashi # E Dem. Rep. of Congo -Link Africa/Maputo Africa/Lusaka # Zambia - # Namibia @@ -1301,15 +1273,6 @@ Zone Africa/Lagos 0:13:35 - LMT 1905 Jul 1 0:13:35 - LMT 1914 Jan 1 0:30 - +0030 1919 Sep 1 1:00 - WAT -Link Africa/Lagos Africa/Bangui # Central African Republic -Link Africa/Lagos Africa/Brazzaville # Rep. of the Congo -Link Africa/Lagos Africa/Douala # Cameroon -Link Africa/Lagos Africa/Kinshasa # Dem. Rep. of the Congo (west) -Link Africa/Lagos Africa/Libreville # Gabon -Link Africa/Lagos Africa/Luanda # Angola -Link Africa/Lagos Africa/Malabo # Equatorial Guinea -Link Africa/Lagos Africa/Niamey # Niger -Link Africa/Lagos Africa/Porto-Novo # Benin # Réunion # See Asia/Dubai. @@ -1375,8 +1338,6 @@ Rule SA 1943 1944 - Mar Sun>=15 2:00 0 - Zone Africa/Johannesburg 1:52:00 - LMT 1892 Feb 8 1:30 - SAST 1903 Mar 2:00 SA SAST -Link Africa/Johannesburg Africa/Maseru # Lesotho -Link Africa/Johannesburg Africa/Mbabane # Eswatini # # Marion and Prince Edward Is # scientific station since 1947 diff --git a/asia b/asia index 5a33a8e..8cf97a4 100644 --- a/asia +++ b/asia @@ -273,7 +273,6 @@ Zone Asia/Yangon 6:24:47 - LMT 1880 # or Rangoon 6:30 - +0630 1942 May 9:00 - +09 1945 May 3 6:30 - +0630 -Link Asia/Yangon Indian/Cocos # Cambodia # See Asia/Bangkok. @@ -667,8 +666,6 @@ Zone Asia/Shanghai 8:05:43 - LMT 1901 # / Wulumuqi. (Please use Asia/Shanghai if you prefer Beijing time.) Zone Asia/Urumqi 5:50:20 - LMT 1928 6:00 - +06 -Link Asia/Urumqi Antarctica/Vostok - # Hong Kong @@ -2744,14 +2741,12 @@ Zone Asia/Kuching 7:21:20 - LMT 1926 Mar 8:00 NBorneo +08/+0820 1942 Feb 16 9:00 - +09 1945 Sep 12 8:00 - +08 -Link Asia/Kuching Asia/Brunei # Maldives # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Indian/Maldives 4:54:00 - LMT 1880 # Malé 4:54:00 - MMT 1960 # Malé Mean Time 5:00 - +05 -Link Indian/Maldives Indian/Kerguelen # Mongolia @@ -3532,7 +3527,6 @@ Zone Asia/Manila -15:56:00 - LMT 1844 Dec 31 Zone Asia/Qatar 3:26:08 - LMT 1920 # Al Dawhah / Doha 4:00 - +04 1972 Jun 3:00 - +03 -Link Asia/Qatar Asia/Bahrain # Saudi Arabia # @@ -3579,9 +3573,6 @@ Link Asia/Qatar Asia/Bahrain # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Asia/Riyadh 3:06:52 - LMT 1947 Mar 14 3:00 - +03 -Link Asia/Riyadh Antarctica/Syowa -Link Asia/Riyadh Asia/Aden # Yemen -Link Asia/Riyadh Asia/Kuwait # Singapore # taken from Mok Ly Yng (2003-10-30) @@ -3596,7 +3587,6 @@ Zone Asia/Singapore 6:55:25 - LMT 1901 Jan 1 9:00 - +09 1945 Sep 12 7:30 - +0730 1982 Jan 1 8:00 - +08 -Link Asia/Singapore Asia/Kuala_Lumpur # Spratly Is # no information @@ -3839,9 +3829,6 @@ Zone Asia/Dushanbe 4:35:12 - LMT 1924 May 2 Zone Asia/Bangkok 6:42:04 - LMT 1880 6:42:04 - BMT 1920 Apr # Bangkok Mean Time 7:00 - +07 -Link Asia/Bangkok Asia/Phnom_Penh # Cambodia -Link Asia/Bangkok Asia/Vientiane # Laos -Link Asia/Bangkok Indian/Christmas # Turkmenistan # From Shanks & Pottenger. @@ -3856,9 +3843,6 @@ Zone Asia/Ashgabat 3:53:32 - LMT 1924 May 2 # or Ashkhabad # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Asia/Dubai 3:41:12 - LMT 1920 4:00 - +04 -Link Asia/Dubai Asia/Muscat # Oman -Link Asia/Dubai Indian/Mahe -Link Asia/Dubai Indian/Reunion # Uzbekistan # Byalokoz 1919 says Uzbekistan was 4:27:53. diff --git a/australasia b/australasia index d6d1171..f741fbb 100644 --- a/australasia +++ b/australasia @@ -466,16 +466,11 @@ Zone Pacific/Guam -14:21:00 - LMT 1844 Dec 31 9:00 - +09 1944 Jul 31 10:00 Guam G%sT 2000 Dec 23 10:00 - ChST # Chamorro Standard Time -Link Pacific/Guam Pacific/Saipan # N Mariana Is # Kiribati # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Pacific/Tarawa 11:32:04 - LMT 1901 # Bairiki 12:00 - +12 -Link Pacific/Tarawa Pacific/Funafuti -Link Pacific/Tarawa Pacific/Majuro -Link Pacific/Tarawa Pacific/Wake -Link Pacific/Tarawa Pacific/Wallis Zone Pacific/Kanton 0 - -00 1937 Aug 31 -12:00 - -12 1979 Oct @@ -573,7 +568,6 @@ Rule Chatham 2008 max - Apr Sun>=1 2:45s 0 - Zone Pacific/Auckland 11:39:04 - LMT 1868 Nov 2 11:30 NZ NZ%sT 1946 Jan 1 12:00 NZ NZ%sT -Link Pacific/Auckland Antarctica/McMurdo Zone Pacific/Chatham 12:13:48 - LMT 1868 Nov 2 12:15 - +1215 1946 Jan 1 @@ -672,8 +666,6 @@ Zone Pacific/Palau -15:02:04 - LMT 1844 Dec 31 # Koror Zone Pacific/Port_Moresby 9:48:40 - LMT 1880 9:48:32 - PMMT 1895 # Port Moresby Mean Time 10:00 - +10 -Link Pacific/Port_Moresby Antarctica/DumontDUrville -Link Pacific/Port_Moresby Pacific/Chuuk # # From Paul Eggert (2014-10-13): # Base the Bougainville entry on the Arawa-Kieta region, which appears to have @@ -709,7 +701,6 @@ Zone Pacific/Pitcairn -8:40:20 - LMT 1901 # Adamstown Zone Pacific/Pago_Pago 12:37:12 - LMT 1892 Jul 5 -11:22:48 - LMT 1911 -11:00 - SST # S=Samoa -Link Pacific/Pago_Pago Pacific/Midway # in US minor outlying islands # Samoa (formerly and also known as Western Samoa) @@ -801,7 +792,6 @@ Zone Pacific/Apia 12:33:04 - LMT 1892 Jul 5 # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct # Honiara 11:00 - +11 -Link Pacific/Guadalcanal Pacific/Pohnpei # Tokelau # diff --git a/backward b/backward index 517ec89..7e53314 100644 --- a/backward +++ b/backward @@ -14,30 +14,94 @@ # typically use this file for backward compatibility. # Link TARGET LINK-NAME +Link Africa/Abidjan Africa/Accra +Link Africa/Nairobi Africa/Addis_Ababa +Link Africa/Nairobi Africa/Asmara Link Africa/Nairobi Africa/Asmera +Link Africa/Abidjan Africa/Bamako +Link Africa/Lagos Africa/Bangui +Link Africa/Abidjan Africa/Banjul +Link Africa/Maputo Africa/Blantyre +Link Africa/Lagos Africa/Brazzaville +Link Africa/Maputo Africa/Bujumbura +Link Africa/Abidjan Africa/Conakry +Link Africa/Abidjan Africa/Dakar +Link Africa/Nairobi Africa/Dar_es_Salaam +Link Africa/Nairobi Africa/Djibouti +Link Africa/Lagos Africa/Douala +Link Africa/Abidjan Africa/Freetown +Link Africa/Maputo Africa/Gaborone +Link Africa/Maputo Africa/Harare +Link Africa/Nairobi Africa/Kampala +Link Africa/Maputo Africa/Kigali +Link Africa/Lagos Africa/Kinshasa +Link Africa/Lagos Africa/Libreville +Link Africa/Abidjan Africa/Lome +Link Africa/Lagos Africa/Luanda +Link Africa/Maputo Africa/Lubumbashi +Link Africa/Maputo Africa/Lusaka +Link Africa/Lagos Africa/Malabo +Link Africa/Johannesburg Africa/Maseru +Link Africa/Johannesburg Africa/Mbabane +Link Africa/Nairobi Africa/Mogadishu +Link Africa/Lagos Africa/Niamey +Link Africa/Abidjan Africa/Nouakchott +Link Africa/Abidjan Africa/Ouagadougou +Link Africa/Lagos Africa/Porto-Novo Link Africa/Abidjan Africa/Timbuktu +Link America/Puerto_Rico America/Anguilla +Link America/Puerto_Rico America/Antigua Link America/Argentina/Catamarca America/Argentina/ComodRivadavia +Link America/Puerto_Rico America/Aruba +Link America/Panama America/Atikokan Link America/Adak America/Atka +Link America/Puerto_Rico America/Blanc-Sablon Link America/Argentina/Buenos_Aires America/Buenos_Aires Link America/Argentina/Catamarca America/Catamarca +Link America/Panama America/Cayman Link America/Panama America/Coral_Harbour Link America/Argentina/Cordoba America/Cordoba +Link America/Phoenix America/Creston +Link America/Puerto_Rico America/Curacao +Link America/Puerto_Rico America/Dominica Link America/Tijuana America/Ensenada Link America/Indiana/Indianapolis America/Fort_Wayne Link America/Nuuk America/Godthab +Link America/Puerto_Rico America/Grenada +Link America/Puerto_Rico America/Guadeloupe Link America/Indiana/Indianapolis America/Indianapolis Link America/Argentina/Jujuy America/Jujuy Link America/Indiana/Knox America/Knox_IN +Link America/Puerto_Rico America/Kralendijk Link America/Kentucky/Louisville America/Louisville +Link America/Puerto_Rico America/Lower_Princes +Link America/Puerto_Rico America/Marigot Link America/Argentina/Mendoza America/Mendoza Link America/Toronto America/Montreal +Link America/Puerto_Rico America/Montserrat +Link America/Toronto America/Nassau +Link America/Puerto_Rico America/Port_of_Spain Link America/Rio_Branco America/Porto_Acre Link America/Argentina/Cordoba America/Rosario Link America/Tijuana America/Santa_Isabel Link America/Denver America/Shiprock +Link America/Puerto_Rico America/St_Barthelemy +Link America/Puerto_Rico America/St_Kitts +Link America/Puerto_Rico America/St_Lucia +Link America/Puerto_Rico America/St_Thomas +Link America/Puerto_Rico America/St_Vincent +Link America/Puerto_Rico America/Tortola Link America/Puerto_Rico America/Virgin +Link Pacific/Port_Moresby Antarctica/DumontDUrville +Link Pacific/Auckland Antarctica/McMurdo Link Pacific/Auckland Antarctica/South_Pole +Link Asia/Riyadh Antarctica/Syowa +Link Asia/Urumqi Antarctica/Vostok +Link Europe/Berlin Arctic/Longyearbyen +Link Asia/Riyadh Asia/Aden Link Asia/Ashgabat Asia/Ashkhabad +Link Asia/Qatar Asia/Bahrain +Link Asia/Kuching Asia/Brunei Link Asia/Kolkata Asia/Calcutta Link Asia/Shanghai Asia/Chongqing Link Asia/Shanghai Asia/Chungking @@ -47,15 +111,22 @@ Link Asia/Shanghai Asia/Harbin Link Europe/Istanbul Asia/Istanbul Link Asia/Urumqi Asia/Kashgar Link Asia/Kathmandu Asia/Katmandu +Link Asia/Singapore Asia/Kuala_Lumpur +Link Asia/Riyadh Asia/Kuwait Link Asia/Macau Asia/Macao +Link Asia/Dubai Asia/Muscat +Link Asia/Bangkok Asia/Phnom_Penh Link Asia/Yangon Asia/Rangoon Link Asia/Ho_Chi_Minh Asia/Saigon Link Asia/Jerusalem Asia/Tel_Aviv Link Asia/Thimphu Asia/Thimbu Link Asia/Makassar Asia/Ujung_Pandang Link Asia/Ulaanbaatar Asia/Ulan_Bator +Link Asia/Bangkok Asia/Vientiane Link Atlantic/Faroe Atlantic/Faeroe Link Europe/Berlin Atlantic/Jan_Mayen +Link Africa/Abidjan Atlantic/Reykjavik +Link Africa/Abidjan Atlantic/St_Helena Link Australia/Sydney Australia/ACT Link Australia/Sydney Australia/Canberra Link Australia/Hobart Australia/Currie @@ -103,13 +174,33 @@ Link Etc/GMT Etc/Greenwich Link Etc/UTC Etc/UCT Link Etc/UTC Etc/Universal Link Etc/UTC Etc/Zulu +Link Europe/Brussels Europe/Amsterdam Link Europe/London Europe/Belfast +Link Europe/Prague Europe/Bratislava +Link Europe/Zurich Europe/Busingen +Link Europe/Berlin Europe/Copenhagen +Link Europe/London Europe/Guernsey +Link Europe/London Europe/Isle_of_Man +Link Europe/London Europe/Jersey Link Europe/Kyiv Europe/Kiev +Link Europe/Belgrade Europe/Ljubljana +Link Europe/Brussels Europe/Luxembourg +Link Europe/Helsinki Europe/Mariehamn +Link Europe/Paris Europe/Monaco # Classically, Cyprus is in Asia; e.g. see Herodotus, Histories, I.72. # However, for various reasons many users expect to find it under Europe. Link Asia/Nicosia Europe/Nicosia +Link Europe/Berlin Europe/Oslo +Link Europe/Belgrade Europe/Podgorica +Link Europe/Rome Europe/San_Marino +Link Europe/Belgrade Europe/Sarajevo +Link Europe/Belgrade Europe/Skopje +Link Europe/Berlin Europe/Stockholm Link Europe/Chisinau Europe/Tiraspol Link Europe/Kyiv Europe/Uzhgorod +Link Europe/Zurich Europe/Vaduz +Link Europe/Rome Europe/Vatican +Link Europe/Belgrade Europe/Zagreb Link Europe/Kyiv Europe/Zaporozhye Link Europe/London GB Link Europe/London GB-Eire @@ -126,6 +217,14 @@ Link Etc/GMT Greenwich # End of rearguard section. Link Asia/Hong_Kong Hongkong Link Africa/Abidjan Iceland +Link Africa/Nairobi Indian/Antananarivo +Link Asia/Bangkok Indian/Christmas +Link Asia/Yangon Indian/Cocos +Link Africa/Nairobi Indian/Comoro +Link Indian/Maldives Indian/Kerguelen +Link Asia/Dubai Indian/Mahe +Link Africa/Nairobi Indian/Mayotte +Link Asia/Dubai Indian/Reunion Link Asia/Tehran Iran Link Asia/Jerusalem Israel Link America/Jamaica Jamaica @@ -139,11 +238,19 @@ Link Pacific/Auckland NZ Link Pacific/Chatham NZ-CHAT Link America/Denver Navajo Link Asia/Shanghai PRC +Link Pacific/Port_Moresby Pacific/Chuuk Link Pacific/Kanton Pacific/Enderbury +Link Pacific/Tarawa Pacific/Funafuti Link Pacific/Honolulu Pacific/Johnston +Link Pacific/Tarawa Pacific/Majuro +Link Pacific/Pago_Pago Pacific/Midway +Link Pacific/Guadalcanal Pacific/Pohnpei Link Pacific/Guadalcanal Pacific/Ponape +Link Pacific/Guam Pacific/Saipan Link Pacific/Pago_Pago Pacific/Samoa Link Pacific/Port_Moresby Pacific/Truk +Link Pacific/Tarawa Pacific/Wake +Link Pacific/Tarawa Pacific/Wallis Link Pacific/Port_Moresby Pacific/Yap Link Europe/Warsaw Poland Link Europe/Lisbon Portugal diff --git a/checklinks.awk b/checklinks.awk index 45f67e3..b2bb17a 100644 --- a/checklinks.awk +++ b/checklinks.awk @@ -7,18 +7,6 @@ BEGIN { # It is a newline so that it cannot match a valid name. # It is not null so that its slot does not appear unset. Zone = "\n" - - if (!zone_table) zone_table = "zone.tab" - - while (getline <zone_table) { - if (/^#/) continue - zone_cc[$3] = $1 - } - - # As a special case, a link to "GMT" is allowed in a continental file. - # Remove this special case once the hack for TZUpdater 2.3.2 is - # moved from main to reaguard form. - zone_cc["GMT"] = 1 } /^Z/ { @@ -31,7 +19,6 @@ BEGIN { status = 1 } defined[$2] = Zone - last_zone = $2 } /^L/ { @@ -45,19 +32,9 @@ BEGIN { } status = 1 } - if (backcheck) { - backward = FILENAME == backcheck - if (!!zone_cc[$3] == backward) { - shouldbe = backward ? "a continental file" : "'backward'" - printf "%s:%d: %s: Link should be in %s\n", \ - FILENAME, FNR, $3, shouldbe - status = 1 - } - if (!backward && $2 != last_zone) { - printf "%s:%d: Link %s should come just after Zone %s\n", \ - FILENAME, FNR, $3, $2 - status = 1 - } + if (backcheck && FILENAME != backcheck && $3 != "GMT") { + printf "%s: Link should be in '%s'\n", $3, backcheck + status = 1 } used[$2] = 1 defined[$3] = $2 diff --git a/europe b/europe index 76b741b..4594fb3 100644 --- a/europe +++ b/europe @@ -504,9 +504,6 @@ Zone Europe/London -0:01:15 - LMT 1847 Dec 1 1:00 - BST 1971 Oct 31 2:00u 0:00 GB-Eire %s 1996 0:00 EU GMT/BST -Link Europe/London Europe/Jersey -Link Europe/London Europe/Guernsey -Link Europe/London Europe/Isle_of_Man # From Paul Eggert (2018-02-15): # In January 2018 we discovered that the negative SAVE values in the @@ -961,8 +958,6 @@ Zone Europe/Brussels 0:17:30 - LMT 1880 1:00 C-Eur CE%sT 1944 Sep 3 1:00 Belgium CE%sT 1977 1:00 EU CE%sT -Link Europe/Brussels Europe/Amsterdam -Link Europe/Brussels Europe/Luxembourg # Bosnia and Herzegovina # See Europe/Belgrade. @@ -1025,8 +1020,6 @@ Zone Europe/Prague 0:57:44 - LMT 1850 # End of rearguard section. 1:00 Czech CE%sT 1979 1:00 EU CE%sT -Link Europe/Prague Europe/Bratislava - # Denmark, Faroe Islands, and Greenland # For Denmark see Europe/Berlin. @@ -1259,10 +1252,6 @@ Zone Europe/Helsinki 1:39:49 - LMT 1878 May 31 2:00 Finland EE%sT 1983 2:00 EU EE%sT -# Åland Is -Link Europe/Helsinki Europe/Mariehamn - - # France # From Ciro Discepolo (2000-12-20): @@ -1400,7 +1389,6 @@ Zone Europe/Paris 0:09:21 - LMT 1891 Mar 16 0:00 France WE%sT 1945 Sep 16 3:00 1:00 France CE%sT 1977 1:00 EU CE%sT -Link Europe/Paris Europe/Monaco # Germany @@ -1444,11 +1432,6 @@ Zone Europe/Berlin 0:53:28 - LMT 1893 Apr 1:00 SovietZone CE%sT 1946 1:00 Germany CE%sT 1980 1:00 EU CE%sT -Link Europe/Berlin Arctic/Longyearbyen -Link Europe/Berlin Europe/Copenhagen -Link Europe/Berlin Europe/Oslo -Link Europe/Berlin Europe/Stockholm - # Georgia # Please see the "asia" file for Asia/Tbilisi. @@ -1689,9 +1672,6 @@ Zone Europe/Rome 0:49:56 - LMT 1866 Dec 12 1:00 C-Eur CE%sT 1944 Jun 4 1:00 Italy CE%sT 1980 1:00 EU CE%sT -Link Europe/Rome Europe/Vatican -Link Europe/Rome Europe/San_Marino - # Kosovo # See Europe/Belgrade. @@ -3294,11 +3274,6 @@ Zone Europe/Belgrade 1:22:00 - LMT 1884 # Shanks & Pottenger don't give as much detail, so go with Koželj. 1:00 - CET 1982 Nov 27 1:00 EU CE%sT -Link Europe/Belgrade Europe/Ljubljana # Slovenia -Link Europe/Belgrade Europe/Podgorica # Montenegro -Link Europe/Belgrade Europe/Sarajevo # Bosnia and Herzegovina -Link Europe/Belgrade Europe/Skopje # North Macedonia -Link Europe/Belgrade Europe/Zagreb # Croatia # Slovakia # See Europe/Prague. @@ -3527,9 +3502,6 @@ Zone Europe/Zurich 0:34:08 - LMT 1853 Jul 16 # See above comment. 0:29:46 - BMT 1894 Jun # Bern Mean Time 1:00 Swiss CE%sT 1981 1:00 EU CE%sT -Link Europe/Zurich Europe/Busingen -Link Europe/Zurich Europe/Vaduz - # Turkey diff --git a/northamerica b/northamerica index 13fb064..8a89d84 100644 --- a/northamerica +++ b/northamerica @@ -829,7 +829,6 @@ Zone America/Phoenix -7:28:18 - LMT 1883 Nov 18 11:31:42 -7:00 - MST 1967 -7:00 US M%sT 1968 Mar 21 -7:00 - MST -Link America/Phoenix America/Creston # From Arthur David Olson (1988-02-13): # A writer from the Inter Tribal Council of Arizona, Inc., @@ -1768,7 +1767,6 @@ Zone America/Toronto -5:17:32 - LMT 1895 -5:00 Canada E%sT 1946 -5:00 Toronto E%sT 1974 -5:00 Canada E%sT -Link America/Toronto America/Nassau Zone America/Thunder_Bay -5:57:00 - LMT 1895 -6:00 - CST 1910 -5:00 - EST 1942 @@ -3572,8 +3570,6 @@ Zone America/Managua -5:45:08 - LMT 1890 Zone America/Panama -5:18:08 - LMT 1890 -5:19:36 - CMT 1908 Apr 22 # Colón Mean Time -5:00 - EST -Link America/Panama America/Atikokan -Link America/Panama America/Cayman # Puerto Rico # There are too many San Juans elsewhere, so we'll use 'Puerto_Rico'. @@ -3582,25 +3578,6 @@ Zone America/Puerto_Rico -4:24:25 - LMT 1899 Mar 28 12:00 # San Juan -4:00 - AST 1942 May 3 -4:00 US A%sT 1946 -4:00 - AST -Link America/Puerto_Rico America/Anguilla -Link America/Puerto_Rico America/Antigua -Link America/Puerto_Rico America/Aruba -Link America/Puerto_Rico America/Curacao -Link America/Puerto_Rico America/Blanc-Sablon # Quebec (Lower North Shore) -Link America/Puerto_Rico America/Dominica -Link America/Puerto_Rico America/Grenada -Link America/Puerto_Rico America/Guadeloupe -Link America/Puerto_Rico America/Kralendijk # Caribbean Netherlands -Link America/Puerto_Rico America/Lower_Princes # Sint Maarten -Link America/Puerto_Rico America/Marigot # St Martin (French part) -Link America/Puerto_Rico America/Montserrat -Link America/Puerto_Rico America/Port_of_Spain # Trinidad & Tobago -Link America/Puerto_Rico America/St_Barthelemy # St Barthélemy -Link America/Puerto_Rico America/St_Kitts # St Kitts & Nevis -Link America/Puerto_Rico America/St_Lucia -Link America/Puerto_Rico America/St_Thomas # Virgin Islands (US) -Link America/Puerto_Rico America/St_Vincent -Link America/Puerto_Rico America/Tortola # Virgin Islands (UK) # St Kitts-Nevis # St Lucia -- 2.37.3
* Makefile (check_sorted): Adjust to match new 'backward'. * backward: Divide into sections, explaining better the reason for each link in 'backward'. This does not change the generated data. --- Makefile | 3 +- backward | 335 ++++++++++++++++++++++++++++++------------------------- 2 files changed, 183 insertions(+), 155 deletions(-) diff --git a/Makefile b/Makefile index 69cb704..759872b 100644 --- a/Makefile +++ b/Makefile @@ -818,7 +818,8 @@ check_slashed_abbrs: $(TDATA_TO_CHECK) CHECK_CC_LIST = { n = split($$1,a,/,/); for (i=2; i<=n; i++) print a[1], a[i]; } check_sorted: backward backzone iso3166.tab zone.tab zone1970.tab - $(AWK) '/^Link/ {print $$3}' backward | LC_ALL=C sort -cu + $(AWK) '/^Link/ {printf "%.5d %s\n", g, $$3} /^$$/ {g++}' \ + backward | LC_ALL=C sort -cu $(AWK) '/^Zone/ {print $$2}' backzone | LC_ALL=C sort -cu touch $@ diff --git a/backward b/backward index 7e53314..f61c260 100644 --- a/backward +++ b/backward @@ -4,7 +4,7 @@ # 2009-05-17 by Arthur David Olson. # This file provides links from old or merged timezone names to current ones. -# Many names changed in late 1993, and many merged names moved here +# Many names changed in 1993 and in 1995, and many merged names moved here # in the period from 2013 through 2022. Several of these names are # also present in the file 'backzone', which has data important only # for pre-1970 timestamps and so is out of scope for tzdb proper. @@ -13,11 +13,132 @@ # building with 'make BACKWARD=', in practice downstream users # typically use this file for backward compatibility. +# This file is divided into sections, one for each major reason for a +# backward compatibility link. Each section is sorted by link name. + + +# Pre-1993 naming conventions + +# Link TARGET LINK-NAME +Link Australia/Sydney Australia/ACT +Link Australia/Lord_Howe Australia/LHI +Link Australia/Sydney Australia/NSW +Link Australia/Darwin Australia/North +Link Australia/Brisbane Australia/Queensland +Link Australia/Adelaide Australia/South +Link Australia/Hobart Australia/Tasmania +Link Australia/Melbourne Australia/Victoria +Link Australia/Perth Australia/West +Link Australia/Broken_Hill Australia/Yancowinna +Link America/Rio_Branco Brazil/Acre +Link America/Noronha Brazil/DeNoronha +Link America/Sao_Paulo Brazil/East +Link America/Manaus Brazil/West +Link America/Halifax Canada/Atlantic +Link America/Winnipeg Canada/Central +# This line is commented out, as the name exceeded the 14-character limit +# and was an unused misnomer. +#Link America/Regina Canada/East-Saskatchewan +Link America/Toronto Canada/Eastern +Link America/Edmonton Canada/Mountain +Link America/St_Johns Canada/Newfoundland +Link America/Vancouver Canada/Pacific +Link America/Regina Canada/Saskatchewan +Link America/Whitehorse Canada/Yukon +Link America/Santiago Chile/Continental +Link Pacific/Easter Chile/EasterIsland +Link America/Havana Cuba +Link Africa/Cairo Egypt +Link Europe/Dublin Eire +# Vanguard section, for most .zi parsers. +#Link GMT Etc/GMT +#Link GMT Etc/GMT+0 +#Link GMT Etc/GMT-0 +#Link GMT Etc/GMT0 +#Link GMT Etc/Greenwich +# Rearguard section, for TZUpdater 2.3.2 and earlier. +Link Etc/GMT Etc/GMT+0 +Link Etc/GMT Etc/GMT-0 +Link Etc/GMT Etc/GMT0 +Link Etc/GMT Etc/Greenwich +# End of rearguard section. +Link Etc/UTC Etc/UCT +Link Etc/UTC Etc/Universal +Link Etc/UTC Etc/Zulu +Link Europe/London GB +Link Europe/London GB-Eire +# Vanguard section, for most .zi parsers. +#Link GMT GMT+0 +#Link GMT GMT-0 +#Link GMT GMT0 +#Link GMT Greenwich +# Rearguard section, for TZUpdater 2.3.2 and earlier. +Link Etc/GMT GMT+0 +Link Etc/GMT GMT-0 +Link Etc/GMT GMT0 +Link Etc/GMT Greenwich +# End of rearguard section. +Link Asia/Hong_Kong Hongkong +Link Africa/Abidjan Iceland +Link Asia/Tehran Iran +Link Asia/Jerusalem Israel +Link America/Jamaica Jamaica +Link Asia/Tokyo Japan +Link Pacific/Kwajalein Kwajalein +Link Africa/Tripoli Libya +Link America/Tijuana Mexico/BajaNorte +Link America/Mazatlan Mexico/BajaSur +Link America/Mexico_City Mexico/General +Link Pacific/Auckland NZ +Link Pacific/Chatham NZ-CHAT +Link America/Denver Navajo +Link Asia/Shanghai PRC +Link Europe/Warsaw Poland +Link Europe/Lisbon Portugal +Link Asia/Taipei ROC +Link Asia/Seoul ROK +Link Asia/Singapore Singapore +Link Europe/Istanbul Turkey +Link Etc/UTC UCT +Link America/Anchorage US/Alaska +Link America/Adak US/Aleutian +Link America/Phoenix US/Arizona +Link America/Chicago US/Central +Link America/Indiana/Indianapolis US/East-Indiana +Link America/New_York US/Eastern +Link Pacific/Honolulu US/Hawaii +Link America/Indiana/Knox US/Indiana-Starke +Link America/Detroit US/Michigan +Link America/Denver US/Mountain +Link America/Los_Angeles US/Pacific +Link Pacific/Pago_Pago US/Samoa +Link Etc/UTC UTC +Link Etc/UTC Universal +Link Europe/Moscow W-SU +Link Etc/UTC Zulu + + +# Two-part names that were renamed mostly to three-part names in 1995 + +# Link TARGET LINK-NAME +Link America/Argentina/Buenos_Aires America/Buenos_Aires +Link America/Argentina/Catamarca America/Catamarca +Link America/Argentina/Cordoba America/Cordoba +Link America/Indiana/Indianapolis America/Indianapolis +Link America/Argentina/Jujuy America/Jujuy +Link America/Indiana/Knox America/Knox_IN +Link America/Kentucky/Louisville America/Louisville +Link America/Argentina/Mendoza America/Mendoza +Link America/Puerto_Rico America/Virgin +Link Pacific/Pago_Pago Pacific/Samoa + + +# Pre-2013 practice, which typically had a Zone per zone.tab line + # Link TARGET LINK-NAME Link Africa/Abidjan Africa/Accra Link Africa/Nairobi Africa/Addis_Ababa Link Africa/Nairobi Africa/Asmara -Link Africa/Nairobi Africa/Asmera Link Africa/Abidjan Africa/Bamako Link Africa/Lagos Africa/Bangui Link Africa/Abidjan Africa/Banjul @@ -48,175 +169,64 @@ Link Africa/Lagos Africa/Niamey Link Africa/Abidjan Africa/Nouakchott Link Africa/Abidjan Africa/Ouagadougou Link Africa/Lagos Africa/Porto-Novo -Link Africa/Abidjan Africa/Timbuktu Link America/Puerto_Rico America/Anguilla Link America/Puerto_Rico America/Antigua -Link America/Argentina/Catamarca America/Argentina/ComodRivadavia Link America/Puerto_Rico America/Aruba Link America/Panama America/Atikokan -Link America/Adak America/Atka Link America/Puerto_Rico America/Blanc-Sablon -Link America/Argentina/Buenos_Aires America/Buenos_Aires -Link America/Argentina/Catamarca America/Catamarca Link America/Panama America/Cayman -Link America/Panama America/Coral_Harbour -Link America/Argentina/Cordoba America/Cordoba Link America/Phoenix America/Creston Link America/Puerto_Rico America/Curacao Link America/Puerto_Rico America/Dominica -Link America/Tijuana America/Ensenada -Link America/Indiana/Indianapolis America/Fort_Wayne -Link America/Nuuk America/Godthab Link America/Puerto_Rico America/Grenada Link America/Puerto_Rico America/Guadeloupe -Link America/Indiana/Indianapolis America/Indianapolis -Link America/Argentina/Jujuy America/Jujuy -Link America/Indiana/Knox America/Knox_IN Link America/Puerto_Rico America/Kralendijk -Link America/Kentucky/Louisville America/Louisville Link America/Puerto_Rico America/Lower_Princes Link America/Puerto_Rico America/Marigot -Link America/Argentina/Mendoza America/Mendoza -Link America/Toronto America/Montreal Link America/Puerto_Rico America/Montserrat Link America/Toronto America/Nassau Link America/Puerto_Rico America/Port_of_Spain -Link America/Rio_Branco America/Porto_Acre -Link America/Argentina/Cordoba America/Rosario -Link America/Tijuana America/Santa_Isabel -Link America/Denver America/Shiprock Link America/Puerto_Rico America/St_Barthelemy Link America/Puerto_Rico America/St_Kitts Link America/Puerto_Rico America/St_Lucia Link America/Puerto_Rico America/St_Thomas Link America/Puerto_Rico America/St_Vincent Link America/Puerto_Rico America/Tortola -Link America/Puerto_Rico America/Virgin Link Pacific/Port_Moresby Antarctica/DumontDUrville Link Pacific/Auckland Antarctica/McMurdo -Link Pacific/Auckland Antarctica/South_Pole Link Asia/Riyadh Antarctica/Syowa Link Asia/Urumqi Antarctica/Vostok Link Europe/Berlin Arctic/Longyearbyen Link Asia/Riyadh Asia/Aden -Link Asia/Ashgabat Asia/Ashkhabad Link Asia/Qatar Asia/Bahrain Link Asia/Kuching Asia/Brunei -Link Asia/Kolkata Asia/Calcutta -Link Asia/Shanghai Asia/Chongqing -Link Asia/Shanghai Asia/Chungking -Link Asia/Dhaka Asia/Dacca -Link Asia/Shanghai Asia/Harbin -# Istanbul is in both continents. -Link Europe/Istanbul Asia/Istanbul -Link Asia/Urumqi Asia/Kashgar -Link Asia/Kathmandu Asia/Katmandu Link Asia/Singapore Asia/Kuala_Lumpur Link Asia/Riyadh Asia/Kuwait -Link Asia/Macau Asia/Macao Link Asia/Dubai Asia/Muscat Link Asia/Bangkok Asia/Phnom_Penh -Link Asia/Yangon Asia/Rangoon -Link Asia/Ho_Chi_Minh Asia/Saigon -Link Asia/Jerusalem Asia/Tel_Aviv -Link Asia/Thimphu Asia/Thimbu -Link Asia/Makassar Asia/Ujung_Pandang -Link Asia/Ulaanbaatar Asia/Ulan_Bator Link Asia/Bangkok Asia/Vientiane -Link Atlantic/Faroe Atlantic/Faeroe -Link Europe/Berlin Atlantic/Jan_Mayen Link Africa/Abidjan Atlantic/Reykjavik Link Africa/Abidjan Atlantic/St_Helena -Link Australia/Sydney Australia/ACT -Link Australia/Sydney Australia/Canberra -Link Australia/Hobart Australia/Currie -Link Australia/Lord_Howe Australia/LHI -Link Australia/Sydney Australia/NSW -Link Australia/Darwin Australia/North -Link Australia/Brisbane Australia/Queensland -Link Australia/Adelaide Australia/South -Link Australia/Hobart Australia/Tasmania -Link Australia/Melbourne Australia/Victoria -Link Australia/Perth Australia/West -Link Australia/Broken_Hill Australia/Yancowinna -Link America/Rio_Branco Brazil/Acre -Link America/Noronha Brazil/DeNoronha -Link America/Sao_Paulo Brazil/East -Link America/Manaus Brazil/West -Link America/Halifax Canada/Atlantic -Link America/Winnipeg Canada/Central -# This line is commented out, as the name exceeded the 14-character limit -# and was an unused misnomer. -#Link America/Regina Canada/East-Saskatchewan -Link America/Toronto Canada/Eastern -Link America/Edmonton Canada/Mountain -Link America/St_Johns Canada/Newfoundland -Link America/Vancouver Canada/Pacific -Link America/Regina Canada/Saskatchewan -Link America/Whitehorse Canada/Yukon -Link America/Santiago Chile/Continental -Link Pacific/Easter Chile/EasterIsland -Link America/Havana Cuba -Link Africa/Cairo Egypt -Link Europe/Dublin Eire -# Vanguard section, for most .zi parsers. -#Link GMT Etc/GMT -#Link GMT Etc/GMT+0 -#Link GMT Etc/GMT-0 -#Link GMT Etc/GMT0 -#Link GMT Etc/Greenwich -# Rearguard section, for TZUpdater 2.3.2 and earlier. -Link Etc/GMT Etc/GMT+0 -Link Etc/GMT Etc/GMT-0 -Link Etc/GMT Etc/GMT0 -Link Etc/GMT Etc/Greenwich -# End of rearguard section. -Link Etc/UTC Etc/UCT -Link Etc/UTC Etc/Universal -Link Etc/UTC Etc/Zulu Link Europe/Brussels Europe/Amsterdam -Link Europe/London Europe/Belfast Link Europe/Prague Europe/Bratislava Link Europe/Zurich Europe/Busingen Link Europe/Berlin Europe/Copenhagen Link Europe/London Europe/Guernsey Link Europe/London Europe/Isle_of_Man Link Europe/London Europe/Jersey -Link Europe/Kyiv Europe/Kiev Link Europe/Belgrade Europe/Ljubljana Link Europe/Brussels Europe/Luxembourg Link Europe/Helsinki Europe/Mariehamn Link Europe/Paris Europe/Monaco -# Classically, Cyprus is in Asia; e.g. see Herodotus, Histories, I.72. -# However, for various reasons many users expect to find it under Europe. -Link Asia/Nicosia Europe/Nicosia Link Europe/Berlin Europe/Oslo Link Europe/Belgrade Europe/Podgorica Link Europe/Rome Europe/San_Marino Link Europe/Belgrade Europe/Sarajevo Link Europe/Belgrade Europe/Skopje Link Europe/Berlin Europe/Stockholm -Link Europe/Chisinau Europe/Tiraspol -Link Europe/Kyiv Europe/Uzhgorod Link Europe/Zurich Europe/Vaduz Link Europe/Rome Europe/Vatican Link Europe/Belgrade Europe/Zagreb -Link Europe/Kyiv Europe/Zaporozhye -Link Europe/London GB -Link Europe/London GB-Eire -# Vanguard section, for most .zi parsers. -#Link GMT GMT+0 -#Link GMT GMT-0 -#Link GMT GMT0 -#Link GMT Greenwich -# Rearguard section, for TZUpdater 2.3.2 and earlier. -Link Etc/GMT GMT+0 -Link Etc/GMT GMT-0 -Link Etc/GMT GMT0 -Link Etc/GMT Greenwich -# End of rearguard section. -Link Asia/Hong_Kong Hongkong -Link Africa/Abidjan Iceland Link Africa/Nairobi Indian/Antananarivo Link Asia/Bangkok Indian/Christmas Link Asia/Yangon Indian/Cocos @@ -225,53 +235,70 @@ Link Indian/Maldives Indian/Kerguelen Link Asia/Dubai Indian/Mahe Link Africa/Nairobi Indian/Mayotte Link Asia/Dubai Indian/Reunion -Link Asia/Tehran Iran -Link Asia/Jerusalem Israel -Link America/Jamaica Jamaica -Link Asia/Tokyo Japan -Link Pacific/Kwajalein Kwajalein -Link Africa/Tripoli Libya -Link America/Tijuana Mexico/BajaNorte -Link America/Mazatlan Mexico/BajaSur -Link America/Mexico_City Mexico/General -Link Pacific/Auckland NZ -Link Pacific/Chatham NZ-CHAT -Link America/Denver Navajo -Link Asia/Shanghai PRC Link Pacific/Port_Moresby Pacific/Chuuk -Link Pacific/Kanton Pacific/Enderbury Link Pacific/Tarawa Pacific/Funafuti -Link Pacific/Honolulu Pacific/Johnston Link Pacific/Tarawa Pacific/Majuro Link Pacific/Pago_Pago Pacific/Midway Link Pacific/Guadalcanal Pacific/Pohnpei -Link Pacific/Guadalcanal Pacific/Ponape Link Pacific/Guam Pacific/Saipan -Link Pacific/Pago_Pago Pacific/Samoa -Link Pacific/Port_Moresby Pacific/Truk Link Pacific/Tarawa Pacific/Wake Link Pacific/Tarawa Pacific/Wallis + + +# Non-zone.tab locations with timestamps since 1970 that duplicate +# those of an existing location + +# Link TARGET LINK-NAME +Link Africa/Abidjan Africa/Timbuktu +Link America/Argentina/Catamarca America/Argentina/ComodRivadavia +Link America/Adak America/Atka +Link America/Panama America/Coral_Harbour +Link America/Tijuana America/Ensenada +Link America/Indiana/Indianapolis America/Fort_Wayne +Link America/Toronto America/Montreal +Link America/Rio_Branco America/Porto_Acre +Link America/Argentina/Cordoba America/Rosario +Link America/Tijuana America/Santa_Isabel +Link America/Denver America/Shiprock +Link Pacific/Auckland Antarctica/South_Pole +Link Asia/Shanghai Asia/Chongqing +Link Asia/Shanghai Asia/Harbin +Link Asia/Urumqi Asia/Kashgar +Link Asia/Jerusalem Asia/Tel_Aviv +Link Europe/Berlin Atlantic/Jan_Mayen +Link Australia/Sydney Australia/Canberra +Link Australia/Hobart Australia/Currie +Link Europe/London Europe/Belfast +Link Europe/Chisinau Europe/Tiraspol +Link Europe/Kyiv Europe/Uzhgorod +Link Europe/Kyiv Europe/Zaporozhye +Link Pacific/Kanton Pacific/Enderbury +Link Pacific/Honolulu Pacific/Johnston Link Pacific/Port_Moresby Pacific/Yap -Link Europe/Warsaw Poland -Link Europe/Lisbon Portugal -Link Asia/Taipei ROC -Link Asia/Seoul ROK -Link Asia/Singapore Singapore -Link Europe/Istanbul Turkey -Link Etc/UTC UCT -Link America/Anchorage US/Alaska -Link America/Adak US/Aleutian -Link America/Phoenix US/Arizona -Link America/Chicago US/Central -Link America/Indiana/Indianapolis US/East-Indiana -Link America/New_York US/Eastern -Link Pacific/Honolulu US/Hawaii -Link America/Indiana/Knox US/Indiana-Starke -Link America/Detroit US/Michigan -Link America/Denver US/Mountain -Link America/Los_Angeles US/Pacific -Link Pacific/Pago_Pago US/Samoa -Link Etc/UTC UTC -Link Etc/UTC Universal -Link Europe/Moscow W-SU -Link Etc/UTC Zulu + + +# Alternate names for the same location + +# Link TARGET LINK-NAME +Link Africa/Nairobi Africa/Asmera +Link America/Nuuk America/Godthab +Link Asia/Ashgabat Asia/Ashkhabad +Link Asia/Kolkata Asia/Calcutta +Link Asia/Shanghai Asia/Chungking +Link Asia/Dhaka Asia/Dacca +# Istanbul is in both continents. +Link Europe/Istanbul Asia/Istanbul +Link Asia/Kathmandu Asia/Katmandu +Link Asia/Macau Asia/Macao +Link Asia/Yangon Asia/Rangoon +Link Asia/Ho_Chi_Minh Asia/Saigon +Link Asia/Thimphu Asia/Thimbu +Link Asia/Makassar Asia/Ujung_Pandang +Link Asia/Ulaanbaatar Asia/Ulan_Bator +Link Atlantic/Faroe Atlantic/Faeroe +Link Europe/Kyiv Europe/Kiev +# Classically, Cyprus is in Asia; e.g. see Herodotus, Histories, I.72. +# However, for various reasons many users expect to find it under Europe. +Link Asia/Nicosia Europe/Nicosia +Link Pacific/Guadalcanal Pacific/Ponape +Link Pacific/Port_Moresby Pacific/Truk -- 2.37.3
* backward: Add comments for shortcut links. * checklinks.awk: Check these links. --- backward | 34 ++++++++++++++++++++++------------ checklinks.awk | 13 +++++++++++++ 2 files changed, 35 insertions(+), 12 deletions(-) diff --git a/backward b/backward index f61c260..b2ccbc1 100644 --- a/backward +++ b/backward @@ -16,11 +16,21 @@ # This file is divided into sections, one for each major reason for a # backward compatibility link. Each section is sorted by link name. +# A "#= TARGET1" comment labels each link inserted only because some +# .zi parsers mishandle links to links. The comment says what the +# target would be if these parsers were fixed so that data could +# contain links to links. For example, the line +# "Link Australia/Sydney Australia/ACT #= Australia/Canberra" would be +# "Link Australia/Canberra Australia/ACT" were it not that data lines +# refrain from linking to links like Australia/Canberra, which means +# the Australia/ACT line links instead to Australia/Sydney, +# Australia/Canberra's target. + # Pre-1993 naming conventions -# Link TARGET LINK-NAME -Link Australia/Sydney Australia/ACT +# Link TARGET LINK-NAME #= TARGET1 +Link Australia/Sydney Australia/ACT #= Australia/Canberra Link Australia/Lord_Howe Australia/LHI Link Australia/Sydney Australia/NSW Link Australia/Darwin Australia/North @@ -30,7 +40,7 @@ Link Australia/Hobart Australia/Tasmania Link Australia/Melbourne Australia/Victoria Link Australia/Perth Australia/West Link Australia/Broken_Hill Australia/Yancowinna -Link America/Rio_Branco Brazil/Acre +Link America/Rio_Branco Brazil/Acre #= America/Porto_Acre Link America/Noronha Brazil/DeNoronha Link America/Sao_Paulo Brazil/East Link America/Manaus Brazil/West @@ -79,7 +89,7 @@ Link Etc/GMT GMT0 Link Etc/GMT Greenwich # End of rearguard section. Link Asia/Hong_Kong Hongkong -Link Africa/Abidjan Iceland +Link Africa/Abidjan Iceland #= Atlantic/Reykjavik Link Asia/Tehran Iran Link Asia/Jerusalem Israel Link America/Jamaica Jamaica @@ -91,7 +101,7 @@ Link America/Mazatlan Mexico/BajaSur Link America/Mexico_City Mexico/General Link Pacific/Auckland NZ Link Pacific/Chatham NZ-CHAT -Link America/Denver Navajo +Link America/Denver Navajo #= America/Shiprock Link Asia/Shanghai PRC Link Europe/Warsaw Poland Link Europe/Lisbon Portugal @@ -120,7 +130,7 @@ Link Etc/UTC Zulu # Two-part names that were renamed mostly to three-part names in 1995 -# Link TARGET LINK-NAME +# Link TARGET LINK-NAME #= TARGET1 Link America/Argentina/Buenos_Aires America/Buenos_Aires Link America/Argentina/Catamarca America/Catamarca Link America/Argentina/Cordoba America/Cordoba @@ -129,7 +139,7 @@ Link America/Argentina/Jujuy America/Jujuy Link America/Indiana/Knox America/Knox_IN Link America/Kentucky/Louisville America/Louisville Link America/Argentina/Mendoza America/Mendoza -Link America/Puerto_Rico America/Virgin +Link America/Puerto_Rico America/Virgin #= America/St_Thomas Link Pacific/Pago_Pago Pacific/Samoa @@ -279,12 +289,12 @@ Link Pacific/Port_Moresby Pacific/Yap # Alternate names for the same location -# Link TARGET LINK-NAME -Link Africa/Nairobi Africa/Asmera +# Link TARGET LINK-NAME #= TARGET1 +Link Africa/Nairobi Africa/Asmera #= Africa/Asmara Link America/Nuuk America/Godthab Link Asia/Ashgabat Asia/Ashkhabad Link Asia/Kolkata Asia/Calcutta -Link Asia/Shanghai Asia/Chungking +Link Asia/Shanghai Asia/Chungking #= Asia/Chongqing Link Asia/Dhaka Asia/Dacca # Istanbul is in both continents. Link Europe/Istanbul Asia/Istanbul @@ -300,5 +310,5 @@ Link Europe/Kyiv Europe/Kiev # Classically, Cyprus is in Asia; e.g. see Herodotus, Histories, I.72. # However, for various reasons many users expect to find it under Europe. Link Asia/Nicosia Europe/Nicosia -Link Pacific/Guadalcanal Pacific/Ponape -Link Pacific/Port_Moresby Pacific/Truk +Link Pacific/Guadalcanal Pacific/Ponape #= Pacific/Pohnpei +Link Pacific/Port_Moresby Pacific/Truk #= Pacific/Chuuk diff --git a/checklinks.awk b/checklinks.awk index b2bb17a..6e4fda8 100644 --- a/checklinks.awk +++ b/checklinks.awk @@ -36,6 +36,9 @@ BEGIN { printf "%s: Link should be in '%s'\n", $3, backcheck status = 1 } + if ($4 == "#=") { + shortcut[$5] = $3 + } used[$2] = 1 defined[$3] = $2 } @@ -47,6 +50,16 @@ END { status = 1 } } + for (tz in shortcut) { + if (defined[shortcut[tz]] != defined[tz]) { + target = (!defined[tz] ? "absence" \ + : defined[tz] == "\n" ? "zone" \ + : defined[tz]) + printf "%s: target %s disagrees with %s's target %s\n", \ + tz, target, shortcut[tz], defined[shortcut[tz]] + status = 1 + } + } exit status } -- 2.37.3
This removes the need for some of the "# See ..." comments, thus simplifying use and maintenance. It changes only commentary. --- africa | 174 ++++++++++++++++----------------------------------- antarctica | 2 +- asia | 49 +++++++-------- australasia | 36 ++++------- europe | 173 +++++++++++++++++++++----------------------------- northamerica | 63 +++++++------------ southamerica | 15 ----- 7 files changed, 181 insertions(+), 331 deletions(-) diff --git a/africa b/africa index bd7fe0f..92a6125 100644 --- a/africa +++ b/africa @@ -97,22 +97,6 @@ Zone Africa/Algiers 0:12:12 - LMT 1891 Mar 16 0:00 Algeria WE%sT 1981 May 1:00 - CET -# Angola -# Benin -# See Africa/Lagos. - -# Botswana -# See Africa/Maputo. - -# Burkina Faso -# See Africa/Abidjan. - -# Burundi -# See Africa/Maputo. - -# Cameroon -# See Africa/Lagos. - # Cape Verde / Cabo Verde # # From Paul Eggert (2018-02-16): @@ -127,9 +111,6 @@ Zone Atlantic/Cape_Verde -1:34:04 - LMT 1912 Jan 01 2:00u # Praia -2:00 - -02 1975 Nov 25 2:00 -1:00 - -01 -# Central African Republic -# See Africa/Lagos. - # Chad # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena @@ -137,23 +118,30 @@ Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena 1:00 1:00 WAST 1980 Mar 8 1:00 - WAT -# Comoros -# See Africa/Nairobi. - -# Democratic Republic of the Congo -# See Africa/Lagos for the western part and Africa/Maputo for the eastern. +# Burkina Faso +# Côte d'Ivoire (Ivory Coast) +# The Gambia +# Ghana +# Guinea +# Iceland +# Mali +# Mauritania +# St Helena +# Senegal +# Sierra Leone +# Togo -# Republic of the Congo -# See Africa/Lagos. +# The other parts of the St Helena territory are similar: +# Tristan da Cunha: on GMT, say Whitman and the CIA +# Ascension: on GMT, say the USNO (1995-12-21) and the CIA +# Gough (scientific station since 1955; sealers wintered previously): +# on GMT, says the CIA +# Inaccessible, Nightingale: uninhabited -# Côte d'Ivoire / Ivory Coast # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Africa/Abidjan -0:16:08 - LMT 1912 0:00 - GMT -# Djibouti -# See Africa/Nairobi. - ############################################################################### # Egypt @@ -348,33 +336,6 @@ Rule Egypt 2014 only - Sep lastThu 24:00 0 - Zone Africa/Cairo 2:05:09 - LMT 1900 Oct 2:00 Egypt EE%sT -# Equatorial Guinea -# See Africa/Lagos. - -# Eritrea -# See Africa/Nairobi. - -# Eswatini (formerly Swaziland) -# See Africa/Johannesburg. - -# Ethiopia -# See Africa/Nairobi. -# -# Unfortunately tzdb records only Western clock time in use in Ethiopia, -# as the tzdb format is not up to properly recording a common Ethiopian -# timekeeping practice that is based on solar time. See: -# Mortada D. If you have a meeting in Ethiopia, you'd better double -# check the time. PRI's The World. 2015-01-30 15:15 -05. -# https://www.pri.org/stories/2015-01-30/if-you-have-meeting-ethiopia-you-bett... - -# Gabon -# See Africa/Lagos. - -# The Gambia -# Ghana -# Guinea -# See Africa/Abidjan. - # Guinea-Bissau # # From Paul Eggert (2018-02-16): @@ -387,7 +348,16 @@ Zone Africa/Bissau -1:02:20 - LMT 1912 Jan 1 1:00u -1:00 - -01 1975 0:00 - GMT +# Comoros +# Djibouti +# Eritrea +# Ethiopia # Kenya +# Madagascar +# Mayotte +# Somalia +# Tanzania +# Uganda # From P Chan (2020-10-24): # @@ -430,6 +400,14 @@ Zone Africa/Bissau -1:02:20 - LMT 1912 Jan 1 1:00u # The 1908-05-01 announcement does not give an effective date, # so just say "1908 May". +# From Paul Eggert (2018-09-11): +# Unfortunately tzdb records only Western clock time in use in Ethiopia, +# as the tzdb format is not up to properly recording a common Ethiopian +# timekeeping practice that is based on solar time. See: +# Mortada D. If you have a meeting in Ethiopia, you'd better double +# check the time. PRI's The World. 2015-01-30 15:15 -05. +# https://www.pri.org/stories/2015-01-30/if-you-have-meeting-ethiopia-you-bett... + # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Africa/Nairobi 2:27:16 - LMT 1908 May 2:30 - +0230 1928 Jun 30 24:00 @@ -438,9 +416,6 @@ Zone Africa/Nairobi 2:27:16 - LMT 1908 May 2:45 - +0245 1942 Jul 31 24:00 3:00 - EAT -# Lesotho -# See Africa/Johannesburg. - # Liberia # # From Paul Eggert (2017-03-02): @@ -520,16 +495,6 @@ Zone Africa/Tripoli 0:52:44 - LMT 1920 1:00 Libya CE%sT 2013 Oct 25 2:00 2:00 - EET -# Madagascar -# See Africa/Nairobi. - -# Malawi -# See Africa/Maputo. - -# Mali -# Mauritania -# See Africa/Abidjan. - # Mauritius # From Steffen Thorsen (2008-06-25): @@ -623,12 +588,6 @@ Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis # Agalega Is, Rodriguez # no information; probably like Indian/Mauritius -# Mayotte -# See Africa/Nairobi. - -# Morocco -# See Africa/Ceuta for Spanish Morocco. - # From Alex Krivenyshev (2008-05-09): # Here is an article that Morocco plan to introduce Daylight Saving Time between # 1 June, 2008 and 27 September, 2008. @@ -1117,7 +1076,14 @@ Zone Africa/El_Aaiun -0:52:48 - LMT 1934 Jan # El Aaiún 0:00 Morocco +00/+01 2018 Oct 28 3:00 1:00 Morocco +01/+00 +# Botswana +# Burundi +# Democratic Republic of the Congo (eastern) +# Malawi # Mozambique +# Rwanda +# Zambia +# Zimbabwe # # Shanks gives 1903-03-01 for the transition to CAT. # Perhaps the 1911-05-26 Portuguese decree @@ -1205,9 +1171,16 @@ Zone Africa/Windhoek 1:08:24 - LMT 1892 Feb 8 # 2:00 - CAT # End of rearguard section. -# Niger -# See Africa/Lagos. +# Angola +# Benin +# Cameroon +# Central African Republic +# Democratic Republic of the Congo (western) +# Republic of the Congo +# Equatorial Guinea +# Gabon +# Niger # Nigeria # From P Chan (2020-12-03): @@ -1274,23 +1247,6 @@ Zone Africa/Lagos 0:13:35 - LMT 1905 Jul 1 0:30 - +0030 1919 Sep 1 1:00 - WAT -# Réunion -# See Asia/Dubai. -# -# The Crozet Islands also observe Réunion time; see the 'antarctica' file. - -# Rwanda -# See Africa/Maputo. - -# St Helena -# See Africa/Abidjan. -# The other parts of the St Helena territory are similar: -# Tristan da Cunha: on GMT, say Whitman and the CIA -# Ascension: on GMT, say the USNO (1995-12-21) and the CIA -# Gough (scientific station since 1955; sealers wintered previously): -# on GMT, says the CIA -# Inaccessible, Nightingale: uninhabited - # São Tomé and Príncipe # See Europe/Lisbon for info about the 1912 transition. @@ -1318,19 +1274,10 @@ Zone Africa/Sao_Tome 0:26:56 - LMT 1884 1:00 - WAT 2019 Jan 1 02:00 0:00 - GMT -# Senegal -# See Africa/Abidjan. - -# Seychelles -# See Asia/Dubai. - -# Sierra Leone -# See Africa/Abidjan. - -# Somalia -# See Africa/Nairobi. - +# Eswatini (Swaziland) +# Lesotho # South Africa + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S Rule SA 1942 1943 - Sep Sun>=15 2:00 1:00 - Rule SA 1943 1944 - Mar Sun>=15 2:00 0 - @@ -1386,12 +1333,6 @@ Zone Africa/Juba 2:06:28 - LMT 1931 3:00 - EAT 2021 Feb 1 00:00 2:00 - CAT -# Tanzania -# See Africa/Nairobi. - -# Togo -# See Africa/Abidjan. - # Tunisia # From Gwillim Law (2005-04-30): @@ -1489,10 +1430,3 @@ Rule Tunisia 2006 2008 - Oct lastSun 2:00s 0 - Zone Africa/Tunis 0:40:44 - LMT 1881 May 12 0:09:21 - PMT 1911 Mar 11 # Paris Mean Time 1:00 Tunisia CE%sT - -# Uganda -# See Africa/Nairobi. - -# Zambia -# Zimbabwe -# See Africa/Maputo. diff --git a/antarctica b/antarctica index dbdf209..f02755a 100644 --- a/antarctica +++ b/antarctica @@ -306,4 +306,4 @@ Zone Antarctica/Rothera 0 - -00 1976 Dec 1 # we have to go around and set them back 5 minutes or so. # Maybe if we let them run fast all of the time, we'd get to leave here sooner!! # -# See 'australasia' for Antarctica/McMurdo. +# See Pacific/Auckland. diff --git a/asia b/asia index 8cf97a4..98c03ac 100644 --- a/asia +++ b/asia @@ -149,9 +149,6 @@ Zone Asia/Baku 3:19:24 - LMT 1924 May 2 4:00 EUAsia +04/+05 1997 4:00 Azer +04/+05 -# Bahrain -# See Asia/Qatar. - # Bangladesh # From Alexander Krivenyshev (2009-05-13): # According to newspaper Asian Tribune (May 6, 2009) Bangladesh may introduce @@ -254,10 +251,8 @@ Zone Indian/Chagos 4:49:40 - LMT 1907 5:00 - +05 1996 6:00 - +06 -# Brunei -# See Asia/Kuching. - -# Burma / Myanmar +# Cocos (Keeling) Islands +# Myanmar (Burma) # Milne says 6:24:40 was the meridian of the time ball observatory at Rangoon. @@ -274,10 +269,6 @@ Zone Asia/Yangon 6:24:47 - LMT 1880 # or Rangoon 9:00 - +09 1945 May 3 6:30 - +0630 -# Cambodia -# See Asia/Bangkok. - - # China # From Phake Nick (2020-04-15): @@ -664,6 +655,7 @@ Zone Asia/Shanghai 8:05:43 - LMT 1901 8:00 PRC C%sT # Xinjiang time, used by many in western China; represented by Ürümqi / Ürümchi # / Wulumuqi. (Please use Asia/Shanghai if you prefer Beijing time.) +# Vostok base in Antarctica matches this since 1970. Zone Asia/Urumqi 5:50:20 - LMT 1928 6:00 - +06 @@ -2685,14 +2677,6 @@ Zone Asia/Pyongyang 8:23:00 - LMT 1908 Apr 1 8:30 - KST 2018 May 4 23:30 9:00 - KST -############################################################################### - -# Kuwait -# See Asia/Riyadh. - -# Laos -# See Asia/Bangkok. - # Lebanon # Rule NAME FROM TO - IN ON AT SAVE LETTER/S @@ -2724,7 +2708,9 @@ Rule Lebanon 1999 max - Oct lastSun 0:00 0 - Zone Asia/Beirut 2:22:00 - LMT 1880 2:00 Lebanon EE%sT -# Malaysia +# Brunei +# Malaysia (eastern) +# # Rule NAME FROM TO - IN ON AT SAVE LETTER/S Rule NBorneo 1935 1941 - Sep 14 0:00 0:20 - Rule NBorneo 1935 1941 - Dec 14 0:00 0 - @@ -2909,9 +2895,6 @@ Zone Asia/Kathmandu 5:41:16 - LMT 1920 5:30 - +0530 1986 5:45 - +0545 -# Oman -# See Asia/Dubai. - # Pakistan # From Rives McDow (2002-03-13): @@ -3522,13 +3505,18 @@ Zone Asia/Manila -15:56:00 - LMT 1844 Dec 31 9:00 - JST 1944 Nov 8:00 Phil P%sT +# Bahrain # Qatar # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Asia/Qatar 3:26:08 - LMT 1920 # Al Dawhah / Doha 4:00 - +04 1972 Jun 3:00 - +03 +# Kuwait # Saudi Arabia +# Yemen +# +# Japan's year-round bases in Antarctica match this since 1970. # # From Paul Eggert (2018-08-29): # Time in Saudi Arabia and other countries in the Arabian peninsula was not @@ -3824,7 +3812,11 @@ Zone Asia/Dushanbe 4:35:12 - LMT 1924 May 2 5:00 1:00 +06 1991 Sep 9 2:00s 5:00 - +05 +# Cambodia +# Christmas I +# Laos # Thailand +# Vietnam (northern) # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Asia/Bangkok 6:42:04 - LMT 1880 6:42:04 - BMT 1920 Apr # Bangkok Mean Time @@ -3839,7 +3831,12 @@ Zone Asia/Ashgabat 3:53:32 - LMT 1924 May 2 # or Ashkhabad 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00 5:00 - +05 +# Oman +# Réunion +# Seychelles # United Arab Emirates +# +# The Crozet Is also observe Réunion time; see the 'antarctica' file. # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Asia/Dubai 3:41:12 - LMT 1920 4:00 - +04 @@ -3862,7 +3859,7 @@ Zone Asia/Tashkent 4:37:11 - LMT 1924 May 2 5:00 RussiaAsia +05/+06 1992 5:00 - +05 -# Vietnam +# Vietnam (southern) # From Paul Eggert (2014-10-04): # Milne gives 7:16:56 for the meridian of Saigon in 1899, as being @@ -3936,7 +3933,3 @@ Zone Asia/Ho_Chi_Minh 7:06:30 - LMT 1906 Jul 1 # For timestamps in north Vietnam back to 1970 (the tzdb cutoff), # use Asia/Bangkok; see the VN entries in the file zone1970.tab. # For timestamps before 1970, see Asia/Hanoi in the file 'backzone'. - - -# Yemen -# See Asia/Riyadh. diff --git a/australasia b/australasia index f741fbb..df5a52f 100644 --- a/australasia +++ b/australasia @@ -251,13 +251,6 @@ Zone Antarctica/Macquarie 0 - -00 1899 Nov 10:00 1:00 AEDT 2011 10:00 AT AE%sT -# Christmas -# See Asia/Bangkok. - -# Cocos (Keeling) Is -# See Asia/Yangon. - - # Fiji # Milne gives 11:55:44 for Suva. @@ -426,7 +419,9 @@ Zone Pacific/Tahiti -9:58:16 - LMT 1912 Oct # Papeete # Clipperton (near North America) is administered from French Polynesia; # it is uninhabited. + # Guam +# N Mariana Is # Rule NAME FROM TO - IN ON AT SAVE LETTER/S # http://guamlegislature.com/Public_Laws_5th/PL05-025.pdf @@ -467,11 +462,19 @@ Zone Pacific/Guam -14:21:00 - LMT 1844 Dec 31 10:00 Guam G%sT 2000 Dec 23 10:00 - ChST # Chamorro Standard Time -# Kiribati + +# Kiribati (Gilbert Is) +# Marshall Is +# Tuvalu +# Wake +# Wallis & Futuna # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Pacific/Tarawa 11:32:04 - LMT 1901 # Bairiki 12:00 - +12 +# Kiribati (except Gilbert Is) +# See Pacific/Tarawa for the Gilbert Is. +# Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Pacific/Kanton 0 - -00 1937 Aug 31 -12:00 - -12 1979 Oct -11:00 - -11 1994 Dec 31 @@ -481,9 +484,6 @@ Zone Pacific/Kiritimati -10:29:20 - LMT 1901 -10:00 - -10 1994 Dec 31 14:00 - +14 -# N Mariana Is -# See Pacific/Guam. - # Marshall Is # See Pacific/Tarawa for most locations. # Zone NAME STDOFF RULES FORMAT [UNTIL] @@ -533,6 +533,7 @@ Zone Pacific/Noumea 11:05:48 - LMT 1912 Jan 13 # Nouméa ############################################################################### # New Zealand +# McMurdo Station and Scott Base in Antarctica use Auckland time. # Rule NAME FROM TO - IN ON AT SAVE LETTER/S Rule NZ 1927 only - Nov 6 2:00 1:00 S @@ -698,6 +699,7 @@ Zone Pacific/Pitcairn -8:40:20 - LMT 1901 # Adamstown -8:00 - -08 # American Samoa +# Midway Zone Pacific/Pago_Pago 12:37:12 - LMT 1892 Jul 5 -11:22:48 - LMT 1911 -11:00 - SST # S=Samoa @@ -831,9 +833,6 @@ Zone Pacific/Tongatapu 12:19:12 - LMT 1945 Sep 10 13:00 - +13 1999 13:00 Tonga +13/+14 -# Tuvalu -# See Pacific/Tarawa. - # US minor outlying islands @@ -884,15 +883,9 @@ Zone Pacific/Tongatapu 12:19:12 - LMT 1945 Sep 10 # Kingman # uninhabited -# Midway -# See Pacific/Pago_Pago. - # Palmyra # uninhabited since World War II; was probably like Pacific/Kiritimati -# Wake -# See Pacific/Tarawa. - # Vanuatu @@ -929,9 +922,6 @@ Rule Vanuatu 1992 only - Oct Sat>=22 24:00 1:00 - Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila 11:00 Vanuatu +11/+12 -# Wallis and Futuna -# See Pacific/Tarawa. - ############################################################################### # NOTES diff --git a/europe b/europe index 4594fb3..a622ce7 100644 --- a/europe +++ b/europe @@ -876,6 +876,8 @@ Zone Europe/Minsk 1:50:16 - LMT 1880 3:00 - +03 # Belgium +# Luxembourg +# Netherlands # # From Michael Deckers (2019-08-25): # The exposition in the web page @@ -959,9 +961,6 @@ Zone Europe/Brussels 0:17:30 - LMT 1880 1:00 Belgium CE%sT 1977 1:00 EU CE%sT -# Bosnia and Herzegovina -# See Europe/Belgrade. - # Bulgaria # # From Plamen Simenov via Steffen Thorsen (1999-09-09): @@ -987,13 +986,11 @@ Zone Europe/Sofia 1:33:16 - LMT 1880 2:00 E-Eur EE%sT 1997 2:00 EU EE%sT -# Croatia -# See Europe/Belgrade. - # Cyprus # Please see the 'asia' file for Asia/Nicosia. -# Czech Republic / Czechia +# Czech Republic (Czechia) +# Slovakia # # From Paul Eggert (2018-04-15): # The source for Czech data is: Kdy začíná a končí letní čas. 2018-04-15. @@ -1021,12 +1018,13 @@ Zone Europe/Prague 0:57:44 - LMT 1850 1:00 Czech CE%sT 1979 1:00 EU CE%sT -# Denmark, Faroe Islands, and Greenland -# For Denmark see Europe/Berlin. - +# Faroe Is +# Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Atlantic/Faroe -0:27:04 - LMT 1908 Jan 11 # Tórshavn 0:00 - WET 1981 0:00 EU WE%sT + +# Greenland # # From Paul Eggert (2004-10-31): # During World War II, Germany maintained secret manned weather stations in @@ -1253,6 +1251,7 @@ Zone Europe/Helsinki 1:39:49 - LMT 1878 May 31 2:00 EU EE%sT # France +# Monaco # From Ciro Discepolo (2000-12-20): # @@ -1390,7 +1389,10 @@ Zone Europe/Paris 0:09:21 - LMT 1891 Mar 16 1:00 France CE%sT 1977 1:00 EU CE%sT +# Denmark # Germany +# Norway +# Sweden # From Markus Kuhn (1998-09-29): # The German time zone web site by the Physikalisch-Technische @@ -1408,6 +1410,53 @@ Zone Europe/Paris 0:09:21 - LMT 1891 Mar 16 # However, Moscow did not observe daylight saving in 1945, so # this was equivalent to UT +03, not +04. +# Svalbard & Jan Mayen + +# From Steffen Thorsen (2001-05-01): +# Although I could not find it explicitly, it seems that Jan Mayen and +# Svalbard have been using the same time as Norway at least since the +# time they were declared as parts of Norway. Svalbard was declared +# as a part of Norway by law of 1925-07-17 no 11, section 4 and Jan +# Mayen by law of 1930-02-27 no 2, section 2. (From +# <http://www.lovdata.no/all/nl-19250717-011.html> and +# <http://www.lovdata.no/all/nl-19300227-002.html>). The law/regulation +# for normal/standard time in Norway is from 1894-06-29 no 1 (came +# into operation on 1895-01-01) and Svalbard/Jan Mayen seem to be a +# part of this law since 1925/1930. (From +# <http://www.lovdata.no/all/nl-18940629-001.html>) I have not been +# able to find if Jan Mayen used a different time zone (e.g. -0100) +# before 1930. Jan Mayen has only been "inhabited" since 1921 by +# Norwegian meteorologists and maybe used the same time as Norway ever +# since 1921. Svalbard (Arctic/Longyearbyen) has been inhabited since +# before 1895, and therefore probably changed the local time somewhere +# between 1895 and 1925 (inclusive). + +# From Paul Eggert (2013-09-04): +# +# Actually, Jan Mayen was never occupied by Germany during World War II, +# so it must have diverged from Oslo time during the war, as Oslo was +# keeping Berlin time. +# +# <https://www.jan-mayen.no/history.htm> says that the meteorologists +# burned down their station in 1940 and left the island, but returned in +# 1941 with a small Norwegian garrison and continued operations despite +# frequent air attacks from Germans. In 1943 the Americans established a +# radiolocating station on the island, called "Atlantic City". Possibly +# the UT offset changed during the war, but I think it unlikely that +# Jan Mayen used German daylight-saving rules. +# +# Svalbard is more complicated, as it was raided in August 1941 by an +# Allied party that evacuated the civilian population to England (says +# <http://www.bartleby.com/65/sv/Svalbard.html>). The Svalbard FAQ +# <http://www.svalbard.com/SvalbardFAQ.html> says that the Germans were +# expelled on 1942-05-14. However, small parties of Germans did return, +# and according to Wilhelm Dege's book "War North of 80" (1954) +# http://www.ucalgary.ca/UofC/departments/UP/1-55238/1-55238-110-2.html +# the German armed forces at the Svalbard weather station code-named +# Haudegen did not surrender to the Allies until September 1945. +# +# All these events predate our cutoff date of 1970, so use Europe/Berlin +# for these regions. # Rule NAME FROM TO - IN ON AT SAVE LETTER/S Rule Germany 1946 only - Apr 14 2:00s 1:00 S @@ -1550,10 +1599,9 @@ Zone Europe/Budapest 1:16:20 - LMT 1890 Nov 1 1:00 Hungary CE%sT 1984 1:00 EU CE%sT -# Iceland -# See Africa/Abidjan. - # Italy +# San Marino +# Vatican City # # From Paul Eggert (2001-03-06): # Sicily and Sardinia each had their own time zones from 1866 to 1893, @@ -1673,10 +1721,6 @@ Zone Europe/Rome 0:49:56 - LMT 1866 Dec 12 1:00 Italy CE%sT 1980 1:00 EU CE%sT -# Kosovo -# See Europe/Belgrade. - - # Latvia # From Liene Kanepe (1998-09-17): @@ -1759,10 +1803,6 @@ Zone Europe/Riga 1:36:34 - LMT 1880 2:00 - EET 2001 Jan 2 2:00 EU EE%sT -# Liechtenstein -# See Europe/Zurich. - - # Lithuania # From Paul Eggert (2016-03-18): @@ -1815,12 +1855,6 @@ Zone Europe/Vilnius 1:41:16 - LMT 1880 2:00 - EET 2003 Jan 1 2:00 EU EE%sT -# Luxembourg -# See Europe/Brussels. - -# North Macedonia -# See Europe/Belgrade. - # Malta # # From Paul Eggert (2016-10-21): @@ -1916,67 +1950,6 @@ Zone Europe/Chisinau 1:55:20 - LMT 1880 # See Romania commentary for the guessed 1997 transition to EU rules. 2:00 Moldova EE%sT -# Monaco -# See Europe/Paris. - -# Montenegro -# See Europe/Belgrade. - -# Netherlands -# See Europe/Brussels. - -# Norway -# See Europe/Berlin. - -# Svalbard & Jan Mayen - -# From Steffen Thorsen (2001-05-01): -# Although I could not find it explicitly, it seems that Jan Mayen and -# Svalbard have been using the same time as Norway at least since the -# time they were declared as parts of Norway. Svalbard was declared -# as a part of Norway by law of 1925-07-17 no 11, section 4 and Jan -# Mayen by law of 1930-02-27 no 2, section 2. (From -# <http://www.lovdata.no/all/nl-19250717-011.html> and -# <http://www.lovdata.no/all/nl-19300227-002.html>). The law/regulation -# for normal/standard time in Norway is from 1894-06-29 no 1 (came -# into operation on 1895-01-01) and Svalbard/Jan Mayen seem to be a -# part of this law since 1925/1930. (From -# <http://www.lovdata.no/all/nl-18940629-001.html>) I have not been -# able to find if Jan Mayen used a different time zone (e.g. -0100) -# before 1930. Jan Mayen has only been "inhabited" since 1921 by -# Norwegian meteorologists and maybe used the same time as Norway ever -# since 1921. Svalbard (Arctic/Longyearbyen) has been inhabited since -# before 1895, and therefore probably changed the local time somewhere -# between 1895 and 1925 (inclusive). - -# From Paul Eggert (2013-09-04): -# -# Actually, Jan Mayen was never occupied by Germany during World War II, -# so it must have diverged from Oslo time during the war, as Oslo was -# keeping Berlin time. -# -# <https://www.jan-mayen.no/history.htm> says that the meteorologists -# burned down their station in 1940 and left the island, but returned in -# 1941 with a small Norwegian garrison and continued operations despite -# frequent air attacks from Germans. In 1943 the Americans established a -# radiolocating station on the island, called "Atlantic City". Possibly -# the UT offset changed during the war, but I think it unlikely that -# Jan Mayen used German daylight-saving rules. -# -# Svalbard is more complicated, as it was raided in August 1941 by an -# Allied party that evacuated the civilian population to England (says -# <http://www.bartleby.com/65/sv/Svalbard.html>). The Svalbard FAQ -# <http://www.svalbard.com/SvalbardFAQ.html> says that the Germans were -# expelled on 1942-05-14. However, small parties of Germans did return, -# and according to Wilhelm Dege's book "War North of 80" (1954) -# http://www.ucalgary.ca/UofC/departments/UP/1-55238/1-55238-110-2.html -# the German armed forces at the Svalbard weather station code-named -# Haudegen did not surrender to the Allies until September 1945. -# -# All these events predate our cutoff date of 1970, so use Europe/Berlin -# for these regions. - - # Poland # The 1919 dates and times can be found in Tygodnik Urzędowy nr 1 (1919-03-20), @@ -3258,11 +3231,13 @@ Zone Asia/Anadyr 11:49:56 - LMT 1924 May 2 11:00 Russia +11/+12 2011 Mar 27 2:00s 12:00 - +12 - -# San Marino -# See Europe/Rome. - +# Bosnia & Herzegovina +# Croatia +# Kosovo +# Montenegro +# North Macedonia # Serbia +# Slovenia # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Europe/Belgrade 1:22:00 - LMT 1884 1:00 - CET 1941 Apr 18 23:00 @@ -3275,12 +3250,6 @@ Zone Europe/Belgrade 1:22:00 - LMT 1884 1:00 - CET 1982 Nov 27 1:00 EU CE%sT -# Slovakia -# See Europe/Prague. - -# Slovenia -# See Europe/Belgrade. - # Spain # # From Paul Eggert (2016-12-14): @@ -3386,10 +3355,11 @@ Zone Atlantic/Canary -1:01:36 - LMT 1922 Mar # Las Palmas de Gran C. # IATA SSIM (1996-09) says the Canaries switch at 2:00u, not 1:00u. # Ignore this for now, as the Canaries are part of the EU. -# Sweden -# See Europe/Berlin. +# Germany (Busingen enclave) +# Liechtenstein # Switzerland +# # From Howse: # By the end of the 18th century clocks and watches became commonplace # and their performance improved enormously. Communities began to keep @@ -3808,9 +3778,6 @@ Zone Europe/Kyiv 2:02:04 - LMT 1880 2:00 C-Eur EE%sT 1996 May 13 2:00 EU EE%sT -# Vatican City -# See Europe/Rome. - ############################################################################### # One source shows that Bulgaria, Cyprus, Finland, and Greece observe DST from diff --git a/northamerica b/northamerica index 8a89d84..01971c4 100644 --- a/northamerica +++ b/northamerica @@ -1760,6 +1760,8 @@ Rule Toronto 1957 1973 - Oct lastSun 2:00 0 S # War,... [t]he cities agreed to implement DST during the summer # months for the remainder of the war years. +# The Bahamas match Toronto since 1970. + # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone America/Toronto -5:17:32 - LMT 1895 -5:00 Canada E%sT 1919 @@ -2806,14 +2808,6 @@ Zone America/Tijuana -7:48:04 - LMT 1922 Jan 1 0:11:56 ############################################################################### -# Anguilla -# Antigua and Barbuda -# See America/Puerto_Rico. - -# The Bahamas -# See America/Toronto. - - # Barbados # For 1899 Milne gives -3:58:29.2. @@ -3026,12 +3020,6 @@ Zone Atlantic/Bermuda -4:19:18 - LMT 1890 # Hamilton -4:00 Canada A%sT 1976 -4:00 US A%sT -# Caribbean Netherlands -# See America/Puerto_Rico. - -# Cayman Is -# See America/Panama. - # Costa Rica # Milne gives -5:36:13.3 as San José mean time. @@ -3257,9 +3245,6 @@ Zone America/Havana -5:29:28 - LMT 1890 -5:29:36 - HMT 1925 Jul 19 12:00 # Havana MT -5:00 Cuba C%sT -# Dominica -# See America/Puerto_Rico. - # Dominican Republic # From Steffen Thorsen (2000-10-30): @@ -3306,12 +3291,6 @@ Rule Salv 1987 1988 - Sep lastSun 0:00 0 S Zone America/El_Salvador -5:56:48 - LMT 1921 # San Salvador -6:00 Salv C%sT -# Grenada -# Guadeloupe -# St Barthélemy -# St Martin (French part) -# See America/Puerto_Rico. - # Guatemala # # From Gwillim Law (2006-04-22), after a heads-up from Oscar van Vlijmen: @@ -3497,9 +3476,6 @@ Zone America/Martinique -4:04:20 - LMT 1890 # Fort-de-France -4:00 1:00 ADT 1980 Sep 28 -4:00 - AST -# Montserrat -# See America/Puerto_Rico. - # Nicaragua # # This uses Shanks & Pottenger for times before 2005. @@ -3565,13 +3541,33 @@ Zone America/Managua -5:45:08 - LMT 1890 -5:00 - EST 1997 -6:00 Nic C%sT +# Cayman Is # Panama +# +# Atikokan and Coral Harbour, Canada, match Panama since 1970. # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone America/Panama -5:18:08 - LMT 1890 -5:19:36 - CMT 1908 Apr 22 # Colón Mean Time -5:00 - EST +# Anguilla +# Antigua & Barbuda +# Aruba +# Caribbean Netherlands +# Curaçao +# Dominica +# Grenada +# Guadeloupe +# Montserrat # Puerto Rico +# St Barthélemy +# St Kitts-Nevis +# Sint Maarten / St Martin +# St Lucia +# St Vincent & the Grenadines +# Trinidad & Tobago +# Virgin Is (UK & US) +# # There are too many San Juans elsewhere, so we'll use 'Puerto_Rico'. # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone America/Puerto_Rico -4:24:25 - LMT 1899 Mar 28 12:00 # San Juan @@ -3579,10 +3575,6 @@ Zone America/Puerto_Rico -4:24:25 - LMT 1899 Mar 28 12:00 # San Juan -4:00 US A%sT 1946 -4:00 - AST -# St Kitts-Nevis -# St Lucia -# See America/Puerto_Rico. - # St Pierre and Miquelon # There are too many St Pierres elsewhere, so we'll use 'Miquelon'. # Zone NAME STDOFF RULES FORMAT [UNTIL] @@ -3591,12 +3583,6 @@ Zone America/Miquelon -3:44:40 - LMT 1911 May 15 # St Pierre -3:00 - -03 1987 -3:00 Canada -03/-02 -# St Vincent and the Grenadines -# See America/Puerto_Rico. - -# Sint Maarten -# See America/Puerto_Rico. - # Turks and Caicos # # From Chris Dunn in @@ -3666,11 +3652,6 @@ Zone America/Grand_Turk -4:44:32 - LMT 1890 -4:00 - AST 2018 Mar 11 3:00 -5:00 US E%sT -# British Virgin Is -# US Virgin Is -# See America/Puerto_Rico. - - # Local Variables: # coding: utf-8 # End: diff --git a/southamerica b/southamerica index 2f51004..13cc65e 100644 --- a/southamerica +++ b/southamerica @@ -585,9 +585,6 @@ Zone America/Argentina/Ushuaia -4:33:12 - LMT 1894 Oct 31 -3:00 Arg -03/-02 2008 Oct 18 -3:00 - -03 -# Aruba -# See America/Puerto_Rico. - # Bolivia # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone America/La_Paz -4:32:36 - LMT 1890 @@ -1432,15 +1429,6 @@ Zone America/Bogota -4:56:16 - LMT 1884 Mar 13 # Malpelo, Providencia, San Andres # no information; probably like America/Bogota -# Curaçao -# See America/Puerto_Rico. -# -# From Arthur David Olson (2011-06-15): -# use links for places with new iso3166 codes. -# The name "Lower Prince's Quarter" is both longer than fourteen characters -# and contains an apostrophe; use "Lower_Princes".... -# From Paul Eggert (2021-09-29): -# These backward-compatibility links now are in the 'northamerica' file. # Ecuador # @@ -1756,9 +1744,6 @@ Zone America/Paramaribo -3:40:40 - LMT 1911 -3:30 - -0330 1984 Oct -3:00 - -03 -# Trinidad and Tobago -# See America/Puerto_Rico. - # Uruguay # From Paul Eggert (1993-11-18): # Uruguay wins the prize for the strangest peacetime manipulation of the rules. -- 2.37.3
Will the PACKRATLIST option successfully revert this and put the Links back into the main (non-backward) files? Stephen On Mon, 26 Sept 2022 at 01:33, Paul Eggert via tz <tz@iana.org> wrote:
Although TZDB currently puts most Link lines in the ‘backward’ file, some Link lines reside in the continental files ‘africa’, ‘antarctica’, etc., with little rhyme or reason as to which lines are in ‘backward’ and which line are in a continental file. This is confusing and makes maintenance a bit more difficult.
This proposed series of patches aims to regularize this by putting the Link lines into ‘backward’, except that to work around a TZUpdater bug the GMT Link line is in ‘backward’ only when using vanguard form.
As part of these patches, the Link lines in ‘backward’ are organized into sections that better explain the reason for each Link line. Also, comments are added to document shortcut Link lines, that is, Link lines reworded to reference the target rather than the source of another Link line. Furthermore, the Makefile is augmented to check Link lines more carefully.
The overall effect of this patch is to shrink TZDB’s source code and make maintenance simpler and more robust, without affecting data except for users who are purposely bleeding-edge by omitting all backward-compatibility links.
Because these patches are nontrivial I have not installed them in the development repository, and there is no rush. Comments welcome as usual.
Paul Eggert (5): Move a few links to ‘backward’ Move most remaining links to ‘backward’ Reorder 'backward’ Improve checking for shortcut links Coalesce some commentary
Makefile | 6 +- NEWS | 17 +++ africa | 213 ++++++++++-------------------------- antarctica | 2 +- asia | 69 ++++-------- australasia | 46 +++----- backward | 288 +++++++++++++++++++++++++++++++++++++++---------- checklinks.awk | 17 +++ etcetera | 17 ++- europe | 202 ++++++++++++---------------------- northamerica | 86 ++++----------- southamerica | 15 --- theory.html | 1 + zdump.c | 4 +- ziguard.awk | 14 +++ 15 files changed, 472 insertions(+), 525 deletions(-)
-- 2.37.3
On 9/29/22 14:53, Stephen Colebourne via tz wrote:
Will the PACKRATLIST option successfully revert this and put the Links back into the main (non-backward) files?
Yes. That is, with the patch, the command make PACKRATDATA=backzone PACKRATLIST=zone.tab tailored_tarballs creates a tarball that is functionally equivalent to the tarball created by the same command without the patch. The Link lines in the etcetera file are in a different order, but it's the same set of Link lines.
No further comment on that patch set, so I applied it to the main branch on the GitHub development repository, after resolving a few minor collisions. For reference I'm attaching the patch set as applied.
participants (2)
-
Paul Eggert -
Stephen Colebourne