From 1b22368f6b579ce1502fb24a36a556b0633fa445 Mon Sep 17 00:00:00 2001 From: Badlop Date: Tue, 21 Dec 2021 18:03:45 +0100 Subject: In POSIX sh, OSTYPE is undefined. ejabberd doesn't work natively in win anyway --- ejabberdctl.template | 8 -------- 1 file changed, 8 deletions(-) (limited to 'ejabberdctl.template') diff --git a/ejabberdctl.template b/ejabberdctl.template index 4cab19977..730bfcae9 100755 --- a/ejabberdctl.template +++ b/ejabberdctl.template @@ -128,14 +128,6 @@ exec_iex() # usage debugwarning() { - if [ "$OSTYPE" != "cygwin" ] && [ "$OSTYPE" != "win32" ] ; then - if [ "a$TERM" = "a" ] || [ "$TERM" = "dumb" ] ; then - echo "Terminal type not supported." - echo "You may have to set the TERM environment variable to fix this." - exit 8 - fi - fi - if [ "$EJABBERD_BYPASS_WARNINGS" != "true" ] ; then echo "--------------------------------------------------------------------" echo "" -- cgit v1.2.3 From b5d8b224867699c59b45b79fa4ab8a130aa5ca1f Mon Sep 17 00:00:00 2001 From: Badlop Date: Tue, 21 Dec 2021 18:09:18 +0100 Subject: In POSIX sh, RANDOM is undefined, use alternative --- ejabberdctl.template | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'ejabberdctl.template') diff --git a/ejabberdctl.template b/ejabberdctl.template index 730bfcae9..7b7f25c51 100755 --- a/ejabberdctl.template +++ b/ejabberdctl.template @@ -198,8 +198,9 @@ help() uid() { uuid=$(uuidgen 2>/dev/null) + random=$(awk 'BEGIN { srand(); print int(rand()*32768) }' /dev/null) [ -z "$uuid" ] && [ -f /proc/sys/kernel/random/uuid ] && uuid=$(cat /proc/sys/kernel/random/uuid) - [ -z "$uuid" ] && uuid=$(printf "%X" "${RANDOM:-$$}$(date +%M%S)") + [ -z "$uuid" ] && uuid=$(printf "%X" "${random:-$$}$(date +%M%S)") uuid=$(printf '%s' $uuid | sed 's/^\(...\).*$/\1/') [ $# -eq 0 ] && echo "${uuid}-${ERLANG_NODE}" [ $# -eq 1 ] && echo "${uuid}-${1}-${ERLANG_NODE}" -- cgit v1.2.3 From 46324385f25d6810e8781fedd7c68aca90d7df98 Mon Sep 17 00:00:00 2001 From: Badlop Date: Tue, 21 Dec 2021 18:23:55 +0100 Subject: SCRIPT_DIR is used by relx releases --- ejabberdctl.template | 1 + 1 file changed, 1 insertion(+) (limited to 'ejabberdctl.template') diff --git a/ejabberdctl.template b/ejabberdctl.template index 7b7f25c51..adbaffa62 100755 --- a/ejabberdctl.template +++ b/ejabberdctl.template @@ -105,6 +105,7 @@ export ERL_MAX_ETS_TABLES export CONTRIB_MODULES_PATH export CONTRIB_MODULES_CONF_DIR export ERL_LIBS +export SCRIPT_DIR # run command either directly or via su $INSTALLUSER exec_cmd() -- cgit v1.2.3 From 4deff0513c519c5dcbde196a8752f05062cea25a Mon Sep 17 00:00:00 2001 From: Badlop Date: Wed, 22 Dec 2021 13:17:31 +0100 Subject: Harmless warning, but let's prevent it anyway --- ejabberdctl.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ejabberdctl.template') diff --git a/ejabberdctl.template b/ejabberdctl.template index adbaffa62..c80d33da5 100755 --- a/ejabberdctl.template +++ b/ejabberdctl.template @@ -81,7 +81,7 @@ if [ -n "$INET_DIST_INTERFACE" ] ; then fi # if vm.args file exists in config directory, pass it to Erlang VM [ -f "$VMARGS" ] && ERLANG_OPTS="$ERLANG_OPTS -args_file $VMARGS" -ERL_LIBS={{libdir}} +ERL_LIBS='{{libdir}}' ERL_CRASH_DUMP="$LOGS_DIR"/erl_crash_$(date "+%Y%m%d-%H%M%S").dump ERL_INETRC="$ETC_DIR"/inetrc -- cgit v1.2.3 From fdc664a318e2b8e24ed197b70ba7c4471f9ec4f4 Mon Sep 17 00:00:00 2001 From: Badlop Date: Wed, 22 Dec 2021 13:52:13 +0100 Subject: The read value is useless, so use throwaway variable name --- ejabberdctl.template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'ejabberdctl.template') diff --git a/ejabberdctl.template b/ejabberdctl.template index c80d33da5..cd2cc3c3e 100755 --- a/ejabberdctl.template +++ b/ejabberdctl.template @@ -146,7 +146,7 @@ debugwarning() echo "To bypass permanently this warning, add to ejabberdctl.cfg the line:" echo " EJABBERD_BYPASS_WARNINGS=true" echo "Press return to continue" - read -r input + read -r _ echo "" fi } @@ -169,7 +169,7 @@ livewarning() echo "To bypass permanently this warning, add to ejabberdctl.cfg the line:" echo " EJABBERD_BYPASS_WARNINGS=true" echo "Press return to continue" - read -r input + read -r _ echo "" fi } -- cgit v1.2.3 From e2b7717dd9897bbcda29b270195cd7a36eb295cf Mon Sep 17 00:00:00 2001 From: Badlop Date: Thu, 23 Dec 2021 12:11:30 +0100 Subject: Workaround to support ShellCheck older than 0.8.0 --- ejabberdctl.template | 1 + 1 file changed, 1 insertion(+) (limited to 'ejabberdctl.template') diff --git a/ejabberdctl.template b/ejabberdctl.template index cd2cc3c3e..9bd76749c 100755 --- a/ejabberdctl.template +++ b/ejabberdctl.template @@ -62,6 +62,7 @@ done : "${EJABBERDCTL_CONFIG_PATH:="$ETC_DIR/ejabberdctl.cfg"}" # Allows passing extra Erlang command-line arguments in vm.args file : "${VMARGS:="$ETC_DIR/vm.args"}" +# shellcheck source=ejabberdctl.cfg.example [ -f "$EJABBERDCTL_CONFIG_PATH" ] && . "$EJABBERDCTL_CONFIG_PATH" [ -n "$ERLANG_NODE_ARG" ] && ERLANG_NODE="$ERLANG_NODE_ARG" [ "$ERLANG_NODE" = "${ERLANG_NODE%.*}" ] && S="-s" -- cgit v1.2.3 From 94a733c6669afb7b41fdafcb9bf0a4ac24a483f2 Mon Sep 17 00:00:00 2001 From: Holger Weiss Date: Thu, 23 Dec 2021 14:24:27 +0100 Subject: Fix ERTS path in ejabberdctl with `rebar3 release` Rebar 2 expands {{erts-vsn}} to "erts-$vsn", Rebar 3 expands it to just "$vsn". Make sure `make rel` doesn't end up with a "$vsn" directory next to "erts-$vsn" (which happened when using Rebar 3), and make sure that ejabberdctl expects both "erl" and "epmd" to be installed below "erts-$vsn" (which it didn't when using Rebar 3). --- ejabberdctl.template | 1 + 1 file changed, 1 insertion(+) (limited to 'ejabberdctl.template') diff --git a/ejabberdctl.template b/ejabberdctl.template index 9bd76749c..679db7a73 100755 --- a/ejabberdctl.template +++ b/ejabberdctl.template @@ -12,6 +12,7 @@ ERLANG_NODE=ejabberd@localhost # define default environment variables [ -z "$SCRIPT" ] && SCRIPT=$0 SCRIPT_DIR="$(cd "$(dirname "$SCRIPT")" && pwd -P)" +ERTS_VSN="{{erts_vsn}}" ERL="{{erl}}" IEX="{{bindir}}/iex" EPMD="{{epmd}}" -- cgit v1.2.3 From 5ff45e0f00b6cbda6e47926c56cd7d2f69fbdba6 Mon Sep 17 00:00:00 2001 From: Holger Weiss Date: Thu, 23 Dec 2021 14:46:53 +0100 Subject: ejabberdctl: Let shellcheck ignore unused ERTS_VSN The ERTS_VSN variable is only used for releases built with Rebar 3. --- ejabberdctl.template | 1 + 1 file changed, 1 insertion(+) (limited to 'ejabberdctl.template') diff --git a/ejabberdctl.template b/ejabberdctl.template index 679db7a73..408a4fe6d 100755 --- a/ejabberdctl.template +++ b/ejabberdctl.template @@ -12,6 +12,7 @@ ERLANG_NODE=ejabberd@localhost # define default environment variables [ -z "$SCRIPT" ] && SCRIPT=$0 SCRIPT_DIR="$(cd "$(dirname "$SCRIPT")" && pwd -P)" +# shellcheck disable=SC2034 ERTS_VSN="{{erts_vsn}}" ERL="{{erl}}" IEX="{{bindir}}/iex" -- cgit v1.2.3