# =========================================================================== # SYNOPSIS # # AX_NAGIOS_GET_INETD # # DESCRIPTION # # This macro determines whether inetd or xinetd is being used # The argument are: # the init type as determined by AX_NAGIOS_GET_INIT # $inetd_type will be set and will be one of: # unknown (could not be determined) # launchd (Mac OS X) # smf10 (Solaris) # smf11 (Solaris) # upstart (Older Debian) # xinetd (Most Linux, BSD) # inetd (The rest) # # LICENSE # # Copyright (c) 2016 Nagios Core Development Team # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation; either version 2 of the License, or (at your # option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General # Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program. If not, see . # # As a special exception, the respective Autoconf Macro's copyright owner # gives unlimited permission to copy, distribute and modify the configure # scripts that are the output of Autoconf when processing the Macro. You # need not follow the terms of the GNU General Public License when using # or distributing such scripts, even though portions of the text of the # Macro appear in them. The GNU General Public License (GPL) does govern # all other use of the material that constitutes the Autoconf Macro. # # This special exception to the GPL applies to versions of the Autoconf # Macro released by the Autoconf Archive. When you make and distribute a # modified version of the Autoconf Macro, you may extend this special # exception to the GPL to apply to your modified version as well. # =========================================================================== AU_ALIAS([AC_NAGIOS_GET_INETD], [AX_NAGIOS_GET_INETD]) AC_DEFUN([AX_NAGIOS_GET_INETD], [ AC_SUBST(inetd_type) # # Get user hints for possible cross-compile # AC_MSG_CHECKING(what inetd is being used ) AC_ARG_WITH(inetd_type, AC_HELP_STRING([--with-inetd-type=type], [which super-server the system runs (inetd, xinetd, systemd, launchd, smf10, smf11, etc.)]), [ inetd_type_wanted=yes # # Run this if --with was specified # if test "x$withval" = x -o x$withval = xno; then inetd_type_wanted=yes else inetd_type_wanted=no inetd_type="$withval" AC_MSG_RESULT($inetd_type) fi ], [ # # Run this if --with was not specified # inetd_type_wanted=yes ]) if test x$inetd_type = xno; then inetd_type_wanted=yes elif test x$inetd_type = xyes; then AC_MSG_ERROR([you must enter an inetd type if '--with-inetd-type' is specified]) fi # # Determine inetd type if it wasn't supplied # if test $inetd_type_wanted = yes; then inetd_disabled="" if test x"$init_type" = "xupstart"; then inetd_type="upstart" elif test "$opsys" = "osx"; then inetd_type="launchd" fi if test x"$inetd_type" = x; then AS_CASE([$dist_type], [solaris], if test x"$init_type" = "xsmf10" -o x"$init_type" = "xsmf11"; then inetd_type="$init_type" else inetd_type="inetd" fi, [*bsd*], inetd_type=`ps -A -o comm -c | grep inetd`, [aix|hp-ux], inetd_type=`UNIX95= ps -A -o comm | grep inetd | head -1`, [*], inetd_type=[`ps -C "inetd,xinetd" -o fname | grep -vi COMMAND`]) fi if test x"$inetd_type" = x; then if test -f /etc/xinetd.conf -a -d /etc/xinetd.d; then inetd_disabled="(Not running)" inetd_type=xinetd elif test -f /etc/inetd.conf -o -f /usr/sbin/inetd; then inetd_type=inetd inetd_disabled="(Not running)" fi fi if test x"$inetd_type" = x; then if test x"$init_type" = "xsystemd"; then inetd_type="systemd" else inetd_type="unknown" fi fi if test -n "$inetd_disabled"; then AC_MSG_RESULT($inetd_type $inetd_disabled) else AC_MSG_RESULT($inetd_type) fi fi ])