]> git.pld-linux.org Git - packages/tzdata.git/blame - timezone.init
- more verbose and accurate messages
[packages/tzdata.git] / timezone.init
CommitLineData
462b45ea
ER
1#!/bin/sh
2#
3# timezone Set time zone information.
315b0b3a 4# chkconfig: 2345 10 90
462b45ea
ER
5# description: This script is setting time zone information for your machine.
6# Author: Pawel Wilk <siefca@pld-linux.org>
7#
8# $Id$
9
b1e44da8
ER
10[ -f /etc/sysconfig/timezone ] || exit 0
11
462b45ea
ER
12# Source function library.
13. /etc/rc.d/init.d/functions
14
462b45ea
ER
15. /etc/sysconfig/timezone
16
17ZONE_FILE="$ZONE_INFO_DIR"
18
19if [ -n "$ZONE_INFO_SCHEME" -a "$ZONE_INFO_SCHEME" != "posix" ]; then
20 ZONE_FILE="$ZONE_FILE/$ZONE_INFO_SCHEME"
21fi
22
9074097d 23ZONE_FILE="$ZONE_FILE/$TIMEZONE"
462b45ea 24
b1e44da8 25[ -L /etc/localtime ] && [ "$(resolvesymlink /etc/localtime)" = "$ZONE_FILE" ] && exit 0
462b45ea
ER
26
27start() {
96bffd52 28 if [ -f /var/lock/subsys/timezone ]; then
8c564fe6 29 msg_already_running timezone
96bffd52
ER
30 return
31 fi
fe8f4f97 32
96bffd52
ER
33 if [ -f "$ZONE_FILE" ]; then
34 rm -f /etc/localtime
9074097d 35
96bffd52 36 MESSAGE=$(nls 'Setting time zone information (%s)' "$TIMEZONE")
462b45ea 37
8c564fe6 38 run_cmd "$MESSAGE" cp -af "$ZONE_FILE" /etc/localtime
96bffd52
ER
39 RETVAL=$?
40 restorecon /etc/localtime >/dev/null 2>&1
8c564fe6
TP
41 else
42 show "Missing %s file" "$ZONE_FILE"
43 fail
462b45ea 44 fi
96bffd52
ER
45
46 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/timezone
462b45ea
ER
47}
48
49stop() {
038f1b94 50 rm -f /var/lock/subsys/timezone >/dev/null 2>&1
462b45ea
ER
51}
52
a9d82c32
ER
53disable() {
54 run_cmd "Unsetting time zone information" rm -f /etc/localtime
55}
56
462b45ea
ER
57RETVAL=0
58# See how we were called.
59case "$1" in
60 start)
61 start
62 ;;
63 stop)
8c564fe6 64 stop
462b45ea 65 ;;
c5e2e190 66 restart|try-restart|reload|force-reload)
462b45ea
ER
67 stop
68 start
69 ;;
a9d82c32
ER
70 disable)
71 disable
72 ;;
64534ab1 73 status)
8c564fe6
TP
74 if [ -x /usr/bin/diff ]; then
75 diff -q "$ZONE_FILE" /etc/localtime >/dev/null 2>&1 && \
76 nls 'Time zone is configured to %s' "$TIMEZONE" || \
77 nls 'Current time zone differs from %s!' "$TIMEZONE"
78 else nls 'Time zone should be set to %s' "$TIMEZONE"
79 fi
64534ab1 80 ;;
462b45ea 81 *)
c5e2e190 82 msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|disable|status}"
462b45ea
ER
83 exit 3
84esac
85
462b45ea 86exit $RETVAL
This page took 0.151973 seconds and 4 git commands to generate.