• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Configure timezone
2
3: ${localtime:=/etc/localtime}
4
5set_zoneinfo()
6{
7	local zoneinfo_dir= zone_file=
8
9	[ -z "$new_tzdb_timezone" ] && return 0
10
11	for d in \
12		/usr/share/zoneinfo	\
13		/usr/lib/zoneinfo	\
14		/var/share/zoneinfo	\
15		/var/zoneinfo		\
16	; do
17		if [ -d "$d" ]; then
18			zoneinfo_dir="$d"
19			break
20		fi
21	done
22
23	if [ -z "$zoneinfo_dir" ]; then
24		syslog warning "timezone directory not found"
25		return 1
26	fi
27
28	zone_file="$zoneinfo_dir/$new_tzdb_timezone"
29	if [ ! -e "$zone_file" ]; then
30		syslog warning "no timezone definition for $new_tzdb_timezone"
31		return 1
32	fi
33
34	if copy_file "$zone_file" "$localtime"; then
35		syslog info "timezone changed to $new_tzdb_timezone"
36	fi
37}
38
39# For ease of use, map DHCP6 names onto our DHCP4 names
40case "$reason" in
41BOUND6|RENEW6|REBIND6|REBOOT6|INFORM6)
42	new_tzdb_timezone="$new_dhcp6_tzdb_timezone"
43	;;
44esac
45
46if $if_up; then
47 	set_zoneinfo
48fi
49