﻿#!/bin/bash

# 2024/02/12 
# initpkg で起動するように修正．/usr/lib/(e)setup.timeconfig は廃し，
# /usr/sbin/timeconfig 単体で動くようにした．
#

if [ -L /usr/share/zoneinfo/localtime ]; then
	old_zone=`readlink /usr/share/zoneinfo/localtime`
fi

if [ $LANG == 'ja_JP.UTF-8' ]; then
    title1='時間帯を変更しますか？'
    mes1_1="すでに時間帯(タイムゾーン)は${old_zone}に設定されています．この設定を維持しますか？"
    mes1_2='時間帯設定を維持します'
    title2='時間帯の設定'
    mes2_1='時間帯(タイムゾーン)の設定は日本(JST)でいいですか？'
    mes2_2='お使いの時間帯を選んでください(通常はJapanを選んでください)'
    mes3='時間帯(タイムゾーン)設定を中止します．必要に応じてtimeconfigを再実行してください'
else
    title1='Change Timezone?'
    mes1_1="Timezone already set to ${old_zone}. Keep this setting ?"
    mes1_2='Keep Timezone settingl'
    title2='Timezone configuration'
    mes2_1='Set timezone to Japan(JST)?'
    mes2_2='Select appropriate timezone'
    mes3='Stop setting timezone. Execute timeconfig if you needed'
fi


if [ -L /usr/share/zoneinfo/localtime ]; then
    dialog --title "$title1" --yesno  "$mes1_1" 6 60
    if [ $? -eq 0 ]; then
	echo "$mes1_2"
	exit
    fi
fi

dialog --title "$title2" --yesno "$mes2_1" 6 60
    if [ $? = 1 -o $? = 255 ]; then
        dialog --title "$title2" --menu "$mes2_2" 21 60 13 \
