]> git.pld-linux.org Git - packages/tzdata.git/blobdiff - timezone.init
do not own tzdata dir by two packages; refs 2141fdb
[packages/tzdata.git] / timezone.init
old mode 100644 (file)
new mode 100755 (executable)
index 17dae7b..716a1fd
@@ -4,7 +4,6 @@
 # chkconfig:   2345 10 90
 # description: This script is setting time zone information for your machine.
 #
-# $Id$
 
 [ -f /etc/sysconfig/timezone ] || exit 0
 
@@ -34,12 +33,17 @@ start() {
 
                MESSAGE=$(nls 'Setting time zone information (%s)' "$TIMEZONE")
 
-               run_cmd "$MESSAGE" cp -af "$ZONE_FILE" /etc/localtime
+               if [ -n "$(awk '$2 == "/usr" { print $2 }' /proc/mounts 2> /dev/null)" ]; then
+                       run_cmd "$MESSAGE" cp -af "$ZONE_FILE" /etc/localtime
+               else
+                       run_cmd "$MESSAGE" ln -sf "$ZONE_FILE" /etc/localtime
+               fi
                RETVAL=$?
                restorecon /etc/localtime >/dev/null 2>&1
        else
                show "Missing %s file" "$ZONE_FILE"
                fail
+               RETVAL=2
        fi
 
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/timezone
@@ -56,6 +60,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,9 +84,13 @@ case "$1" in
        disable
        ;;
   status)
-       nls 'Time zone is configured to %s' "$TIMEZONE"
-       if ! identical "$ZONE_FILE" /etc/localtime; then
-               nls 'Current time zone differs from %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"
+               exit 1
        fi
        ;;
   *)
This page took 0.070815 seconds and 4 git commands to generate.