Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 Apr 2023 09:31:02 GMT
From:      Yuri Pankov <yuripv@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 336c4682b6f3 - main - tzsetup: add baseline file to control parsed zonetab contents
Message-ID:  <202304230931.33N9V26G099497@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by yuripv:

URL: https://cgit.FreeBSD.org/src/commit/?id=336c4682b6f3d181daf9fc7a8c9386c8c06ce996

commit 336c4682b6f3d181daf9fc7a8c9386c8c06ce996
Author:     Yuri Pankov <yuripv@FreeBSD.org>
AuthorDate: 2023-04-23 08:31:53 +0000
Commit:     Yuri Pankov <yuripv@FreeBSD.org>
CommitDate: 2023-04-23 08:32:02 +0000

    tzsetup: add baseline file to control parsed zonetab contents
    
    Introduce undocumented option -d to dump parsed zonetab file contents
    and add a "baseline" target along with instructions on updating it.
    
    Reviewed by:    philip
    Differential Revision:  https://reviews.freebsd.org/D39634
---
 share/zoneinfo/Makefile    |   6 +
 usr.sbin/tzsetup/Makefile  |   6 +
 usr.sbin/tzsetup/baseline  | 670 +++++++++++++++++++++++++++++++++++++++++++++
 usr.sbin/tzsetup/tzsetup.c |  53 +++-
 4 files changed, 733 insertions(+), 2 deletions(-)

diff --git a/share/zoneinfo/Makefile b/share/zoneinfo/Makefile
index 2e8e0cd53cd2..8a92558a9d25 100644
--- a/share/zoneinfo/Makefile
+++ b/share/zoneinfo/Makefile
@@ -29,6 +29,12 @@
 #   (write a meaningful commit message)
 # $ git push freebsd HEAD:stable/12
 #
+#
+# If there are changes to zone1970.tab, update the baseline file by running
+# `make baseline` in usr.sbin/tzsetup to check if tzsetup is able to parse new
+# contents (if not, report/fix tzsetup).  Check that update does not
+# introduce breaking/unexpected changes to continents/countries/zones,
+# and commit the updated baseline file.
 
 .include <src.opts.mk>
 
diff --git a/usr.sbin/tzsetup/Makefile b/usr.sbin/tzsetup/Makefile
index adef619b6596..59089f7208b2 100644
--- a/usr.sbin/tzsetup/Makefile
+++ b/usr.sbin/tzsetup/Makefile
@@ -13,4 +13,10 @@ CFLAGS+=	-I${SRCTOP}/contrib/bsddialog/lib -DHAVE_BSDDIALOG
 LIBADD=		bsddialog
 .endif
 
+ZONETAB=	${SRCTOP}/contrib/tzdata/zone1970.tab
+baseline: ${PROG} ${ZONETAB}
+	${.OBJDIR}/${PROG} -d ${ZONETAB} > ${.CURDIR}/baseline
+
+.PHONY:	baseline
+
 .include <bsd.prog.mk>
