installer: keep offline finalizer non-interactive
This commit is contained in:
@@ -87,6 +87,22 @@ catch_errors() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
stop_log_output
|
stop_log_output
|
||||||
|
|
||||||
|
if [[ -n ${OMARCHY_CHROOT_FINALIZER:-} ]]; then
|
||||||
|
show_cursor
|
||||||
|
{
|
||||||
|
echo "Omarchy installation stopped inside offline finalizer."
|
||||||
|
echo "This command halted with exit code $exit_code:"
|
||||||
|
if [[ -n ${CURRENT_SCRIPT:-} ]]; then
|
||||||
|
echo "Failed script: $CURRENT_SCRIPT"
|
||||||
|
else
|
||||||
|
echo "$BASH_COMMAND"
|
||||||
|
fi
|
||||||
|
echo "The live ISO orchestrator will show the visible error screen."
|
||||||
|
} >&2
|
||||||
|
exit "$exit_code"
|
||||||
|
fi
|
||||||
|
|
||||||
restore_outputs
|
restore_outputs
|
||||||
|
|
||||||
clear_logo
|
clear_logo
|
||||||
|
|||||||
@@ -1,4 +1,9 @@
|
|||||||
start_log_output() {
|
start_log_output() {
|
||||||
|
# Offline ISO installs already have a live dashboard on tty1. The chrooted
|
||||||
|
# finalizer's stdout/stderr is captured to logs, so this monitor would only
|
||||||
|
# create noisy feedback in the log and burn CPU.
|
||||||
|
[[ -n ${OMARCHY_CHROOT_FINALIZER:-} ]] && return 0
|
||||||
|
|
||||||
local ANSI_SAVE_CURSOR="\033[s"
|
local ANSI_SAVE_CURSOR="\033[s"
|
||||||
local ANSI_RESTORE_CURSOR="\033[u"
|
local ANSI_RESTORE_CURSOR="\033[u"
|
||||||
local ANSI_CLEAR_LINE="\033[2K"
|
local ANSI_CLEAR_LINE="\033[2K"
|
||||||
|
|||||||
@@ -1,5 +1,16 @@
|
|||||||
stop_install_log
|
stop_install_log
|
||||||
|
|
||||||
|
# Offline ISO installs run inside arch-chroot while the live ISO orchestrator
|
||||||
|
# owns the visible UI. Never prompt from here: stdout/stderr may be captured to
|
||||||
|
# logs, leaving gum waiting invisibly on /dev/tty. The live orchestrator shows
|
||||||
|
# the final "installed in ... / reboot" screen after validation.
|
||||||
|
if install_mode_is offline; then
|
||||||
|
# Never risk an interactive sudo prompt in the chrooted ISO route. The
|
||||||
|
# orchestrator removes this shim after finalize.sh returns.
|
||||||
|
touch /var/tmp/omarchy-install-completed
|
||||||
|
return 0 2>/dev/null || exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
echo_in_style() {
|
echo_in_style() {
|
||||||
echo "$1" | tte --canvas-width 0 --anchor-text c --frame-rate 640 print
|
echo "$1" | tte --canvas-width 0 --anchor-text c --frame-rate 640 print
|
||||||
}
|
}
|
||||||
@@ -29,10 +40,5 @@ if gum confirm --padding "0 0 0 $((PADDING_LEFT + 32))" --show-help=false --defa
|
|||||||
# Clear screen to hide any shutdown messages
|
# Clear screen to hide any shutdown messages
|
||||||
clear
|
clear
|
||||||
|
|
||||||
if install_mode_is offline; then
|
|
||||||
touch /var/tmp/omarchy-install-completed
|
|
||||||
exit 0
|
|
||||||
else
|
|
||||||
sudo reboot 2>/dev/null
|
sudo reboot 2>/dev/null
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
abort() {
|
abort() {
|
||||||
echo -e "\e[31mOmarchy install requires: $1\e[0m"
|
echo -e "\e[31mOmarchy install requires: $1\e[0m"
|
||||||
echo
|
echo
|
||||||
|
if [[ -n ${OMARCHY_CHROOT_FINALIZER:-} ]]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
gum confirm "Proceed anyway on your own accord and without assistance?" || exit 1
|
gum confirm "Proceed anyway on your own accord and without assistance?" || exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user