]> git.pld-linux.org Git - packages/tzdata.git/blob - timezone.init
eaccea0d96b8447e62bb6e3a31d8eccec334dc2e
[packages/tzdata.git] / timezone.init
1 #!/bin/sh
2 #
3 # timezone      Set time zone information.
4 # chkconfig:    2345 10 70
5 # description:  This script is setting time zone information for your machine.
6 # Author:       Pawel Wilk <siefca@pld-linux.org>
7 #
8 # $Id$
9
10 [ -f /etc/sysconfig/timezone ] || exit 0
11
12 # Source function library.
13 . /etc/rc.d/init.d/functions
14
15 . /etc/sysconfig/timezone
16
17 ZONE_FILE="$ZONE_INFO_DIR"
18
19 if [ -n "$ZONE_INFO_SCHEME" -a "$ZONE_INFO_SCHEME" != "posix" ]; then
20         ZONE_FILE="$ZONE_FILE/$ZONE_INFO_SCHEME"
21 fi
22
23 if [ -n "$ZONE_INFO_AREA" ]; then
24         ZONE_FILE="$ZONE_FILE/$ZONE_INFO_AREA"
25 fi
26
27 ZONE_FILE="$ZONE_FILE/$TIME_ZONE"
28
29 [ -L /etc/localtime ] && [ "$(resolvesymlink /etc/localtime)" = "$ZONE_FILE" ] && exit 0
30
31 start() {
32         if [ ! -f /var/lock/subsys/timezone ]; then
33                 if [ -f "$ZONE_FILE" ]; then
34                         rm -f /etc/localtime
35
36                         if [ -n "$ZONE_INFO_AREA" ]; then
37                                 MESSAGE="`nls 'Setting time zone information (%s, %s)' "$ZONE_INFO_AREA" "$TIME_ZONE"`"
38                         else
39                                 MESSAGE="`nls 'Setting time zone information (%s)' "$TIME_ZONE"`"
40                         fi
41                         run_cmd "$MESSAGE" cp -af $ZONE_FILE /etc/localtime
42                         RETVAL=$?
43                 fi
44
45                 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/timezone
46         fi
47 }
48
49 stop() {
50         if [ -f /var/lock/subsys/timezone ]; then
51                 run_cmd "Unsetting time zone information" rm -f /etc/localtime
52                 rm -f /var/lock/subsys/timezone
53         fi
54 }
55
56 RETVAL=0
57 # See how we were called.
58 case "$1" in
59   start)
60         start
61         ;;
62   stop)
63         stop
64         ;;
65   restart|reload)
66         stop
67         start
68         ;;
69   *)
70         msg_usage "$0 {start|stop|restart|reload}"
71         exit 3
72 esac
73
74 exit $RETVAL
This page took 0.139484 seconds and 2 git commands to generate.