#!/bin/sh
#
# timezone Set time zone information.
-# chkconfig: 2345 10 70
+# chkconfig: 2345 10 90
# description: This script is setting time zone information for your machine.
# Author: Pawel Wilk <siefca@pld-linux.org>
#
# $Id$
+[ -f /etc/sysconfig/timezone ] || exit 0
+
# Source function library.
. /etc/rc.d/init.d/functions
-[ ! -f /etc/sysconfig/timezone ] && exit 0
. /etc/sysconfig/timezone
ZONE_FILE="$ZONE_INFO_DIR"
ZONE_FILE="$ZONE_FILE/$ZONE_INFO_SCHEME"
fi
-if [ -n "$ZONE_INFO_AREA" ]; then
- ZONE_FILE="$ZONE_FILE/$ZONE_INFO_AREA"
-fi
-
-ZONE_FILE="$ZONE_FILE/$TIME_ZONE"
+ZONE_FILE="$ZONE_FILE/$TIMEZONE"
-[ -L /etc/localtime -a "`resolvesymlink /etc/localtime`" = "$ZONE_FILE" ] && exit 0
+[ -L /etc/localtime ] && [ "$(resolvesymlink /etc/localtime)" = "$ZONE_FILE" ] && exit 0
start() {
if [ ! -f /var/lock/subsys/timezone ]; then
- rm -f /etc/localtime
if [ -f "$ZONE_FILE" ]; then
- if [ -n "$ZONE_INFO_AREA" ]; then
- MESSAGE="`nls 'Setting time zone information (%s, %s)' "$ZONE_INFO_AREA" "$TIME_ZONE"`"
- else
- MESSAGE="`nls 'Setting time zone information (%s)' "$TIME_ZONE"`"
- fi
+ rm -f /etc/localtime
+
+ MESSAGE="`nls 'Setting time zone information (%s)' "$TIMEZONE"`"
+
run_cmd "$MESSAGE" cp -af $ZONE_FILE /etc/localtime
RETVAL=$?
+ restorecon /etc/localtime >/dev/null 2>&1
fi
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/timezone
stop() {
if [ -f /var/lock/subsys/timezone ]; then
- run_cmd "Unsetting time zone information" rm -f /etc/localtime
rm -f /var/lock/subsys/timezone
fi
}
+disable() {
+ run_cmd "Unsetting time zone information" rm -f /etc/localtime
+}
+
RETVAL=0
# See how we were called.
case "$1" in
stop)
stop
;;
- restart|reload)
+ restart|try-restart|reload|force-reload)
stop
start
;;
+ disable)
+ disable
+ ;;
+ status)
+ nls 'Time zone configured to (%s)' "$TIMEZONE"
+ ;;
*)
- msg_usage "$0 {start|stop|restart|reload}"
+ msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|disable|status}"
exit 3
esac