]> git.pld-linux.org Git - packages/tzdata.git/blobdiff - timezone.init
status: return failure if everything not ok
[packages/tzdata.git] / timezone.init
old mode 100644 (file)
new mode 100755 (executable)
index 19c9001..5b52348
@@ -4,13 +4,14 @@
 # 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"
@@ -40,6 +41,7 @@ start() {
        else
                show "Missing %s file" "$ZONE_FILE"
                fail
+               RETVAL=2
        fi
 
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/timezone
@@ -56,6 +58,8 @@ disable() {
 # 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" ]
@@ -78,11 +82,13 @@ case "$1" in
        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
        ;;
   *)
This page took 0.029653 seconds and 4 git commands to generate.