From fca63e6761673c791cfaa825d793db906cb95ca6 Mon Sep 17 00:00:00 2001 From: Thomas Gelf Date: Thu, 26 Sep 2019 14:27:44 +0200 Subject: [PATCH] Icinga2Agent.bash: fix version comparison refs #1944 --- contrib/linux-agent-installer/Icinga2Agent.bash | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/contrib/linux-agent-installer/Icinga2Agent.bash b/contrib/linux-agent-installer/Icinga2Agent.bash index 657cc5df..82ac10e7 100644 --- a/contrib/linux-agent-installer/Icinga2Agent.bash +++ b/contrib/linux-agent-installer/Icinga2Agent.bash @@ -112,14 +112,8 @@ icinga_version() { "$ICINGA2_BIN" --version 2>/dev/null | grep -oP '\(version: [rv]?\K\d+\.\d+\.\d+[^\)]*' } -icinga_major() { - icinga_version | grep -oP '^\d+\.\d+' -} - -# only can do float like versions (1.x) -version_compare() { - # args: v1 op v2 - return "$(awk "BEGIN {print !($1 $2 $3)}")" +version() { + echo "$@" | awk -F. '{ printf("%03d%03d%03d\n", $1,$2,$3); }' } # Make sure icinga2 is installed and running @@ -135,7 +129,7 @@ if [ -z "${ICINGA2_SSLDIR}" ]; then info "Using old SSL directory: ${ICINGA2_SSLDIR_OLD}" info "Because you already have a certificate in ${ICINGA2_SSLDIR_OLD}/${ICINGA2_NODENAME}.crt" ICINGA2_SSLDIR="${ICINGA2_SSLDIR_OLD}" - elif version_compare "$(icinga_major)" ">=" 2.8 ; then + elif [ $(version $version) -gt $(version 2.8) ]; then info "Using new SSL directory: ${ICINGA2_SSLDIR_NEW}" ICINGA2_SSLDIR="${ICINGA2_SSLDIR_NEW}" else