diff options
| author | Alvaro Videla <videlalvaro@gmail.com> | 2015-11-12 16:31:50 +0100 |
|---|---|---|
| committer | Alvaro Videla <videlalvaro@gmail.com> | 2015-11-12 16:31:50 +0100 |
| commit | 5931edc27eb3273945345dc3f9a784287df88ccd (patch) | |
| tree | 59d300326b16c23ef202f0543f0e295241369af9 /scripts/rabbitmq-script-wrapper | |
| parent | 4e1dd3749d3a1bcd8778ba40ec8f00d1dbdb271a (diff) | |
| parent | 9ce5036edd3d9ef116285565c8de8124601389e4 (diff) | |
| download | rabbitmq-server-git-5931edc27eb3273945345dc3f9a784287df88ccd.tar.gz | |
Merge branch 'master' into rabbitmq-server-351
Diffstat (limited to 'scripts/rabbitmq-script-wrapper')
| -rw-r--r-- | scripts/rabbitmq-script-wrapper | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/scripts/rabbitmq-script-wrapper b/scripts/rabbitmq-script-wrapper new file mode 100644 index 0000000000..ed4c276e53 --- /dev/null +++ b/scripts/rabbitmq-script-wrapper @@ -0,0 +1,52 @@ +#!/bin/sh +## The contents of this file are subject to the Mozilla Public License +## Version 1.1 (the "License"); you may not use this file except in +## compliance with the License. You may obtain a copy of the License +## at http://www.mozilla.org/MPL/ +## +## Software distributed under the License is distributed on an "AS IS" +## basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +## the License for the specific language governing rights and +## limitations under the License. +## +## The Original Code is RabbitMQ. +## +## The Initial Developer of the Original Code is GoPivotal, Inc. +## Copyright (c) 2007-2015 Pivotal Software, Inc. All rights reserved. +## + +SED_OPT="-E" +if [ $(uname -s) = "Linux" ]; then + SED_OPT="-r" +fi + +for arg in "$@" ; do + # Wrap each arg in single quotes and wrap single quotes in double quotes, so that they're passed through cleanly. + arg=`printf %s "$arg" | sed $SED_OPT -e "s/'/'\"'\"'/g"` + CMDLINE="${CMDLINE} '${arg}'" +done + +cd /var/lib/rabbitmq + +SCRIPT=`basename $0` + +if [ `id -u` = `id -u rabbitmq` -a "$SCRIPT" = "rabbitmq-server" ] ; then + RABBITMQ_ENV=/usr/lib/rabbitmq/bin/rabbitmq-env + RABBITMQ_SCRIPTS_DIR=$(dirname "$RABBITMQ_ENV") + . "$RABBITMQ_ENV" + + exec /usr/lib/rabbitmq/bin/rabbitmq-server "$@" @STDOUT_STDERR_REDIRECTION@ +elif [ `id -u` = `id -u rabbitmq` -o "$SCRIPT" = "rabbitmq-plugins" ] ; then + if [ -f $PWD/.erlang.cookie ] ; then + export HOME=. + fi + exec /usr/lib/rabbitmq/bin/${SCRIPT} "$@" +elif [ `id -u` = 0 ] ; then + @SU_RABBITMQ_SH_C@ "/usr/lib/rabbitmq/bin/${SCRIPT} ${CMDLINE}" +else + /usr/lib/rabbitmq/bin/${SCRIPT} + echo + echo "Only root or rabbitmq should run ${SCRIPT}" + echo + exit 1 +fi |
