summaryrefslogtreecommitdiff
path: root/packaging/common
diff options
context:
space:
mode:
authorDavid Wragg <dpw@lshift.net>2009-08-13 17:34:46 +0100
committerDavid Wragg <dpw@lshift.net>2009-08-13 17:34:46 +0100
commitc7397e4419bce2a3c2bc58e709d703336609a42e (patch)
treea4199ec0f22f694227b112dde5243bd460f61141 /packaging/common
parent9a046e9f16434b217d23fe97842377e88cb0d567 (diff)
downloadrabbitmq-server-git-c7397e4419bce2a3c2bc58e709d703336609a42e.tar.gz
Use a common init script for RPMs and debs
Put the common init file into packaging/common, and modify the RPM and deb builds to make the one substitution required to this file at build time.
Diffstat (limited to 'packaging/common')
-rw-r--r--packaging/common/rabbitmq-server.init131
1 files changed, 131 insertions, 0 deletions
diff --git a/packaging/common/rabbitmq-server.init b/packaging/common/rabbitmq-server.init
new file mode 100644
index 0000000000..7d89544f2a
--- /dev/null
+++ b/packaging/common/rabbitmq-server.init
@@ -0,0 +1,131 @@
+#!/bin/sh
+#
+# rabbitmq-server RabbitMQ broker
+#
+# chkconfig: - 80 05
+# description: Enable AMQP service provided by RabbitMQ
+#
+
+### BEGIN INIT INFO
+# Provides: rabbitmq-server
+# Required-Start: $remote_fs $network
+# Required-Stop: $remote_fs $network
+# Default-Start:
+# Default-Stop:
+# Description: RabbitMQ broker
+# Short-Description: Enable AMQP service provided by RabbitMQ broker
+### END INIT INFO
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DAEMON=/usr/sbin/rabbitmq-multi
+NAME=rabbitmq-server
+DESC=rabbitmq-server
+USER=rabbitmq
+NODE_COUNT=1
+ROTATE_SUFFIX=
+
+DEFAULTS_FILE= # This is filled in when building packages
+
+test -x $DAEMON || exit 0
+
+# Include rabbitmq defaults if available
+if [ -f "$DEFAULTS_FILE" ] ; then
+ . $DEFAULTS_FILE
+fi
+
+RETVAL=0
+set -e
+
+start_rabbitmq () {
+ set +e
+ $DAEMON start_all ${NODE_COUNT} > /var/log/rabbitmq/startup_log 2> /var/log/rabbitmq/startup_err
+ case "$?" in
+ 0)
+ echo SUCCESS
+ RETVAL=0
+ ;;
+ 1)
+ echo TIMEOUT - check /var/log/rabbitmq/startup_\{log,err\}
+ RETVAL=1
+ ;;
+ *)
+ echo FAILED - check /var/log/rabbitmq/startup_log, _err
+ RETVAL=1
+ ;;
+ esac
+ set -e
+}
+
+stop_rabbitmq () {
+ set +e
+ status_rabbitmq quiet
+ if [ $RETVAL = 0 ] ; then
+ $DAEMON stop_all > /var/log/rabbitmq/shutdown_log 2> /var/log/rabbitmq/shutdown_err
+ RETVAL=$?
+ if [ $RETVAL != 0 ] ; then
+ echo FAILED - check /var/log/rabbitmq/shutdown_log, _err
+ fi
+ else
+ echo No nodes running
+ RETVAL=0
+ fi
+ set -e
+}
+
+status_rabbitmq() {
+ set +e
+ if [ "$1" != "quiet" ] ; then
+ $DAEMON status 2>&1
+ else
+ $DAEMON status > /dev/null 2>&1
+ fi
+ if [ $? != 0 ] ; then
+ RETVAL=1
+ fi
+ set -e
+}
+
+rotate_logs_rabbitmq() {
+ set +e
+ $DAEMON rotate_logs ${ROTATE_SUFFIX}
+ if [ $? != 0 ] ; then
+ RETVAL=1
+ fi
+ set -e
+}
+
+restart_rabbitmq() {
+ stop_rabbitmq
+ start_rabbitmq
+}
+
+case "$1" in
+ start)
+ echo -n "Starting $DESC: "
+ start_rabbitmq
+ echo "$NAME."
+ ;;
+ stop)
+ echo -n "Stopping $DESC: "
+ stop_rabbitmq
+ echo "$NAME."
+ ;;
+ status)
+ status_rabbitmq
+ ;;
+ rotate-logs)
+ echo -n "Rotating log files for $DESC: "
+ rotate_logs_rabbitmq
+ ;;
+ force-reload|reload|restart|condrestart|try-restart)
+ echo -n "Restarting $DESC: "
+ restart_rabbitmq
+ echo "$NAME."
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|status|rotate-logs|restart|condrestart|try-restart|reload|force-reload}" >&2
+ RETVAL=1
+ ;;
+esac
+
+exit $RETVAL