diff --git a/usr.sbin/tzsetup/baseline b/usr.sbin/tzsetup/baseline
new file mode 100644
index 000000000000..79a7f2a869b6
--- /dev/null
+++ b/usr.sbin/tzsetup/baseline
@@ -0,0 +1,670 @@
+AF:Afghanistan
+  Asia:Asia/Kabul
+AL:Albania
+  Europe:Europe/Tirane
+DZ:Algeria
+  Africa:Africa/Algiers
+AS:American Samoa
+  Pacific:Pacific/Pago_Pago
+AD:Andorra
+  Europe:Europe/Andorra
+AO:Angola
+  Africa:Africa/Lagos
+AI:Anguilla
+  America:America/Puerto_Rico
+AQ:Antarctica
+  Antarctica:Antarctica/Casey
+  Antarctica:Antarctica/Davis
+  Antarctica:Antarctica/Mawson
+  Antarctica:Antarctica/Palmer
+  Antarctica:Antarctica/Rothera
+  Antarctica:Antarctica/Troll
+  Asia:Asia/Urumqi
+  Pacific:Pacific/Auckland
+  Pacific:Pacific/Port_Moresby
+  Asia:Asia/Riyadh
+AG:Antigua and Barbuda
+  America:America/Puerto_Rico
+AR:Argentina
+  America:America/Argentina/Buenos_Aires
+  America:America/Argentina/Cordoba
+  America:America/Argentina/Salta
+  America:America/Argentina/Jujuy
+  America:America/Argentina/Tucuman
+  America:America/Argentina/Catamarca
+  America:America/Argentina/La_Rioja
+  America:America/Argentina/San_Juan
+  America:America/Argentina/Mendoza
+  America:America/Argentina/San_Luis
+  America:America/Argentina/Rio_Gallegos
+  America:America/Argentina/Ushuaia
+AM:Armenia
+  Asia:Asia/Yerevan
+AW:Aruba
+  America:America/Puerto_Rico
+AU:Australia
+  Australia:Australia/Lord_Howe
+  Antarctica:Antarctica/Macquarie
+  Australia:Australia/Hobart
+  Australia:Australia/Melbourne
+  Australia:Australia/Sydney
+  Australia:Australia/Broken_Hill
+  Australia:Australia/Brisbane
+  Australia:Australia/Lindeman
+  Australia:Australia/Adelaide
+  Australia:Australia/Darwin
+  Australia:Australia/Perth
+  Australia:Australia/Eucla
+AT:Austria
+  Europe:Europe/Vienna
+AZ:Azerbaijan
+  Asia:Asia/Baku
+BS:Bahamas
+  America:America/Toronto
+BH:Bahrain
+  Asia:Asia/Qatar
+BD:Bangladesh
+  Asia:Asia/Dhaka
+BB:Barbados
+  America:America/Barbados
+BY:Belarus
+  Europe:Europe/Minsk
+BE:Belgium
+  Europe:Europe/Brussels
+BZ:Belize
+  America:America/Belize
+BJ:Benin
+  Africa:Africa/Lagos
+BM:Bermuda
+  Atlantic:Atlantic/Bermuda
+BT:Bhutan
+  Asia:Asia/Thimphu
+BO:Bolivia, Plurinational State of
+  America:America/La_Paz
+BQ:Bonaire, Sint Eustatius and Saba
+  America:America/Puerto_Rico
+BA:Bosnia and Herzegovina
+  Europe:Europe/Belgrade
+BW:Botswana
+  Africa:Africa/Maputo
+BV:Bouvet Island
+BR:Brazil
+  America:America/Noronha
+  America:America/Belem
+  America:America/Fortaleza
+  America:America/Recife
+  America:America/Araguaina
+  America:America/Maceio
+  America:America/Bahia
+  America:America/Sao_Paulo
+  America:America/Campo_Grande
+  America:America/Cuiaba
+  America:America/Santarem
+  America:America/Porto_Velho
+  America:America/Boa_Vista
+  America:America/Manaus
+  America:America/Eirunepe
+  America:America/Rio_Branco
+IO:British Indian Ocean Territory
+  Indian:Indian/Chagos
+BN:Brunei Darussalam
+  Asia:Asia/Kuching
+BG:Bulgaria
+  Europe:Europe/Sofia
+BF:Burkina Faso
+  Africa:Africa/Abidjan
+BI:Burundi
+  Africa:Africa/Maputo
+CV:Cabo Verde
+  Atlantic:Atlantic/Cape_Verde
+KH:Cambodia
+  Asia:Asia/Bangkok
+CM:Cameroon
+  Africa:Africa/Lagos
+CA:Canada
+  America:America/St_Johns
+  America:America/Halifax
+  America:America/Glace_Bay
+  America:America/Moncton
+  America:America/Goose_Bay
+  America:America/Toronto
+  America:America/Iqaluit
+  America:America/Winnipeg
+  America:America/Resolute
+  America:America/Rankin_Inlet
+  America:America/Regina
+  America:America/Swift_Current
+  America:America/Edmonton
+  America:America/Cambridge_Bay
+  America:America/Inuvik
+  America:America/Dawson_Creek
+  America:America/Fort_Nelson
+  America:America/Whitehorse
+  America:America/Dawson
+  America:America/Vancouver
+  America:America/Panama
+  America:America/Puerto_Rico
+  America:America/Phoenix
+KY:Cayman Islands
+  America:America/Panama
+CF:Central African Republic
+  Africa:Africa/Lagos
+TD:Chad
+  Africa:Africa/Ndjamena
+CL:Chile
+  America:America/Santiago
+  America:America/Punta_Arenas
+  Pacific:Pacific/Easter
+CN:China
+  Asia:Asia/Shanghai
+  Asia:Asia/Urumqi
+CX:Christmas Island
+  Asia:Asia/Bangkok
+CC:Cocos (Keeling) Islands
+  Asia:Asia/Yangon
+CO:Colombia
+  America:America/Bogota
+KM:Comoros
+  Africa:Africa/Nairobi
+CG:Congo
+  Africa:Africa/Lagos
+CD:Congo, Democratic Republic of the
+  Africa:Africa/Maputo
+  Africa:Africa/Lagos
+CK:Cook Islands
+  Pacific:Pacific/Rarotonga
+CR:Costa Rica
+  America:America/Costa_Rica
+HR:Croatia
+  Europe:Europe/Belgrade
+CU:Cuba
+  America:America/Havana
+CW:Curaçao
+  America:America/Puerto_Rico
+CY:Cyprus
+  Asia:Asia/Nicosia
+  Asia:Asia/Famagusta
+CZ:Czech Republic
+  Europe:Europe/Prague
+CI:Côte d'Ivoire
+  Africa:Africa/Abidjan
+DK:Denmark
+  Europe:Europe/Berlin
+DJ:Djibouti
+  Africa:Africa/Nairobi
+DM:Dominica
+  America:America/Puerto_Rico
+DO:Dominican Republic
+  America:America/Santo_Domingo
+EC:Ecuador
+  America:America/Guayaquil
+  Pacific:Pacific/Galapagos
+EG:Egypt
+  Africa:Africa/Cairo
+SV:El Salvador
+  America:America/El_Salvador
+GQ:Equatorial Guinea
+  Africa:Africa/Lagos
+ER:Eritrea
+  Africa:Africa/Nairobi
+EE:Estonia
+  Europe:Europe/Tallinn
+SZ:Eswatini
+  Africa:Africa/Johannesburg
+ET:Ethiopia
+  Africa:Africa/Nairobi
+FK:Falkland Islands (Malvinas)
+  Atlantic:Atlantic/Stanley
+FO:Faroe Islands
+  Atlantic:Atlantic/Faroe
+FJ:Fiji
+  Pacific:Pacific/Fiji
+FI:Finland
+  Europe:Europe/Helsinki
+FR:France
+  Europe:Europe/Paris
+GF:French Guiana
+  America:America/Cayenne
+PF:French Polynesia
+  Pacific:Pacific/Tahiti
+  Pacific:Pacific/Marquesas
+  Pacific:Pacific/Gambier
+TF:French Southern Territories
+  Asia:Asia/Dubai
+  Indian:Indian/Maldives
+GA:Gabon
+  Africa:Africa/Lagos
+GM:Gambia
+  Africa:Africa/Abidjan
+GE:Georgia
+  Asia:Asia/Tbilisi
+DE:Germany
+  Europe:Europe/Zurich
+  Europe:Europe/Berlin
+GH:Ghana
+  Africa:Africa/Abidjan
+GI:Gibraltar
+  Europe:Europe/Gibraltar
+GR:Greece
+  Europe:Europe/Athens
+GL:Greenland
+  America:America/Nuuk
+  America:America/Danmarkshavn
+  America:America/Scoresbysund
+  America:America/Thule
+GD:Grenada
+  America:America/Puerto_Rico
+GP:Guadeloupe
+  America:America/Puerto_Rico
+GU:Guam
+  Pacific:Pacific/Guam
+GT:Guatemala
+  America:America/Guatemala
+GG:Guernsey
+  Europe:Europe/London
+GN:Guinea
+  Africa:Africa/Abidjan
+GW:Guinea-Bissau
+  Africa:Africa/Bissau
+GY:Guyana
+  America:America/Guyana
+HT:Haiti
+  America:America/Port-au-Prince
+HM:Heard Island and McDonald Islands
+VA:Holy See
+  Europe:Europe/Rome
+HN:Honduras
+  America:America/Tegucigalpa
+HK:Hong Kong
+  Asia:Asia/Hong_Kong
+HU:Hungary
+  Europe:Europe/Budapest
+IS:Iceland
+  Africa:Africa/Abidjan
+IN:India
+  Asia:Asia/Kolkata
+ID:Indonesia
+  Asia:Asia/Jakarta
+  Asia:Asia/Pontianak
+  Asia:Asia/Makassar
+  Asia:Asia/Jayapura
+IR:Iran (Islamic Republic of)
+  Asia:Asia/Tehran
+IQ:Iraq
+  Asia:Asia/Baghdad
+IE:Ireland
+  Europe:Europe/Dublin
+IM:Isle of Man
+  Europe:Europe/London
+IL:Israel
+  Asia:Asia/Jerusalem
+IT:Italy
+  Europe:Europe/Rome
+JM:Jamaica
+  America:America/Jamaica
+JP:Japan
+  Asia:Asia/Tokyo
+JE:Jersey
+  Europe:Europe/London
+JO:Jordan
+  Asia:Asia/Amman
+KZ:Kazakhstan
+  Asia:Asia/Almaty
+  Asia:Asia/Qyzylorda
+  Asia:Asia/Qostanay
+  Asia:Asia/Aqtobe
+  Asia:Asia/Aqtau
+  Asia:Asia/Atyrau
+  Asia:Asia/Oral
+KE:Kenya
+  Africa:Africa/Nairobi
+KI:Kiribati
+  Pacific:Pacific/Tarawa
+  Pacific:Pacific/Kanton
+  Pacific:Pacific/Kiritimati
+KP:Korea (Democratic People's Republic of)
+  Asia:Asia/Pyongyang
+KR:Korea (Republic of)
+  Asia:Asia/Seoul
+KW:Kuwait
+  Asia:Asia/Riyadh
+KG:Kyrgyzstan
+  Asia:Asia/Bishkek
+LA:Lao People's Democratic Republic
+  Asia:Asia/Bangkok
+LV:Latvia
+  Europe:Europe/Riga
+LB:Lebanon
+  Asia:Asia/Beirut
+LS:Lesotho
+  Africa:Africa/Johannesburg
+LR:Liberia
+  Africa:Africa/Monrovia
+LY:Libya
+  Africa:Africa/Tripoli
+LI:Liechtenstein
+  Europe:Europe/Zurich
+LT:Lithuania
+  Europe:Europe/Vilnius
+LU:Luxembourg
+  Europe:Europe/Brussels
+MO:Macao
+  Asia:Asia/Macau
+MK:Macedonia (the former Yugoslav Republic of)
+  Europe:Europe/Belgrade
+MG:Madagascar
+  Africa:Africa/Nairobi
+MW:Malawi
+  Africa:Africa/Maputo
+MY:Malaysia
+  Asia:Asia/Kuching
+  Asia:Asia/Singapore
+MV:Maldives
+  Indian:Indian/Maldives
+ML:Mali
+  Africa:Africa/Abidjan
+MT:Malta
+  Europe:Europe/Malta
+MH:Marshall Islands
+  Pacific:Pacific/Tarawa
+  Pacific:Pacific/Kwajalein
+MQ:Martinique
+  America:America/Martinique
+MR:Mauritania
+  Africa:Africa/Abidjan
+MU:Mauritius
+  Indian:Indian/Mauritius
+YT:Mayotte
+  Africa:Africa/Nairobi
+MX:Mexico
+  America:America/Mexico_City
+  America:America/Cancun
+  America:America/Merida
+  America:America/Monterrey
+  America:America/Matamoros
+  America:America/Chihuahua
+  America:America/Ciudad_Juarez
+  America:America/Ojinaga
+  America:America/Mazatlan
+  America:America/Bahia_Banderas
+  America:America/Hermosillo
+  America:America/Tijuana
+FM:Micronesia (Federated States of)
+  Pacific:Pacific/Kosrae
+  Pacific:Pacific/Port_Moresby
+  Pacific:Pacific/Guadalcanal
+MD:Moldova (Republic of)
+  Europe:Europe/Chisinau
+MC:Monaco
+  Europe:Europe/Paris
+MN:Mongolia
+  Asia:Asia/Ulaanbaatar
+  Asia:Asia/Hovd
+  Asia:Asia/Choibalsan
+ME:Montenegro
+  Europe:Europe/Belgrade
+MS:Montserrat
+  America:America/Puerto_Rico
+MA:Morocco
+  Africa:Africa/Casablanca
+MZ:Mozambique
+  Africa:Africa/Maputo
+MM:Myanmar
+  Asia:Asia/Yangon
+NA:Namibia
+  Africa:Africa/Windhoek
+NR:Nauru
+  Pacific:Pacific/Nauru
+NP:Nepal
+  Asia:Asia/Kathmandu
+NL:Netherlands
+  Europe:Europe/Brussels
+NC:New Caledonia
+  Pacific:Pacific/Noumea
+NZ:New Zealand
+  Pacific:Pacific/Auckland
+  Pacific:Pacific/Chatham
+NI:Nicaragua
+  America:America/Managua
+NE:Niger
+  Africa:Africa/Lagos
+NG:Nigeria
+  Africa:Africa/Lagos
+NU:Niue
+  Pacific:Pacific/Niue
+NF:Norfolk Island
+  Pacific:Pacific/Norfolk
+MP:Northern Mariana Islands
+  Pacific:Pacific/Guam
+NO:Norway
+  Europe:Europe/Berlin
+OM:Oman
+  Asia:Asia/Dubai
+PK:Pakistan
+  Asia:Asia/Karachi
+PW:Palau
+  Pacific:Pacific/Palau
+PS:Palestine, State of
+  Asia:Asia/Gaza
+  Asia:Asia/Hebron
+PA:Panama
+  America:America/Panama
+PG:Papua New Guinea
+  Pacific:Pacific/Port_Moresby
+  Pacific:Pacific/Bougainville
+PY:Paraguay
+  America:America/Asuncion
+PE:Peru
+  America:America/Lima
+PH:Philippines
+  Asia:Asia/Manila
+PN:Pitcairn
+  Pacific:Pacific/Pitcairn
+PL:Poland
+  Europe:Europe/Warsaw
+PT:Portugal
+  Europe:Europe/Lisbon
+  Atlantic:Atlantic/Madeira
+  Atlantic:Atlantic/Azores
+PR:Puerto Rico
+  America:America/Puerto_Rico
+QA:Qatar
+  Asia:Asia/Qatar
+RO:Romania
+  Europe:Europe/Bucharest
+RU:Russian Federation
+  Europe:Europe/Kaliningrad
+  Europe:Europe/Moscow
+  Europe:Europe/Simferopol
+  Europe:Europe/Kirov
+  Europe:Europe/Volgograd
+  Europe:Europe/Astrakhan
+  Europe:Europe/Saratov
+  Europe:Europe/Ulyanovsk
+  Europe:Europe/Samara
+  Asia:Asia/Yekaterinburg
+  Asia:Asia/Omsk
+  Asia:Asia/Novosibirsk
+  Asia:Asia/Barnaul
+  Asia:Asia/Tomsk
+  Asia:Asia/Novokuznetsk
+  Asia:Asia/Krasnoyarsk
+  Asia:Asia/Irkutsk
+  Asia:Asia/Chita
+  Asia:Asia/Yakutsk
+  Asia:Asia/Khandyga
+  Asia:Asia/Vladivostok
+  Asia:Asia/Ust-Nera
+  Asia:Asia/Magadan
+  Asia:Asia/Sakhalin
+  Asia:Asia/Srednekolymsk
+  Asia:Asia/Kamchatka
+  Asia:Asia/Anadyr
+RW:Rwanda
+  Africa:Africa/Maputo
+RE:Réunion
+  Asia:Asia/Dubai
+BL:Saint Barthélemy
+  America:America/Puerto_Rico
+SH:Saint Helena Ascension and Tristan da Cunha
+  Africa:Africa/Abidjan
+KN:Saint Kitts and Nevis
+  America:America/Puerto_Rico
+LC:Saint Lucia
+  America:America/Puerto_Rico
+MF:Saint Martin (French part)
+  America:America/Puerto_Rico
+PM:Saint Pierre and Miquelon
+  America:America/Miquelon
+VC:Saint Vincent and the Grenadines
+  America:America/Puerto_Rico
+WS:Samoa
+  Pacific:Pacific/Apia
+SM:San Marino
+  Europe:Europe/Rome
+ST:Sao Tome and Principe
+  Africa:Africa/Sao_Tome
+SA:Saudi Arabia
+  Asia:Asia/Riyadh
+SN:Senegal
+  Africa:Africa/Abidjan
+RS:Serbia
+  Europe:Europe/Belgrade
+SC:Seychelles
+  Asia:Asia/Dubai
+SL:Sierra Leone
+  Africa:Africa/Abidjan
+SG:Singapore
+  Asia:Asia/Singapore
+SX:Sint Maarten (Dutch part)
+  America:America/Puerto_Rico
+SK:Slovakia
+  Europe:Europe/Prague
+SI:Slovenia
+  Europe:Europe/Belgrade
+SB:Solomon Islands
+  Pacific:Pacific/Guadalcanal
+SO:Somalia
+  Africa:Africa/Nairobi
+ZA:South Africa
+  Africa:Africa/Johannesburg
+GS:South Georgia and the South Sandwich Islands
+  Atlantic:Atlantic/South_Georgia
+SS:South Sudan
+  Africa:Africa/Juba
+ES:Spain
+  Europe:Europe/Madrid
+  Africa:Africa/Ceuta
+  Atlantic:Atlantic/Canary
+LK:Sri Lanka
+  Asia:Asia/Colombo
+SD:Sudan
+  Africa:Africa/Khartoum
+SR:Suriname
+  America:America/Paramaribo
+SJ:Svalbard and Jan Mayen
+  Europe:Europe/Berlin
+SE:Sweden
+  Europe:Europe/Berlin
+CH:Switzerland
+  Europe:Europe/Zurich
+SY:Syrian Arab Republic
+  Asia:Asia/Damascus
+TW:Taiwan
+  Asia:Asia/Taipei
+TJ:Tajikistan
+  Asia:Asia/Dushanbe
+TZ:Tanzania United Republic of
+  Africa:Africa/Nairobi
+TH:Thailand
+  Asia:Asia/Bangkok
+TL:Timor-Leste
+  Asia:Asia/Dili
+TG:Togo
+  Africa:Africa/Abidjan
+TK:Tokelau
+  Pacific:Pacific/Fakaofo
+TO:Tonga
+  Pacific:Pacific/Tongatapu
+TT:Trinidad and Tobago
+  America:America/Puerto_Rico
+TN:Tunisia
+  Africa:Africa/Tunis
+TR:Turkey
+  Europe:Europe/Istanbul
+TM:Turkmenistan
+  Asia:Asia/Ashgabat
+TC:Turks and Caicos Islands
+  America:America/Grand_Turk
+TV:Tuvalu
+  Pacific:Pacific/Tarawa
+UG:Uganda
+  Africa:Africa/Nairobi
+UA:Ukraine
+  Europe:Europe/Simferopol
+  Europe:Europe/Kyiv
+AE:United Arab Emirates
+  Asia:Asia/Dubai
+GB:United Kingdom of Great Britain and Northern Ireland
+  Europe:Europe/London
+UM:United States Minor Outlying Islands
+  Pacific:Pacific/Pago_Pago
+  Pacific:Pacific/Tarawa
+US:United States of America
+  America:America/New_York
+  America:America/Detroit
+  America:America/Kentucky/Louisville
+  America:America/Kentucky/Monticello
+  America:America/Indiana/Indianapolis
+  America:America/Indiana/Vincennes
+  America:America/Indiana/Winamac
+  America:America/Indiana/Marengo
+  America:America/Indiana/Petersburg
+  America:America/Indiana/Vevay
+  America:America/Chicago
+  America:America/Indiana/Tell_City
+  America:America/Indiana/Knox
+  America:America/Menominee
+  America:America/North_Dakota/Center
+  America:America/North_Dakota/New_Salem
+  America:America/North_Dakota/Beulah
+  America:America/Denver
+  America:America/Boise
+  America:America/Phoenix
+  America:America/Los_Angeles
+  America:America/Anchorage
+  America:America/Juneau
+  America:America/Sitka
+  America:America/Metlakatla
+  America:America/Yakutat
+  America:America/Nome
+  America:America/Adak
+  Pacific:Pacific/Honolulu
+UY:Uruguay
+  America:America/Montevideo
+UZ:Uzbekistan
+  Asia:Asia/Samarkand
+  Asia:Asia/Tashkent
+VU:Vanuatu
+  Pacific:Pacific/Efate
+VE:Venezuela, Bolivarian Republic of
+  America:America/Caracas
+VN:Viet Nam
+  Asia:Asia/Bangkok
+  Asia:Asia/Ho_Chi_Minh
+VG:Virgin Islands (British)
+  America:America/Puerto_Rico
+VI:Virgin Islands (U.S.)
+  America:America/Puerto_Rico
+WF:Wallis and Futuna
+  Pacific:Pacific/Tarawa
+EH:Western Sahara
+  Africa:Africa/El_Aaiun
+YE:Yemen
+  Asia:Asia/Riyadh
+ZM:Zambia
+  Africa:Africa/Maputo
+ZW:Zimbabwe
+  Africa:Africa/Maputo
+AX:Åland Islands
+  Europe:Europe/Helsinki
diff --git a/usr.sbin/tzsetup/tzsetup.c b/usr.sbin/tzsetup/tzsetup.c
index 310414e69975..76f6a2537de6 100644
--- a/usr.sbin/tzsetup/tzsetup.c
+++ b/usr.sbin/tzsetup/tzsetup.c
@@ -32,6 +32,11 @@
  * files provided in newer tzdata releases.
  */
 
+/*
+ * When making changes to parser code, run baseline target, check that there are
+ * no unintended changes and commit updated file.
+ */
+
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
@@ -244,6 +249,17 @@ find_continent(const char *name)
 	return (0);
 }
 
