[PROPOSED PATCH 1/2] Move out-of-scope UTC+2 African zones to 'backzone'.
* africa (Africa/Blantyre, Africa/Bujumbura, Africa/Gaborone) (Africa/Harare, Africa/Kigali, Africa/Lubumbashi, Africa/Lusaka): Change these from zones to links to Africa/Maputo. (Africa/Maseru, Africa/Mbabane): Change these from zones to links to Africa/Johannesburg. * backzone: Move the old data here. * checktab.awk (tztab): Remove special cases for these zones. * NEWS: Document the above. --- NEWS | 8 ++++++++ africa | 55 ++++++++++++++++++------------------------------------- backzone | 50 +++++++++++++++++++++++++++++++++++++++++++++++--- checktab.awk | 9 --------- 4 files changed, 73 insertions(+), 49 deletions(-) diff --git a/NEWS b/NEWS index 0327005..91ce1e7 100644 --- a/NEWS +++ b/NEWS @@ -7,6 +7,14 @@ Unreleased, experimental changes Shanks says Asia/Novokuznetsk switched from LMT (not "NMT") on 1924-05-01, not 1920-01-06. The old entry was based on a misinterpretation of Shanks. + Some more zones have been turned into links, when they differed + from existing zones only for older time stamps. As usual, + these changes affect UTC offsets in pre-1970 time stamps only. + Their old contents have been moved to the 'backzone' file. + The affected zones are: Africa/Blantyre, Africa/Bujumbura, + Africa/Gaborone, Africa/Harare, Africa/Kigali, Africa/Lubumbashi, + Africa/Lusaka, Africa/Maseru, and Africa/Mbabane. + Changes affecting code An access to uninitalized data has been fixed. diff --git a/africa b/africa index 10354b0..b17c62b 100644 --- a/africa +++ b/africa @@ -110,23 +110,13 @@ Zone Africa/Algiers 0:12:12 - LMT 1891 Mar 15 0:01 # See Africa/Lagos. # Botswana -# From Paul Eggert (2013-02-21): -# Milne says they were regulated by the Cape Town Signal in 1899; -# assume they switched to 2:00 when Cape Town did. -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Africa/Gaborone 1:43:40 - LMT 1885 - 1:30 - SAST 1903 Mar - 2:00 - CAT 1943 Sep 19 2:00 - 2:00 1:00 CAST 1944 Mar 19 2:00 - 2:00 - CAT +# See Africa/Maputo. # Burkina Faso # See Africa/Abidjan. # Burundi -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Africa/Bujumbura 1:57:28 - LMT 1890 - 2:00 - CAT +# See Africa/Maputo. # Cameroon # See Africa/Lagos. @@ -161,10 +151,7 @@ Zone Indian/Comoro 2:53:04 - LMT 1911 Jul # Moroni, Gran Comoro 3:00 - EAT # Democratic Republic of the Congo -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Africa/Lubumbashi 1:49:52 - LMT 1897 Nov 9 - 2:00 - CAT -# The above is for the eastern part; see Africa/Lagos for the western part. +# See Africa/Lagos for the western part and Africa/Maputo for the eastern. # Republic of the Congo # See Africa/Lagos. @@ -466,11 +453,7 @@ Zone Africa/Nairobi 2:27:16 - LMT 1928 Jul 3:00 - EAT # Lesotho -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Africa/Maseru 1:50:00 - LMT 1903 Mar - 2:00 - SAST 1943 Sep 19 2:00 - 2:00 1:00 SAST 1944 Mar 19 2:00 - 2:00 - SAST +# See Africa/Johannesburg. # Liberia # From Paul Eggert (2006-03-22): @@ -552,9 +535,7 @@ Zone Indian/Antananarivo 3:10:04 - LMT 1911 Jul 3:00 - EAT # Malawi -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Africa/Blantyre 2:20:00 - LMT 1903 Mar - 2:00 - CAT +# See Africa/Maputo. # Mali # Mauritania @@ -964,6 +945,13 @@ Zone Africa/El_Aaiun -0:52:48 - LMT 1934 Jan # El AaiĂșn # Zone NAME GMTOFF 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 # The 1994-04-03 transition is from Shanks & Pottenger. @@ -1031,9 +1019,7 @@ Zone Indian/Reunion 3:41:52 - LMT 1911 Jun # Saint-Denis # Tromelin - inhabited until at least 1958 # Rwanda -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Africa/Kigali 2:00:16 - LMT 1935 Jun - 2:00 - CAT +# See Africa/Maputo. # St Helena # See Africa/Abidjan. @@ -1077,6 +1063,9 @@ 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 # Swaziland +# # Marion and Prince Edward Is # scientific station since 1947 # no information @@ -1104,9 +1093,7 @@ Zone Africa/Khartoum 2:10:08 - LMT 1931 Link Africa/Khartoum Africa/Juba # Swaziland -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Africa/Mbabane 2:04:24 - LMT 1903 Mar - 2:00 - SAST +# See Africa/Johannesburg. # Tanzania # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -1227,11 +1214,5 @@ Zone Africa/Kampala 2:09:40 - LMT 1928 Jul 3:00 - EAT # Zambia -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Africa/Lusaka 1:53:08 - LMT 1903 Mar - 2:00 - CAT - # Zimbabwe -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Africa/Harare 2:04:12 - LMT 1903 Mar - 2:00 - CAT +# See Africa/Maputo. diff --git a/backzone b/backzone index d9183cd..d63afab 100644 --- a/backzone +++ b/backzone @@ -57,10 +57,18 @@ Zone Africa/Banjul -1:06:36 - LMT 1912 -1:00 - WAT 1964 0:00 - GMT +# Malawi +Zone Africa/Blantyre 2:20:00 - LMT 1903 Mar + 2:00 - CAT + # Republic of the Congo Zone Africa/Brazzaville 1:01:08 - LMT 1912 1:00 - WAT +# Burundi +Zone Africa/Bujumbura 1:57:28 - LMT 1890 + 2:00 - CAT + # Guinea Zone Africa/Conakry -0:54:52 - LMT 1912 0:00 - GMT 1934 Feb 26 @@ -92,11 +100,29 @@ Zone Africa/Freetown -0:53:00 - LMT 1882 -1:00 SL %s 1957 0:00 SL %s +# Botswana +# From Paul Eggert (2013-02-21): +# Milne says they were regulated by the Cape Town Signal in 1899; +# assume they switched to 2:00 when Cape Town did. +Zone Africa/Gaborone 1:43:40 - LMT 1885 + 1:30 - SAST 1903 Mar + 2:00 - CAT 1943 Sep 19 2:00 + 2:00 1:00 CAST 1944 Mar 19 2:00 + 2:00 - CAT + +# Zimbabwe +Zone Africa/Harare 2:04:12 - LMT 1903 Mar + 2:00 - CAT + # South Sudan Zone Africa/Juba 2:06:24 - LMT 1931 2:00 Sudan CA%sT 2000 Jan 15 12:00 3:00 - EAT +# Rwanda +Zone Africa/Kigali 2:00:16 - LMT 1935 Jun + 2:00 - CAT + # Democratic Republic of the Congo (west) Zone Africa/Kinshasa 1:01:12 - LMT 1897 Nov 9 1:00 - WAT @@ -105,6 +131,10 @@ Zone Africa/Kinshasa 1:01:12 - LMT 1897 Nov 9 Zone Africa/Libreville 0:37:48 - LMT 1912 1:00 - WAT +# Togo +Zone Africa/Lome 0:04:52 - LMT 1893 + 0:00 - GMT + # Angola # # Shanks gives 1911-05-26 for the transition to WAT, @@ -116,9 +146,13 @@ Zone Africa/Luanda 0:52:56 - LMT 1892 0:52:04 - AOT 1912 Jan 1 # Angola Time 1:00 - WAT -# Togo -Zone Africa/Lome 0:04:52 - LMT 1893 - 0:00 - GMT +# Democratic Republic of the Congo (east) +Zone Africa/Lubumbashi 1:49:52 - LMT 1897 Nov 9 + 2:00 - CAT + +# Zambia +Zone Africa/Lusaka 1:53:08 - LMT 1903 Mar + 2:00 - CAT # Equatorial Guinea # @@ -131,6 +165,16 @@ Zone Africa/Malabo 0:35:08 - LMT 1912 0:00 - GMT 1963 Dec 15 1:00 - WAT +# Lesotho +Zone Africa/Maseru 1:50:00 - LMT 1903 Mar + 2:00 - SAST 1943 Sep 19 2:00 + 2:00 1:00 SAST 1944 Mar 19 2:00 + 2:00 - SAST + +# Swaziland +Zone Africa/Mbabane 2:04:24 - LMT 1903 Mar + 2:00 - SAST + # Niger Zone Africa/Niamey 0:08:28 - LMT 1912 -1:00 - WAT 1934 Feb 26 diff --git a/checktab.awk b/checktab.awk index 0f113f4..84c49ff 100644 --- a/checktab.awk +++ b/checktab.awk @@ -17,18 +17,9 @@ BEGIN { if (zone_table == "zone1970.tab") { tztab["Africa/Addis_Ababa"] = 1 tztab["Africa/Asmara"] = 1 - tztab["Africa/Blantyre"] = 1 - tztab["Africa/Bujumbura"] = 1 tztab["Africa/Dar_es_Salaam"] = 1 tztab["Africa/Djibouti"] = 1 - tztab["Africa/Gaborone"] = 1 - tztab["Africa/Harare"] = 1 tztab["Africa/Kampala"] = 1 - tztab["Africa/Kigali"] = 1 - tztab["Africa/Lubumbashi"] = 1 - tztab["Africa/Lusaka"] = 1 - tztab["Africa/Maseru"] = 1 - tztab["Africa/Mbabane"] = 1 tztab["Africa/Mogadishu"] = 1 tztab["America/Antigua"] = 1 tztab["America/Cayman"] = 1 -- 1.9.1
* Makefile (check_sorted): New rule. (check, .PHONY): Add it. * backzone: Sort. --- Makefile | 12 ++++++++++-- backzone | 20 ++++++++++---------- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 00611dd..8e0a6d7 100644 --- a/Makefile +++ b/Makefile @@ -467,7 +467,8 @@ tzselect: tzselect.ksh <$? >$@ chmod +x $@ -check: check_character_set check_white_space check_tables check_web +check: check_character_set check_white_space check_sorted \ + check_tables check_web check_character_set: $(ENCHILADA) LC_ALL=en_US.utf8 && export LC_ALL && \ @@ -486,6 +487,13 @@ check_white_space: $(ENCHILADA) ! grep -n '[[:space:]]$$' $(ENCHILADA) ! grep -n "$$(printf '[\f\r\v]\n')" $(ENCHILADA) +check_sorted: backward backzone iso3166.tab zone1970.tab + $(AWK) '/^Link/ {print $$3}' backward | LC_ALL=C sort -c + $(AWK) '/^Zone/ {print $$2}' backzone | LC_ALL=C sort -c + $(AWK) '/^[^#]/ {print}' iso3166.tab | LC_ALL=C sort -c + $(AWK) '/^[^#]/ {print substr($0, 1, 2)}' zone1970.tab | \ + LC_ALL=C sort -c + check_tables: checktab.awk $(PRIMARY_YDATA) $(ZONETABLES) for tab in $(ZONETABLES); do \ $(AWK) -f checktab.awk -v zone_table=$$tab $(PRIMARY_YDATA) \ @@ -648,7 +656,7 @@ zic.o: private.h tzfile.h version.h .KEEP_STATE: .PHONY: ALL INSTALL all -.PHONY: check check_character_set check_public check_tables +.PHONY: check check_character_set check_public check_sorted check_tables .PHONY: check_time_t_alternatives check_web check_white_space clean clean_misc .PHONY: install maintainer-clean names posix_packrat posix_only posix_right .PHONY: public right_only right_posix signatures tarballs typecheck diff --git a/backzone b/backzone index d63afab..22ac5c0 100644 --- a/backzone +++ b/backzone @@ -315,16 +315,6 @@ Link Antarctica/McMurdo Antarctica/South_Pole #Zone Asia/Chennai [not enough info to complete] # China -# Changbai Time ("Long-white Time", Long-white = Heilongjiang area) -# Heilongjiang (except Mohe county), Jilin -Zone Asia/Harbin 8:26:44 - LMT 1928 # or Haerbin - 8:30 - CHAT 1932 Mar # Changbai Time - 8:00 - CST 1940 - 9:00 - CHAT 1966 May - 8:30 - CHAT 1980 May - 8:00 PRC C%sT - -# China # Long-shu Time (probably due to Long and Shu being two names of that area) # Guangxi, Guizhou, Hainan, Ningxia, Sichuan, Shaanxi, and Yunnan; # most of Gansu; west Inner Mongolia; west Qinghai; and the Guangdong @@ -335,6 +325,16 @@ Zone Asia/Chongqing 7:06:20 - LMT 1928 # or Chungking 8:00 PRC C%sT Link Asia/Chongqing Asia/Chungking +# China +# Changbai Time ("Long-white Time", Long-white = Heilongjiang area) +# Heilongjiang (except Mohe county), Jilin +Zone Asia/Harbin 8:26:44 - LMT 1928 # or Haerbin + 8:30 - CHAT 1932 Mar # Changbai Time + 8:00 - CST 1940 + 9:00 - CHAT 1966 May + 8:30 - CHAT 1980 May + 8:00 PRC C%sT + # far west China Zone Asia/Kashgar 5:03:56 - LMT 1928 # or Kashi or Kaxgar 5:30 - KAST 1940 # Kashgar Time -- 1.9.1
participants (1)
-
Paul Eggert