diff options
-rw-r--r-- | Makefile.am | 5 | ||||
-rw-r--r-- | aclocal.m4 | 92 | ||||
-rw-r--r-- | configure.in | 14 | ||||
-rw-r--r-- | nagios-plugins.spec.in | 6 |
4 files changed, 105 insertions, 12 deletions
diff --git a/Makefile.am b/Makefile.am index d1c7a683..00e59622 100644 --- a/Makefile.am +++ b/Makefile.am @@ -2,7 +2,10 @@ SUBDIRS = plugins plugins-scripts -EXTRA_DIST = REQUIREMENTS acconfig.h package.def subst.in subst.sh Helper.pm nagios-plugins.spec contrib +EXTRA_DIST = REQUIREMENTS acconfig.h subst.in subst.sh Helper.pm contrib nagios-plugins.spec.in + +dist-hook: + sed "s/PACKAGE_VERSION/@PACKAGE_VERSION@/;s/PACKAGE_RELEASE/@PACKAGE_RELEASE@/;" $(srcdir)/nagios-plugins.spec.in > $(distdir)/nagios-plugins.spec test: cd plugins; $(MAKE) test @@ -10,6 +10,98 @@ dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A dnl PARTICULAR PURPOSE. +# Do all the work for Automake. This macro actually does too much -- +# some checks are only needed if your package does certain things. +# But this isn't really a big deal. + +# serial 1 + +dnl Usage: +dnl AM_INIT_AUTOMAKE(package,version, [no-define]) + +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_REQUIRE([AC_PROG_INSTALL]) +PACKAGE=[$1] +AC_SUBST(PACKAGE) +VERSION=[$2] +AC_SUBST(VERSION) +dnl test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi +ifelse([$3],, +AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) +AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])) +AC_REQUIRE([AM_SANITY_CHECK]) +AC_REQUIRE([AC_ARG_PROGRAM]) +dnl FIXME This is truly gross. +missing_dir=`cd $ac_aux_dir && pwd` +AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir) +AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir) +AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir) +AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir) +AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir) +AC_REQUIRE([AC_PROG_MAKE_SET])]) + +# +# Check to make sure that the build environment is sane. +# + +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftestfile +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null` + if test "[$]*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftestfile` + fi + if test "[$]*" != "X $srcdir/configure conftestfile" \ + && test "[$]*" != "X conftestfile $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "[$]2" = conftestfile + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +rm -f conftest* +AC_MSG_RESULT(yes)]) + +dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY) +dnl The program must properly implement --version. +AC_DEFUN([AM_MISSING_PROG], +[AC_MSG_CHECKING(for working $2) +# Run test in a subshell; some versions of sh will print an error if +# an executable is not found, even if stderr is redirected. +# Redirect stdin to placate older versions of autoconf. Sigh. +if ($2 --version) < /dev/null > /dev/null 2>&1; then + $1=$2 + AC_MSG_RESULT(found) +else + $1="$3/missing $2" + AC_MSG_RESULT(missing) +fi +AC_SUBST($1)]) + # Like AC_CONFIG_HEADER, but automatically create stamp file. AC_DEFUN([AM_CONFIG_HEADER], diff --git a/configure.in b/configure.in index a9ffeb1c..2341b25c 100644 --- a/configure.in +++ b/configure.in @@ -1,10 +1,12 @@ dnl Process this file with autoconf to produce a configure script. include(`aclocal.m4') AC_REVISION ($Revision$) -AC_INIT(package.def) -VERSION=`cat $srcdir/package.def|sed -e 's/PACKAGE_RELEASE= *"//;s/"//'` -PACKAGE=nagios-plugins -dnl AM_INIT_AUTOMAKE(nagios-plugins,$VERSION) +AC_INIT(Helper.pm) +PACKAGE_VERSION="1.3.0" +AC_SUBST(PACKAGE_VERSION) +PACKAGE_RELEASE="alpha1" +AC_SUBST(PACKAGE_RELEASE) +AM_INIT_AUTOMAKE(nagios-plugins,${PACKAGE_VERSION}-${PACKAGE_RELEASE}) AM_CONFIG_HEADER(plugins/config.h plugins/common.h plugins/version.h plugins/netutils.h plugins/utils.h plugins/popen.h) AC_PREFIX_DEFAULT(/usr/local/nagios) @@ -814,10 +816,6 @@ AC_TRY_COMPILE([#ifdef __STDC__ AC_SUBST(EXTRAS) AC_SUBST(DEPLIBS) -AC_SUBST(PACKAGE) -AC_SUBST(VERSION) -AC_DEFINE_UNQUOTED(PACKAGE,"${PACKAGE}") -AC_DEFINE_UNQUOTED(VERSION,"${VERSION}") AC_DEFINE_UNQUOTED(PACKAGE_VERSION,"${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) diff --git a/nagios-plugins.spec.in b/nagios-plugins.spec.in index d220050e..62b93d52 100644 --- a/nagios-plugins.spec.in +++ b/nagios-plugins.spec.in @@ -8,9 +8,9 @@ %define name %{archive} %endif -%define version @PACKAGE_VERSION@ -%define release @PACKAGE_RELEASE@ -%define source http://nagiosplug.sourceforge.net/src/%{archive}-%{version}-%{release}.tar.gz +%define version PACKAGE_VERSION +%define release PACKAGE_RELEASE +%define source %{archive}-%{version}-%{release}.tar.gz Name: %{name} Version: %{version} |