# chkconfig: 2345 10 90
# description: This script is setting time zone information for your machine.
#
-# $Id$
[ -f /etc/sysconfig/timezone ] || exit 0
# Source function library.
. /etc/rc.d/init.d/functions
+upstart_controlled --except status disable
+
. /etc/sysconfig/timezone
ZONE_FILE="$ZONE_INFO_DIR"
else
show "Missing %s file" "$ZONE_FILE"
fail
+ RETVAL=2
fi
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/timezone
# return true if FILE1 and FILE2 are identical
identical() {
local crc1 crc2
+ test -f "$1" || return 1
+ test -f "$2" || return 1
crc1=$(cksum "$1" | awk '{print $1}')
crc2=$(cksum "$2" | awk '{print $1}')
[ "$crc1" = "$crc2" ]
disable
;;
status)
- nls 'Time zone is configured to %s' "$TIMEZONE"
+ nls 'Timezone is configured to %s' "$TIMEZONE"
if [ ! -f "$ZONE_FILE" ]; then
nls "Missing %s file" "$ZONE_FILE"
+ exit 1
elif ! identical "$ZONE_FILE" /etc/localtime; then
- nls 'Current time zone differs from %s!' "$TIMEZONE"
+ nls 'Current time zone differs from %s' "$TIMEZONE"
+ exit 1
fi
;;
*)