18fd57d42Sroy# Configure timezone 28fd57d42Sroy 38fd57d42Sroy: ${localtime:=/etc/localtime} 48fd57d42Sroy 58fd57d42Sroyset_zoneinfo() 68fd57d42Sroy{ 78fd57d42Sroy [ -z "$new_tzdb_timezone" ] && return 0 88fd57d42Sroy 910383d8fSroy zoneinfo_dir= 108fd57d42Sroy for d in \ 118fd57d42Sroy /usr/share/zoneinfo \ 128fd57d42Sroy /usr/lib/zoneinfo \ 138fd57d42Sroy /var/share/zoneinfo \ 148fd57d42Sroy /var/zoneinfo \ 158fd57d42Sroy ; do 168fd57d42Sroy if [ -d "$d" ]; then 178fd57d42Sroy zoneinfo_dir="$d" 188fd57d42Sroy break 198fd57d42Sroy fi 208fd57d42Sroy done 218fd57d42Sroy 228fd57d42Sroy if [ -z "$zoneinfo_dir" ]; then 238fd57d42Sroy syslog warning "timezone directory not found" 248fd57d42Sroy return 1 258fd57d42Sroy fi 268fd57d42Sroy 278fd57d42Sroy zone_file="$zoneinfo_dir/$new_tzdb_timezone" 288fd57d42Sroy if [ ! -e "$zone_file" ]; then 298fd57d42Sroy syslog warning "no timezone definition for $new_tzdb_timezone" 308fd57d42Sroy return 1 318fd57d42Sroy fi 328fd57d42Sroy 338fd57d42Sroy if copy_file "$zone_file" "$localtime"; then 348fd57d42Sroy syslog info "timezone changed to $new_tzdb_timezone" 358fd57d42Sroy fi 368fd57d42Sroy} 378fd57d42Sroy 388fd57d42Sroy# For ease of use, map DHCP6 names onto our DHCP4 names 398fd57d42Sroycase "$reason" in 408fd57d42SroyBOUND6|RENEW6|REBIND6|REBOOT6|INFORM6) 418fd57d42Sroy new_tzdb_timezone="$new_dhcp6_tzdb_timezone" 428fd57d42Sroy ;; 438fd57d42Sroyesac 448fd57d42Sroy 45*d55488a4Sroyif $if_configured && $if_up; then 468fd57d42Sroy set_zoneinfo 478fd57d42Sroyfi 48