#!/bin/sh
#
# timezone	Set time zone information.
# chkconfig:	2345 10 70
# description:	This script is setting time zone information for your machine.
# Author:	Pawel Wilk <siefca@pld-linux.org>
#
# $Id: timezone 5934 2005-05-09 11:51:12Z baggins $

# NLS
NLS_DOMAIN="rc-scripts"

# Source function library.
. /etc/rc.d/init.d/functions

[ ! -f /etc/sysconfig/timezone ] && exit 0
. /etc/sysconfig/timezone

ZONE_FILE="$ZONE_INFO_DIR"

if [ -n "$ZONE_INFO_SCHEME" -a "$ZONE_INFO_SCHEME" != "posix" ]; then
    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"

[ -L /etc/localtime -a "`resolvesymlink /etc/localtime`" = "$ZONE_FILE" ] && exit 0

# See how we were called.
case "$1" in
  start)
        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
		run_cmd "$MESSAGE" cp -af $ZONE_FILE /etc/localtime
		RETVAL=$?
	fi
        ;;
  stop)
	    run_cmd "Unsetting time zone information" rm -f /etc/localtime
	    RETVAL=$?
        ;;
  restart)
          $0 stop
	  $0 start
        ;;
  reload)
          $0 restart
        ;;
  *)
        echo "Usage: $0 {start|stop|restart|reload}"
        exit 1
esac

unset ZONE_FILE ZONE_INFO_DIR ZONE_INFO_SCHEME ZONE_INFO_AREA TIME_ZONE MESSAGE

exit $RETVAL

# This must be last line !
# vi:syntax=sh:tw=78:ts=8:sw=4
