summaryrefslogtreecommitdiff
path: root/packaging/common
diff options
context:
space:
mode:
authorSimon MacMullen <simon@lshift.net>2009-02-16 10:50:45 +0000
committerSimon MacMullen <simon@lshift.net>2009-02-16 10:50:45 +0000
commitfc8748a4cc264c24b1c9f40fd42dd1e744376228 (patch)
tree6814ecae469e974261287ec1ca76f0258f1d1af5 /packaging/common
parentb4ad26ae09de1db141469019deb0b054ddc09925 (diff)
parent10fffbb0584527e3809d04f1891b89cd311f9be3 (diff)
downloadrabbitmq-server-git-fc8748a4cc264c24b1c9f40fd42dd1e744376228.tar.gz
Merged bug20326
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
+