summaryrefslogtreecommitdiff
path: root/scripts/rabbitmq-env
diff options
context:
space:
mode:
authorAlexey Lebedeff <alebedev@mirantis.com>2016-10-28 20:50:22 +0300
committerAlexey Lebedeff <alebedev@mirantis.com>2016-11-23 17:26:39 +0300
commit0108d509a7210509889345b961e4011c0e4682d8 (patch)
treee398e9d19e2b0c9f7540239c8aa93a6a96a67bd9 /scripts/rabbitmq-env
parenta19f4a680dfdff7d4bedda8e19d924608d87b5b5 (diff)
downloadrabbitmq-server-git-0108d509a7210509889345b961e4011c0e4682d8.tar.gz
Support multiple plugins directories
And provide some packaging-friendly defaults on Unix.
Diffstat (limited to 'scripts/rabbitmq-env')
-rwxr-xr-xscripts/rabbitmq-env23
1 files changed, 19 insertions, 4 deletions
diff --git a/scripts/rabbitmq-env b/scripts/rabbitmq-env
index 8c33e7c0b7..3055552d88 100755
--- a/scripts/rabbitmq-env
+++ b/scripts/rabbitmq-env
@@ -57,6 +57,20 @@ rmq_realpath() {
fi
}
+path_contains_existing_directory() {
+ local path="${1:?}"
+ local dir
+ local rc
+ local IFS="
+ "
+ for dir in $(echo "$path" | tr ':' '\n'); do
+ if [ -d "$dir" ]; then
+ return 0
+ fi
+ done
+ return 1
+}
+
RABBITMQ_HOME="$(rmq_realpath "${RABBITMQ_SCRIPTS_DIR}/..")"
## Set defaults
@@ -107,8 +121,9 @@ fi
rmq_normalize_path() {
local path=$1
- # Remove redundant slashes and strip a trailing slash
- echo "$path" | sed -e 's#/\{2,\}#/#g' -e 's#/$##'
+ # Remove redundant slashes and strip a trailing slash for a
+ # PATH-like vars - ':' is the delimiter
+ echo "$path" | sed -e 's#/\{2,\}#/#g' -e 's#/$##' -e 's#/:#:#g'
}
rmq_normalize_path_var() {
@@ -266,7 +281,7 @@ if [ "${RABBITMQ_DEV_ENV}" ]; then
fi
fi
- if [ -d "${RABBITMQ_PLUGINS_DIR}" ]; then
+ if path_contains_existing_directory "${RABBITMQ_PLUGINS_DIR}" ; then
# RabbitMQ was started with "make run-broker" from its own
# source tree. Take rabbit_common from the plugins directory.
ERL_LIBS="${RABBITMQ_PLUGINS_DIR}:${ERL_LIBS}"
@@ -290,7 +305,7 @@ if [ "${RABBITMQ_DEV_ENV}" ]; then
ERL_LIBS="${DEPS_DIR_norm}:${ERL_LIBS}"
fi
else
- if [ -d "${RABBITMQ_PLUGINS_DIR}" ]; then
+ if path_contains_existing_directory "${RABBITMQ_PLUGINS_DIR}" ; then
# RabbitMQ was started from its install directory. Take
# rabbit_common from the plugins directory.
ERL_LIBS="${RABBITMQ_PLUGINS_DIR}:${ERL_LIBS}"