Fix self-update switch
This commit is contained in:
56
installJRMC
56
installJRMC
@@ -68,7 +68,7 @@ print_help() {
|
||||
--createrepo-user USER
|
||||
Specify the web server user if it differs from \$USER
|
||||
--no-update
|
||||
Disable automatic self-update
|
||||
Disable automatic installJRMCself-update
|
||||
--uninstall, -u
|
||||
Uninstall JRiver MC, remove services, containers, and firewall rules (does not remove library files)
|
||||
--yes, -y, --auto
|
||||
@@ -145,6 +145,32 @@ init() {
|
||||
# Reset DEBUG and recatch properly with getopt
|
||||
declare -g DEBUG=0
|
||||
|
||||
|
||||
# Set defaults for no arguments or parse input
|
||||
if [[ $# -eq 0 ]]; then
|
||||
debug "Automatically setting --install repo"
|
||||
REPO_INSTALL_SWITCH=1
|
||||
# Skip getopt
|
||||
else
|
||||
# Set sane defaults for
|
||||
if [[ $# -le 2 ]]; then
|
||||
case "$1" in
|
||||
--debug | -d | -y | --yes | --auto | --mcrepo | --mcversion | \
|
||||
--arch | --betapass | --restorefile | --outputdir | --no-update)
|
||||
if [[ $ID != "unknown" ]]; then
|
||||
debug "Automatically setting --install repo"
|
||||
REPO_INSTALL_SWITCH=1
|
||||
fi
|
||||
;;
|
||||
--compat)
|
||||
if [[ $# -eq 1 ]]; then
|
||||
BUILD_SWITCH=1
|
||||
LOCAL_INSTALL_SWITCH=1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if input=$(getopt -o $short_opts -l $long_opts -- "$@"); then
|
||||
eval set -- "$input"
|
||||
while true; do
|
||||
@@ -197,6 +223,8 @@ init() {
|
||||
print_help && exit 1
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
# Get host information
|
||||
[[ -f /etc/os-release ]] && source /etc/os-release
|
||||
|
||||
@@ -242,27 +270,7 @@ init() {
|
||||
fi
|
||||
esac
|
||||
|
||||
# Set some defaults if zero or one arguments are passed
|
||||
if [[ $# -eq 0 && $ID != "unknown" ]]; then
|
||||
debug "Automatically setting --install repo"
|
||||
REPO_INSTALL_SWITCH=1
|
||||
elif [[ $# -eq 1 || $# -eq 2 ]]; then
|
||||
case "$1" in
|
||||
--debug | -d | -y | --yes | --auto | --mcrepo | --mcversion | \
|
||||
--arch | --betapass | --restorefile | --outputdir | --no-self-update)
|
||||
if [[ $ID != "unknown" ]]; then
|
||||
debug "Automatically setting --install repo"
|
||||
REPO_INSTALL_SWITCH=1
|
||||
fi
|
||||
;;
|
||||
--compat)
|
||||
if [[ $# -eq 1 ]]; then
|
||||
BUILD_SWITCH=1
|
||||
LOCAL_INSTALL_SWITCH=1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
|
||||
# Set default targets
|
||||
BUILD_TARGET="${BUILD_TARGET:-$ID}"
|
||||
@@ -1469,7 +1477,7 @@ update() {
|
||||
after_pull_hash=$(git -C "$SCRIPT_DIR" rev-parse HEAD)
|
||||
if [[ "$before_pull_hash" != "$after_pull_hash" ]]; then
|
||||
echo "installJRMC repository updated. Restarting script..."
|
||||
exec "$SCRIPT_PATH" "$@" "--no-self-update"
|
||||
exec "$SCRIPT_PATH" "$@" "--no-update"
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -1493,7 +1501,7 @@ update() {
|
||||
echo "Updating installJRMC $SCRIPT_VERSION to $remote_version"
|
||||
execute mv "$tmp" "$SCRIPT_PATH"
|
||||
execute chmod +x "$SCRIPT_PATH"
|
||||
exec "$SCRIPT_PATH" "$@" "--no-self-update"
|
||||
exec "$SCRIPT_PATH" "$@" "--no-update"
|
||||
fi
|
||||
|
||||
rm -f "$tmp"
|
||||
|
||||
Reference in New Issue
Block a user