#!/bin/bash
# tinyerp-server	This shell script takes care of starting and stopping
#			TinyERP server
#
# chkconfig: - 95 05
# description: TinyERP Server
#
# pidfile: /var/run/tinyerp-server.pid
# config: /etc/tinyerp-server.conf

### BEGIN INIT INFO
# Provides: tinyerp-server
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Default-Start:
# Default-Stop: 0 1 2 3 4 5 6
# Short-Description: start and stop tinyerp-server
# Description: TinyERP Server
### END INIT INFO


PATH=/usr/bin:/sbin:/bin:/usr/sbin
export PATH

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

PIDFILE=/var/spool/tinyerp/tinyerp-server.pid
LOCKFILE=/var/lock/subsys/tinyerp-server
LOGFILE=/var/log/tinyerp/tinyerp-server.log

OPTS="--pidfile=$PIDFILE --logfile=$LOGFILE"

prog="tinyerp-server"

# check if the tinyerp-server conf file is present, then use it
if [ -f /etc/tinyerp-server.conf ]; then
    OPTS="$OPTS -c /etc/tinyerp-server.conf"
fi

# check the existence of the tinyerp-server script
[ -z "/usr/bin/tinyerp-server" ] && exit 0

RETVAL=0

start() {
    echo -n $"Starting $prog: "
    daemon --user tinyerp --check tinyerp-server "/usr/bin/setsid /usr/bin/tinyerp-server $OPTS &"

    RETVAL=$?
    [ $RETVAL -eq 0 ] && touch $LOCKFILE
    echo
    return $RETVAL
}

stop() {
    echo -n  $"Stopping $prog: "
    kill -TERM `cat $PIDFILE` > /dev/null 2>&1
    RETVAL=$?
    if [ $RETVAL -eq 0 ] ; then
    	rm -f $LOCKFILE

	echo_success
	echo 
    else
    	echo_failure
	echo
    fi
    return $RETVAL
}    

restart() {
    stop
    start
}    

condrestart() {
    [ -e $LOCKFILE ] && restart || :
}

rhstatus() { 
    if [ -f $PIDFILE ] ; then
        checkpid `cat $PIDFILE`
	RETVAL=$?
        if [ $RETVAL -eq 0 ] ; then
	    echo  $"$prog is running..."
	else
	    echo  $"$prog is stopped"
	fi
    else
    	echo  $"$prog is stopped"
    fi
    return $RETVAL
}

case "$1" in
start)
    start
    ;;

stop)
    stop
    ;;

restart)
    restart
    ;;

condrestart)
    condrestart
    ;;

status)
    rhstatus
    ;;

probe)
    exit 0
    ;;

*)
    echo $"Usage: $0 {start|stop|status|restart|condrestart}"
    exit 1
esac

exit $?
