#!/bin/sh

DESC="uTorrent Server for Linux"
NAME=utserver
USER=utorrent
GROUP=users
PREFIX=/usr/local/utorrent
PATH=$PREFIX/bin:$PATH
LOGFILE=$PREFIX/log/utserver.log
PIDFILE=$PREFIX/pid/utserver.pid
CONFIGFILE=$PREFIX/conf/utserver.conf
SETTINGSPATH=$PREFIX/settings
CHDIR=/volume1/utorrent/download
DAEMON=$PREFIX/bin/utserver
DAEMON_ARGS="-settingspath $SETTINGSPATH -configfile $CONFIGFILE -logfile $LOGFILE -pidfile $PIDFILE -daemon"
SCRIPTNAME=/var/packages/uTorrent/scripts/start-stop-status
LANG=ru_RU.utf8
export LANG
LC_ALL=$LANG
export LC_ALL
do_status()
{
        start-stop-daemon --start --quiet --make-pidfile --pidfile $PIDFILE --chuid $USER:$GROUP --chdir $CHDIR --background --exec $DAEMON --test > /dev/null \
        || return 1
}
do_start()
{
        do_status; [ "$?" = 1 ] && return 1
        start-stop-daemon --start --quiet --make-pidfile --pidfile $PIDFILE --chuid $USER:$GROUP --chdir $CHDIR --background --exec $DAEMON -- $DAEMON_ARGS \
        || return 2
}
do_stop()
{
        do_status; [ "$?" = 1 ] || return 1
        start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
        RETVAL="$?"
        [ "$RETVAL" = 2 ] && return 2
        start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
        [ "$?" = 2 ] && return 2
        rm -f $PIDFILE
        return "$RETVAL"
}
case "$1" in
  start)
        do_start ; echo "Starting $DESC: $NAME" >&2
        ;;
  stop)
        do_stop ; echo "Stopping $DESC: $NAME" >&2
        ;;
  status)
        do_status ; if  [ "$?" == "1" ]; then echo "Status $DESC: $NAME running" ; else echo "Status $DESC: $NAME not running" ; fi
        ;;
  log)
        echo $LOGFILE
        ;;
  *)
        echo "Usage: $SCRIPTNAME {start|stop|status|log}" >&2
        exit 1
        ;;
esac
exit 0
