summaryrefslogtreecommitdiff
path: root/packaging/common
diff options
context:
space:
mode:
authorSimon MacMullen <simon@lshift.net>2009-02-16 11:14:50 +0000
committerSimon MacMullen <simon@lshift.net>2009-02-16 11:14:50 +0000
commit0e04bc871c41ea193c797d8ffabc30d0a2c6bcf7 (patch)
treebc801ebbe4044ec171b851da2805d2ef13053b5d /packaging/common
parent6d63ebc598bf1418e8df0359e2dcd37aea52a287 (diff)
parent10fffbb0584527e3809d04f1891b89cd311f9be3 (diff)
downloadrabbitmq-server-git-0e04bc871c41ea193c797d8ffabc30d0a2c6bcf7.tar.gz
Merged 20326
Diffstat (limited to 'packaging/common')
-rw-r--r--packaging/common/rabbitmq-script-wrapper23
1 files changed, 23 insertions, 0 deletions
diff --git a/packaging/common/rabbitmq-script-wrapper b/packaging/common/rabbitmq-script-wrapper
new file mode 100644
index 0000000000..217d1658b5
--- /dev/null
+++ b/packaging/common/rabbitmq-script-wrapper
@@ -0,0 +1,23 @@
+#!/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 /
+
+SCRIPT=`basename $0`
+
+if [ `id -u` = 0 ] ; then
+ su rabbitmq -s /bin/sh -c "/usr/lib/rabbitmq/bin/${SCRIPT} ${CMDLINE}"
+else
+ /usr/lib/rabbitmq/bin/${SCRIPT}
+ echo -e "\nOnly root should run ${SCRIPT}\n"
+ exit 1
+fi
+