diff options
| author | Alexey Lebedeff <alebedev@mirantis.com> | 2016-10-28 20:50:22 +0300 |
|---|---|---|
| committer | Alexey Lebedeff <alebedev@mirantis.com> | 2016-11-23 17:26:39 +0300 |
| commit | 0108d509a7210509889345b961e4011c0e4682d8 (patch) | |
| tree | e398e9d19e2b0c9f7540239c8aa93a6a96a67bd9 /scripts/rabbitmq-env | |
| parent | a19f4a680dfdff7d4bedda8e19d924608d87b5b5 (diff) | |
| download | rabbitmq-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-x | scripts/rabbitmq-env | 23 |
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}" |
