Skip to content

Commit 278c5e3

Browse files
committed
Ensure that elixir escript does not read from stdin
This change ensures that you do not have to redirect `stdin` from `/dev/null` to use `rabbitmqctl` and related utilities in a `while` / `read` shell loop. References: * https://github.com/lukebakken/vesc-1073/blob/main/delete.bash#L24-L32 * rabbitmq/support-tools#38 (cherry picked from commit 761d592)
1 parent cd7f1f9 commit 278c5e3

File tree

9 files changed

+13
-21
lines changed

9 files changed

+13
-21
lines changed

deps/rabbit/scripts/rabbitmq-diagnostics

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ set -a
2020
# shellcheck source=./rabbitmq-env
2121
. "${0%/*}"/rabbitmq-env
2222

23-
run_escript rabbitmqctl_escript "${ESCRIPT_DIR:?must be defined}"/rabbitmq-diagnostics "$@"
23+
run_escript "${ESCRIPT_DIR:?must be defined}"/rabbitmq-diagnostics "$@"

deps/rabbit/scripts/rabbitmq-env

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -178,25 +178,13 @@ _rmq_env_set_erl_libs()
178178

179179
run_escript()
180180
{
181-
escript_main="${1:?escript_main must be defined}"
182-
shift
183181
escript="${1:?escript must be defined}"
184182
shift
185183

186184
_rmq_env_set_erl_libs
187185

188-
# Important: do not quote RABBITMQ_CTL_ERL_ARGS as they must be
189-
# word-split
190186
# shellcheck disable=SC2086
191-
exec erl +B \
192-
-boot "$CLEAN_BOOT_FILE" \
193-
-noinput -noshell -hidden -smp enable \
194-
$RABBITMQ_CTL_ERL_ARGS \
195-
-kernel inet_dist_listen_min "$RABBITMQ_CTL_DIST_PORT_MIN" \
196-
-kernel inet_dist_listen_max "$RABBITMQ_CTL_DIST_PORT_MAX" \
197-
-run escript start \
198-
-escript main "$escript_main" \
199-
-extra "$escript" "$@"
187+
ERL_FLAGS="-boot $CLEAN_BOOT_FILE $RABBITMQ_CTL_ERL_ARGS -kernel inet_dist_listen_min $RABBITMQ_CTL_DIST_PORT_MIN -kernel inet_dist_listen_max $RABBITMQ_CTL_DIST_PORT_MAX" "$escript" "$@"
200188
}
201189

202190
RABBITMQ_ENV_LOADED=1

deps/rabbit/scripts/rabbitmq-plugins

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ set -a
2020
# shellcheck source=./rabbitmq-env
2121
. "${0%/*}"/rabbitmq-env
2222

23-
run_escript rabbitmqctl_escript "${ESCRIPT_DIR:?must be defined}"/rabbitmq-plugins "$@"
23+
run_escript "${ESCRIPT_DIR:?must be defined}"/rabbitmq-plugins "$@"

deps/rabbit/scripts/rabbitmq-queues

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ set -a
2020
# shellcheck source=./rabbitmq-env
2121
. "${0%/*}"/rabbitmq-env
2222

23-
run_escript rabbitmqctl_escript "${ESCRIPT_DIR:?must be defined}"/rabbitmq-queues "$@"
23+
run_escript "${ESCRIPT_DIR:?must be defined}"/rabbitmq-queues "$@"

deps/rabbit/scripts/rabbitmq-streams

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,4 @@ set -a
2121
# shellcheck source=./rabbitmq-env
2222
. "${0%/*}"/rabbitmq-env
2323

24-
run_escript rabbitmqctl_escript "${ESCRIPT_DIR:?must be defined}"/rabbitmq-streams "$@"
24+
run_escript "${ESCRIPT_DIR:?must be defined}"/rabbitmq-streams "$@"

deps/rabbit/scripts/rabbitmq-upgrade

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ set -a
2020
# shellcheck source=./rabbitmq-env
2121
. "${0%/*}"/rabbitmq-env
2222

23-
run_escript rabbitmqctl_escript "${ESCRIPT_DIR:?must be defined}"/rabbitmq-upgrade "$@"
23+
run_escript "${ESCRIPT_DIR:?must be defined}"/rabbitmq-upgrade "$@"

deps/rabbit/scripts/rabbitmqctl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ set -a
2020
# shellcheck source=./rabbitmq-env
2121
. "${0%/*}"/rabbitmq-env
2222

23-
run_escript rabbitmqctl_escript "${ESCRIPT_DIR:?must be defined}"/rabbitmqctl "$@"
23+
run_escript "${ESCRIPT_DIR:?must be defined}"/rabbitmqctl "$@"

deps/rabbit/scripts/vmware-rabbitmq

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ set -a
2020
# shellcheck source=./rabbitmq-env
2121
. "${0%/*}"/rabbitmq-env
2222

23-
run_escript rabbitmqctl_escript "${ESCRIPT_DIR:?must be defined}"/vmware-rabbitmq "$@"
23+
run_escript "${ESCRIPT_DIR:?must be defined}"/vmware-rabbitmq "$@"

deps/rabbitmq_cli/mix.exs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,11 @@ defmodule RabbitMQCtl.MixfileBase do
1414
elixir: ">= 1.13.4 and < 1.16.0",
1515
build_embedded: Mix.env() == :prod,
1616
start_permanent: Mix.env() == :prod,
17-
escript: [main_module: RabbitMQCtl, emu_args: "-hidden", path: "escript/rabbitmqctl"],
17+
escript: [
18+
main_module: RabbitMQCtl,
19+
emu_args: "-noinput -hidden",
20+
path: "escript/rabbitmqctl"
21+
],
1822
prune_code_paths: false,
1923
deps: deps(Mix.env()),
2024
aliases: aliases(),

0 commit comments

Comments
 (0)