diff options
author | Paul Jones <paulj@lshift.net> | 2009-07-29 09:42:51 +0100 |
---|---|---|
committer | Paul Jones <paulj@lshift.net> | 2009-07-29 09:42:51 +0100 |
commit | 163388e95d53b3ba85bed49540cbefd9626161ec (patch) | |
tree | 2d2f3250a839054220cc97f178f6d687ff1ea2c8 | |
parent | 0c804d7a68581d46092bb799d4382e01b25788f5 (diff) | |
download | rabbitmq-server-163388e95d53b3ba85bed49540cbefd9626161ec.tar.gz |
Patched all scripts to be able to auto-detect their directory, even when symlinked
-rwxr-xr-x | scripts/activate-plugins | 25 | ||||
-rwxr-xr-x | scripts/rabbitmq-multi | 14 | ||||
-rwxr-xr-x | scripts/rabbitmq-server | 14 | ||||
-rwxr-xr-x | scripts/rabbitmqctl | 14 |
4 files changed, 58 insertions, 9 deletions
diff --git a/scripts/activate-plugins b/scripts/activate-plugins index 52f7ddbe..536b5d35 100755 --- a/scripts/activate-plugins +++ b/scripts/activate-plugins @@ -30,18 +30,31 @@ ## Contributor(s): ______________________________________. ## +SCRIPT_PATH="$0" +while [ -h "$SCRIPT_PATH" ] ; do + ls=`ls -ld "$SCRIPT_PATH"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + SCRIPT_PATH="$link" + else + SCRIPT_PATH="`dirname "$SCRIPT_PATH"`/$link" + fi +done +SCRIPT_DIR=`dirname $SCRIPT_PATH` + [ -f /etc/rabbitmq/rabbitmq.conf ] && . /etc/rabbitmq/rabbitmq.conf -RABBITMQ_EBIN=`dirname $0`/../ebin -[ "x" = "x$RABBITMQ_PLUGINS_DIR" ] && RABBITMQ_PLUGINS_DIR="`dirname $0`/../plugins" -[ "x" = "x$RABBITMQ_PLUGINS_EXPAND_DIR" ] && RABBITMQ_PLUGINS_EXPAND_DIR="`dirname $0`/../priv/plugins" +RABBITMQ_EBIN=${SCRIPT_DIR}/../ebin +echo $RABBITMQ_EBIN +[ "x" = "x$RABBITMQ_PLUGINS_DIR" ] && RABBITMQ_PLUGINS_DIR="${SCRIPT_DIR}/../plugins" +[ "x" = "x$RABBITMQ_PLUGINS_EXPAND_DIR" ] && RABBITMQ_PLUGINS_EXPAND_DIR="${SCRIPT_DIR}/../priv/plugins" exec erl \ -pa "$RABBITMQ_EBIN" \ -rabbit plugins_dir "\"$RABBITMQ_PLUGINS_DIR\"" \ - -rabbit plugins_expand_dir "\"$RABBITMQ_PLUGINS_EXPAND_DIR\"" \ - -rabbit rabbit_ebin "\"$RABBITMQ_EBIN\"" \ - -noinput \ + -rabbit plugins_expand_dir "\"$RABBITMQ_PLUGINS_EXPAND_DIR\"" \ + -rabbit rabbit_ebin "\"$RABBITMQ_EBIN\"" \ + -noinput \ -hidden \ -s rabbit_plugin_activator \ -extra "$@" diff --git a/scripts/rabbitmq-multi b/scripts/rabbitmq-multi index 1d0c785f..129a202d 100755 --- a/scripts/rabbitmq-multi +++ b/scripts/rabbitmq-multi @@ -37,6 +37,18 @@ PIDS_FILE=/var/lib/rabbitmq/pids MULTI_ERL_ARGS= MULTI_START_ARGS= +SCRIPT_PATH="$0" +while [ -h "$SCRIPT_PATH" ] ; do + ls=`ls -ld "$SCRIPT_PATH"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + SCRIPT_PATH="$link" + else + SCRIPT_PATH="`dirname "$SCRIPT_PATH"`/$link" + fi +done +SCRIPT_DIR=`dirname $SCRIPT_PATH` + [ -f /etc/rabbitmq/rabbitmq.conf ] && . /etc/rabbitmq/rabbitmq.conf [ "x" = "x$RABBITMQ_NODENAME" ] && RABBITMQ_NODENAME=${NODENAME} @@ -60,7 +72,7 @@ export \ set -f exec erl \ - -pa "`dirname $0`/../ebin" \ + -pa "${SCRIPT_DIR}/../ebin" \ -noinput \ -hidden \ ${RABBITMQ_MULTI_ERL_ARGS} \ diff --git a/scripts/rabbitmq-server b/scripts/rabbitmq-server index 40e32d3d..41e27352 100755 --- a/scripts/rabbitmq-server +++ b/scripts/rabbitmq-server @@ -41,6 +41,18 @@ LOG_BASE=/var/log/rabbitmq MNESIA_BASE=/var/lib/rabbitmq/mnesia SERVER_START_ARGS= +SCRIPT_PATH="$0" +while [ -h "$SCRIPT_PATH" ] ; do + ls=`ls -ld "$SCRIPT_PATH"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + SCRIPT_PATH="$link" + else + SCRIPT_PATH="`dirname "$SCRIPT_PATH"`/$link" + fi +done +SCRIPT_DIR=`dirname $SCRIPT_PATH` + [ -f /etc/rabbitmq/rabbitmq.conf ] && . /etc/rabbitmq/rabbitmq.conf [ "x" = "x$RABBITMQ_NODENAME" ] && RABBITMQ_NODENAME=${NODENAME} @@ -75,7 +87,7 @@ fi RABBITMQ_START_RABBIT= [ "x" = "x$RABBITMQ_NODE_ONLY" ] && RABBITMQ_START_RABBIT='-noinput -s rabbit' -RABBITMQ_EBIN_ROOT="`dirname $0`/../ebin" +RABBITMQ_EBIN_ROOT="${SCRIPT_DIR}/../ebin" if [ -f "${RABBITMQ_EBIN_ROOT}/rabbit.boot" ]; then RABBITMQ_BOOT_FILE="${RABBITMQ_EBIN_ROOT}/rabbit" RABBITMQ_EBIN_PATH="" diff --git a/scripts/rabbitmqctl b/scripts/rabbitmqctl index c57978c0..88206abc 100755 --- a/scripts/rabbitmqctl +++ b/scripts/rabbitmqctl @@ -30,12 +30,24 @@ ## Contributor(s): ______________________________________. ## +SCRIPT_PATH="$0" +while [ -h "$SCRIPT_PATH" ] ; do + ls=`ls -ld "$SCRIPT_PATH"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + SCRIPT_PATH="$link" + else + SCRIPT_PATH="`dirname "$SCRIPT_PATH"`/$link" + fi +done +SCRIPT_DIR=`dirname $SCRIPT_PATH` + [ -f /etc/rabbitmq/rabbitmq.conf ] && . /etc/rabbitmq/rabbitmq.conf [ "x" = "x$RABBITMQ_CTL_ERL_ARGS" ] && RABBITMQ_CTL_ERL_ARGS=${CTL_ERL_ARGS} exec erl \ - -pa "`dirname $0`/../ebin" \ + -pa "${SCRIPT_DIR}/../ebin" \ -noinput \ -hidden \ ${RABBITMQ_CTL_ERL_ARGS} \ |