| # Configure timezone |
| |
| : ${localtime:=/etc/localtime} |
| |
| set_zoneinfo() |
| { |
| local zoneinfo_dir= zone_file= |
| |
| [ -z "$new_tzdb_timezone" ] && return 0 |
| |
| for d in \ |
| /usr/share/zoneinfo \ |
| /usr/lib/zoneinfo \ |
| /var/share/zoneinfo \ |
| /var/zoneinfo \ |
| ; do |
| if [ -d "$d" ]; then |
| zoneinfo_dir="$d" |
| break |
| fi |
| done |
| |
| if [ -z "$zoneinfo_dir" ]; then |
| syslog warning "timezone directory not found" |
| return 1 |
| fi |
| |
| zone_file="$zoneinfo_dir/$new_tzdb_timezone" |
| if [ ! -e "$zone_file" ]; then |
| syslog warning "no timezone definition for $new_tzdb_timezone" |
| return 1 |
| fi |
| |
| if copy_file "$zone_file" "$localtime"; then |
| syslog info "timezone changed to $new_tzdb_timezone" |
| fi |
| } |
| |
| # For ease of use, map DHCP6 names onto our DHCP4 names |
| case "$reason" in |
| BOUND6|RENEW6|REBIND6|REBOOT6|INFORM6) |
| new_tzdb_timezone="$new_dhcp6_tzdb_timezone" |
| ;; |
| esac |
| |
| if $if_up; then |
| set_zoneinfo |
| fi |