"Japan" "" \
"Africa/Abidjan" "" \
"Africa/Accra" "" \
"Africa/Addis_Ababa" "" \
"Africa/Algiers" "" \
"Africa/Asmera" "" \
"Africa/Bamako" "" \
"Africa/Bangui" "" \
"Africa/Banjul" "" \
"Africa/Bissau" "" \
"Africa/Blantyre" "" \
"Africa/Brazzaville" "" \
"Africa/Bujumbura" "" \
"Africa/Cairo" "" \
"Africa/Casablanca" "" \
"Africa/Conakry" "" \
"Africa/Dakar" "" \
"Africa/Dar_es_Salaam" "" \
"Africa/Djibouti" "" \
"Africa/Douala" "" \
"Africa/Freetown" "" \
"Africa/Gaborone" "" \
"Africa/Harare" "" \
"Africa/Johannesburg" "" \
"Africa/Kampala" "" \
"Africa/Khartoum" "" \
"Africa/Kigali" "" \
"Africa/Kinshasa" "" \
"Africa/Lagos" "" \
"Africa/Libreville" "" \
"Africa/Lome" "" \
"Africa/Luanda" "" \
"Africa/Lumumbashi" "" \
"Africa/Lusaka" "" \
"Africa/Malabo" "" \
"Africa/Maputo" "" \
"Africa/Maseru" "" \
"Africa/Mbabane" "" \
"Africa/Mogadishu" "" \
"Africa/Monrovia" "" \
"Africa/Nairobi" "" \
"Africa/Ndjamena" "" \
"Africa/Niamey" "" \
"Africa/Nouakchott" "" \
"Africa/Ouagadougou" "" \
"Africa/Porto-Novo" "" \
"Africa/Sao_Tome" "" \
"Africa/Timbuktu" "" \
"Africa/Tripoli" "" \
"Africa/Tunis" "" \
"Africa/Windhoek" "" \
"America/Anchorage" "" \
"America/Anguilla" "" \
"America/Antigua" "" \
"America/Aruba" "" \
"America/Asuncion" "" \
"America/Atka" "" \
"America/Barbados" "" \
"America/Belize" "" \
"America/Bogota" "" \
"America/Buenos_Aires" "" \
"America/Caracas" "" \
"America/Cayenne" "" \
"America/Cayman" "" \
"America/Chicago" "" \
"America/Costa_Rica" "" \
"America/Curacao" "" \
"America/Denver" "" \
"America/Detroit" "" \
"America/Dominica" "" \
"America/Edmonton" "" \
"America/El_Salvador" "" \
"America/Ensenada" "" \
"America/Fort_Wayne" "" \
"America/Godthab" "" \
"America/Grand_Turk" "" \
"America/Grenada" "" \
"America/Guadeloupe" "" \
"America/Guatemala" "" \
"America/Guayaquil" "" \
"America/Guyana" "" \
"America/Halifax" "" \
"America/Havana" "" \
"America/Jamaica" "" \
"America/Knox_IN" "" \
"America/La_Paz" "" \
"America/Lima" "" \
"America/Los_Angeles" "" \
"America/Managua" "" \
"America/Manaus" "" \
"America/Martinique" "" \
"America/Mazatlan" "" \
"America/Mexico_City" "" \
"America/Miquelon" "" \
"America/Montevideo" "" \
"America/Montreal" "" \
"America/Montserrat" "" \
"America/Nassau" "" \
"America/New_York" "" \
"America/Noronha" "" \
"America/Panama" "" \
"America/Paramaribo" "" \
"America/Phoenix" "" \
"America/Port-au-Prince" "" \
"America/Port_of_Spain" "" \
"America/Porto_Acre" "" \
"America/Puerto_Rico" "" \
"America/Regina" "" \
"America/Santiago" "" \
"America/Santo_Domingo" "" \
"America/Sao_Paulo" "" \
"America/Scoresbysund" "" \
"America/Shiprock" "" \
"America/St_Johns" "" \
"America/St_Kitts" "" \
"America/St_Lucia" "" \
"America/St_Thomas" "" \
"America/St_Vincent" "" \
"America/Tegucigalpa" "" \
"America/Thule" "" \
"America/Tijuana" "" \
"America/Tortola" "" \
"America/Vancouver" "" \
"America/Virgin" "" \
"America/Whitehorse" "" \
"America/Winnipeg" "" \
"Asia/Aden" "" \
"Asia/Alma-Ata" "" \
"Asia/Amman" "" \
"Asia/Anadyr" "" \
"Asia/Ashkhabad" "" \
"Asia/Baghdad" "" \
"Asia/Bahrain" "" \
"Asia/Baku" "" \
"Asia/Bangkok" "" \
"Asia/Beirut" "" \
"Asia/Bishkek" "" \
"Asia/Brunei" "" \
"Asia/Calcutta" "" \
"Asia/Colombo" "" \
"Asia/Dacca" "" \
"Asia/Damascus" "" \
"Asia/Dubai" "" \
"Asia/Dushanbe" "" \
"Asia/Gaza" "" \
"Asia/Hong_Kong" "" \
"Asia/Irkutsk" "" \
"Asia/Istanbul" "" \
"Asia/Jakarta" "" \
"Asia/Jayapura" "" \
"Asia/Kabul" "" \
"Asia/Kamchatka" "" \
"Asia/Karachi" "" \
"Asia/Katmandu" "" \
"Asia/Kuala_Lumpur" "" \
"Asia/Kuwait" "" \
"Asia/Macao" "" \
"Asia/Magadan" "" \
"Asia/Manila" "" \
"Asia/Muscat" "" \
"Asia/Nicosia" "" \
"Asia/Novosibirsk" "" \
"Asia/Omsk" "" \
"Asia/Phnom_Penh" "" \
"Asia/Pyongyang" "" \
"Asia/Qatar" "" \
"Asia/Rangoon" "" \
"Asia/Riyadh" "" \
"Asia/Riyadh87" "" \
"Asia/Riyadh88" "" \
"Asia/Riyadh89" "" \
"Asia/Saigon" "" \
"Asia/Seoul" "" \
"Asia/Shanghai" "" \
"Asia/Singapore" "" \
"Asia/Taipei" "" \
"Asia/Tashkent" "" \
"Asia/Tbilisi" "" \
"Asia/Tehran" "" \
"Asia/Tel_Aviv" "" \
"Asia/Thimbu" "" \
"Asia/Tokyo" "" \
"Asia/Tomsk" "" \
"Asia/Ujung_Pandang" "" \
"Asia/Ulan_Bator" "" \
"Asia/Vientiane" "" \
"Asia/Vladivostok" "" \
"Asia/Yakutsk" "" \
"Asia/Yekaterinburg" "" \
"Asia/Yerevan" "" \
"Atlantic/Azores" "" \
"Atlantic/Bermuda" "" \
"Atlantic/Canary" "" \
"Atlantic/Cape_Verde" "" \
"Atlantic/Faeroe" "" \
"Atlantic/Jan_Mayen" "" \
"Atlantic/Madeira" "" \
"Atlantic/Reykjavik" "" \
"Atlantic/South_Georgia" "" \
"Atlantic/St_Helena" "" \
"Atlantic/Stanley" "" \
"Australia/ACT" "" \
"Australia/Adelaide" "" \
"Australia/Brisbane" "" \
"Australia/Broken_Hill" "" \
"Australia/Canberra" "" \
"Australia/Darwin" "" \
"Australia/Hobart" "" \
"Australia/LHI" "" \
"Australia/Lord_Howe" "" \
"Australia/Melbourne" "" \
"Australia/NSW" "" \
"Australia/North" "" \
"Australia/Perth" "" \
"Australia/Queensland" "" \
"Australia/South" "" \
"Australia/Sydney" "" \
"Australia/Tasmania" "" \
"Australia/Victoria" "" \
"Australia/West" "" \
"Australia/Yancowinna" "" \
"Brazil/Acre" "" \
"Brazil/DeNoronha" "" \
"Brazil/East" "" \
"Brazil/West" "" \
"CET" "" \
"CST6CDT" "" \
"Canada/Atlantic" "" \
"Canada/Central" "" \
"Canada/East-Saskatchewan" "" \
"Canada/Eastern" "" \
"Canada/Mountain" "" \
"Canada/Newfoundland" "" \
"Canada/Pacific" "" \
"Canada/Saskatchewan" "" \
"Canada/Yukon" "" \
"Chile/Continental" "" \
"Chile/EasterIsland" "" \
"Cuba" "" \
"EET" "" \
"EST" "" \
"EST5EDT" "" \
"Egypt" "" \
"Eire" "" \
"Etc/GMT" "" \
"Etc/GMT+0" "" \
"Etc/GMT+1" "" \
"Etc/GMT+10" "" \
"Etc/GMT+11" "" \
"Etc/GMT+12" "" \
"Etc/GMT+2" "" \
"Etc/GMT+3" "" \
"Etc/GMT+4" "" \
"Etc/GMT+5" "" \
"Etc/GMT+6" "" \
"Etc/GMT+7" "" \
"Etc/GMT+8" "" \
"Etc/GMT+9" "" \
"Etc/GMT-0" "" \
"Etc/GMT-1" "" \
"Etc/GMT-10" "" \
"Etc/GMT-11" "" \
"Etc/GMT-12" "" \
"Etc/GMT-13" "" \
"Etc/GMT-2" "" \
"Etc/GMT-3" "" \
"Etc/GMT-4" "" \
"Etc/GMT-5" "" \
"Etc/GMT-6" "" \
"Etc/GMT-7" "" \
"Etc/GMT-8" "" \
"Etc/GMT-9" "" \
"Etc/GMT0" "" \
"Etc/Greenwich" "" \
"Etc/UCT" "" \
"Etc/UTC" "" \
"Etc/Universal" "" \
"Etc/Zulu" "" \
"Europe/Amsterdam" "" \
"Europe/Andorra" "" \
"Europe/Athens" "" \
"Europe/Belfast" "" \
"Europe/Belgrade" "" \
"Europe/Berlin" "" \
"Europe/Bratislava" "" \
"Europe/Brussels" "" \
"Europe/Bucharest" "" \
"Europe/Budapest" "" \
"Europe/Chisinau" "" \
"Europe/Copenhagen" "" \
"Europe/Dublin" "" \
"Europe/Gibraltar" "" \
"Europe/Helsinki" "" \
"Europe/Istanbul" "" \
"Europe/Kiev" "" \
"Europe/Kuybyshev" "" \
"Europe/Lisbon" "" \
"Europe/Ljubljana" "" \
"Europe/London" "" \
"Europe/Luxembourg" "" \
"Europe/Madrid" "" \
"Europe/Malta" "" \
"Europe/Minsk" "" \
"Europe/Monaco" "" \
"Europe/Moscow" "" \
"Europe/Oslo" "" \
"Europe/Paris" "" \
"Europe/Prague" "" \
"Europe/Riga" "" \
"Europe/Rome" "" \
"Europe/San_Marino" "" \
"Europe/Sarajevo" "" \
"Europe/Simferopol" "" \
"Europe/Skopje" "" \
"Europe/Sofia" "" \
"Europe/Stockholm" "" \
"Europe/Tallinn" "" \
"Europe/Tirane" "" \
"Europe/Vaduz" "" \
"Europe/Vatican" "" \
"Europe/Vienna" "" \
"Europe/Vilnius" "" \
"Europe/Warsaw" "" \
"Europe/Zagreb" "" \
"Europe/Zurich" "" \
"Factory" "" \
"GB" "" \
"GMT" "" \
"GMT+0" "" \
"GMT-0" "" \
"GMT0" "" \
"Greenwich" "" \
"HST" "" \
"Hongkong" "" \
"Iceland" "" \
"Indian/Antananarivo" "" \
"Indian/Chagos" "" \
"Indian/Christmas" "" \
"Indian/Cocos" "" \
"Indian/Comoro" "" \
"Indian/Mahe" "" \
"Indian/Maldives" "" \
"Indian/Mauritius" "" \
"Indian/Mayotte" "" \
"Indian/Reunion" "" \
"Iran" "" \
"Israel" "" \
"Jamaica" "" \
"Kwajalein" "" \
"Libya" "" \
"MET" "" \
"MST" "" \
"MST7MDT" "" \
"Mexico/BajaNorte" "" \
"Mexico/BajaSur" "" \
"Mexico/General" "" \
"Mideast/Riyadh87" "" \
"Mideast/Riyadh88" "" \
"NZ" "" \
"NZ-CHAT" "" \
"Navajo" "" \
"PRC" "" \
"PST8PDT" "" \
"Pacific/Apia" "" \
"Pacific/Auckland" "" \
"Pacific/Chatham" "" \
"Pacific/Easter" "" \
"Pacific/Efate" "" \
"Pacific/Enderbury" "" \
"Pacific/Fakaofo" "" \
"Pacific/Fiji" "" \
"Pacific/Funafuti" "" \
"Pacific/Galapagos" "" \
"Pacific/Gambier" "" \
"Pacific/Guadalcanal" "" \
"Pacific/Guam" "" \
"Pacific/Honolulu" "" \
"Pacific/Kiritimati" "" \
"Pacific/Kosrae" "" \
"Pacific/Kwajalein" "" \
"Pacific/Majuro" "" \
"Pacific/Marquesas" "" \
"Pacific/Midway" "" \
"Pacific/Nauru" "" \
"Pacific/Niue" "" \
"Pacific/Norfolk" "" \
"Pacific/Noumea" "" \
"Pacific/Pago_Pago" "" \
"Pacific/Palau" "" \
"Pacific/Pitcairn" "" \
"Pacific/Ponape" "" \
"Pacific/Port_Moresby" "" \
"Pacific/Rarotonga" "" \
"Pacific/Saipan" "" \
"Pacific/Samoa" "" \
"Pacific/Tahiti" "" \
"Pacific/Tarawa" "" \
"Pacific/Tongatapu" "" \
"Pacific/Truk" "" \
"Pacific/Wake" "" \
"Pacific/Wallis" "" \
"Pacific/Yap" "" \
"Poland" "" \
"Portugal" "" \
"ROC" "" \
"ROK" "" \
"Singapore" "" \
"SystemV/AST4" "" \
"SystemV/AST4ADT" "" \
"SystemV/CST6" "" \
"SystemV/CST6CDT" "" \
"SystemV/EST5" "" \
"SystemV/EST5EDT" "" \
"SystemV/HST10" "" \
"SystemV/MST7" "" \
"SystemV/MST7MDT" "" \
"SystemV/PST8" "" \
"SystemV/PST8PDT" "" \
"SystemV/YST9" "" \
"SystemV/YST9YDT" "" \
"Turkey" "" \
"UCT" "" \
"US/Alaska" "" \
"US/Aleutian" "" \
"US/Arizona" "" \
"US/Central" "" \
"US/East-Indiana" "" \
"US/Eastern" "" \
"US/Hawaii" "" \
"US/Indiana-Starke" "" \
"US/Michigan" "" \
"US/Mountain" "" \
"US/Pacific" "" \
"US/Pacific-New" "" \
"US/Samoa" "" \
"UTC" "" \
"Universal" "" \
"W-SU" "" \
"WET" "" \
"Zulu" "" \
	    2> /tmp/tz

 if [ $? = 1 -o $? = 255 ]; then
     dialog --msgbox "$mes3" 6 60
     rm -f /tmp/tz
  exit
 fi
 TIMEZONE="`cat /tmp/tz`"
 rm -f /tmp/tz
else
 TIMEZONE="Japan"
fi

if [ -r /usr/share/zoneinfo/$TIMEZONE -o \
     -r /var/adm/mount/usr/share/zoneinfo/$TIMEZONE -o \
     -L /usr/share/zoneinfo/$TIMEZONE -o \
     -L /var/adm/mount/usr/share/zoneinfo/$TIMEZONE ]; then
    (cd /usr/share/zoneinfo ;  ln -sf $TIMEZONE localtime )
fi
( cd /etc ; rm -rf localtime ) 
( cd /etc ; ln -sf ../usr/share/zoneinfo/localtime localtime ) 
