annotate hooks/15-timezone @ 5535:a0d828e25482 draft

Add --noconfigure option With this set dhcpcd will not configure anything on the host. The expectation is that a 3rd party script will instead.
author Roy Marples <roy@marples.name>
date Wed, 04 Nov 2020 14:18:48 +0000
parents e323d30f279e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3936
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
1 # Configure timezone
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
2
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
3 : ${localtime:=/etc/localtime}
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
4
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
5 set_zoneinfo()
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
6 {
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
7 [ -z "$new_tzdb_timezone" ] && return 0
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
8
4215
e323d30f279e dhcpcd-run-hooks: POSIX shell does not require the local builtin
Roy Marples <roy@marples.name>
parents: 3936
diff changeset
9 zoneinfo_dir=
3936
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
10 for d in \
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
11 /usr/share/zoneinfo \
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
12 /usr/lib/zoneinfo \
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
13 /var/share/zoneinfo \
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
14 /var/zoneinfo \
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
15 ; do
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
16 if [ -d "$d" ]; then
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
17 zoneinfo_dir="$d"
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
18 break
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
19 fi
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
20 done
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
21
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
22 if [ -z "$zoneinfo_dir" ]; then
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
23 syslog warning "timezone directory not found"
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
24 return 1
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
25 fi
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
26
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
27 zone_file="$zoneinfo_dir/$new_tzdb_timezone"
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
28 if [ ! -e "$zone_file" ]; then
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
29 syslog warning "no timezone definition for $new_tzdb_timezone"
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
30 return 1
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
31 fi
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
32
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
33 if copy_file "$zone_file" "$localtime"; then
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
34 syslog info "timezone changed to $new_tzdb_timezone"
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
35 fi
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
36 }
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
37
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
38 # For ease of use, map DHCP6 names onto our DHCP4 names
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
39 case "$reason" in
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
40 BOUND6|RENEW6|REBIND6|REBOOT6|INFORM6)
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
41 new_tzdb_timezone="$new_dhcp6_tzdb_timezone"
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
42 ;;
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
43 esac
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
44
5535
a0d828e25482 Add --noconfigure option
Roy Marples <roy@marples.name>
parents: 4215
diff changeset
45 if $if_configured && $if_up; then
3936
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
46 set_zoneinfo
98da4513d0af Move dhcpcd-hooks dir to hooks
Roy Marples <roy@marples.name>
parents:
diff changeset
47 fi