+static const char *
+find_continent_name(struct continent *cont)
+{
+	int		i;
+
+	for (i = 0; i < NCONTINENTS; i++)
+		if (cont == continent_names[i].continent)
+			return (continent_names[i].name);
+	return ("Unknown");
+}
+
 struct country {
 	char		*name;
 	char		*tlc;
@@ -783,6 +799,27 @@ install_zoneinfo(const char *zoneinfo)
 	return (rv);
 }
 
+static void
+dump_zonetab(void)
+{
+	struct country	*cp;
+	struct zone	*zp;
+	const char *cont;
+
+	for (cp = countries; cp->name != NULL; cp++) {
+		printf("%s:%s\n", cp->tlc, cp->name);
+		if (cp->nzones < 0) {
+			cont = find_continent_name(cp->continent);
+			printf("  %s:%s\n", cont, cp->filename);
+		} else {
+			TAILQ_FOREACH(zp, &cp->zones, link) {
+				cont = find_continent_name(zp->continent);
+				printf("  %s:%s\n", cont, zp->filename);
+			}
+		}
+	}
+}
+
 static void
 usage(void)
 {
@@ -802,7 +839,9 @@ main(int argc, char **argv)
 	int		c, rv, skiputc;
 	char		vm_guest[16] = "";
 	size_t		len = sizeof(vm_guest);
+	char		*dztpath;
 
+	dztpath = NULL;
 	skiputc = 0;
 
 #ifdef HAVE_BSDDIALOG
@@ -814,11 +853,14 @@ main(int argc, char **argv)
 	    strcmp(vm_guest, "none") != 0)
 		skiputc = 1;
 
