summaryrefslogtreecommitdiff
path: root/packaging/RPMS
diff options
context:
space:
mode:
authorJean-Sébastien Pédron <jean-sebastien@rabbitmq.com>2015-04-03 16:27:04 +0200
committerJean-Sébastien Pédron <jean-sebastien@rabbitmq.com>2015-04-03 17:27:40 +0200
commit797ee7fa0794f60d96fa7c5bf780853b78de2ef3 (patch)
treec590abf7622d414d94768e4d7b9a348277db8366 /packaging/RPMS
parentc5a3e04772d281386cb7a90e4bf2c8a15ed43000 (diff)
downloadrabbitmq-server-git-797ee7fa0794f60d96fa7c5bf780853b78de2ef3.tar.gz
Init scripts: Honor RABBITMQ_LOG_BASE for {startup,shutdown}_* location
Before this change, they were written to /var/log/rabbitmq, no matter the value of RABBITMQ_LOG_BASE. In rabbitmq-env, allow the caller to set RABBITMQ_SCRIPTS_DIR to the directory where rabbitmq-env and rabbitmq-default are located. In both Fedora and Debian rabbitmq-server.init and rabbitmq-script-wrapper, load rabbitmq-env and use RABBITMQ_LOG_BASE. The default value is /var/log/rabbitmq, so the default behaviour remains the same. In Debian's rabbitmq-script-wrapper version, use RABBITMQ_LOG_BASE instead of the hard-coded /var/log/rabbitmq. Fixes #88.
Diffstat (limited to 'packaging/RPMS')
-rw-r--r--packaging/RPMS/Fedora/rabbitmq-server.init17
1 files changed, 11 insertions, 6 deletions
diff --git a/packaging/RPMS/Fedora/rabbitmq-server.init b/packaging/RPMS/Fedora/rabbitmq-server.init
index 3e48147b63..15929108b5 100644
--- a/packaging/RPMS/Fedora/rabbitmq-server.init
+++ b/packaging/RPMS/Fedora/rabbitmq-server.init
@@ -25,8 +25,8 @@ CONTROL=/usr/sbin/rabbitmqctl
DESC=rabbitmq-server
USER=rabbitmq
ROTATE_SUFFIX=
-INIT_LOG_DIR=/var/log/rabbitmq
PID_FILE=/var/run/rabbitmq/pid
+RABBITMQ_ENV=/usr/lib/rabbitmq/bin/rabbitmq-env
START_PROG= # Set when building package
LOCK_FILE=/var/lock/subsys/$NAME
@@ -39,6 +39,9 @@ set -e
[ -f /etc/default/${NAME} ] && . /etc/default/${NAME}
+RABBITMQ_SCRIPTS_DIR=$(dirname "$RABBITMQ_ENV")
+. "$RABBITMQ_ENV"
+
ensure_pid_dir () {
PID_DIR=`dirname ${PID_FILE}`
if [ ! -d ${PID_DIR} ] ; then
@@ -62,8 +65,8 @@ start_rabbitmq () {
ensure_pid_dir
set +e
RABBITMQ_PID_FILE=$PID_FILE $START_PROG $DAEMON \
- > "${INIT_LOG_DIR}/startup_log" \
- 2> "${INIT_LOG_DIR}/startup_err" \
+ > "${RABBITMQ_LOG_BASE}/startup_log" \
+ 2> "${RABBITMQ_LOG_BASE}/startup_err" \
0<&- &
$CONTROL wait $PID_FILE >/dev/null 2>&1
RETVAL=$?
@@ -77,7 +80,7 @@ start_rabbitmq () {
;;
*)
remove_pid
- echo FAILED - check ${INIT_LOG_DIR}/startup_\{log, _err\}
+ echo FAILED - check ${RABBITMQ_LOG_BASE}/startup_\{log, _err\}
RETVAL=1
;;
esac
@@ -88,7 +91,9 @@ stop_rabbitmq () {
status_rabbitmq quiet
if [ $RETVAL = 0 ] ; then
set +e
- $CONTROL stop ${PID_FILE} > ${INIT_LOG_DIR}/shutdown_log 2> ${INIT_LOG_DIR}/shutdown_err
+ $CONTROL stop ${PID_FILE} \
+ > ${RABBITMQ_LOG_BASE}/shutdown_log \
+ 2> ${RABBITMQ_LOG_BASE}/shutdown_err
RETVAL=$?
set -e
if [ $RETVAL = 0 ] ; then
@@ -97,7 +102,7 @@ stop_rabbitmq () {
rm -f $LOCK_FILE
fi
else
- echo FAILED - check ${INIT_LOG_DIR}/shutdown_log, _err
+ echo FAILED - check ${RABBITMQ_LOG_BASE}/shutdown_log, _err
fi
else
echo RabbitMQ is not running