#!/bin/bash
# fedmsg-relay - This init script runs the FedMsg Relay
#
# chkconfig: - 25 85
# description:  Enabled the fedmsg relay daemon
# processname:  fedmsg-relay
# config: /etc/fedmsg.d/*
# pidfile: /var/run/fedmsg/fedmsg-relay.pid

### BEGIN INIT INFO
# Provides: fedmsg-relay
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Default-Start:
# Default-Stop: 0 1 6
# Short-Description: start or stop the fedmsg-relay
# Description: Starts a fedmsg-hub configured to relay special messages.
### END INIT INFO

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

PROG=fedmsg-relay
USER=fedmsg
OPTIONS=--daemon
PIDFILE=/var/run/fedmsg/$PROG.pid
LOCKFILE=${PIDFILE}.lock

start() {
    echo -n "Starting FedMsg Relay: "
    if [ -f $LOCKFILE ]; then
        echo FedMsg Relay already running
        exit 2;
    fi

    if [ ! -d /var/run/fedmsg ]; then
        mkdir /var/run/fedmsg
        chown $USER:$USER /var/run/fedmsg
    fi

    daemon --user $USER $PROG $OPTIONS
    RETVAL=$?
    echo

    if [ $RETVAL -eq 0 ]; then
        success
    else
        failure
    fi
}

stop() {
        echo -n $"Stopping FedMsg Relay: "
        killproc -p ${PIDFILE} $PROG
        echo
        rm -f ${LOCKFILE}
        RETVAL=$?
        echo
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    status)
        if [ -f $PIDFILE ]; then
            echo $"FedMsg Relay is running."
            RETVAL=0
        else
            echo $"FedMsg Relay is not running."
            RETVAL=3
        fi
        ;;
    restart)
        stop
        start
        ;;
    *)
        echo "Usage:  {start|stop|status|reload|restart}"
        exit 1
        ;;
esac
exit $?
