X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=configure.in;h=b209d19ad53a8ab5039a293e4092be5a815aef7d;hb=9ea5f808f64b044e76473795cd80c11edbf3eb17;hp=0cced59781643ab201783d118ee27eb64d949135;hpb=8d91bdc4bc0004ca2c651ed64636245db5475a79;p=nagiosplug.git diff --git a/configure.in b/configure.in index 0cced59..b209d19 100644 --- a/configure.in +++ b/configure.in @@ -1,7 +1,7 @@ dnl Process this file with autoconf to produce a configure script. AC_REVISION ($Revision$) AC_PREREQ(2.58) -AC_INIT(nagios-plugins,1.4-beta1) +AC_INIT(nagios-plugins,1.5) AC_CONFIG_SRCDIR(Helper.pm) AM_INIT_AUTOMAKE AM_CONFIG_HEADER(config.h) @@ -101,8 +101,15 @@ AC_SUBST(REV_TIMESTAMP) dnl Checks for programs. AC_PATH_PROG(PYTHON,python) -AC_PATH_PROG(PERL,perl) AC_PATH_PROG(SH,sh) +AC_PATH_PROG(PERL,perl) + +dnl allow them to override the path of perl +AC_ARG_WITH(perl, + ACX_HELP_STRING([--with-perl=PATH], + [sets path to perl executable]), + with_perl=$withval,with_perl=$PERL) +AC_SUBST(PERL, $with_perl) AC_PATH_PROG(HOSTNAME,hostname) AC_PATH_PROG(BASENAME,basename) @@ -130,6 +137,11 @@ AC_CHECK_LIB(socket,socket,SOCKETLIBS="$SOCKETLIBS -lsocket") AC_CHECK_LIB(resolv,main,SOCKETLIBS="$SOCKETLIBS -lresolv") AC_SUBST(SOCKETLIBS) +dnl +dnl check for math-related functions needing -lm +AC_CHECK_LIB(m,floor,MATHLIBS="-lm") +AC_SUBST(MATHLIBS) + dnl Check for PostgreSQL libraries _SAVEDLIBS="$LIBS" _SAVEDCPPFLAGS="$CPPFLAGS" @@ -255,87 +267,6 @@ fi CPPFLAGS="$_SAVEDCPPFLAGS $MYSQLINCLUDE" LIBS="$_SAVEDLIBS" -dnl Check for OpenSSL location -AC_PATH_PROG(OPENSSL,openssl) -if test "$OPENSSL" = "/usr/bin/openssl"; then - OPENSSL=/usr -elif test "$OPENSSL" = "/usr/sbin/openssl"; then - OPENSSL=/usr -elif test "$OPENSSL" = "/opt/bin/openssl"; then - OPENSSL=/opt -elif test "$OPENSSL" = "/opt/openssl/bin/openssl"; then - OPENSSL=/opt/openssl -elif test "$OPENSSL" = "/usr/slocal/bin/openssl"; then - OPENSSL=/usr/slocal -elif test "$OPENSSL" = "/usr/local/bin/openssl"; then - OPENSSL=/usr/local -elif test "$OPENSSL" = "/usr/local/ssl/bin/openssl"; then - OPENSSL=/usr/local/ssl -fi -AC_ARG_WITH(openssl, -AC_HELP_STRING([--with-openssl=DIR], [sets path to openssl installation]) -AC_HELP_STRING([--without-openssl], [disable openssl]), -OPENSSL=$withval) - -if test X"$OPENSSL" = "Xno"; then - AC_MSG_WARN([openssl disabled, you will not be able to use ssl options in some plugins]) - FOUNDSSL="dontbother" -else - dnl Check for OpenSSL header files - unset FOUNDINCLUDE - _SAVEDCPPFLAGS="$CPPFLAGS" - if test "$OPENSSL" != "/usr"; then - CPPFLAGS="$CPPFLAGS -I$OPENSSL/include" - fi - AC_CHECK_HEADERS(openssl/ssl.h openssl/x509.h openssl/rsa.h openssl/pem.h openssl/crypto.h openssl/err.h, - SSLINCLUDE="-I$OPENSSL/include" - FOUNDINCLUDE=yes, - FOUNDINCLUDE=no) - if test "$FOUNDINCLUDE" = "no"; then - AC_CHECK_HEADERS(ssl.h x509.h rsa.h pem.h crypto.h err.h, - SSLINCLUDE="-I$OPENSSL/include" - FOUNDINCLUDE=yes, - FOUNDINCLUDE=no) - fi - AC_SUBST(SSLINCLUDE) - if test "$FOUNDINCLUDE" = "no"; then - CPPFLAGS="$_SAVEDCPPFLAGS" - fi - - dnl Check for crypto lib - _SAVEDLIBS="$LIBS" - AC_CHECK_LIB(crypto,CRYPTO_lock,,,-L$OPENSSL/lib) - if test "$ac_cv_lib_crypto_CRYPTO_lock" = "yes"; then - dnl Check for SSL lib - AC_CHECK_LIB(ssl,main,LDFLAGS="$LDFLAGS -L$OPENSSL/lib" SSLLIBS="-lssl -lcrypto",AC_CHECK_LIB(ssl,main,LDFLAGS="$LDFLAGS -L$OPENSSL/lib" SSLLIBS="-lssl -lcrypto"),-L$OPENSSL/lib -lcrypto) - fi - LIBS="$_SAVEDLIBS" - - FOUNDSSL="no" - dnl test headers and libs to decide whether check_http should use SSL - if test "$ac_cv_lib_crypto_CRYPTO_lock" = "yes"; then - if test "$ac_cv_lib_ssl_main" = "yes"; then - if test "$FOUNDINCLUDE" = "yes"; then - FOUNDSSL="yes" - fi - fi - fi -fi - -if test "$FOUNDSSL" = "yes"; then - check_tcp_ssl="check_simap check_spop check_jabber check_nntps" - AC_SUBST(check_tcp_ssl) - AC_SUBST(SSLLIBS) - AC_DEFINE(HAVE_SSL,1,[Define if SSL libraries are found]) - with_openssl="yes" -elif test "$FOUNDSSL" = "no"; then - AC_MSG_WARN([OpenSSL libs could not be found]) - with_openssl="no" -else - with_openssl="no" -fi -CPPFLAGS="$_SAVEDCPPFLAGS" - AC_CHECK_HEADERS(unistd.h) dnl Check for AF_INET6 support - unistd.h required for Darwin @@ -462,6 +393,7 @@ if test x"$enable_emulate_getaddrinfo" != xno ; then fi +dnl Checks for Kerberos. Must come before openssl checks for Redhat EL 3 AC_CHECK_HEADERS(krb5.h,FOUNDINCLUDE=yes,FOUNDINCLUDE=no) if test "$FOUNDINCLUDE" = "no"; then _SAVEDCPPFLAGS="$CPPFLAGS" @@ -477,6 +409,91 @@ if test "$FOUNDINCLUDE" = "no"; then CPPFLAGS="$_SAVEDCPPFLAGS" fi +dnl Check for OpenSSL location +AC_PATH_PROG(OPENSSL,openssl) +if test "$OPENSSL" = "/usr/bin/openssl"; then + OPENSSL=/usr +elif test "$OPENSSL" = "/usr/sbin/openssl"; then + OPENSSL=/usr +elif test "$OPENSSL" = "/opt/bin/openssl"; then + OPENSSL=/opt +elif test "$OPENSSL" = "/opt/openssl/bin/openssl"; then + OPENSSL=/opt/openssl +elif test "$OPENSSL" = "/usr/slocal/bin/openssl"; then + OPENSSL=/usr/slocal +elif test "$OPENSSL" = "/usr/local/bin/openssl"; then + OPENSSL=/usr/local +elif test "$OPENSSL" = "/usr/local/ssl/bin/openssl"; then + OPENSSL=/usr/local/ssl +fi +AC_ARG_WITH(openssl, +AC_HELP_STRING([--with-openssl=DIR], [sets path to openssl installation]) +AC_HELP_STRING([--without-openssl], [disable openssl]), +OPENSSL=$withval) + +_SAVEDCPPFLAGS="$CPPFLAGS" +_SAVEDLDFLAGS="$LDFLAGS" +if test X"$OPENSSL" = "Xno"; then + AC_MSG_WARN([openssl disabled, you will not be able to use ssl options in some plugins]) + FOUNDSSL="dontbother" +else + dnl Check for OpenSSL header files + unset FOUNDINCLUDE + if test "$OPENSSL" != "/usr"; then + CPPFLAGS="$CPPFLAGS -I$OPENSSL/include" + LDFLAGS="$LDFLAGS -R$OPENSSL/lib" + fi + AC_CHECK_HEADERS(openssl/ssl.h openssl/x509.h openssl/rsa.h openssl/pem.h openssl/crypto.h openssl/err.h, + SSLINCLUDE="-I$OPENSSL/include" + FOUNDINCLUDE=yes, + FOUNDINCLUDE=no) + if test "$FOUNDINCLUDE" = "no"; then + AC_CHECK_HEADERS(ssl.h x509.h rsa.h pem.h crypto.h err.h, + SSLINCLUDE="-I$OPENSSL/include" + FOUNDINCLUDE=yes, + FOUNDINCLUDE=no) + fi + AC_SUBST(SSLINCLUDE) + if test "$FOUNDINCLUDE" = "no"; then + CPPFLAGS="$_SAVEDCPPFLAGS" + fi + + dnl Check for crypto lib + _SAVEDLIBS="$LIBS" + AC_CHECK_LIB(crypto,CRYPTO_lock,,,-L$OPENSSL/lib) + if test "$ac_cv_lib_crypto_CRYPTO_lock" = "yes"; then + dnl Check for SSL lib + AC_CHECK_LIB(ssl,main,LDFLAGS="$LDFLAGS -L$OPENSSL/lib" SSLLIBS="-lssl -lcrypto",AC_CHECK_LIB(ssl,main,LDFLAGS="$LDFLAGS -L$OPENSSL/lib" SSLLIBS="-lssl -lcrypto"),-L$OPENSSL/lib -lcrypto) + fi + LIBS="$_SAVEDLIBS" + + FOUNDSSL="no" + dnl test headers and libs to decide whether check_http should use SSL + if test "$ac_cv_lib_crypto_CRYPTO_lock" = "yes"; then + if test "$ac_cv_lib_ssl_main" = "yes"; then + if test "$FOUNDINCLUDE" = "yes"; then + FOUNDSSL="yes" + fi + fi + fi +fi + +if test "$FOUNDSSL" = "yes"; then + check_tcp_ssl="check_simap check_spop check_jabber check_nntps check_ssmtp" + AC_SUBST(check_tcp_ssl) + AC_SUBST(SSLLIBS) + AC_DEFINE(HAVE_SSL,1,[Define if SSL libraries are found]) + with_openssl="yes" +else + if test "$FOUNDSSL" = "no"; then + AC_MSG_WARN([OpenSSL libs could not be found]) + dnl else deliberately disabled + fi + with_openssl="no" + CPPFLAGS="$_SAVEDCPPFLAGS" + LDFLAGS="$_SAVEDLDFLAGS" +fi + dnl dnl Checks for header files. dnl @@ -555,7 +572,7 @@ AC_TRY_COMPILE([#include ], AC_DEFINE(NEED_GETTIMEOFDAY,1,[Define if gettimeofday is needed]))) dnl Checks for library functions. -AC_CHECK_FUNCS(memmove select socket strdup strstr strtod strtol strtoul) +AC_CHECK_FUNCS(memmove select socket strdup strstr strtod strtol strtoul, floor) AC_MSG_CHECKING(return type of socket size) AC_TRY_COMPILE([#include @@ -581,46 +598,69 @@ dnl #### Process table test AC_PATH_PROG(PATH_TO_PS,ps) AC_MSG_CHECKING(for ps syntax) +dnl Some gnu/linux systems (debian for one) don't like -axwo and need axwo. +dnl so test for this first... +if ps axwo 'stat comm vsz rss user uid pid ppid args' 2>/dev/null | \ + egrep -i ["^ *STAT +[UCOMAND]+ +VSZ +RSS +USER +UID +PID +PPID +COMMAND"] > /dev/null +then + ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]" + ac_cv_ps_command="$PATH_TO_PS axwo 'stat uid pid ppid vsz rss pcpu comm args'" + ac_cv_ps_format="%s %d %d %d %d %d %f %s %n" + ac_cv_ps_cols=9 + AC_MSG_RESULT([$ac_cv_ps_command]) + dnl For OpenBSD 3.2 & 3.3. Must come before ps -weo dnl Should also work for FreeBSD 5.2.1 and 5.3 dnl STAT UCOMM VSZ RSS USER PPID COMMAND -if ps -axwo 'stat comm vsz rss user uid ppid args' 2>/dev/null | \ - egrep -i ["^ *STAT +[UCOMAND]+ +VSZ +RSS +USER +UID +PPID +COMMAND"] > /dev/null +elif ps -axwo 'stat comm vsz rss user uid pid ppid args' 2>/dev/null | \ + egrep -i ["^ *STAT +[UCOMAND]+ +VSZ +RSS +USER +UID +PID +PPID +COMMAND"] > /dev/null then - ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]" - ac_cv_ps_command="$PATH_TO_PS -axwo 'stat uid ppid vsz rss pcpu comm args'" - ac_cv_ps_format="%s %d %d %d %d %f %s %n" - ac_cv_ps_cols=8 + ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]" + ac_cv_ps_command="$PATH_TO_PS -axwo 'stat uid pid ppid vsz rss pcpu comm args'" + ac_cv_ps_format="%s %d %d %d %d %d %f %s %n" + ac_cv_ps_cols=9 AC_MSG_RESULT([$ac_cv_ps_command]) -dnl STAT UCOMM VSZ RSS USER UID PPID COMMAND -elif ps -weo 'stat comm vsz rss user uid ppid etime args' 2>/dev/null | \ - egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[PID]+ +[ELAPSD]+ +[RGSCOMDNA]+"] >/dev/null +dnl Some *BSDs have different format for ps. This is mainly to catch FreeBSD 4. +dnl Limitation: Only first 16 chars returned for ucomm field +dnl Must come before ps -weo +elif ps -axwo 'stat uid pid ppid vsz rss pcpu ucomm command' 2>/dev/null | \ + egrep -i ["^ *STAT +UID +PID +PPID +VSZ +RSS +%CPU +UCOMM +COMMAND"] > /dev/null then - ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procetime,procprog,&pos]" - ac_cv_ps_command="$PATH_TO_PS -weo 'stat uid ppid vsz rss pcpu etime comm args'" - ac_cv_ps_format="%s %d %d %d %d %f %s %s %n" + ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]" + ac_cv_ps_command="$PATH_TO_PS -axwo 'stat uid pid ppid vsz rss pcpu ucomm command'" + ac_cv_ps_format="%s %d %d %d %d %d %f %s %n" ac_cv_ps_cols=9 AC_MSG_RESULT([$ac_cv_ps_command]) +dnl STAT UCOMM VSZ RSS USER UID PPID COMMAND +elif ps -weo 'stat comm vsz rss user uid pid ppid etime args' 2>/dev/null | \ + egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[ID]+ +P[PID]+ +[ELAPSD]+ +[RGSCOMDNA]+"] >/dev/null +then + ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procetime,procprog,&pos]" + ac_cv_ps_command="$PATH_TO_PS -weo 'stat uid pid ppid vsz rss pcpu etime comm args'" + ac_cv_ps_format="%s %d %d %d %d %d %f %s %s %n" + ac_cv_ps_cols=10 + AC_MSG_RESULT([$ac_cv_ps_command]) + dnl FreeBSD -elif ps waxco 'state command vsz rss uid user ppid' 2>/dev/null | \ - egrep -i ["^STAT +COMMAND +VSZ +RSS +UID +USER +PPID"] >/dev/null +elif ps waxco 'state command vsz rss uid user pid ppid' 2>/dev/null | \ + egrep -i ["^STAT +COMMAND +VSZ +RSS +UID +USER +PID +PPID"] >/dev/null then - ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]" - ac_cv_ps_command="$PATH_TO_PS waxco 'state uid ppid vsz rss pcpu command command'" - ac_cv_ps_format="%s %d %d %d %d %f %s %n" - ac_cv_ps_cols=8 + ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]" + ac_cv_ps_command="$PATH_TO_PS waxco 'state uid pid ppid vsz rss pcpu command command'" + ac_cv_ps_format="%s %d %d %d %d %d %f %s %n" + ac_cv_ps_cols=9 AC_MSG_RESULT([$ac_cv_ps_command]) dnl BSD-like mode in RH 6.1 -elif ps waxno 'state comm vsz rss uid user ppid args' 2>/dev/null | \ - egrep -i ["^S +COMMAND +VSZ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null +elif ps waxno 'state comm vsz rss uid user pid ppid args' 2>/dev/null | \ + egrep -i ["^S +COMMAND +VSZ +RSS +UID +USER +PID +PPID +[RGSCOMDNA]+"] >/dev/null then - ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]" - ac_cv_ps_command="$PATH_TO_PS waxno 'state uid ppid vsz rss pcpu comm args'" - ac_cv_ps_format="%s %d %d %d %d %f %s %n" - ac_cv_ps_cols=8 + ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]" + ac_cv_ps_command="$PATH_TO_PS waxno 'state uid pid ppid vsz rss pcpu comm args'" + ac_cv_ps_format="%s %d %d %d %d %d %f %s %n" + ac_cv_ps_cols=9 AC_MSG_RESULT([$ac_cv_ps_command]) dnl SunOS 4.1.3: @@ -629,10 +669,10 @@ dnl Need the head -1 otherwise test will work because arguments are found elif ps -laxnwww 2>/dev/null | head -1 | \ egrep -i ["^ *F(LAGS)? +UID +PID +PPID +CP +PRI +NI +(SZ)|(VSZ)|(SIZE) +RSS +WCHAN +STAT? +TTY? +TIME +COMMAND"] >/dev/null then - ac_cv_ps_varlist="[&procuid,&procppid,&procvsz,&procrss,procstat,&pos,procprog]" + ac_cv_ps_varlist="[&procuid,&procpid,&procppid,&procvsz,&procrss,procstat,&pos,procprog]" ac_cv_ps_command="$PATH_TO_PS -laxnwww" - ac_cv_ps_format="%*s %d %*s %d %*s %*s %*s %d %d %*s %s %*s %*s %n%s" - ac_cv_ps_cols=8 + ac_cv_ps_format="%*s %d %d %d %*s %*s %*s %d %d %*s %s %*s %*s %n%s" + ac_cv_ps_cols=9 AC_MSG_RESULT([$ac_cv_ps_command]) dnl Debian Linux / procps v1.2.9: @@ -642,109 +682,110 @@ dnl elif ps laxnwww 2>/dev/null | \ egrep -i ["^ *F(LAGS)? +UID +PID +PPID +PRI +NI +(VSZ)|(SIZE) +RSS +WCHAN +STAT? TTY +TIME +COMMAND"] >/dev/null then - ac_cv_ps_varlist="[&procuid,&procppid,procstat,&procvsz,&procrss,&pos,procprog]" + ac_cv_ps_varlist="[&procuid,&procpid,&procppid,procstat,&procvsz,&procrss,&pos,procprog]" ac_cv_ps_command="$PATH_TO_PS laxnwww" - ac_cv_ps_format="%*s %d %*s %d %*s %*s %d %d %*s %s %*s %*s %n%s" - ac_cv_ps_cols=8 + ac_cv_ps_format="%*s %d %d %d %*s %*s %d %d %*s %s %*s %*s %n%s" + ac_cv_ps_cols=9 AC_MSG_RESULT([$ac_cv_ps_command]) dnl OpenBSD (needs to come early because -exo appears to work, but does not give all procs) -elif ps -axo 'stat comm vsz rss user uid ppid args' 2>/dev/null | \ - egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null +elif ps -axo 'stat comm vsz rss user uid pid ppid args' 2>/dev/null | \ + egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[PID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null then - ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]" - ac_cv_ps_command="$PATH_TO_PS -axo 'stat uid ppid vsz rss pcpu comm args'" - ac_cv_ps_format="%s %d %d %d %d %f %s %n" - ac_cv_ps_cols=8 + ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]" + ac_cv_ps_command="$PATH_TO_PS -axo 'stat uid pid ppid vsz rss pcpu comm args'" + ac_cv_ps_format="%s %d %d %d %d %d %f %s %n" + ac_cv_ps_cols=9 AC_MSG_RESULT([$ac_cv_ps_command]) dnl Tru64 - needs %*[ +] in PS_FORMAT -elif ps -ao 'stat comm vsz rss user uid ppid args' 2>/dev/null | \ - egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null +elif ps -ao 'stat comm vsz rss user uid pid ppid args' 2>/dev/null | \ + egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[ID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null then - ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]" - ac_cv_ps_command="$PATH_TO_PS -ao 'stat uid ppid vsz rss pcpu comm args'" - ac_cv_ps_format=["%s%*[ +] %d %d %d %d %f %s %n"] - ac_cv_ps_cols=8 + ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]" + ac_cv_ps_command="$PATH_TO_PS -ao 'stat uid pid ppid vsz rss pcpu comm args'" + ac_cv_ps_format=["%s%*[ +] %d %d %d %d %d %f %s %n"] + ac_cv_ps_cols=9 AC_MSG_RESULT([$ac_cv_ps_command]) -elif ps -eo 's comm vsz rss user uid ppid args' 2>/dev/null | \ - egrep -i ["^S[TAUES]* +C[OMDNA]+ +[VSIZE]+ +U[SER]+ +U[ID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null +XXX +elif ps -eo 's comm vsz rss user uid pid ppid args' 2>/dev/null | \ + egrep -i ["^S[TAUES]* +C[OMDNA]+ +[VSIZE]+ +U[SER]+ +U[ID]+ +P[PID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null then - ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]" - ac_cv_ps_command="$PATH_TO_PS -eo 's uid ppid vsz rss pcpu comm args'" - ac_cv_ps_format="%s %d %d %d %d %f %s %n" - ac_cv_ps_cols=8 + ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procpid,&procvsz,&procrss,&procpcpu,procprog,&pos]" + ac_cv_ps_command="$PATH_TO_PS -eo 's uid pid ppid vsz rss pcpu comm args'" + ac_cv_ps_format="%s %d %d %d %d %d %f %s %n" + ac_cv_ps_cols=9 AC_MSG_RESULT([$ac_cv_ps_command]) dnl AIX 4.3.3 and 5.1 do not have an rss field -elif ps -eo 'stat uid ppid vsz pcpu comm args' 2>/dev/null | \ - egrep -i ["^ *S[TAUES]* +UID +PPID +VSZ +%CPU +COMMAND +COMMAND"] >/dev/null +elif ps -eo 'stat uid pid ppid vsz pcpu comm args' 2>/dev/null | \ + egrep -i ["^ *S[TAUES]* +UID +PID +PPID +VSZ +%CPU +COMMAND +COMMAND"] >/dev/null then - ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procpcpu,procprog,&pos]" - ac_cv_ps_command="$PATH_TO_PS -eo 'stat uid ppid vsz pcpu comm args'" - ac_cv_ps_format="%s %d %d %d %f %s %n" - ac_cv_ps_cols=7 + ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procpid,&procvsz,&procpcpu,procprog,&pos]" + ac_cv_ps_command="$PATH_TO_PS -eo 'stat uid pid ppid vsz pcpu comm args'" + ac_cv_ps_format="%s %d %d %d %d %f %s %n" + ac_cv_ps_cols=8 AC_MSG_RESULT([$ac_cv_ps_command - with no RSS]) dnl Solaris 2.6 -elif ps -Ao 's comm vsz rss uid user ppid args' 2>/dev/null | \ - egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null +elif ps -Ao 's comm vsz rss uid user pid ppid args' 2>/dev/null | \ + egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PID +PPID +[RGSCOMDNA]+"] >/dev/null then - ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]" - ac_cv_ps_command="$PATH_TO_PS -Ao 's uid ppid vsz rss pcpu comm args'" + ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procpid,&procvsz,&procrss,&procpcpu,procprog,&pos]" + ac_cv_ps_command="$PATH_TO_PS -Ao 's uid pid ppid vsz rss pcpu comm args'" # There must be no space between the %s and %n due to a wierd problem in sscanf where # it will return %n as longer than the line length - ac_cv_ps_format="%s %d %d %d %d %f %s%n" - ac_cv_ps_cols=8 + ac_cv_ps_format="%s %d %d %d %d %d %f %s%n" + ac_cv_ps_cols=9 AC_MSG_RESULT([$ac_cv_ps_command]) -elif ps -Ao 'status comm vsz rss uid user ppid args' 2>/dev/null | \ - egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null +elif ps -Ao 'status comm vsz rss uid user pid ppid args' 2>/dev/null | \ + egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PID +PPID +[RGSCOMDNA]+"] >/dev/null then - ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]" - ac_cv_ps_command="$PATH_TO_PS -Ao 'status uid ppid vsz rss pcpu comm args'" - ac_cv_ps_format="%s %d %d %d %d %f %s %n" - ac_cv_ps_cols=8 + ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procpid,&procvsz,&procrss,&procpcpu,procprog,&pos]" + ac_cv_ps_command="$PATH_TO_PS -Ao 'status uid pid ppid vsz rss pcpu comm args'" + ac_cv_ps_format="%s %d %d %d %d %d %f %s %n" + ac_cv_ps_cols=9 AC_MSG_RESULT([$ac_cv_ps_command]) -elif ps -Ao 'state comm vsz rss uid user ppid args' 2>/dev/null | \ - egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null +elif ps -Ao 'state comm vsz rss uid user pid ppid args' 2>/dev/null | \ + egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PID +PPID +[RGSCOMDNA]+"] >/dev/null then - ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]" - ac_cv_ps_command="$PATH_TO_PS -Ao 'state uid ppid vsz rss pcpu comm args'" - ac_cv_ps_format="%s %d %d %d %d %f %s %n" - ac_cv_ps_cols=8 + ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procpid,&procvsz,&procrss,&procpcpu,procprog,&pos]" + ac_cv_ps_command="$PATH_TO_PS -Ao 'state uid pid ppid vsz rss pcpu comm args'" + ac_cv_ps_format="%s %d %d %d %d %d %f %s %n" + ac_cv_ps_cols=9 AC_MSG_RESULT([$ac_cv_ps_command]) dnl wonder who takes state instead of stat -elif ps -ao 'state command vsz rss user ppid args' 2>/dev/null | \ - egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null +elif ps -ao 'state command vsz rss user pid ppid args' 2>/dev/null | \ + egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PID +PPID +[RGSCOMDNA]+"] >/dev/null then - ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]" - ac_cv_ps_command="$PATH_TO_PS -ao 'state uid ppid vsz rss pcpu command args'" - ac_cv_ps_format="%s %d %d %d %d %f %s %n" - ac_cv_ps_cols=7 + ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procpid,&procvsz,&procrss,&procpcpu,procprog,&pos]" + ac_cv_ps_command="$PATH_TO_PS -ao 'state uid pid ppid vsz rss pcpu command args'" + ac_cv_ps_format="%s %d %d %d %d %d %f %s %n" + ac_cv_ps_cols=8 AC_MSG_RESULT([$ac_cv_ps_command]) dnl IRIX 53 elif ps -el 2>/dev/null | \ egrep -i ["^ *F +S +UID +PID +PPID +C +PRI +NI +P +SZ +RSS +WCHAN +TTY +TIME +[RGSCOMDNA]+"] >/dev/null then - ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&pos,procprog]" + ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procpid,&procvsz,&procrss,&pos,procprog]" ac_cv_ps_command="$PATH_TO_PS -el (IRIX 53)" - ac_cv_ps_format="%*s %s %d %*s %d %*s %*s %*s %*s %d %d %*s %*s %*s %n%s" - ac_cv_ps_cols=7 + ac_cv_ps_format="%*s %s %d %d %d %*s %*s %*s %*s %d %d %*s %*s %*s %n%s" + ac_cv_ps_cols=8 AC_MSG_RESULT([$ac_cv_ps_command]) dnl IRIX 63 elif ps -el 2>/dev/null | \ egrep -i ["^ *F +S +UID +PID +PPID +C +PRI +NI +P +ADDR +SZ +RSS +WCHAN +TTY +TIME +[RGSCOMDNA]+"] >/dev/null then - ac_cv_ps_varlist="[procstat,&procuid,&procppid,&pos,procprog]" + ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procpid,&pos,procprog]" ac_cv_ps_command="$PATH_TO_PS -el (IRIX 63)" - ac_cv_ps_format="%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s" - ac_cv_ps_cols=5 + ac_cv_ps_format="%*s %s %d %d %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s" + ac_cv_ps_cols=6 AC_MSG_RESULT([$ac_cv_ps_command]) dnl AIX 4.1: @@ -753,20 +794,20 @@ dnl 303 A 0 0 0 120 16 -- 1c07 20 24 - 0:45 elif ps -el 2>/dev/null | \ egrep -i ["^ *F +S +UID +PID +PPID +C +PRI +NI +ADDR +SZ +WCHAN +TTY +TIME +[RGSCOMDNA]+"] >/dev/null then - ac_cv_ps_varlist="[procstat,&procuid,&procppid,&pos,procprog]" + ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procpid,&pos,procprog]" ac_cv_ps_command="$PATH_TO_PS -el (AIX 4.1 and HP-UX)" - ac_cv_ps_format="%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %n%s" - ac_cv_ps_cols=5 + ac_cv_ps_format="%*s %s %d %d %d %*s %*s %*s %*s %*s %*s %*s %*s %n%s" + ac_cv_ps_cols=6 AC_MSG_RESULT([$ac_cv_ps_command]) dnl AIX? elif ps glaxen 2>/dev/null | \ egrep -i ["^ *F +UID +PID +PPID +PRI +NI +VSZ +RSS +WCHAN +STAT +TTY +TIME +COMMAND"] >/dev/null then - ac_cv_ps_varlist="[&procuid,&procppid,&procvsz,&procrss,procstat,&pos,procprog]" + ac_cv_ps_varlist="[&procuid,&procpid,&procpid,&procvsz,&procrss,procstat,&pos,procprog]" ac_cv_ps_command="$PATH_TO_PS glaxen" - ac_cv_ps_format="%*s %d %*s %d %*s %*s %d %d %*s %s %*s %*s %n%s" - ac_cv_ps_cols=7 + ac_cv_ps_format="%*s %d %d %d %*s %*s %d %d %*s %s %*s %*s %n%s" + ac_cv_ps_cols=8 AC_MSG_RESULT([$ac_cv_ps_command]) dnl MacOSX / Darwin @@ -774,24 +815,25 @@ dnl TODO: MacOSX has commands with spaces which will cause problems to PS_FORMAT dnl Some truncation will happen in UCOMM column dnl STAT VSZ RSS UID PPID %CPU UCOMM COMMAND dnl Ss 52756 22496 501 1 6.9 Window Manager /System/Library/CoreServices/WindowServer -daemon -elif ps wwaxo 'state vsz rss uid ppid pcpu ucomm command' 2>/dev/null | \ +elif ps wwaxo 'state vsz rss uid pid ppid pcpu ucomm command' 2>/dev/null | \ egrep -i ["^STAT +VSZ +RSS +UID +PPID +%CPU +UCOMM +COMMAND"] >/dev/null then - ac_cv_ps_command="$PATH_TO_PS wwaxo 'state vsz rss uid ppid pcpu ucomm command'" - ac_cv_ps_varlist="[procstat,&procvsz,&procrss,&procuid,&procppid,&procpcpu,procprog,&pos]" - ac_cv_ps_format="%s %d %d %d %d %f %s %n" - ac_cv_ps_cols=7 + ac_cv_ps_command="$PATH_TO_PS wwaxo 'state vsz rss uid pid ppid pcpu ucomm command'" + ac_cv_ps_varlist="[procstat,&procvsz,&procrss,&procuid,&procpid,&procpid,&procpcpu,procprog,&pos]" + ac_cv_ps_format="%s %d %d %d %d %d %f %s %n" + ac_cv_ps_cols=8 AC_MSG_RESULT([$ac_cv_ps_command]) dnl UnixWare elif ps -Al 2>/dev/null | \ egrep -i ["^ *F +S +UID +PID +PPID +CLS +PRI +NI +C +ADDR +SZ +WCHAN +TTY +TIME +COMD"] >/dev/null then - ac_cv_ps_varlist="[procstat,&procuid,&procppid,&pos,procprog]" + ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procpid,&pos,procprog]" ac_cv_ps_command="$PATH_TO_PS -Al" - ac_cv_ps_format="%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s" - ac_cv_ps_cols=7 + ac_cv_ps_format="%*s %s %d %d %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s" + ac_cv_ps_cols=8 AC_MSG_RESULT([$ac_cv_ps_command]) +XXX else AC_MSG_WARN([unable to find usable ps syntax - check_procs and check_nagios will not be compiled]) @@ -940,6 +982,14 @@ elif test "x$PATH_TO_PING6" != "x"; then ac_cv_ping6_packets_first=yes AC_MSG_RESULT([$with_ping6_command]) + elif $PATH_TO_PING6 -n -U -w 10 -c 1 ::1 2>/dev/null | \ + egrep -i "^round-trip|^rtt" >/dev/null + then + with_ping6_command="$PATH_TO_PING6 -n -U -w %d -c %d %s" + ac_cv_ping6_packets_first=yes + ac_cv_ping_has_timeout=yes + AC_MSG_RESULT([$with_ping6_command]) + elif $PATH_TO_PING6 -n -U -c 1 ::1 2>/dev/null | \ egrep -i "^round-trip|^rtt" >/dev/null then @@ -1244,13 +1294,13 @@ then egrep -i "^lswap +path +pri +swaplo +blocks +free +maxswap" \ >/dev/null] then - ac_cv_swap_format=[" %*d %*s %*d,%*d %*d %*d %d %d"] + ac_cv_swap_format=[" %*d %*s %*d,%*d %*d %*d %f %f"] ac_cv_swap_conv=2048 AC_MSG_RESULT([using IRIX format swap]) elif [$PATH_TO_SWAP -l 2>/dev/null | egrep -i "^path +dev +swaplo +blocks +free" >/dev/null] then - ac_cv_swap_format=["%*s %*[0-9,-] %*d %d %d"] + ac_cv_swap_format=["%*s %*[0-9,-] %*d %f %f"] ac_cv_swap_conv=2048 AC_MSG_RESULT([using Unixware format swap]) else @@ -1274,7 +1324,7 @@ then if [$PATH_TO_SWAPINFO -k 2>/dev/null | egrep -i "^Device +1K-blocks +Used +Avail" >/dev/null] then - ac_cv_swap_format=["%*s %d %*d %d"] + ac_cv_swap_format=["%*s %f %*d %f"] ac_cv_swap_conv=1024 AC_MSG_RESULT([using FreeBSD format swapinfo]) fi @@ -1283,7 +1333,7 @@ elif [$PATH_TO_SWAPINFO -dfM 2>/dev/null | egrep -i "^TYPE +AVAIL +USED +FREE" > then ac_cv_have_swap=yes ac_cv_swap_command="$PATH_TO_SWAPINFO -dfM", - ac_cv_swap_format=["%*s %d %*d %d"] + ac_cv_swap_format=["%*s %f %*d %f"] ac_cv_swap_conv=1024 AC_MSG_RESULT([using HP-UX format swapinfo]) fi @@ -1298,7 +1348,7 @@ if [$PATH_TO_LSPS -a 2>/dev/null | egrep -i "^Page Space" > /dev/null] then ac_cv_have_swap=yes ac_cv_swap_command="$PATH_TO_LSPS -a" - ac_cv_swap_format=["%*s %*s %*s %d%*s %d %*s"] + ac_cv_swap_format=["%*s %*s %*s %f%*s %f %*s"] ac_cv_swap_conv=1 AC_MSG_RESULT([using AIX lsps]) fi @@ -1311,12 +1361,12 @@ dnl fwict, the 2-arg is an SVR4 standard, whereas the 3-arg is shared dnl in the various BSD's dnl +AC_CHECK_HEADERS([sys/stat.h sys/param.h]) AC_CHECK_HEADERS([sys/swap.h], [], [], [ #ifdef HAVE_SYS_PARAM_H #include #endif ]) -AC_CHECK_HEADERS([sys/stat.h sys/param.h]) AC_CHECK_DECLS([swapctl],,,[ #include #include @@ -1448,6 +1498,21 @@ AC_TRY_COMPILE([#ifdef __STDC__ [AC_MSG_RESULT(yes)], [NEED_VA_LIST=-DNEED_VA_LIST AC_SUBST(NEED_VA_LIST) AC_MSG_RESULT(no)]) +case $host in + *bsd*) + AC_DEFINE(__bsd__,1,[bsd specific code in check_dhcp.c]) + ;; + *linux*) + AC_DEFINE(__linux__,1,[sun specific code in check_dhcp.c]) + ;; + *sun* | solaris*) + AC_DEFINE(__sun__,1,[sun specific code in check_dhcp.c]) + ;; + *hpux*) + AC_DEFINE(__hpux__,1,[hpux specific code in check_dhcp.c]) + ;; +esac + AC_SUBST(EXTRAS) AC_SUBST(EXTRA_NETOBJS) AC_SUBST(DEPLIBS) @@ -1455,8 +1520,9 @@ AC_SUBST(DEPLIBS) AM_GNU_GETTEXT([no-libtool], [need-ngettext]) AM_GNU_GETTEXT_VERSION(0.11.5) -dnl External libraries +dnl External libraries - see ACKNOWLEDGEMENTS np_COREUTILS +np_CURL AC_OUTPUT( Makefile @@ -1474,6 +1540,7 @@ AC_OUTPUT( po/Makefile.in ) +ACX_FEATURE([with],[perl]) ACX_FEATURE([with],[cgiurl]) ACX_FEATURE([with],[nagios-user]) ACX_FEATURE([with],[nagios-group])