From a762bda77d461bdff142338bf142575b8102e2b6 Mon Sep 17 00:00:00 2001 From: Bertrand Gouny Date: Tue, 13 Oct 2026 22:04:51 +0200 Subject: [PATCH] fix(upgrade): detect downgrades at minor and patch levels version_lt kept the whole version as a single array element, so the arithmetic comparison failed and the function always returned false. Co-Authored-By: Claude Opus 5.5 --- services/openldap-upgrade/assets/scripts/common.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/services/openldap-upgrade/assets/scripts/common.sh b/services/openldap-upgrade/assets/scripts/common.sh index ca4fbf0..9e1c81e 100644 --- a/services/openldap-upgrade/assets/scripts/common.sh +++ b/services/openldap-upgrade/assets/scripts/common.sh @@ -14,7 +14,9 @@ extract_version() { version_lt() { local IFS=. - local -a v1=("$1") v2=("$2") + local -a v1 v2 + read -ra v1 <<< "$1" + read -ra v2 <<< "$2" for i in 0 1 2; do local a=${v1[i]:-0} b=${v2[i]:-0} (( 10#$a < 10#$b )) && return 0