Skip to content

Commit 9b017b1

Browse files
author
Simon MacMullen
committed
Merge bug 24790
2 parents 5d2b880 + 3d6fda6 commit 9b017b1

File tree

4 files changed

+187
-10
lines changed

4 files changed

+187
-10
lines changed

packaging/RPMS/Fedora/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ prepare:
3232
SPECS/rabbitmq-server.spec
3333

3434
cp ${COMMON_DIR}/* SOURCES/
35+
cp rabbitmq-server.init SOURCES/rabbitmq-server.init
3536
sed -i \
36-
-e 's|^LOCK_FILE=.*$$|LOCK_FILE=/var/lock/subsys/$$NAME|' \
3737
-e 's|^START_PROG=.*$$|START_PROG="$(START_PROG)"|' \
3838
SOURCES/rabbitmq-server.init
3939
ifeq "$(RPM_OS)" "fedora"

packaging/common/rabbitmq-server.init renamed to packaging/RPMS/Fedora/rabbitmq-server.init

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ INIT_LOG_DIR=/var/log/rabbitmq
2727
PID_FILE=/var/run/rabbitmq/pid
2828

2929
START_PROG= # Set when building package
30-
LOCK_FILE= # Set when building package
30+
LOCK_FILE=/var/lock/subsys/$NAME
3131

3232
test -x $DAEMON || exit 0
3333
test -x $CONTROL || exit 0

packaging/debs/Debian/Makefile

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,6 @@ package: clean
2222
tar -zxf $(DEBIAN_ORIG_TARBALL)
2323
cp -r debian $(UNPACKED_DIR)
2424
cp $(COMMON_DIR)/* $(UNPACKED_DIR)/debian/
25-
# Debian and descendants differ from most other distros in that
26-
# runlevel 2 should start network services.
27-
sed -i \
28-
-e 's|^LOCK_FILE=.*$$|LOCK_FILE=|' \
29-
-e 's|^START_PROG=.*$$|START_PROG="start-stop-daemon -v --chuid rabbitmq --start --exec"|' \
30-
-e 's|^\(# Default-Start:\).*$$|\1 2 3 4 5|' \
31-
-e 's|^\(# Default-Stop:\).*$$|\1 0 1 6|' \
32-
$(UNPACKED_DIR)/debian/rabbitmq-server.init
3325
sed -i -e 's|@SU_RABBITMQ_SH_C@|su rabbitmq -s /bin/sh -c|' \
3426
$(UNPACKED_DIR)/debian/rabbitmq-script-wrapper
3527
chmod a+x $(UNPACKED_DIR)/debian/rules
Lines changed: 185 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,185 @@
1+
#!/bin/sh
2+
#
3+
# rabbitmq-server RabbitMQ broker
4+
#
5+
# chkconfig: - 80 05
6+
# description: Enable AMQP service provided by RabbitMQ
7+
#
8+
9+
### BEGIN INIT INFO
10+
# Provides: rabbitmq-server
11+
# Required-Start: $remote_fs $network
12+
# Required-Stop: $remote_fs $network
13+
# Default-Start: 2 3 4 5
14+
# Default-Stop: 0 1 6
15+
# Description: RabbitMQ broker
16+
# Short-Description: Enable AMQP service provided by RabbitMQ broker
17+
### END INIT INFO
18+
19+
PATH=/sbin:/usr/sbin:/bin:/usr/bin
20+
NAME=rabbitmq-server
21+
DAEMON=/usr/sbin/${NAME}
22+
CONTROL=/usr/sbin/rabbitmqctl
23+
DESC="message broker"
24+
USER=rabbitmq
25+
ROTATE_SUFFIX=
26+
INIT_LOG_DIR=/var/log/rabbitmq
27+
PID_FILE=/var/run/rabbitmq/pid
28+
29+
30+
test -x $DAEMON || exit 0
31+
test -x $CONTROL || exit 0
32+
33+
RETVAL=0
34+
set -e
35+
36+
[ -f /etc/default/${NAME} ] && . /etc/default/${NAME}
37+
38+
. /lib/lsb/init-functions
39+
. /lib/init/vars.sh
40+
41+
ensure_pid_dir () {
42+
PID_DIR=`dirname ${PID_FILE}`
43+
if [ ! -d ${PID_DIR} ] ; then
44+
mkdir -p ${PID_DIR}
45+
chown -R ${USER}:${USER} ${PID_DIR}
46+
chmod 755 ${PID_DIR}
47+
fi
48+
}
49+
50+
remove_pid () {
51+
rm -f ${PID_FILE}
52+
rmdir `dirname ${PID_FILE}` || :
53+
}
54+
55+
start_rabbitmq () {
56+
status_rabbitmq quiet
57+
if [ $RETVAL != 0 ] ; then
58+
RETVAL=0
59+
ensure_pid_dir
60+
set +e
61+
RABBITMQ_PID_FILE=$PID_FILE start-stop-daemon --quiet \
62+
--chuid rabbitmq --start --exec $DAEMON \
63+
--pidfile "$RABBITMQ_PID_FILE" \
64+
> "${INIT_LOG_DIR}/startup_log" \
65+
2> "${INIT_LOG_DIR}/startup_err" \
66+
0<&- &
67+
$CONTROL wait $PID_FILE >/dev/null 2>&1
68+
RETVAL=$?
69+
set -e
70+
if [ $RETVAL != 0 ] ; then
71+
remove_pid
72+
fi
73+
else
74+
RETVAL=3
75+
fi
76+
}
77+
78+
stop_rabbitmq () {
79+
status_rabbitmq quiet
80+
if [ $RETVAL = 0 ] ; then
81+
set +e
82+
$CONTROL stop ${PID_FILE} > ${INIT_LOG_DIR}/shutdown_log 2> ${INIT_LOG_DIR}/shutdown_err
83+
RETVAL=$?
84+
set -e
85+
if [ $RETVAL = 0 ] ; then
86+
remove_pid
87+
fi
88+
else
89+
RETVAL=3
90+
fi
91+
}
92+
93+
status_rabbitmq() {
94+
set +e
95+
if [ "$1" != "quiet" ] ; then
96+
$CONTROL status 2>&1
97+
else
98+
$CONTROL status > /dev/null 2>&1
99+
fi
100+
if [ $? != 0 ] ; then
101+
RETVAL=3
102+
fi
103+
set -e
104+
}
105+
106+
rotate_logs_rabbitmq() {
107+
set +e
108+
$CONTROL -q rotate_logs ${ROTATE_SUFFIX}
109+
if [ $? != 0 ] ; then
110+
RETVAL=1
111+
fi
112+
set -e
113+
}
114+
115+
restart_running_rabbitmq () {
116+
status_rabbitmq quiet
117+
if [ $RETVAL = 0 ] ; then
118+
restart_rabbitmq
119+
else
120+
log_warning_msg "${DESC} not running"
121+
fi
122+
}
123+
124+
restart_rabbitmq() {
125+
stop_rabbitmq
126+
start_rabbitmq
127+
}
128+
129+
restart_end() {
130+
if [ $RETVAL = 0 ] ; then
131+
log_end_msg 0
132+
else
133+
log_end_msg 1
134+
fi
135+
}
136+
137+
start_stop_end() {
138+
case "$RETVAL" in
139+
0)
140+
log_end_msg 0;;
141+
3)
142+
log_warning_msg "${DESC} already ${1}"
143+
log_end_msg 0;;
144+
*)
145+
log_warning_msg "FAILED - check ${INIT_LOG_DIR}/startup_\{log, _err\}"
146+
log_end_msg 1;;
147+
esac
148+
}
149+
150+
case "$1" in
151+
start)
152+
log_daemon_msg "Starting ${DESC}" $NAME
153+
start_rabbitmq
154+
start_stop_end "started"
155+
;;
156+
stop)
157+
log_daemon_msg "Stopping ${DESC}" $NAME
158+
stop_rabbitmq
159+
start_stop_end "stopped"
160+
;;
161+
status)
162+
status_rabbitmq
163+
;;
164+
rotate-logs)
165+
log_action_begin_msg "Rotating log files for ${DESC} ${NAME}"
166+
rotate_logs_rabbitmq
167+
log_action_end_msg $RETVAL
168+
;;
169+
force-reload|reload|restart)
170+
log_daemon_msg "Restarting ${DESC}" $NAME
171+
restart_rabbitmq
172+
restart_end
173+
;;
174+
try-restart)
175+
log_daemon_msg "Restarting ${DESC}" $NAME
176+
restart_running_rabbitmq
177+
restart_end
178+
;;
179+
*)
180+
echo "Usage: $0 {start|stop|status|rotate-logs|restart|condrestart|try-restart|reload|force-reload}" >&2
181+
RETVAL=1
182+
;;
183+
esac
184+
185+
exit $RETVAL

0 commit comments

Comments
 (0)