[tz] [PATCH 3/5] Reorder 'backward’

Paul Eggert eggert at cs.ucla.edu
Mon Sep 26 00:32:19 UTC 2022


* 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



More information about the tz mailing list