Module: monitoring-plugins
 Branch: master
 Commit: 88683af1da8baae6b252795ab5d85a48e9cd3e63
 Author: Lorenz Kästle <lorenz.kaes...@netways.de>
   Date: Wed Jun 11 17:09:27 2025 +0200
    URL: 
https://www.monitoring-plugins.org/repositories/monitoring-plugins/commit/?id=88683af1

Implement autoconf logic for fping version detection

---

 configure.ac | 38 ++++++++++++++++++++++++++++++++++++--
 1 file changed, 36 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index ae704361..bec50cb4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1523,10 +1523,44 @@ AC_PATH_PROG(PATH_TO_FPING,fping)
 AC_ARG_WITH(fping_command,
             ACX_HELP_STRING([--with-fping-command=PATH],
                             [Path to fping command]), PATH_TO_FPING=$withval)
-if test -n "$PATH_TO_FPING"
-then
+if test -n "$PATH_TO_FPING"; then
        AC_DEFINE_UNQUOTED(PATH_TO_FPING,"$PATH_TO_FPING",[path to fping])
        EXTRAS="$EXTRAS check_fping\$(EXEEXT)"
+
+       if test -z "$($PATH_TO_FPING --version)"  ; then
+               AC_MSG_NOTICE([failed to get version of fping])
+       else
+               FPING_MAJOR_VERSION="$($PATH_TO_FPING --version | sed 
's/.*fping: Version //' | sed 's/\..*//')"
+               FPING_MINOR_VERSION="$($PATH_TO_FPING --version | sed 
's/.*fping: Version //' | sed 's/.*\.//')"
+
+               if test $FPING_MAJOR_VERSION -eq 5 ; then
+                       if test $FPING_MINOR_VERSION -ge 3 ; then
+                               AC_DEFINE(FPING_VERSION_5_3_OR_HIGHER, "true", 
[fping is of version 5.3 or higher])
+                               AC_MSG_NOTICE([fping is of version 5.3 or 
higher])
+                               AC_DEFINE(FPING_VERSION_5_2_OR_HIGHER, "true", 
[fping is of version 5.2 or higher])
+                               AC_MSG_NOTICE([fping is of version 5.2 or 
higher])
+                       elif test $FPING_MINOR_VERSION -ge 2 ; then
+                               AC_DEFINE(FPING_VERSION_5_2_OR_HIGHER, "true", 
[fping is of version 5.2 or higher])
+                               AC_MSG_NOTICE([fping is of version 5.2 or 
higher])
+                       else
+                               AC_MSG_NOTICE([fping is of a version lower then 
5.2])
+                       fi
+
+               elif $FPING_MAJOR_VERSION > 5 ; then
+                       AC_DEFINE(FPING_VERSION_5_2_OR_HIGHER, "true", [fping 
is of version 5.2 or higher])
+                       AC_MSG_NOTICE([fping is of version 5.2 or higher])
+                       AC_DEFINE(FPING_VERSION_5_3_OR_HIGHER, "true", [fping 
is of version 5.2 or higher])
+                       AC_MSG_NOTICE([fping is of version 5.3 or higher])
+               fi
+
+               if test "`fping --version | sed 's/.*fping: Version //'`" =  
"5.2" ; then
+                       AC_DEFINE(FPING_VERSION, "5.2", [the version of fping 
available])
+                       AC_MSG_NOTICE([fping version: 5.2])
+               elif test "`fping --version | sed 's/.*fping: Version //'`" =  
"5.3"; then
+                       AC_DEFINE(FPING_VERSION, "5.3", [the version of fping 
available])
+                       AC_MSG_NOTICE([fping version: 5.3])
+               fi
+       fi
 else
        AC_MSG_WARN([Get fping from http://www.fping.com in order to make 
check_fping plugin])
 fi

Reply via email to