Subversion Repositories configs

Rev

Blame | Last modification | View Log | RSS feed

#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
#
#
# qpidd        Startup script for the Qpid messaging daemon.
#

### BEGIN INIT INFO
# Provides: qpidd
# Required-Start: $local_fs
# Required-Stop: $local_fs
# Default-Start:
# Default-Stop: 0 1 2 3 4 5 6
# Short-Description: start or stop qpidd
# Description: Qpidd is an AMQP broker. It receives, stores, routes and forwards messages using the AMQP protcol.
### END INIT INFO

# chkconfig: - 85 15
# description: Qpidd is an AMQP broker. It receives, stores, routes and forwards messages using the AMQP protcol.
# processname: qpidd

prog=qpidd
lockfile=/var/lock/subsys/$prog
pidfile=/var/run/qpidd.pid

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

if [ -f /etc/sysconfig/$prog ] ; then
        . /etc/sysconfig/$prog
fi

RETVAL=0

#ensure binary is present and executable
if [[ !(-x /usr/sbin/$prog) ]] ; then
    echo "/usr/sbin/$prog not found or not executable" 
    exit 5
fi

#ensure user has sufficient permissions
runuser -s /bin/sh qpidd -c "echo x > /dev/null" 2> /dev/null || RETVAL=4
if [ $RETVAL = 4 ]; then
    echo "user had insufficient privilege";
    exit $RETVAL
fi

start() {
        [[ $QPID_DATA_DIR ]] || QPID_DATA_DIR=/var/lib/qpidd
        echo -n $"Starting Qpid AMQP daemon: "
        daemon --pidfile $pidfile --check $prog --user qpidd /usr/sbin/$prog --data-dir $QPID_DATA_DIR --daemon $QPIDD_OPTIONS
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && touch $lockfile
        if [ $RETVAL = 0 ]; then
            touch $pidfile
            chown qpidd.qpidd $pidfile
            [ -x /sbin/restorecon ] && /sbin/restorecon $pidfile
            runuser - -s /bin/sh qpidd -c "/usr/sbin/$prog --check > $pidfile"
        fi
        return $RETVAL
}

stop() {
        echo -n $"Stopping Qpid AMQP daemon: "
        killproc -p ${pidfile} $prog
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
}

reload() {
        echo 1>&2 $"$0: reload not supported"
        exit 3
}

restart() {
        stop
        start
}

# See how we were called.
case "$1" in
  start|stop|restart|reload)
        $1
        ;;
  status)
        status $prog
        RETVAL=$?
        ;;
  force-reload)
        restart
        ;;
  try-restart|condrestart)
        [ -e $lockfile ] && restart || :
        ;;
  *)
        echo 1>&2 $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|force-reload}"
        exit 2
esac

exit $RETVAL