[tz] [PATCH 2/2] Move out-of-scope UTC+1 African zones to 'backzone'.

Paul Eggert eggert at cs.ucla.edu
Wed Aug 13 00:41:32 UTC 2014


This illustrates how 'backzone' can be used to migrate
out-of-scope data out of the database proper.
* africa (Africa/Luanda, Africa/Porto-Novo, Africa/Douala, Africa/Bangui)
(Africa/Kinshasa, Africa/Brazzaville, Africa/Malabo, Africa/Libreville)
(Africa/Niamey): Change these from zones to links (to Africa/Lagos).
Move their old data from here ...
* backzone: ... to here.
* checktab.awk (tztab): Remove special cases for these zones.
* NEWS: Document the above.
---
 NEWS         |  8 ++++++++
 africa       | 60 ++++++++++++++++++------------------------------------------
 backzone     | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 checktab.awk |  9 ---------
 4 files changed, 81 insertions(+), 51 deletions(-)

diff --git a/NEWS b/NEWS
index 7f27802..4be8450 100644
--- a/NEWS
+++ b/NEWS
@@ -26,6 +26,14 @@ Unreleased, experimental changes
     default.  (Thanks to Lester Caine for the Guernsey, Jersey, and
     Isle of Man entries in 'backzone'.)
 
+    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 data have been moved to the 'backzone' file.
+    The affected zones are: Africa/Bangui, Africa/Brazzaville,
+    Africa/Douala, Africa/Kinshasa, Africa/Libreville, Africa/Luanda,
+    Africa/Malabo, Africa/Niamey, and Africa/Porto-Novo.
+
   Changes affecting code
 
     tzselect -c now uses a hybrid distance measure that works better
diff --git a/africa b/africa
index 37798e7..d251500 100644
--- a/africa
+++ b/africa
@@ -106,24 +106,8 @@ Zone	Africa/Algiers	0:12:12 -	LMT	1891 Mar 15  0:01
 			1:00	-	CET
 
 # Angola
-#
-# Shanks gives 1911-05-26 for the transition to WAT,
-# evidently confusing the date of the Portuguese decree
-# http://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf
-# with the date that it took effect, namely 1912-01-01.
-#
-# Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
-Zone	Africa/Luanda	0:52:56	-	LMT	1892
-			0:52:04	-	AOT	1912 Jan  1 # Angola Time
-			1:00	-	WAT
-
 # Benin
-# Whitman says they switched to 1:00 in 1946, not 1934;
-# go with Shanks & Pottenger.
-# Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
-Zone Africa/Porto-Novo	0:10:28	-	LMT	1912 Jan  1
-			0:00	-	GMT	1934 Feb 26
-			1:00	-	WAT
+# See Africa/Lagos.
 
 # Botswana
 # From Paul Eggert (2013-02-21):
@@ -145,10 +129,7 @@ Zone Africa/Bujumbura	1:57:28	-	LMT	1890
 			2:00	-	CAT
 
 # Cameroon
-# Whitman says they switched to 1:00 in 1920; go with Shanks & Pottenger.
-# Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
-Zone	Africa/Douala	0:38:48	-	LMT	1912
-			1:00	-	WAT
+# See Africa/Lagos.
 
 # Cape Verde
 #
@@ -165,9 +146,7 @@ Zone Atlantic/Cape_Verde -1:34:04 -	LMT	1907			# Praia
 			-1:00	-	CVT
 
 # Central African Republic
-# Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
-Zone	Africa/Bangui	1:14:20	-	LMT	1912
-			1:00	-	WAT
+# See Africa/Lagos.
 
 # Chad
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
@@ -181,17 +160,14 @@ Zone	Africa/Ndjamena	1:00:12 -	LMT	1912 # N'Djamena
 Zone	Indian/Comoro	2:53:04 -	LMT	1911 Jul   # Moroni, Gran Comoro
 			3:00	-	EAT
 
-# Democratic Republic of Congo
+# Democratic Republic of the Congo
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
-Zone Africa/Kinshasa	1:01:12 -	LMT	1897 Nov 9
-			1:00	-	WAT
 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.
 
 # Republic of the Congo
-# Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
-Zone Africa/Brazzaville	1:01:08 -	LMT	1912
-			1:00	-	WAT
+# See Africa/Lagos.
 
 # Côte d'Ivoire / Ivory Coast
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
@@ -421,10 +397,7 @@ Zone	Africa/Cairo	2:05:09 -	LMT	1900 Oct
 			2:00	Egypt	EE%sT
 
 # Equatorial Guinea
-# Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
-Zone	Africa/Malabo	0:35:08 -	LMT	1912
-			0:00	-	GMT	1963 Dec 15
-			1:00	-	WAT
+# See Africa/Lagos.
 
 # Eritrea
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
@@ -449,9 +422,7 @@ Zone Africa/Addis_Ababa	2:34:48 -	LMT	1870
 			3:00	-	EAT
 
 # Gabon
-# Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
-Zone Africa/Libreville	0:37:48 -	LMT	1912
-			1:00	-	WAT
+# See Africa/Lagos.
 
 # Gambia
 # See Africa/Abidjan.
@@ -1023,16 +994,21 @@ Zone	Africa/Windhoek	1:08:24 -	LMT	1892 Feb 8
 			1:00	Namibia	WA%sT
 
 # Niger
-# Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
-Zone	Africa/Niamey	 0:08:28 -	LMT	1912
-			-1:00	-	WAT	1934 Feb 26
-			 0:00	-	GMT	1960
-			 1:00	-	WAT
+# See Africa/Lagos.
 
 # Nigeria
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Africa/Lagos	0:13:36 -	LMT	1919 Sep
 			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
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
diff --git a/backzone b/backzone
index b9c9433..8c5848f 100644
--- a/backzone
+++ b/backzone
@@ -44,12 +44,20 @@ Zone	Africa/Bamako	-0:32:00 -	LMT	1912
 			-1:00	-	WAT	1960 Jun 20
 			 0:00	-	GMT
 
