|
@@ -337,7 +337,7 @@ compatiblity_info() {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
# Collect Erlang/OTP runtime sanity and compatibility in one go
|
|
# Collect Erlang/OTP runtime sanity and compatibility in one go
|
|
|
-if [ "$IS_BOOT_COMMAND" = 'yes' ]; then
|
|
|
|
|
|
|
+maybe_use_portable_dynlibs() {
|
|
|
# Read BUILD_INFO early as the next commands may mess up the shell
|
|
# Read BUILD_INFO early as the next commands may mess up the shell
|
|
|
BUILD_INFO="$(cat "${REL_DIR}/BUILD_INFO")"
|
|
BUILD_INFO="$(cat "${REL_DIR}/BUILD_INFO")"
|
|
|
COMPATIBILITY_INFO="$(compatiblity_info 2>/dev/null || true)"
|
|
COMPATIBILITY_INFO="$(compatiblity_info 2>/dev/null || true)"
|
|
@@ -348,11 +348,9 @@ if [ "$IS_BOOT_COMMAND" = 'yes' ]; then
|
|
|
export LD_LIBRARY_PATH="$DYNLIBS_DIR:$LD_LIBRARY_PATH"
|
|
export LD_LIBRARY_PATH="$DYNLIBS_DIR:$LD_LIBRARY_PATH"
|
|
|
fi
|
|
fi
|
|
|
## Turn off debug, because COMPATIBILITY_INFO needs to capture stderr
|
|
## Turn off debug, because COMPATIBILITY_INFO needs to capture stderr
|
|
|
- set +x
|
|
|
|
|
COMPATIBILITY_INFO="$(compatiblity_info 2>&1 || true)"
|
|
COMPATIBILITY_INFO="$(compatiblity_info 2>&1 || true)"
|
|
|
if ! (echo -e "$COMPATIBILITY_INFO" | $GREP -q 'BEAM_OK'); then
|
|
if ! (echo -e "$COMPATIBILITY_INFO" | $GREP -q 'BEAM_OK'); then
|
|
|
## not able to start beam.smp
|
|
## not able to start beam.smp
|
|
|
- set +x
|
|
|
|
|
logerr "$COMPATIBILITY_INFO"
|
|
logerr "$COMPATIBILITY_INFO"
|
|
|
logerr "Please ensure it is running on the correct platform:"
|
|
logerr "Please ensure it is running on the correct platform:"
|
|
|
logerr "$BUILD_INFO"
|
|
logerr "$BUILD_INFO"
|
|
@@ -361,14 +359,12 @@ if [ "$IS_BOOT_COMMAND" = 'yes' ]; then
|
|
|
exit 1
|
|
exit 1
|
|
|
elif ! (echo -e "$COMPATIBILITY_INFO" | $GREP -q 'CRYPTO_OK'); then
|
|
elif ! (echo -e "$COMPATIBILITY_INFO" | $GREP -q 'CRYPTO_OK'); then
|
|
|
## not able to start crypto app
|
|
## not able to start crypto app
|
|
|
- set +x
|
|
|
|
|
logerr "$COMPATIBILITY_INFO"
|
|
logerr "$COMPATIBILITY_INFO"
|
|
|
exit 2
|
|
exit 2
|
|
|
fi
|
|
fi
|
|
|
logwarn "Using libs from '${DYNLIBS_DIR}' due to missing from the OS."
|
|
logwarn "Using libs from '${DYNLIBS_DIR}' due to missing from the OS."
|
|
|
fi
|
|
fi
|
|
|
- [ "$DEBUG" -eq 1 ] && set -x
|
|
|
|
|
-fi
|
|
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
# Warn the user if ulimit -n is less than 1024
|
|
# Warn the user if ulimit -n is less than 1024
|
|
|
ULIMIT_F=$(ulimit -n)
|
|
ULIMIT_F=$(ulimit -n)
|
|
@@ -461,6 +457,7 @@ fi
|
|
|
set +x
|
|
set +x
|
|
|
if [ "$IS_BOOT_COMMAND" = 'yes' ]; then
|
|
if [ "$IS_BOOT_COMMAND" = 'yes' ]; then
|
|
|
[ -f "$EMQX_ETC_DIR"/emqx.conf ] || die "emqx.conf is not found in $EMQX_ETC_DIR" 1
|
|
[ -f "$EMQX_ETC_DIR"/emqx.conf ] || die "emqx.conf is not found in $EMQX_ETC_DIR" 1
|
|
|
|
|
+ maybe_use_portable_dynlibs
|
|
|
if [ "${EMQX_BOOT_CONFIGS:-}" = '' ]; then
|
|
if [ "${EMQX_BOOT_CONFIGS:-}" = '' ]; then
|
|
|
EMQX_BOOT_CONFIGS="$(call_hocon -s "$SCHEMA_MOD" -c "$EMQX_ETC_DIR"/emqx.conf multi_get "${CONF_KEYS[@]}")"
|
|
EMQX_BOOT_CONFIGS="$(call_hocon -s "$SCHEMA_MOD" -c "$EMQX_ETC_DIR"/emqx.conf multi_get "${CONF_KEYS[@]}")"
|
|
|
## export here so the 'console' command recursively called from
|
|
## export here so the 'console' command recursively called from
|
|
@@ -514,6 +511,8 @@ else
|
|
|
else
|
|
else
|
|
|
## None or more than one node is running, resolve from boot config
|
|
## None or more than one node is running, resolve from boot config
|
|
|
## we have no choiece but to read the bootstrap config (with environment overrides available in the current shell)
|
|
## we have no choiece but to read the bootstrap config (with environment overrides available in the current shell)
|
|
|
|
|
+ [ -f "$EMQX_ETC_DIR"/emqx.conf ] || die "emqx.conf is not found in $EMQX_ETC_DIR" 1
|
|
|
|
|
+ maybe_use_portable_dynlibs
|
|
|
EMQX_BOOT_CONFIGS="$(call_hocon -s "$SCHEMA_MOD" -c "$EMQX_ETC_DIR"/emqx.conf multi_get "${CONF_KEYS[@]}")"
|
|
EMQX_BOOT_CONFIGS="$(call_hocon -s "$SCHEMA_MOD" -c "$EMQX_ETC_DIR"/emqx.conf multi_get "${CONF_KEYS[@]}")"
|
|
|
fi
|
|
fi
|
|
|
fi
|
|
fi
|