updating sudo use
This commit is contained in:
@@ -21,6 +21,15 @@ info() { printf "\033[1;34m==>\033[0m %s\n" "$1"; }
|
|||||||
warn() { printf "\033[1;33m==> WARNING:\033[0m %s\n" "$1"; }
|
warn() { printf "\033[1;33m==> WARNING:\033[0m %s\n" "$1"; }
|
||||||
fail() { printf "\033[1;31m==> ERROR:\033[0m %s\n" "$1"; exit 1; }
|
fail() { printf "\033[1;31m==> ERROR:\033[0m %s\n" "$1"; exit 1; }
|
||||||
|
|
||||||
|
USE_SUDO=false
|
||||||
|
run_install_command() {
|
||||||
|
if [[ "$USE_SUDO" == true ]]; then
|
||||||
|
/usr/bin/sudo "$@"
|
||||||
|
else
|
||||||
|
"$@"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
if [[ "$(uname -s)" != "Darwin" ]]; then
|
if [[ "$(uname -s)" != "Darwin" ]]; then
|
||||||
fail "This installer only supports macOS."
|
fail "This installer only supports macOS."
|
||||||
fi
|
fi
|
||||||
@@ -64,20 +73,29 @@ pkill -9 -x "$PROCESS_NAME" 2>/dev/null || true
|
|||||||
INSTALLED_APP="$INSTALL_DIR/$APP_NAME"
|
INSTALLED_APP="$INSTALL_DIR/$APP_NAME"
|
||||||
STAGED_APP="$INSTALL_DIR/.$APP_NAME.new"
|
STAGED_APP="$INSTALL_DIR/.$APP_NAME.new"
|
||||||
|
|
||||||
|
if [[ ! -w "$INSTALL_DIR" ]] ||
|
||||||
|
[[ -e "$INSTALLED_APP" && ! -w "$INSTALLED_APP" ]] ||
|
||||||
|
[[ -e "$STAGED_APP" && ! -w "$STAGED_APP" ]]; then
|
||||||
|
info "Administrator permission is required to update $INSTALL_DIR."
|
||||||
|
/usr/bin/sudo -v || fail "Administrator authentication failed."
|
||||||
|
USE_SUDO=true
|
||||||
|
fi
|
||||||
|
|
||||||
info "Staging $APP_NAME in $INSTALL_DIR..."
|
info "Staging $APP_NAME in $INSTALL_DIR..."
|
||||||
rm -rf "$STAGED_APP"
|
run_install_command /bin/rm -rf "$STAGED_APP"
|
||||||
cp -R "$TMP_DIR/$APP_NAME" "$STAGED_APP" || fail "Failed to copy $APP_NAME to $INSTALL_DIR."
|
run_install_command /bin/cp -R "$TMP_DIR/$APP_NAME" "$STAGED_APP" ||
|
||||||
|
fail "Failed to copy $APP_NAME to $INSTALL_DIR."
|
||||||
|
|
||||||
/usr/bin/codesign --verify --deep --strict --verbose=2 "$STAGED_APP" ||
|
/usr/bin/codesign --verify --deep --strict --verbose=2 "$STAGED_APP" ||
|
||||||
fail "Installed application signature verification failed."
|
fail "Installed application signature verification failed."
|
||||||
|
|
||||||
if [[ -d "$INSTALLED_APP" ]]; then
|
if [[ -d "$INSTALLED_APP" ]]; then
|
||||||
info "Removing existing $INSTALLED_APP..."
|
info "Removing existing $INSTALLED_APP..."
|
||||||
rm -rf "$INSTALLED_APP"
|
run_install_command /bin/rm -rf "$INSTALLED_APP"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
info "Installing $APP_NAME to $INSTALL_DIR..."
|
info "Installing $APP_NAME to $INSTALL_DIR..."
|
||||||
mv "$STAGED_APP" "$INSTALLED_APP" || fail "Failed to install $APP_NAME."
|
run_install_command /bin/mv "$STAGED_APP" "$INSTALLED_APP" || fail "Failed to install $APP_NAME."
|
||||||
|
|
||||||
info "Launching Galaxy..."
|
info "Launching Galaxy..."
|
||||||
/usr/bin/open "$INSTALLED_APP" || fail "macOS failed to launch Galaxy."
|
/usr/bin/open "$INSTALLED_APP" || fail "macOS failed to launch Galaxy."
|
||||||
|
|||||||
Reference in New Issue
Block a user