+# Central African Republic
+Zone	Africa/Bangui	1:14:20	-	LMT	1912
+			1:00	-	WAT
+
 # Gambia
 Zone	Africa/Banjul	-1:06:36 -	LMT	1912
 			-1:06:36 -	BMT	1935	# Banjul Mean Time
 			-1:00	-	WAT	1964
 			 0:00	-	GMT
 
+# Republic of the Congo
+Zone Africa/Brazzaville	1:01:08 -	LMT	1912
+			1:00	-	WAT
+
 # Guinea
 Zone	Africa/Conakry	-0:54:52 -	LMT	1912
 			 0:00	-	GMT	1934 Feb 26
@@ -61,6 +69,10 @@ Zone	Africa/Dakar	-1:09:44 -	LMT	1912
 			-1:00	-	WAT	1941 Jun
 			 0:00	-	GMT
 
+# Cameroon
+# Whitman says they switched to 1:00 in 1920; go with Shanks & Pottenger.
+Zone	Africa/Douala	0:38:48	-	LMT	1912
+			1:00	-	WAT
 # Sierra Leone
 # From Paul Eggert (2014-08-12):
 # The following table is from Shanks & Pottenger, but it can't be right.
@@ -82,10 +94,46 @@ Zone	Africa/Juba	2:06:24 -	LMT	1931
 			2:00	Sudan	CA%sT	2000 Jan 15 12:00
 			3:00	-	EAT
 
+# Democratic Republic of the Congo (west)
+Zone Africa/Kinshasa	1:01:12 -	LMT	1897 Nov 9
+			1:00	-	WAT
+
+# Gabon
+Zone Africa/Libreville	0:37:48 -	LMT	1912
+			1:00	-	WAT
+
+# Angola
+#
+# Shanks gives 1911-05-26 for the transition to WAT,
+# evidently confusing the date of the Portuguese decree
+# http://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf
+# with the date that it took effect, namely 1912-01-01.
+#
+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
 
+# Equatorial Guinea
+#
+# Although Shanks says that Malabo switched from UTC to UTC+1 on 1963-12-15,
+# a Google Books search says that London Calling, Issues 432-465 (1948), p 19,
+# says that Spanish Guinea was at GMT+1 back then.  The Shanks data are most
+# likely wrong, but we have nothing better; use them here for now.
+#
+Zone	Africa/Malabo	0:35:08 -	LMT	1912
+			0:00	-	GMT	1963 Dec 15
+			1:00	-	WAT
+
+# Niger
+Zone	Africa/Niamey	 0:08:28 -	LMT	1912
+			-1:00	-	WAT	1934 Feb 26
+			 0:00	-	GMT	1960
+			 1:00	-	WAT
+
 # Mauritania
 Zone Africa/Nouakchott	-1:03:48 -	LMT	1912
 			 0:00	-	GMT	1934 Feb 26
@@ -96,6 +144,13 @@ Zone Africa/Nouakchott	-1:03:48 -	LMT	1912
 Zone Africa/Ouagadougou	-0:06:04 -	LMT	1912
 			 0:00	-	GMT
 
+# Benin
+# Whitman says they switched to 1:00 in 1946, not 1934;
+# go with Shanks & Pottenger.
+Zone Africa/Porto-Novo	0:10:28	-	LMT	1912 Jan  1
+			0:00	-	GMT	1934 Feb 26
+			1:00	-	WAT
+
 # São Tomé and Príncipe
 Zone	Africa/Sao_Tome	 0:26:56 -	LMT	1884
 			-0:36:32 -	LMT	1912	# Lisbon Mean Time
diff --git a/checktab.awk b/checktab.awk
index 17f29bb..0f113f4 100644
--- a/checktab.awk
+++ b/checktab.awk
@@ -17,28 +17,19 @@ BEGIN {
 	if (zone_table == "zone1970.tab") {
 	  tztab["Africa/Addis_Ababa"] = 1
 	  tztab["Africa/Asmara"] = 1
-	  tztab["Africa/Bangui"] = 1
 	  tztab["Africa/Blantyre"] = 1
-	  tztab["Africa/Brazzaville"] = 1
 	  tztab["Africa/Bujumbura"] = 1
 	  tztab["Africa/Dar_es_Salaam"] = 1
 	  tztab["Africa/Djibouti"] = 1
-	  tztab["Africa/Douala"] = 1
 	  tztab["Africa/Gaborone"] = 1
 	  tztab["Africa/Harare"] = 1
 	  tztab["Africa/Kampala"] = 1
 	  tztab["Africa/Kigali"] = 1
-	  tztab["Africa/Kinshasa"] = 1
-	  tztab["Africa/Libreville"] = 1
-	  tztab["Africa/Luanda"] = 1
 	  tztab["Africa/Lubumbashi"] = 1
 	  tztab["Africa/Lusaka"] = 1
-	  tztab["Africa/Malabo"] = 1
 	  tztab["Africa/Maseru"] = 1
 	  tztab["Africa/Mbabane"] = 1
 	  tztab["Africa/Mogadishu"] = 1
-	  tztab["Africa/Niamey"] = 1
-	  tztab["Africa/Porto-Novo"] = 1
 	  tztab["America/Antigua"] = 1
 	  tztab["America/Cayman"] = 1
 	  tztab["Asia/Aden"] = 1
-- 
1.9.1



More information about the tz mailing list