Fix: beta_ver wird jetzt immer per API abgerufen

This commit is contained in:
Tim
2026-07-11 21:20:41 +02:00
parent 958ed3fef7
commit bca72afbe8
+7 -9
View File
@@ -51,12 +51,14 @@ parse_args() {
} }
get_local_version() { get_local_version() {
local version_line local version_output
if ! version_line=$(ollama --version 2>/dev/null); then # stdout und stderr erfassen; einige Ollama-Versionen geben die
# Versionszeile auf stderr aus, das sonst verworfen wuerde.
if ! version_output=$(ollama --version 2>&1); then
return 0 return 0
fi fi
printf '%s\n' "$version_line" | grep -oEm1 '[0-9]+\.[0-9]+\.[0-9]+[^[:space:]]*' || true printf '%s\n' "$version_output" | grep -oEm1 '[0-9]+\.[0-9]+\.[0-9]+[^[:space:]]*' || true
} }
# Helfer: GitHub-API abrufen und sicherstellen, dass die Antwort nicht leer ist. # Helfer: GitHub-API abrufen und sicherstellen, dass die Antwort nicht leer ist.
@@ -182,25 +184,21 @@ main() {
local_ver=$(get_local_version) local_ver=$(get_local_version)
# Nur benötigte API-Daten abrufen. # Immer Stable und Beta (neueste Release inkl. Pre-Releases) abrufen.
stable_ver=$(get_latest_version "$GITHUB_API/releases/latest") stable_ver=$(get_latest_version "$GITHUB_API/releases/latest")
if [[ -z "$stable_ver" ]]; then if [[ -z "$stable_ver" ]]; then
die "Ermittlung der aktuellen Stable-Version fehlgeschlagen." die "Ermittlung der aktuellen Stable-Version fehlgeschlagen."
fi fi
if [[ "$use_beta" == true ]]; then
beta_ver=$(get_latest_version "$GITHUB_API/releases?per_page=1") beta_ver=$(get_latest_version "$GITHUB_API/releases?per_page=1")
if [[ -z "$beta_ver" ]]; then if [[ -z "$beta_ver" ]]; then
die "Ermittlung der aktuellen Beta-Version fehlgeschlagen." die "Ermittlung der aktuellen Beta-Version fehlgeschlagen."
fi fi
else
beta_ver="$stable_ver"
fi
printf 'Lokal: %s\n' "${local_ver:-(nicht installiert)}" printf 'Lokal: %s\n' "${local_ver:-(nicht installiert)}"
printf 'Stable: %s\n' "$stable_ver" printf 'Stable: %s\n' "$stable_ver"
if [[ "$use_beta" == true ]] && [[ "$(cmp_versions "$beta_ver" "$stable_ver")" == 1 ]]; then if [[ "$(cmp_versions "$beta_ver" "$stable_ver")" == 1 ]]; then
printf 'Beta: %s\n' "$beta_ver" printf 'Beta: %s\n' "$beta_ver"
else else
printf 'Beta: keine neuere Beta verfuegbar\n' printf 'Beta: keine neuere Beta verfuegbar\n'