From nobody Sun Apr 23 09:31:02 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q430l3FSXz47716; Sun, 23 Apr 2023 09:31:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q430k6gFvz3Dfk; Sun, 23 Apr 2023 09:31:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682242262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bSxhd/NF/jUFVk1cdvhZ6a+/Ib1oHk1o+XOIept6m9I=; b=Ysl2f/BKsWH7ArnBRW49b/C5Elu8NdTwvLrfrNtUwnpP3jiZBCg3wdG3pJJRAxnEoWA/bB YaelxdnLrXCu/PezgXcs/LnUlSkrutEsOtTgHItzmi7LZwYd3KQV4oY/wLKr0jO7AdmDZ6 V9yAqCRutNNRvTbDKSQfZivYE0ip+7H1BP9YmIwBcZASjgxP3QRrspr4kd3vJRAwsP+12r SPLJ8IXsr1tG4wVwlJ9JsWfyErxvXorj3zstDwf4tUkWVciSCoymh0wpHaQrMzIRImI9c5 AyD8M3J/usVhIud0cwvXx8alj9yEuxNbyG0oskCsrw4dbGkRjesTTmtsXybjzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682242262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bSxhd/NF/jUFVk1cdvhZ6a+/Ib1oHk1o+XOIept6m9I=; b=L84/MnzJxASquKEpuW/k9aGz1PXpXfZIymmgBg67ax3hHGfEy2D012TeUewuCh/MlbnVdJ /cuEobEAkKYVU7zQYmFy4b7ZJx2ipcQWxHkBH42B3KUl+QfeylXyBkJy7MCsOzewO+cvV3 +FHtHwO0cRei4mbXkgZuIGZB5b25YI8cUDVAbUsA0Nwb1Ok1b2nwcM55tkgH8YTLK20CgT iKOxrL30Mpx0769fDBMmZx+ls8D3SRV2BpeRZN8ZFrRqaHqk1jpAoplkhbVii+sqCTk5Bl osgbmcDXeS0UXI0qUAxH+YpWzYusgKoZqIFzYP6fgt92qY/glVDtSz8qqNhxfQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682242262; a=rsa-sha256; cv=none; b=ypm6d0lY55wXTAxI/YlvT5CK/K0zgDdjnZSbHkq3+bWMPDJ18oaGo10HThPtBvDk9lH5KD RKwlj7nZSKkgJZxIxaVb5+laQ9TxGLn5PTRV7McGpBPaQGcKeS3pIc9wSdx9Np0voEIlL7 WrVhYvgN9eKEDC1U1/M42y5QggroUcKtg4joGkQBCS16dgp1sAhma+6f9XZ5YhRAJqSKuf jCj5MlNRiDBRHRQDLB4AWfxzhwrSXT88LZnqj831bUL3nCmJrdhJRK5DOP1nu8jggJSCW5 CUZO5Z7u+m4aUNOhKKD8Nxp/Ng+n34vUW1XUQLsBi1ydJoboZIfQPIHMArdgmg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Q430k5mMyzdjL; Sun, 23 Apr 2023 09:31:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 33N9V2FC099498; Sun, 23 Apr 2023 09:31:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33N9V26G099497; Sun, 23 Apr 2023 09:31:02 GMT (envelope-from git) Date: Sun, 23 Apr 2023 09:31:02 GMT Message-Id: <202304230931.33N9V26G099497@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Yuri Pankov Subject: git: 336c4682b6f3 - main - tzsetup: add baseline file to control parsed zonetab contents List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: yuripv X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 336c4682b6f3d181daf9fc7a8c9386c8c06ce996 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by yuripv: URL: https://cgit.FreeBSD.org/src/commit/?id=336c4682b6f3d181daf9fc7a8c9386c8c06ce996 commit 336c4682b6f3d181daf9fc7a8c9386c8c06ce996 Author: Yuri Pankov AuthorDate: 2023-04-23 08:31:53 +0000 Commit: Yuri Pankov 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 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 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 __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);