summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Jones <paulj@lshift.net>2009-07-29 09:42:51 +0100
committerPaul Jones <paulj@lshift.net>2009-07-29 09:42:51 +0100
commit163388e95d53b3ba85bed49540cbefd9626161ec (patch)
tree2d2f3250a839054220cc97f178f6d687ff1ea2c8
parent0c804d7a68581d46092bb799d4382e01b25788f5 (diff)
downloadrabbitmq-server-163388e95d53b3ba85bed49540cbefd9626161ec.tar.gz
Patched all scripts to be able to auto-detect their directory, even when symlinked
-rwxr-xr-xscripts/activate-plugins25
-rwxr-xr-xscripts/rabbitmq-multi14
-rwxr-xr-xscripts/rabbitmq-server14
-rwxr-xr-xscripts/rabbitmqctl14
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} \