-	while ((c = getopt(argc, argv, "C:nrs")) != -1) {
+	while ((c = getopt(argc, argv, "C:d:nrs")) != -1) {
 		switch(c) {
 		case 'C':
 			chrootenv = optarg;
 			break;
+		case 'd':
+			dztpath = optarg;
+			break;
 		case 'n':
 			reallydoit = 0;
 			break;
@@ -840,7 +882,10 @@ main(int argc, char **argv)
 		usage();
 
 	if (chrootenv == NULL) {
-		strcpy(path_zonetab, _PATH_ZONETAB);
+		if (dztpath == NULL)
+			strcpy(path_zonetab, _PATH_ZONETAB);
+		else
+			strlcpy(path_zonetab, dztpath, sizeof(path_zonetab));
 		strcpy(path_iso3166, _PATH_ISO3166);
 		strcpy(path_zoneinfo, _PATH_ZONEINFO);
 		strcpy(path_localtime, _PATH_LOCALTIME);
@@ -902,6 +947,10 @@ main(int argc, char **argv)
 	read_iso3166_table();
 	read_zones();
 	sort_countries();
+	if (dztpath != NULL) {
+		dump_zonetab();
+		return (0);
+	}
 	make_menus();
 
 	bsddialog_initconf(&conf);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202304230931.33N9V26G099497>