X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=configure.in;h=08996c9a46e475325f5d1580c5c83412782243f3;hb=eeb130903621e03174cbbd25734b105e8c8cd7a7;hp=9a0a169a5b0ce1de69a92258a70304f50b67a34a;hpb=799d7385bf2523ccf7a20b977b3d04a0626c9ba8;p=nagiosplug.git diff --git a/configure.in b/configure.in index 9a0a169..08996c9 100644 --- a/configure.in +++ b/configure.in @@ -1,13 +1,11 @@ dnl Process this file with autoconf to produce a configure script. -include(`aclocal.m4') -include(`getloadavg.m4') AC_REVISION ($Revision$) AC_INIT(Helper.pm) VER=1.3.0 -REL=beta2 +REL=1 AC_SUBST(VER) AC_SUBST(REL) -PACKAGE_VERSION="${VER}-${REL}" +PACKAGE_VERSION="${VER}" AC_SUBST(PACKAGE_VERSION) PACKAGE_RELEASE="${REL}" AC_SUBST(PACKAGE_RELEASE) @@ -25,7 +23,13 @@ AC_PROG_CC AC_PROG_MAKE_SET AC_PROG_AWK -AC_FUNC_GETLOADAVG(plugins) +saved_srcdir=$srcdir +srcdir=$srcdir/lib +test -f $srcdir/getloadavg.c \ + || AC_MSG_ERROR([getloadavg.c is not in $srcdir]) +AC_FUNC_GETLOADAVG +srcdir=$saved_srcdir + ifdef([AC_FUNC_STRTOD],[AC_FUNC_STRTOD],[AM_FUNC_STRTOD]) dnl AM_WITH_REGEX AC_PROG_RANLIB @@ -67,6 +71,11 @@ dnl PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/etc:/usr/local/bin:/usr/local/sbin:$ LDFLAGS="$LDFLAGS -L." +ac_cv_uname_m=`uname -m` +ac_cv_uname_s=`uname -s` +ac_cv_uname_r=`uname -r` +ac_cv_uname_v=`uname -v` + dnl Checks for programs. AC_PATH_PROG(PYTHON,python) AC_PATH_PROG(PERL,perl) @@ -93,7 +102,7 @@ AC_ARG_WITH(pgsql,--with-pgsql= sets path to pgsql installation,[PGSQL=$wit AC_CHECK_LIB(crypt,main) if test "$ac_cv_lib_crypt_main" = "yes"; then if test -n "$PGSQL"; then - LIBS="$LIBS -L$PGSQL/lib" + LDFLAGS="$LDFLAGS -L$PGSQL/lib" CPPFLAGS="$CPPFLAGS -I$PGSQL/include" fi AC_CHECK_LIB(pq,PQsetdbLogin,,,-lcrypt) @@ -101,7 +110,10 @@ if test "$ac_cv_lib_crypt_main" = "yes"; then AC_CHECK_HEADERS(pgsql/libpq-fe.h) AC_CHECK_HEADERS(postgresql/libpq-fe.h) AC_CHECK_HEADERS(libpq-fe.h) - if test "$ac_cv_header_pgsql_libpq_fe_h" = "yes"; then + if [[ -n "$PGSQL" -a "$ac_cv_header_libpq_fe_h" = "yes" ]]; then + PGLIBS="-L$PGSQL/lib -lpq -lcrypt" + PGINCLUDE="-I$PGSQL/include" + elif test "$ac_cv_header_pgsql_libpq_fe_h" = "yes"; then PGLIBS="-lpq -lcrypt" PGINCLUDE="-I/usr/include/pgsql" elif test "$ac_cv_header_postgresql_libpq_fe_h" = "yes"; then @@ -113,7 +125,7 @@ if test "$ac_cv_lib_crypt_main" = "yes"; then fi if test -z "$PGINCLUDE"; then AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)]) - AC_MSG_WARN([install PostgreSQL headers to compile this plugin (see Requirements).]) + AC_MSG_WARN([install PostgreSQL headers to compile this plugin (see REQUIREMENTS).]) else AC_SUBST(PGLIBS) AC_SUBST(PGINCLUDE) @@ -122,11 +134,11 @@ if test "$ac_cv_lib_crypt_main" = "yes"; then else AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)]) AC_MSG_WARN([LIBS="$LIBS" CPPFLAGS="$CPPFLAGS"]) - AC_MSG_WARN([install PostgreSQL libs to compile this plugin (see Requirements).]) + AC_MSG_WARN([install PostgreSQL libs to compile this plugin (see REQUIREMENTS).]) fi else AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)]) - AC_MSG_WARN([install lib crypt and PostgreSQL libs to compile this plugin (see Requirements).]) + AC_MSG_WARN([install lib crypt and PostgreSQL libs to compile this plugin (see REQUIREMENTS).]) fi LIBS="$_SAVEDLIBS" CPPFLAGS="$_SAVEDCPPFLAGS" @@ -140,7 +152,7 @@ if test "$ac_cv_lib_radiusclient_rc_read_config" = "yes"; then AC_SUBST(RADIUSLIBS) else AC_MSG_WARN([Skipping radius plugin]) - AC_MSG_WARN([install radius libs to compile this plugin (see Requirements).]) + AC_MSG_WARN([install radius libs to compile this plugin (see REQUIREMENTS).]) fi LIBS="$_SAVEDLIBS" @@ -155,7 +167,7 @@ if test "$ac_cv_lib_ldap_main" = "yes"; then EXTRAS="$EXTRAS check_ldap" else AC_MSG_WARN([Skipping LDAP plugin]) - AC_MSG_WARN([install LDAP libs to compile this plugin (see Requirements).]) + AC_MSG_WARN([install LDAP libs to compile this plugin (see REQUIREMENTS).]) fi LIBS="$_SAVEDLIBS" @@ -191,11 +203,11 @@ if test "$ac_cv_lib_mysqlclient_mysql_init" = "yes" -o "$ac_cv_lib_mysqlclient_m AC_SUBST(check_mysql_LDFLAGS) else AC_MSG_WARN([Skipping mysql plugin]) - AC_MSG_WARN([install mysql client headers to compile this plugin (see Requirements).]) + AC_MSG_WARN([install mysql client headers to compile this plugin (see REQUIREMENTS).]) fi else AC_MSG_WARN([Skipping mysql plugin]) - AC_MSG_WARN([install mysql client libs to compile this plugin (see Requirements).]) + AC_MSG_WARN([install mysql client libs to compile this plugin (see REQUIREMENTS).]) fi CPPFLAGS="$_SAVEDCPPFLAGS" LIBS="$_SAVEDLIBS" @@ -373,24 +385,6 @@ if test x"$ac_cv_HAVE_SNPRINTF" = x"no" -o x"$ac_cv_HAVE_VSNPRINTF" = x"no" -o x LIBS="$LIBS -lsnprintf" DEPLIBS="$DEPLIBS libsnprintf.a" fi -dnl We used to not do long options unless a compatible lib was found -dnl Now we provide code and make libgetopt if native is not suitable -AC_MSG_CHECKING(for getopt_long) -AC_TRY_COMPILE([#include - #include ], - [int option_index=0; - static struct option *long_options; - getopt_long(0,NULL,"+h",long_options,&option_index);], - [AC_DEFINE(HAVE_GETOPT_H,1,[Define if getopt headers are found]) - AC_DEFINE(HAVE_GETOPT_LONG,1,[Define if getopt_long is found]) - AC_MSG_RESULT(yes)], - [AC_DEFINE(HAVE_GETOPT_H,1,[Define if getopt headers are found]) - AC_DEFINE(HAVE_GETOPT_LONG,1,[Define if getopt_long is found]) - AC_MSG_RESULT(no) - import_sources=getopt - LIBS="$LIBS -lgetopt" - DEPLIBS="$DEPLIBS libgetopt.a"]) - AC_TRY_COMPILE([#include ], [struct timeval *tv; struct timezone *tz;], @@ -423,7 +417,7 @@ fi AC_PATH_PROG(PATH_TO_PS,ps) dnl STAT UCOMM VSZ RSS USER UID PPID COMMAND -if [ps -weo '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] +if ps -weo '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 then AC_DEFINE(USE_PS_VARS,1,[Define if 'ps' will be parsed with sscanf]) AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[Variable list for sscanf of 'ps' output]) @@ -437,7 +431,7 @@ then AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[Format string for scanning ps output in check_rss]) echo " ps syntax... $PATH_TO_PS -weo 'stat comm vsz rss user ppid args'" 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 ppid' 2>/dev/null | egrep -i ["^STAT +COMMAND +VSZ +RSS +UID +USER +PPID"] >/dev/null then AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf]) AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[]) @@ -451,7 +445,7 @@ then AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[]) echo " ps syntax... $PATH_TO_PS -Ao 'state command vsz rss'" 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 ppid args' 2>/dev/null | egrep -i ["^S +COMMAND +VSZ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null then AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf]) AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[]) @@ -467,7 +461,7 @@ then dnl SunOS 4.1.3: dnl F UID PID PPID CP PRI NI SZ RSS WCHAN STAT TT TIME COMMAND dnl -elif [ps -laxnwww 2>/dev/null | egrep -i "^ *F(LAGS)? +UID +PID +PPID +CP +PRI +NI +(SZ)|(VSZ)|(SIZE) +RSS +WCHAN +STAT? +TTY? +TIME +COMMAND" >/dev/null] +elif ps -laxnwww 2>/dev/null | egrep -i ["^ *F(LAGS)? +UID +PID +PPID +CP +PRI +NI +(SZ)|(VSZ)|(SIZE) +RSS +WCHAN +STAT? +TTY? +TIME +COMMAND"] >/dev/null then AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf]) AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS laxnwww",[]) @@ -484,7 +478,7 @@ dnl Debian Linux / procps v1.2.9: dnl FLAGS UID PID PPID PRI NI SIZE RSS WCHAN STA TTY TIME COMMAND dnl 100 0 1 0 0 0 776 76 c0131c8c S ffff 0:11 init [2] 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] +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_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf]) AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS laxnwww",[]) @@ -498,7 +492,7 @@ then AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %d",[]) echo " ps syntax... $PATH_TO_PS laxnwww" 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 ppid args' 2>/dev/null | egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null then AC_DEFINE(USE_PS_VARS,1,[Define if 'ps' will be parsed with sscanf]) AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[Variable list for sscanf of 'ps' output]) @@ -511,21 +505,21 @@ then AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -axo 'rss comm'",[Verbatim command to execute for ps in check_rss]) AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[Format string for scanning ps output in check_rss]) echo " ps syntax... $PATH_TO_PS -axo 'stat comm vsz rss user ppid args'" -dnl AIX 4.3.3 - needs verification. -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] +dnl AIX 4.3.3 - needs verification. This works for 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 then AC_DEFINE(USE_PS_VARS,1,[Define if 'ps' will be parsed with sscanf]) AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[Variable list for sscanf of 'ps' output]) AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -ao 'stat user ppid args'",[Verbatim command to execute for ps in check_netsaint]) EXTRAS="$EXTRAS check_nagios" AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -ao 'stat uid ppid comm args'") - AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n",[Format string for scanning ps output in check_procs]) + AC_DEFINE_UNQUOTED(PS_FORMAT,[["%s%*[ +] %d %d %s %n"]],[Format string for scanning ps output in check_procs]) AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -ao 'vsz comm'",[]) AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s",[]) AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -ao 'rss comm'",[]) AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[]) echo " ps syntax... $PATH_TO_PS -ao 'stat comm vsz rss user ppid args'" -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] +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 then AC_DEFINE(USE_PS_VARS,1,[Define if 'ps' will be parsed with sscanf]) AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[Variable list for sscanf of 'ps' output]) @@ -538,7 +532,7 @@ then AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -eo 'rss comm'",[]) AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[]) echo " ps syntax... $PATH_TO_PS -eo 's comm vsz rss user ppid args'" -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 ppid args' 2>/dev/null | egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null then AC_DEFINE(USE_PS_VARS,1,[Define if 'ps' will be parsed with sscanf]) AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[Variable list for sscanf of 'ps' output]) @@ -551,7 +545,7 @@ then AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -Ao 'rss comm'",[]) AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[]) echo " ps syntax... $PATH_TO_PS -Ao 's comm vsz rss'" -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 ppid args' 2>/dev/null | egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null then AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf]) AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos]) @@ -564,7 +558,7 @@ then AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -Ao 'rss comm'",[]) AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[]) echo " ps syntax... $PATH_TO_PS -Ao 'status comm vsz rss'" -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 ppid args' 2>/dev/null | egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null then AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf]) AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos]) @@ -578,7 +572,7 @@ then AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[]) echo " ps syntax... $PATH_TO_PS -Ao 'state comm vsz rss'" 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 ppid args' 2>/dev/null | egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null then AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf]) AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[]) @@ -592,7 +586,7 @@ then AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[]) echo " ps syntax... $PATH_TO_PS -ao 'state command vsz rss'" 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] +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_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf]) AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,&pos,procprog],[]) @@ -604,7 +598,7 @@ then AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %d",[]) echo " ps syntax... $PATH_TO_PS -el" 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] +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_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf]) AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,&pos,procprog],[]) @@ -619,7 +613,7 @@ dnl dnl AIX 4.1: dnl F S UID PID PPID C PRI NI ADDR SZ RSS WCHAN TTY TIME CMD dnl 303 A 0 0 0 120 16 -- 1c07 20 24 - 0:45 swapper -elif [ps -el 2>/dev/null | egrep -i "^ *F +S +UID +PID +PPID +C +PRI +NI +ADDR +SZ +WCHAN +TTY +TIME +[RGSCOMDNA]+" >/dev/null] +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_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf]) AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,&pos,procprog],[]) @@ -631,7 +625,7 @@ then AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %*s %*s %d",[]) echo " ps syntax... $PATH_TO_PS -el" 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] +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_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf]) AC_DEFINE_UNQUOTED(PS_VARLIST,[&procuid,&procppid,procstat,&pos,procprog],[]) @@ -646,7 +640,7 @@ dnl MacOSX / Darwin dnl TODO: MacOSX has commands with spaces which will cause problems to PS_FORMAT dnl STAT VSZ RSS UID USER PPID UCOMM COMMAND dnl Ss 1308 272 0 root 0 init /sbin/init -elif [ps waxo 'state vsz rss uid user ppid ucomm command' 2>/dev/null | egrep -i "^STAT +VSZ +RSS +UID +USER +PPID +UCOMM +COMMAND" >/dev/null] +elif ps waxo 'state vsz rss uid user ppid ucomm command' 2>/dev/null | egrep -i ["^STAT +VSZ +RSS +UID +USER +PPID +UCOMM +COMMAND"] >/dev/null then AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf]) AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[]) @@ -659,6 +653,19 @@ then AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS waxco 'rss command'",[]) AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[]) echo " ps syntax... $PATH_TO_PS waxo 'state vsz rss 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_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf]) + AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,&pos,procprog],[]) + AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -Al",[]) + AC_DEFINE_UNQUOTED(PS_FORMAT,"%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s",[Format string for scanning ps output in check_procs]) + if ps -Ao 'vsz comm' 2>/dev/null | egrep -i ["^ *VSZ +COMMAND"] >/dev/null + then + AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -Ao 'vsz comm'",[]) + AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %d",[]) + fi + echo " ps syntax... $PATH_TO_PS -Al" else echo "** Unable to find usable ps syntax" fi @@ -667,25 +674,25 @@ AC_ARG_WITH(df_command,--with-df-command= sets syntax for df,DF_COMMAND= if test -n "$DF_COMMAND" then AC_DEFINE_UNQUOTED(DF_COMMAND,"$DF_COMMAND",[path and args for df command]) -elif [df -Pk 2>/dev/null | egrep -i "^(/dev/|[a-zA-Z]:)[a-z0-9/\\]+ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+% +/[a-z0-9/\\]*" >/dev/null] +elif df -Pk 2>/dev/null | egrep -i ["^(/dev/|[a-zA-Z]:)[a-z0-9/\\]+ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+% +/[a-z0-9/\\]*"] >/dev/null then AC_PATH_PROG(PATH_TO_DF,df) - AC_MSG_RESULT(" df syntax... $PATH_TO_DF -Pk") + AC_MSG_RESULT([ df syntax... $PATH_TO_DF -Pk]) AC_DEFINE_UNQUOTED(DF_COMMAND,"$PATH_TO_DF -Pk",[path and args for df command]) -elif [df -k 2>/dev/null | egrep -i "^/dev/[a-z0-9/]+ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+% +/[a-z0-9/]*" >/dev/null] +elif df -k 2>/dev/null | egrep -i ["^/dev/[a-z0-9/]+ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+% +/[a-z0-9/]*"] >/dev/null then AC_PATH_PROG(PATH_TO_DF,df) - AC_MSG_RESULT(" df syntax... $PATH_TO_DF -k") + AC_MSG_RESULT([ df syntax... $PATH_TO_DF -k]) AC_DEFINE_UNQUOTED(DF_COMMAND,"$PATH_TO_DF -k",[path and args for df command]) -elif [df 2>/dev/null | egrep -i "^/dev/[a-z0-9/]+ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+% +/[a-z0-9/]*" >/dev/null] +elif df 2>/dev/null | egrep -i ["^/dev/[a-z0-9/]+ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+% +/[a-z0-9/]*"] >/dev/null then AC_PATH_PROG(PATH_TO_DF,df) - AC_MSG_RESULT(" df syntax... $PATH_TO_DF") + AC_MSG_RESULT([ df syntax... $PATH_TO_DF]) AC_DEFINE_UNQUOTED(DF_COMMAND,"$PATH_TO_DF",[path and args for df command]) -elif [bdf 2>/dev/null | egrep -i "^/dev/[a-z0-9/]+ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+% +/[a-z0-9/]*" >/dev/null] +elif bdf 2>/dev/null | egrep -i ["^/dev/[a-z0-9/]+ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+% +/[a-z0-9/]*"] >/dev/null then AC_PATH_PROG(PATH_TO_DF,bdf) - AC_MSG_RESULT(" df syntax... $PATH_TO_DF") + AC_MSG_RESULT([ df syntax... $PATH_TO_DF]) AC_DEFINE_UNQUOTED(DF_COMMAND,"$PATH_TO_DF",[path and args for df command]) else AC_MSG_WARN("unable to find usable df syntax") @@ -701,38 +708,43 @@ then then AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND",[Define if packet count must precede host]) fi -elif [ping -n -U -c 1 127.0.0.1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null] +elif [[ "z$ac_cv_uname_s" = "zUnixWare" ]] && ping -n -s 127.0.0.1 56 1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null +then + PING_COMMAND="$PATH_TO_PING -n -U -c %d %s" + AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND",[Define if packet count must precede host]) + echo " ping syntax... $PATH_TO_PING -n -U -c " +elif ping -n -U -c 1 127.0.0.1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null then PING_COMMAND="$PATH_TO_PING -n -U -c %d %s" AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND",[Define if packet count must precede host]) echo " ping syntax... $PATH_TO_PING -n -U -c " -elif [ping -n -c 1 127.0.0.1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null] +elif ping -n -c 1 127.0.0.1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null then PING_COMMAND="$PATH_TO_PING -n -c %d %s" AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND",[Define if packet count must precede host]) echo " ping syntax... $PATH_TO_PING -n -c " -elif [ping -n 127.0.0.1 -c 1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null] +elif ping -n 127.0.0.1 -c 1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null then PING_COMMAND="$PATH_TO_PING -n %s -c %d" echo " ping syntax... $PATH_TO_PING -n -c " -elif [ping 127.0.0.1 -n 1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null] +elif ping 127.0.0.1 -n 1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null then PING_COMMAND="$PATH_TO_PING %s -n %d" echo " ping syntax... $PATH_TO_PING -n " -elif [ping -n -s 127.0.0.1 56 1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null] +elif ping -n -s 127.0.0.1 56 1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null then PING_COMMAND="$PATH_TO_PING -n -s %s 56 %d" echo " ping syntax... $PATH_TO_PING -n -s 56 " -elif [ping -n -h 127.0.0.1 -s 56 -c 1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null] +elif ping -n -h 127.0.0.1 -s 56 -c 1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null then PING_COMMAND="$PATH_TO_PING -n -h %s -s 56 -c %d" echo " ping syntax... $PATH_TO_PING -n -h -s 56 -c " -elif [ping -n -s 56 -c 1 127.0.0.1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null] +elif ping -n -s 56 -c 1 127.0.0.1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null then PING_COMMAND="$PATH_TO_PING -n -s 56 -c %d %s" AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND",[Define if packet count must precede host]) echo " ping syntax... $PATH_TO_PING -n -s 56 -c " -elif [ping -n -c 1 127.0.0.1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null] +elif ping -n -c 1 127.0.0.1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null then PING_COMMAND="$PATH_TO_PING -n -c %d %s" AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND",[Define if packet count must precede host]) @@ -745,32 +757,23 @@ AC_DEFINE_UNQUOTED(PING_COMMAND,"$PING_COMMAND",[path and args for ping command] AC_PATH_PROG(PATH_TO_NSLOOKUP,nslookup) if test -n "$ac_cv_path_PATH_TO_NSLOOKUP" then - AC_MSG_CHECKING("nslookup syntax") - if [nslookup -sil 127.0.0.1 2>&1 | grep "*** Invalid option: sil" >/dev/null] + if nslookup -sil 127.0.0.1 2>&1 | grep ["Invalid option: sil"] >/dev/null then - AC_MSG_RESULT("$PATH_TO_NSLOOKUP") + AC_MSG_RESULT([ nslookup syntax... $PATH_TO_NSLOOKUP]) AC_DEFINE_UNQUOTED(NSLOOKUP_COMMAND,"$PATH_TO_NSLOOKUP",[path and args for nslookup]) else - AC_MSG_RESULT("$PATH_TO_NSLOOKUP -sil") + AC_MSG_RESULT([ nslookup syntax... $PATH_TO_NSLOOKUP -sil]) AC_DEFINE_UNQUOTED(NSLOOKUP_COMMAND,"$PATH_TO_NSLOOKUP -sil",[path and args for nslookup]) fi EXTRAS="$EXTRAS check_dns" else - AC_MSG_WARN("nslookup command not found") + AC_MSG_WARN([nslookup command not found]) fi AC_PATH_PROG(PATH_TO_HOST,host) if test -n "$ac_cv_path_PATH_TO_HOST" then - AC_MSG_CHECKING("host syntax") - if [host 127.0.0.1 2>&1 | grep -v "ommand not found" > /dev/null] - then - AC_MSG_RESULT("$PATH_TO_HOST") - AC_DEFINE_UNQUOTED(HOST_COMMAND,"$PATH_TO_HOST",[path to host binary]) - fi EXTRAS="$EXTRAS check_dns" -else - AC_MSG_WARN("host command not found") fi AC_PATH_PROG(PATH_TO_UPTIME,uptime) @@ -879,6 +882,10 @@ else echo "** Could not find mailq or eqivalent" fi +dnl SWAP info required is amount allocated/available and amount free +dnl The plugin works through all the swap devices and adds up the total swap +dnl available. + dnl dunno why this does not work below - use hack (kbd) dnl fine on linux, broken on solaris dnl if /bin/test -e "/proc/meminfo" @@ -889,7 +896,7 @@ then AC_DEFINE(HAVE_PROC_MEMINFO,1,[Define if we have /proc/meminfo]) AC_DEFINE_UNQUOTED(PROC_MEMINFO,"/proc/meminfo",[path to /proc/meminfo if name changes]) EXTRAS="$EXTRAS check_swap" -elif [swap -l 2>&1 | egrep -i "swapfile" >/dev/null] +elif [swap -l 2>&1 >/dev/null] then echo "found swap command" AC_DEFINE(HAVE_SWAP,1,[Define if swap/swapinfo command is found]) @@ -903,9 +910,13 @@ then then AC_DEFINE_UNQUOTED(SWAP_FORMAT,["%*s %*[[0-9,-]] %*d %d %d"],[Format string for parsing swap output]) echo " using Solaris format" + elif [swap -l 2>/dev/null | egrep -i "^path +dev +swaplo +blocks +free" >/dev/null] + then + AC_DEFINE_UNQUOTED(SWAP_FORMAT,["%*s %*[[0-9,-]] %*d %d %d"],[Format string for parsing swap output]) + echo " using Unixware format" fi EXTRAS="$EXTRAS check_swap" -elif [swapinfo -k 2>&1 | egrep -i "Device" >/dev/null] +elif [swapinfo -k 2>&1 | egrep -i "^Device" >/dev/null] then echo "found swapinfo command" AC_DEFINE(HAVE_SWAP,1,[Define if swap/swapinfo command is found]) @@ -917,11 +928,11 @@ then echo " using FreeBSD format" fi EXTRAS="$EXTRAS check_swap" -elif [swapinfo -d 2>/dev/null | egrep -i "^TYPE +AVAIL +USED +FREE" >/dev/null] +elif [swapinfo -dfM 2>/dev/null | egrep -i "^TYPE +AVAIL +USED +FREE" >/dev/null] then AC_DEFINE(HAVE_SWAP,1,[Define if swap/swapinfo command is found]) AC_PATH_PROG(PATH_TO_SWAP,swapinfo) - AC_DEFINE_UNQUOTED(SWAP_COMMAND,"/bin/sh '$PATH_TO_SWAP -d | /bin/tail -l +2'",[Path to swap/swapinfo binary, with any args]) + AC_DEFINE_UNQUOTED(SWAP_COMMAND,"$PATH_TO_SWAP -dfM",[Path to swap/swapinfo binary, with any args]) AC_DEFINE_UNQUOTED(SWAP_FORMAT,["%*s %d %*d %d"],[Format string for parsing swap output ]) echo " using HP-UX format HP-UX" fi @@ -956,4 +967,4 @@ AC_SUBST(DEPLIBS) AC_DEFINE_UNQUOTED(PACKAGE_VERSION,"${VERSION}",[package version]) -AC_OUTPUT(Makefile subst plugins/Makefile plugins-scripts/Makefile plugins-scripts/subst plugins-scripts/utils.pm plugins-scripts/utils.sh command.cfg test.pl,echo timestamp > plugins/stamp-h1;echo timestamp > plugins/stamp-h2;echo timestamp > plugins/stamp-h3;echo timestamp > plugins/stamp-h4;echo timestamp > plugins/stamp-h5;echo timestamp > plugins/stamp-h6;PATH=.:..:$PATH subst.sh command.cfg) +AC_OUTPUT(Makefile subst lib/Makefile plugins/Makefile plugins-scripts/Makefile plugins-scripts/subst plugins-scripts/utils.pm plugins-scripts/utils.sh command.cfg test.pl,echo timestamp > plugins/stamp-h1;echo timestamp > plugins/stamp-h2;echo timestamp > plugins/stamp-h3;echo timestamp > plugins/stamp-h4;echo timestamp > plugins/stamp-h5;echo timestamp > plugins/stamp-h6;PATH=.:..:$PATH subst.sh command.cfg)