#!@l_prefix@/lib/openpkg/bash @l_prefix@/etc/rc
##
##  rc.subversion -- Run-Commands
##

%config
    subversion_enable="$openpkg_rc_def"
    subversion_env="no"
    subversion_daemon="no"
    subversion_daemon_host="127.0.0.1"
    subversion_daemon_port="3690"
    subversion_daemon_root="@l_prefix@/var/subversion/default"

%common
    subversion_daemon_pidfile="@l_prefix@/var/subversion/svnserve.pid"
    subversion_signal () {
        [ -f $subversion_daemon_pidfile ] \
        && kill -$1 `cat $subversion_daemon_pidfile`
    }

%status -u @l_susr@ -o
    subversion_usable="unknown"
    subversion_active="no"
    rcService subversion enable yes && \
        subversion_signal 0 && subversion_active="yes"
    echo "subversion_enable=\"$subversion_enable\""
    echo "subversion_usable=\"$subversion_usable\""
    echo "subversion_active=\"$subversion_active\""

%start -u @l_susr@
    rcService subversion enable yes || exit 0
    rcService subversion active yes && exit 0
    if rcVarIsYes subversion_daemon; then
        if [ ".$subversion_daemon_root" != . ]; then
            ( nohup @l_prefix@/bin/svnserve --daemon --foreground \
                  --listen-host $subversion_daemon_host \
                  --listen-port $subversion_daemon_port \
                  --root $subversion_daemon_root \
                  </dev/null >/dev/null 2>&1 &
              echo $! >$subversion_daemon_pidfile
            ) >/dev/null 2>&1
        fi
    fi

%stop -u @l_susr@
    rcService subversion enable yes || exit 0
    rcService subversion active no  && exit 0
    subversion_signal TERM
    sleep 2
    rm -f $subversion_daemon_pidfile 2>/dev/null || true

%restart -u @l_susr@
    rcService subversion enable yes || exit 0
    rcService subversion active no  && exit 0
    rc subversion stop start

%env
    rcService subversion enable yes || exit 0
    if rcVarIsYes subversion_env; then
        if [ ".$BASH" != . ]; then
            shopt -s extglob progcomp
            . @l_prefix@/etc/subversion/subversion.bashrc
        fi
    fi

