diff options
| author | Michael Klishin <michael@novemberain.com> | 2015-10-23 22:17:35 +0300 |
|---|---|---|
| committer | Michael Klishin <michael@novemberain.com> | 2015-10-23 22:17:35 +0300 |
| commit | 644b9b26232d04f8ee3d2091a14a08cca59692a8 (patch) | |
| tree | bfc8e731a93633639118ed12ef410086b9b75bde /scripts/rabbitmq-script-wrapper | |
| parent | b7092c79837da3d89a6a11044fdb31c402590e7a (diff) | |
| parent | 6b93fa3a65d74c72d2b9d6de1dada0515e19e28f (diff) | |
| download | rabbitmq-server-git-644b9b26232d04f8ee3d2091a14a08cca59692a8.tar.gz | |
Merge pull request #385 from rabbitmq/erlang.mk
Switch to Erlang.mk
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 |
