#!/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 6491 2005-10-26 16:33:29Z 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
