Compare commits

..

1 Commits

Author SHA1 Message Date
MickLesk eb8a211ce5 core: Handle LXC upgrade prompt cancellation
Clarify the upgrade prompt options in `create_lxc_container`, treat empty or unrecognized input as ignore instead of implicit cancel, and explicitly abort container creation when the user chooses Cancel.
2026-07-27 09:02:13 +02:00
3 changed files with 23 additions and 15 deletions
+5 -6
View File
@@ -29,9 +29,9 @@ function update_script() {
exit
fi
INSTALLED_VERSION="$( [[ -f "$HOME/.vikunja" ]] && cat "$HOME/.vikunja" 2>/dev/null || [[ -f /opt/Vikunja_version ]] && cat /opt/Vikunja_version 2>/dev/null || true)"
if [[ -z "$INSTALLED_VERSION" ]] || [[ "$INSTALLED_VERSION" == "unstable" ]] || dpkg --compare-versions "${INSTALLED_VERSION:-0.0.0}" lt "1.0.0"; then
msg_warn "You are upgrading from Vikunja '$INSTALLED_VERSION'."
RELEASE="$( [[ -f "$HOME/.vikunja" ]] && cat "$HOME/.vikunja" 2>/dev/null || [[ -f /opt/Vikunja_version ]] && cat /opt/Vikunja_version 2>/dev/null || true)"
if [[ -z "$RELEASE" ]] || [[ "$RELEASE" == "unstable" ]] || dpkg --compare-versions "${RELEASE:-0.0.0}" lt "1.0.0"; then
msg_warn "You are upgrading from Vikunja '$RELEASE'."
msg_warn "This requires MANUAL config changes in /etc/vikunja/config.yml."
msg_warn "See: https://vikunja.io/changelog/whats-new-in-vikunja-1.0.0/#config-changes"
@@ -46,8 +46,7 @@ function update_script() {
[[ "$CONFIRM2" =~ ^[yY]$ ]] || exit 0
fi
RELEASE="v2.3.0"
if check_for_gh_release "vikunja" "go-vikunja/vikunja" "${RELEASE}" "v2.4.0 is killed at startup by the systemd SystemCallFilter shipped in the .deb (upstream go-vikunja/vikunja#3252); pinned until a fixed release is out"; then
if check_for_gh_release "vikunja" "go-vikunja/vikunja"; then
echo
msg_warn "The package update may include config file changes."
echo -e "${TAB}${YW}How do you want to handle /etc/vikunja/config.yml?${CL}"
@@ -66,7 +65,7 @@ function update_script() {
systemctl stop vikunja
msg_ok "Stopped Service"
fetch_and_deploy_gh_release "vikunja" "go-vikunja/vikunja" "binary" "${RELEASE}" "" "vikunja-*-$(arch_resolve "x86_64" "aarch64").deb"
fetch_and_deploy_gh_release "vikunja" "go-vikunja/vikunja" "binary" "latest" "" "vikunja-*-$(arch_resolve "x86_64" "aarch64").deb"
$STD systemctl daemon-reload
msg_info "Starting Service"
+1 -2
View File
@@ -13,8 +13,7 @@ setting_up_container
network_check
update_os
RELEASE="v2.3.0"
fetch_and_deploy_gh_release "vikunja" "go-vikunja/vikunja" "binary" "${RELEASE}" "" "vikunja-*-$(arch_resolve "x86_64" "aarch64").deb"
fetch_and_deploy_gh_release "vikunja" "go-vikunja/vikunja" "binary" "latest" "" "vikunja-*-$(arch_resolve "x86_64" "aarch64").deb"
msg_info "Setting up Vikunja"
sed -i 's|^# \(service:\)|\1|' /etc/vikunja/config.yml
+17 -7
View File
@@ -6070,14 +6070,14 @@ create_lxc_container() {
_has_fallback_option=true
echo " [1] Run host upgrade now (recommended). WARNING: this runs apt upgrade and updates all Packages on your host!"
echo " [2] Use an older ${PCT_OSTYPE} template instead (may not work with all scripts)"
echo " [3] Ignore"
echo " [4] Cancel"
echo " [3] Ignore (continue without upgrading)"
echo " [4] Cancel (abort the script)"
echo
read -rp "Select option [1/2/3/4]: " _ans </dev/tty
else
echo " [1] Run host upgrade now (recommended). WARNING: this runs apt upgrade and updates all Packages on your host!"
echo " [2] Ignore"
echo " [3] Cancel"
echo " [2] Ignore (continue without upgrading)"
echo " [3] Cancel (abort the script)"
echo
read -rp "Select option [1/2/3]: " _ans </dev/tty
fi
@@ -6101,7 +6101,8 @@ create_lxc_container() {
return 4
;;
*)
return 4
# Unrecognized/empty input: treat as ignore, never as an implicit cancel
return 2
;;
esac
else
@@ -6112,9 +6113,13 @@ create_lxc_container() {
2)
return 2
;;
*)
3)
return 4
;;
*)
# Unrecognized/empty input: treat as ignore, never as an implicit cancel
return 2
;;
esac
fi
@@ -6701,7 +6706,12 @@ create_lxc_container() {
if [[ "$PCT_OSTYPE" == "debian" ]]; then
OSVER="$(parse_template_osver "$TEMPLATE")"
if [[ -n "$OSVER" ]]; then
offer_lxc_stack_upgrade_and_maybe_retry "no" || true
local _lxc_stack_rc=0
offer_lxc_stack_upgrade_and_maybe_retry "no" || _lxc_stack_rc=$?
# 4 = user chose "Cancel" -> honor it and abort before creating the container
if [[ $_lxc_stack_rc -eq 4 ]]; then
exit_script
fi
fi
fi