summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTony Garnock-Jones <tonyg@lshift.net>2009-02-16 15:58:38 +0000
committerTony Garnock-Jones <tonyg@lshift.net>2009-02-16 15:58:38 +0000
commit3d47fe6062b4022e79ac9cb25184afa3255ea6e8 (patch)
treec7bd2021976fb21d27cb23cd2fd50c6e5c03294a
parente7abe601e1807c11bcec0261672eb23abbd7a9c9 (diff)
parent15c4e5c394806949a7b0089cfc94aaf58f91dd5a (diff)
downloadrabbitmq-server-3d47fe6062b4022e79ac9cb25184afa3255ea6e8.tar.gz
merge bug20348 into v1_5
-rw-r--r--packaging/RPMS/Fedora/Makefile3
-rw-r--r--packaging/RPMS/Fedora/init.d14
-rw-r--r--packaging/RPMS/Fedora/rabbitmq-server.spec10
-rw-r--r--packaging/RPMS/Fedora/rabbitmqctl_wrapper19
-rw-r--r--packaging/common/rabbitmq-script-wrapper (renamed from packaging/debs/Debian/debian/rabbitmqctl_wrapper)8
-rw-r--r--packaging/debs/Debian/Makefile2
-rw-r--r--packaging/debs/Debian/debian/init.d13
-rw-r--r--packaging/debs/Debian/debian/rules5
-rwxr-xr-xscripts/rabbitmq-multi5
-rwxr-xr-xscripts/rabbitmq-server5
10 files changed, 42 insertions, 42 deletions
diff --git a/packaging/RPMS/Fedora/Makefile b/packaging/RPMS/Fedora/Makefile
index cf3a93df..973608cc 100644
--- a/packaging/RPMS/Fedora/Makefile
+++ b/packaging/RPMS/Fedora/Makefile
@@ -1,5 +1,6 @@
VERSION=0.0.0
SOURCE_TARBALL_DIR=../../../dist
+COMMON_DIR=../../common
TARBALL=$(SOURCE_TARBALL_DIR)/rabbitmq-server-$(VERSION).tar.gz
TOP_DIR=$(shell pwd)
#Under debian we do not want to check build dependencies, since that
@@ -30,7 +31,7 @@ prepare:
SPECS/rabbitmq-server.spec
cp init.d SOURCES/rabbitmq-server.init
- cp rabbitmqctl_wrapper SOURCES/rabbitmq-server.wrapper
+ cp ${COMMON_DIR}/* SOURCES/
cp rabbitmq-server.logrotate SOURCES/rabbitmq-server.logrotate
server: prepare
diff --git a/packaging/RPMS/Fedora/init.d b/packaging/RPMS/Fedora/init.d
index a006a5a7..9f4dbb43 100644
--- a/packaging/RPMS/Fedora/init.d
+++ b/packaging/RPMS/Fedora/init.d
@@ -16,8 +16,8 @@
# Short-Description: Enable AMQP service provided by RabbitMQ broker
### END INIT INFO
-DAEMON_NAME=rabbitmq-multi
-DAEMON=/usr/lib/rabbitmq/bin/$DAEMON_NAME
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DAEMON=/usr/sbin/rabbitmq-multi
NAME=rabbitmq-server
DESC=rabbitmq-server
USER=rabbitmq
@@ -39,7 +39,7 @@ cd /
start_rabbitmq () {
set +e
- su $USER -s /bin/sh -c "$DAEMON start_all ${NODE_COUNT}" > /var/log/rabbitmq/startup_log 2> /var/log/rabbitmq/startup_err
+ $DAEMON start_all ${NODE_COUNT} > /var/log/rabbitmq/startup_log 2> /var/log/rabbitmq/startup_err
case "$?" in
0)
echo SUCCESS && touch $LOCK_FILE
@@ -61,7 +61,7 @@ stop_rabbitmq () {
set +e
status_rabbitmq quiet
if [ $RETVAL = 0 ] ; then
- su $USER -s /bin/sh -c "$DAEMON stop_all" > /var/log/rabbitmq/shutdown_log 2> /var/log/rabbitmq/shutdown_err
+ $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
@@ -78,9 +78,9 @@ stop_rabbitmq () {
status_rabbitmq() {
set +e
if [ "$1" != "quiet" ] ; then
- su $USER -s /bin/sh -c "$DAEMON status" 2>&1
+ $DAEMON status 2>&1
else
- su $USER -s /bin/sh -c "$DAEMON status" > /dev/null 2>&1
+ $DAEMON status > /dev/null 2>&1
fi
if [ $? != 0 ] ; then
RETVAL=1
@@ -90,7 +90,7 @@ status_rabbitmq() {
rotate_logs_rabbitmq() {
set +e
- su $USER -s /bin/sh -c "$DAEMON rotate_logs ${ROTATE_SUFFIX}" 2>&1
+ $DAEMON rotate_logs ${ROTATE_SUFFIX} 2>&1
set -e
}
diff --git a/packaging/RPMS/Fedora/rabbitmq-server.spec b/packaging/RPMS/Fedora/rabbitmq-server.spec
index fc109bdb..bedf8d81 100644
--- a/packaging/RPMS/Fedora/rabbitmq-server.spec
+++ b/packaging/RPMS/Fedora/rabbitmq-server.spec
@@ -5,7 +5,7 @@ License: MPLv1.1
Group: Development/Libraries
Source: http://www.rabbitmq.com/releases/rabbitmq-server/v%{version}/%{name}-%{version}.tar.gz
Source1: rabbitmq-server.init
-Source2: rabbitmq-server.wrapper
+Source2: rabbitmq-script-wrapper
Source3: rabbitmq-server.logrotate
URL: http://www.rabbitmq.com/
Vendor: LShift Ltd., Cohesive Financial Technologies LLC., Rabbit Technlogies Ltd.
@@ -39,6 +39,7 @@ fi
%prep
%setup -n %{name}-%{version}
+sed -i 's|/usr/lib/|%{_libdir}/|' %SOURCE2
%build
make
@@ -59,9 +60,10 @@ install -m 0755 %SOURCE1 %{buildroot}%{_initrddir}/rabbitmq-server
chmod 0755 %{buildroot}%{_initrddir}/rabbitmq-server
sed -i 's|/usr/lib/|%{_libdir}/|' %{buildroot}%{_initrddir}/rabbitmq-server
-mkdir -p %{buildroot}%{_sbindir}
-install -m 0755 %SOURCE2 %{buildroot}%{_sbindir}/rabbitmqctl
-sed -i 's|/usr/lib/|%{_libdir}/|' %{buildroot}%{_sbindir}/rabbitmqctl
+
+install -p -D -m 0755 %SOURCE2 %{buildroot}%{_sbindir}/rabbitmqctl
+install -p -D -m 0755 %SOURCE2 %{buildroot}%{_sbindir}/rabbitmq-server
+install -p -D -m 0755 %SOURCE2 %{buildroot}%{_sbindir}/rabbitmq-multi
mkdir -p %{buildroot}/etc/logrotate.d
install -m 0644 %SOURCE3 %{buildroot}/etc/logrotate.d/rabbitmq-server
diff --git a/packaging/RPMS/Fedora/rabbitmqctl_wrapper b/packaging/RPMS/Fedora/rabbitmqctl_wrapper
deleted file mode 100644
index 6b387d29..00000000
--- a/packaging/RPMS/Fedora/rabbitmqctl_wrapper
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/bash
-# Escape spaces and quotes, because shell is revolting.
-for arg in "$@" ; do
- # Escape quotes in parameters, so that they're passed through cleanly.
- arg=$(sed -e 's/"/\\"/' <<-END
- $arg
- END
- )
- CMDLINE="${CMDLINE} \"${arg}\""
-done
-
-cd /
-if [ `id -u` = 0 ] ; then
- su rabbitmq -s /bin/sh -c "/usr/lib/rabbitmq/bin/rabbitmqctl ${CMDLINE}"
-else
- /usr/lib/rabbitmq/bin/rabbitmqctl
- echo -e "\nOnly root should run rabbitmqctl\n"
- exit 1
-fi
diff --git a/packaging/debs/Debian/debian/rabbitmqctl_wrapper b/packaging/common/rabbitmq-script-wrapper
index d53a6ca9..217d1658 100644
--- a/packaging/debs/Debian/debian/rabbitmqctl_wrapper
+++ b/packaging/common/rabbitmq-script-wrapper
@@ -11,11 +11,13 @@ done
cd /
+SCRIPT=`basename $0`
+
if [ `id -u` = 0 ] ; then
- su rabbitmq -s /bin/sh -c "/usr/lib/rabbitmq/bin/rabbitmqctl ${CMDLINE}"
+ su rabbitmq -s /bin/sh -c "/usr/lib/rabbitmq/bin/${SCRIPT} ${CMDLINE}"
else
- /usr/lib/rabbitmq/bin/rabbitmqctl
- echo -e "\nOnly root should run rabbitmqctl\n"
+ /usr/lib/rabbitmq/bin/${SCRIPT}
+ echo -e "\nOnly root should run ${SCRIPT}\n"
exit 1
fi
diff --git a/packaging/debs/Debian/Makefile b/packaging/debs/Debian/Makefile
index 9479feb0..67fabae0 100644
--- a/packaging/debs/Debian/Makefile
+++ b/packaging/debs/Debian/Makefile
@@ -1,5 +1,6 @@
TARBALL_DIR=../../../dist
TARBALL=$(shell (cd $(TARBALL_DIR); echo rabbitmq-server-[0-9]*.tar.gz))
+COMMON_DIR=../../common
DEBIAN_ORIG_TARBALL=$(shell echo $(TARBALL) | sed -e 's:\(.*\)-\(.*\)\(\.tar\.gz\):\1_\2\.orig\3:g')
VERSION=$(shell echo $(TARBALL) | sed -e 's:rabbitmq-server-\(.*\)\.tar\.gz:\1:g')
UNPACKED_DIR=rabbitmq-server-$(VERSION)
@@ -19,6 +20,7 @@ package: clean
cp $(TARBALL_DIR)/$(TARBALL) $(DEBIAN_ORIG_TARBALL)
tar -zxvf $(DEBIAN_ORIG_TARBALL)
cp -r debian $(UNPACKED_DIR)
+ cp $(COMMON_DIR)/* $(UNPACKED_DIR)/debian/
chmod a+x $(UNPACKED_DIR)/debian/rules
UNOFFICIAL_RELEASE=$(UNOFFICIAL_RELEASE) VERSION=$(VERSION) ./check-changelog.sh rabbitmq-server $(UNPACKED_DIR)
cd $(UNPACKED_DIR); GNUPGHOME=$(GNUPG_PATH)/.gnupg dpkg-buildpackage -rfakeroot $(SIGNING)
diff --git a/packaging/debs/Debian/debian/init.d b/packaging/debs/Debian/debian/init.d
index 70dd0adf..aff0ce4d 100644
--- a/packaging/debs/Debian/debian/init.d
+++ b/packaging/debs/Debian/debian/init.d
@@ -9,7 +9,8 @@
# Short-Description: Enable AMQP service provided by RabbitMQ broker
### END INIT INFO
-DAEMON=/usr/lib/rabbitmq/bin/rabbitmq-multi
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DAEMON=/usr/sbin/rabbitmq-multi
NAME=rabbitmq-server
DESC=rabbitmq-server
USER=rabbitmq
@@ -29,7 +30,7 @@ cd /
start_rabbitmq () {
set +e
- su $USER -s /bin/sh -c "$DAEMON start_all ${NODE_COUNT}" > /var/log/rabbitmq/startup_log 2> /var/log/rabbitmq/startup_err
+ $DAEMON start_all ${NODE_COUNT} > /var/log/rabbitmq/startup_log 2> /var/log/rabbitmq/startup_err
case "$?" in
0)
echo SUCCESS
@@ -51,7 +52,7 @@ stop_rabbitmq () {
set +e
status_rabbitmq quiet
if [ $RETVAL = 0 ] ; then
- su $USER -s /bin/sh -c "$DAEMON stop_all" > /var/log/rabbitmq/shutdown_log 2> /var/log/rabbitmq/shutdown_err
+ $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
@@ -66,9 +67,9 @@ stop_rabbitmq () {
status_rabbitmq() {
set +e
if [ "$1" != "quiet" ] ; then
- su $USER -s /bin/sh -c "$DAEMON status" 2>&1
+ $DAEMON status 2>&1
else
- su $USER -s /bin/sh -c "$DAEMON status" > /dev/null 2>&1
+ $DAEMON status > /dev/null 2>&1
fi
if [ $? != 0 ] ; then
RETVAL=1
@@ -78,7 +79,7 @@ status_rabbitmq() {
rotate_logs_rabbitmq() {
set +e
- su $USER -s /bin/sh -c "$DAEMON rotate_logs ${ROTATE_SUFFIX}" 2>&1
+ $DAEMON rotate_logs ${ROTATE_SUFFIX} 2>&1
set -e
}
diff --git a/packaging/debs/Debian/debian/rules b/packaging/debs/Debian/debian/rules
index 908ec481..31904851 100644
--- a/packaging/debs/Debian/debian/rules
+++ b/packaging/debs/Debian/debian/rules
@@ -14,5 +14,6 @@ DOCDIR=$(DEB_DESTDIR)usr/share/doc/rabbitmq-server/
install/rabbitmq-server::
mkdir -p $(DOCDIR)
rm $(RABBIT_LIB)LICENSE*
- cp debian/rabbitmqctl_wrapper $(DEB_DESTDIR)usr/sbin/rabbitmqctl
- chmod a+x $(DEB_DESTDIR)usr/sbin/rabbitmqctl
+ for script in rabbitmqctl rabbitmq-server rabbitmq-multi; do \
+ install -p -D -m 0755 debian/rabbitmq-script-wrapper $(DEB_DESTDIR)usr/sbin/$$script; \
+ done
diff --git a/scripts/rabbitmq-multi b/scripts/rabbitmq-multi
index 84985e90..164c5e18 100755
--- a/scripts/rabbitmq-multi
+++ b/scripts/rabbitmq-multi
@@ -54,6 +54,11 @@ export \
RABBITMQ_SCRIPT_HOME \
RABBITMQ_PIDS_FILE
+# we need to turn off path expansion because some of the vars, notably
+# RABBITMQ_MULTI_ERL_ARGS, may contain terms that look like globs and
+# there is no other way of preventing their expansion.
+set -f
+
exec erl \
-pa "`dirname $0`/../ebin" \
-noinput \
diff --git a/scripts/rabbitmq-server b/scripts/rabbitmq-server
index 572262c9..9a35c477 100755
--- a/scripts/rabbitmq-server
+++ b/scripts/rabbitmq-server
@@ -73,6 +73,11 @@ fi
RABBITMQ_START_RABBIT=
[ "x" = "x$RABBITMQ_NODE_ONLY" ] && RABBITMQ_START_RABBIT='-noinput -s rabbit'
+# we need to turn off path expansion because some of the vars, notably
+# RABBITMQ_SERVER_ERL_ARGS, contain terms that look like globs and
+# there is no other way of preventing their expansion.
+set -f
+
exec erl \
-pa "`dirname $0`/../ebin" \
${RABBITMQ_START_RABBIT} \