#!/bin/sh
#
# syslog-ng      Starts syslog-ng.
#
#
# chkconfig: 2345 30 99
# description: Syslog is the facility by which many daemons use to log \
# messages to various system log files.  Syslog-ng is a more powerful \
# system logger than syslog.

### BEGIN INIT INFO
# Provides:          syslog
# Required-Start:    $remote_fs $time
# Required-Stop:     $remote_fs $time
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start syslog-ng daemon at boot time
# Description:       Syslog is the facility by which many daemons use
#  to log messages to various system log files. Syslog-ng is a more
#  powerful system logger than syslog.
### END INIT INFO

WITHOUT_RC_COMPAT=1

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

SourceIfNotEmpty /etc/sysconfig/syslog-ng

RETVAL=0
DAEMON=/sbin/syslog-ng
LOCKFILE=/var/lock/subsys/syslog-ng
PIDFILE=/var/run/syslog-ng.pid

[ -x /sbin/syslog-ng ] || exit 0

do_config_sanity_check()
{
	action "Checking syslog-ng configuration:" "$DAEMON" -s || exit
}

start()
{
	start_daemon --lockfile "$LOCKFILE" --pidfile "$PIDFILE" -- "$DAEMON" "$SYSLOG_NG_OPTIONS"
	RETVAL=$?
	return $RETVAL
}

stop()
{
	stop_daemon --lockfile "$LOCKFILE" --pidfile "$PIDFILE" -- "$DAEMON"
	RETVAL=$?
	return $RETVAL
}

restart()
{
	do_config_sanity_check
	stop
	start
}

reload()
{
    stop_daemon --pidfile "$PIDFILE" -HUP syslog-ng
    RETVAL=$?
    return $RETVAL
}


# See how we were called.
case "$1" in
	start)
		do_config_sanity_check
		start
		;;
	stop)
		stop
		;;
	status)
		status --pidfile "$PIDFILE" syslog-ng
		RETVAL=$?
		;;
	restart)
		do_config_sanity_check
		restart
		;;
	reload)
		do_config_sanity_check
		reload
		;;
	check)
		do_config_sanity_check
		;;
	condstart)
		if [ ! -e "$LOCKFILE" ]; then
			do_config_sanity_check
			start
		fi
		;;
	condstop)
		if [ -e "$LOCKFILE" ]; then
			stop
		fi
		;;
	condrestart)
		if [ -e "$LOCKFILE" ]; then
			do_config_sanity_check
			restart
		fi
		;;
	condreload)
		if [ -e "$LOCKFILE" ]; then
			do_config_sanity_check
			reload
		fi
		;;
	*)
		msg_usage "${0##*/} {start|stop|status|restart|reload|check|condstart|condstop|condrestart|condreload}"
		RETVAL=1
esac

exit $RETVAL
