Refactor Omada install and improve repo suite mapping

Refactored omada-install.sh to use setup_java and setup_mongodb functions, simplifying Java and MongoDB installation logic. Improved manage_tool_repository in tools.func to provide explicit suite mapping and fallbacks for newer or unknown Debian and Ubuntu releases, enhancing compatibility with future distributions. Minor comment translations and cleanups included.
This commit is contained in:
CanbiZ
2025-11-06 09:29:37 +01:00
parent 78b4375319
commit 5552a2beb4
2 changed files with 56 additions and 22 deletions

View File

@@ -450,7 +450,51 @@ manage_tool_repository() {
# Setup repository
local distro_codename
distro_codename=$(awk -F= '/^VERSION_CODENAME=/{print $2}' /etc/os-release)
suite=$(get_fallback_suite "$distro_id" "$distro_codename" "$repo_url")
# Suite mapping with fallback for newer releases not yet supported by upstream
if [[ "$distro_id" == "debian" ]]; then
case "$distro_codename" in
trixie | forky | sid)
# Testing/unstable releases fallback to latest stable suite
suite="bookworm"
;;
bookworm)
suite="bookworm"
;;
bullseye)
suite="bullseye"
;;
*)
# Unknown release: fallback to latest stable suite
msg_warn "Unknown Debian release '${distro_codename}', using bookworm"
suite="bookworm"
;;
esac
elif [[ "$distro_id" == "ubuntu" ]]; then
case "$distro_codename" in
oracular | plucky)
# Newer releases fallback to latest LTS
suite="noble"
;;
noble)
suite="noble"
;;
jammy)
suite="jammy"
;;
focal)
suite="focal"
;;
*)
# Unknown release: fallback to latest LTS
msg_warn "Unknown Ubuntu release '${distro_codename}', using noble"
suite="noble"
;;
esac
else
# For other distros, try generic fallback
suite=$(get_fallback_suite "$distro_id" "$distro_codename" "$repo_url")
fi
repo_component="main"
[[ "$distro_id" == "ubuntu" ]] && repo_component="multiverse"
@@ -4188,12 +4232,12 @@ function setup_uv() {
local TMP_DIR=$(mktemp -d)
local CACHED_VERSION
# Trap für TMP Cleanup
# trap for TMP Cleanup
trap "rm -rf '$TMP_DIR'" EXIT
CACHED_VERSION=$(get_cached_version "uv")
# Architektur-Detection
# Architecture Detection
local ARCH=$(uname -m)
local OS_TYPE=""
local UV_TAR=""