#! /bin/sh
#
# Copyright (c) 2002 SuSE Linux AG Nuernberg, Germany.
#
# /etc/init.d/evlog
#
### BEGIN INIT INFO
# Provides: evlog
# Required-Start: network
# Required-Stop:  network
# Default-Start:  2 3 5
# Default-Stop:
# Description:    Start the event logging daemons
### END INIT INFO

# . /etc/sysconfig/evlog

BINDIR=/sbin
DAEMONS="evlnotifyd evlactiond evlogd evlogrmtd evSubagent"
RMTCONF=/etc/evlog.d/evlogrmtd.conf

. /etc/rc.status
rc_reset

function reverse {
	res=
	for item; do
		res="$item $res"
	done
	echo $res
}

case "$1" in
    start)
	# in case of unclean shutdown...
	for daemon in $DAEMONS; do
	    rm -f /var/run/$daemon.pid
	done

	echo -n "Starting evlog services"
	for daemon in $DAEMONS; do
		# Don't start log collector unless evlogrmtd.conf is present
		if [ "$daemon" = "evlogrmtd" -a ! -f $RMTCONF ]; then
			continue
		fi
		# Skip daemon only unless present & executable
		if [ ! -x ${BINDIR}/$daemon ]; then
			continue
		fi
		startproc ${BINDIR}/$daemon
		rc_status
		test $? -eq 0 || break
		if [ $daemon = evlnotifyd ]; then
			sleep 1
		fi
	done
	rc_status -v
	;;
    stop)
	echo -n "Shutting down evlog services"
	for daemon in `reverse $DAEMONS`; do
		if [ ! -x ${BINDIR}/$daemon ]; then
			continue
		fi
		killproc -TERM ${BINDIR}/$daemon
		rc_status
	done
	rc_status -v
	;;
    try-restart)
	$0 stop && $0 start
	rc_status
	;;
    restart)
	$0 stop
	$0 start
	rc_status
	;;
    reload|force-reload)
	echo -n "Reload evlog service"
	$0 stop
	$0 start
	rc_status
	;;
    status)
	echo -n "Checking for service evlog:"
	for daemon in $DAEMONS; do
		if [ "$daemon" = "evlogrmtd" -a ! -f $RMTCONF ]; then
			continue
		fi
		if [ ! -x ${BINDIR}/$daemon ]; then
		        continue
		fi
		checkproc ${BINDIR}/$daemon
		rc_status
	done
	rc_status -v
	;;
    probe)
	test /etc/evlog.d/evlog.conf -nt /var/log/evlogd.pid && echo reload
	;;
    *)
	echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
		exit 1
	;;
esac
rc_exit
