From c07af9a51c81b4367e739eee9a71801afb3c034b Mon Sep 17 00:00:00 2001 From: Luke Bakken Date: Fri, 29 Dec 2023 20:55:17 -0800 Subject: [PATCH] Add -noinput via `rabbitmq-env` Follow-up to #10131 (cherry picked from commit 3f33dfa227719b256eb0483daec92cdf3f85cfa2) --- deps/rabbit/scripts/rabbitmq-diagnostics | 9 ++++++++- deps/rabbit/scripts/rabbitmq-diagnostics.bat | 3 ++- deps/rabbit/scripts/rabbitmq-env | 15 +++++++++++++-- deps/rabbit/scripts/rabbitmq-plugins | 2 +- deps/rabbit/scripts/rabbitmq-queues | 2 +- deps/rabbit/scripts/rabbitmq-streams | 2 +- deps/rabbit/scripts/rabbitmq-upgrade | 2 +- deps/rabbit/scripts/rabbitmqctl | 2 +- deps/rabbit/scripts/vmware-rabbitmq | 2 +- deps/rabbitmq_cli/mix.exs | 2 +- 10 files changed, 30 insertions(+), 11 deletions(-) diff --git a/deps/rabbit/scripts/rabbitmq-diagnostics b/deps/rabbit/scripts/rabbitmq-diagnostics index 565152086b75..8a8e0cb417eb 100755 --- a/deps/rabbit/scripts/rabbitmq-diagnostics +++ b/deps/rabbit/scripts/rabbitmq-diagnostics @@ -20,4 +20,11 @@ set -a # shellcheck source=./rabbitmq-env . "${0%/*}"/rabbitmq-env -run_escript "${ESCRIPT_DIR:?must be defined}"/rabbitmq-diagnostics "$@" +maybe_noinput='noinput' + +if [ "$1" = 'observer' ] +then + maybe_noinput='input' +fi + +run_escript "${ESCRIPT_DIR:?must be defined}"/rabbitmq-diagnostics "$maybe_noinput" "$@" diff --git a/deps/rabbit/scripts/rabbitmq-diagnostics.bat b/deps/rabbit/scripts/rabbitmq-diagnostics.bat index f5043e81fedb..d7913fdcc25a 100644 --- a/deps/rabbit/scripts/rabbitmq-diagnostics.bat +++ b/deps/rabbit/scripts/rabbitmq-diagnostics.bat @@ -42,9 +42,10 @@ if "%1"=="remote_shell" ( set ERL_CMD=erl.exe ) +REM Note: do NOT add -noinput because "observer" depends on it "!ERLANG_HOME!\bin\!ERL_CMD!" +B ^ -boot !CLEAN_BOOT_FILE! ^ --noinput -noshell -hidden -smp enable ^ +-noshell -hidden -smp enable ^ !RABBITMQ_CTL_ERL_ARGS! ^ -kernel inet_dist_listen_min !RABBITMQ_CTL_DIST_PORT_MIN! ^ -kernel inet_dist_listen_max !RABBITMQ_CTL_DIST_PORT_MAX! ^ diff --git a/deps/rabbit/scripts/rabbitmq-env b/deps/rabbit/scripts/rabbitmq-env index c7b369f67626..bf542fc8408f 100755 --- a/deps/rabbit/scripts/rabbitmq-env +++ b/deps/rabbit/scripts/rabbitmq-env @@ -181,10 +181,21 @@ run_escript() escript="${1:?escript must be defined}" shift + maybe_noinput="${1:?maybe_noinput must be defined}" + shift + _rmq_env_set_erl_libs - # shellcheck disable=SC2086 - 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" "$@" + tmp_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" + + if [ "$maybe_noinput" = 'noinput' ] + then + tmp_erl_flags="-noinput $tmp_erl_flags" + fi + + ERL_FLAGS="$tmp_erl_flags" "$escript" "$@" + + unset tmp_erl_flags } RABBITMQ_ENV_LOADED=1 diff --git a/deps/rabbit/scripts/rabbitmq-plugins b/deps/rabbit/scripts/rabbitmq-plugins index 86a7cc9358df..6f7ab22879b0 100755 --- a/deps/rabbit/scripts/rabbitmq-plugins +++ b/deps/rabbit/scripts/rabbitmq-plugins @@ -20,4 +20,4 @@ set -a # shellcheck source=./rabbitmq-env . "${0%/*}"/rabbitmq-env -run_escript "${ESCRIPT_DIR:?must be defined}"/rabbitmq-plugins "$@" +run_escript "${ESCRIPT_DIR:?must be defined}"/rabbitmq-plugins 'noinput' "$@" diff --git a/deps/rabbit/scripts/rabbitmq-queues b/deps/rabbit/scripts/rabbitmq-queues index d4362a9cee06..c60bf92b1929 100755 --- a/deps/rabbit/scripts/rabbitmq-queues +++ b/deps/rabbit/scripts/rabbitmq-queues @@ -20,4 +20,4 @@ set -a # shellcheck source=./rabbitmq-env . "${0%/*}"/rabbitmq-env -run_escript "${ESCRIPT_DIR:?must be defined}"/rabbitmq-queues "$@" +run_escript "${ESCRIPT_DIR:?must be defined}"/rabbitmq-queues 'noinput' "$@" diff --git a/deps/rabbit/scripts/rabbitmq-streams b/deps/rabbit/scripts/rabbitmq-streams index c43318145828..7c863ccfb44d 100755 --- a/deps/rabbit/scripts/rabbitmq-streams +++ b/deps/rabbit/scripts/rabbitmq-streams @@ -21,4 +21,4 @@ set -a # shellcheck source=./rabbitmq-env . "${0%/*}"/rabbitmq-env -run_escript "${ESCRIPT_DIR:?must be defined}"/rabbitmq-streams "$@" +run_escript "${ESCRIPT_DIR:?must be defined}"/rabbitmq-streams 'noinput' "$@" diff --git a/deps/rabbit/scripts/rabbitmq-upgrade b/deps/rabbit/scripts/rabbitmq-upgrade index 0c045fdc96dd..f5ced227655f 100755 --- a/deps/rabbit/scripts/rabbitmq-upgrade +++ b/deps/rabbit/scripts/rabbitmq-upgrade @@ -20,4 +20,4 @@ set -a # shellcheck source=./rabbitmq-env . "${0%/*}"/rabbitmq-env -run_escript "${ESCRIPT_DIR:?must be defined}"/rabbitmq-upgrade "$@" +run_escript "${ESCRIPT_DIR:?must be defined}"/rabbitmq-upgrade 'noinput' "$@" diff --git a/deps/rabbit/scripts/rabbitmqctl b/deps/rabbit/scripts/rabbitmqctl index c836d9dd33c0..de7fca24ec31 100755 --- a/deps/rabbit/scripts/rabbitmqctl +++ b/deps/rabbit/scripts/rabbitmqctl @@ -20,4 +20,4 @@ set -a # shellcheck source=./rabbitmq-env . "${0%/*}"/rabbitmq-env -run_escript "${ESCRIPT_DIR:?must be defined}"/rabbitmqctl "$@" +run_escript "${ESCRIPT_DIR:?must be defined}"/rabbitmqctl 'noinput' "$@" diff --git a/deps/rabbit/scripts/vmware-rabbitmq b/deps/rabbit/scripts/vmware-rabbitmq index 7634a9256659..2806b8c5a95e 100755 --- a/deps/rabbit/scripts/vmware-rabbitmq +++ b/deps/rabbit/scripts/vmware-rabbitmq @@ -20,4 +20,4 @@ set -a # shellcheck source=./rabbitmq-env . "${0%/*}"/rabbitmq-env -run_escript "${ESCRIPT_DIR:?must be defined}"/vmware-rabbitmq "$@" +run_escript "${ESCRIPT_DIR:?must be defined}"/vmware-rabbitmq 'noinput' "$@" diff --git a/deps/rabbitmq_cli/mix.exs b/deps/rabbitmq_cli/mix.exs index 5e202df569e9..19db83e5ee9c 100644 --- a/deps/rabbitmq_cli/mix.exs +++ b/deps/rabbitmq_cli/mix.exs @@ -16,7 +16,7 @@ defmodule RabbitMQCtl.MixfileBase do start_permanent: Mix.env() == :prod, escript: [ main_module: RabbitMQCtl, - emu_args: "-noinput -hidden", + emu_args: "-hidden", path: "escript/rabbitmqctl" ], prune_code_paths: false,