summaryrefslogtreecommitdiffstats
path: root/debian/rules
diff options
context:
space:
mode:
Diffstat (limited to 'debian/rules')
-rwxr-xr-xdebian/rules233
1 files changed, 233 insertions, 0 deletions
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..2da585c
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,233 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+# GNU copyright 1997 to 1999 by Joey Hess.
+
+# Uncomment this to turn on verbose mode.
+export DH_VERBOSE=1
+
+# for hardening
+DPKG_EXPORT_BUILDFLAGS = 1
+include /usr/share/dpkg/buildflags.mk
+
+PACKAGE = monitoring-plugins
+
+# These are used for cross-compiling and for saving the configure script
+# from having to guess our platform (since we know it already)
+include /usr/share/dpkg/architecture.mk
+
+DEBIANDIR=$(CURDIR)/debian
+NP_LIBEXEC:=/usr/lib/nagios/plugins
+NP_COMMON_DIR:=$(DEBIANDIR)/monitoring-plugins-common
+NP_BASIC_DIR:=$(DEBIANDIR)/monitoring-plugins-basic
+NP_BASIC_TEMPLATES:=$(NP_BASIC_DIR)/usr/share/monitoring-plugins/templates-basic
+NP_STD_DIR:=$(DEBIANDIR)/monitoring-plugins-standard
+NP_STD_TEMPLATES:=$(NP_STD_DIR)/usr/share/monitoring-plugins/templates-standard
+
+std_plugins:=check_breeze check_ifoperstatus check_hpjd check_ifstatus \
+ check_rpc check_snmp check_wave check_fping check_game \
+ check_radius check_mysql check_mysql_query check_pgsql \
+ check_disk_smb check_ldap check_ldaps \
+ check_mailq check_curl \
+ check_dns check_dig check_flexlm check_oracle \
+ check_dbi
+
+common_files:=negate urlize utils.pm utils.sh
+
+basic_plugin_cfgs:=apt dhcp disk dummy ftp http load mail news ntp ping procs \
+ real ssh tcp_udp telnet users
+std_plugin_cfgs:=breeze curl-http disk-smb dns flexlm fping games hppjd ifstatus ldap \
+ mailq mrtg mysql netware nt pgsql radius rpc-nfs snmp
+
+PATH = /bin:/sbin:/usr/bin:/usr/sbin
+
+
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+ CFLAGS += -O0
+else
+ CFLAGS += -O2
+endif
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
+ INSTALL_PROGRAM += -s
+endif
+
+ifeq ($(DEB_HOST_ARCH_OS),linux)
+PING_CONFIGURE_ARGS = --with-ping-command="/bin/ping -4 -n -U -w %d -c %d %s" \
+ --with-ping6-command="/bin/ping -6 -n -U -w %d -c %d %s"
+else
+PING_CONFIGURE_ARGS = --with-ping-command="/bin/ping -n -w %d -c %d %s" \
+ --with-ping6-command="/bin/ping6 -n -w %d -c %d %s"
+endif
+
+
+config.status: configure
+ export PATH=$(PATH)
+ dh_testdir
+
+ # if /proc is not mounted, check_nagios and check_procs are
+ # silently omitted from build.
+ @if ! [ -d /proc/$$$$ ]; then \
+ echo "monitoring-plugins needs a mounted /proc to correctly build"; \
+ exit 1; \
+ fi
+
+ ln -sf /usr/share/misc/config.sub build-aux
+ ln -sf /usr/share/misc/config.guess build-aux
+ rm -f config.cache
+
+ # Add here commands to configure the package.
+ # Append 'All warnings', 'Immediate binding' and dpkg-buildflags flags
+ CFLAGS="$$(DEB_CFLAGS_MAINT_APPEND='-Wall -Wl,-z,now' dpkg-buildflags --get CFLAGS)" \
+ PATH_TO_APTGET=/usr/bin/apt-get \
+ PGINCLUDE="-I`pg_config --includedir`" PGLIBS="-lpq -lcrypt" \
+ ./configure \
+ --disable-maintainer-mode \
+ --host=$(DEB_HOST_GNU_TYPE) \
+ --build=$(DEB_BUILD_GNU_TYPE) \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --libexecdir=${NP_LIBEXEC} \
+ --with-perl=/usr/bin/perl \
+ --with-openssl=/usr \
+ --with-pgsql=/usr \
+ --with-mysql=/usr \
+ --with-proc-loadavg=/proc/loadavg \
+ --with-ps-command="/bin/ps axwwo 'stat uid pid ppid vsz rss pcpu etime comm args'" \
+ --with-ps-format="%s %d %d %d %d %d %f %s %s %n" \
+ --with-ps-cols=10 \
+ --with-ps-varlist="procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procetime,procprog,&pos" \
+ $(PING_CONFIGURE_ARGS) \
+ --with-nslookup-command="/usr/bin/nslookup -sil" \
+ --with-uptime-command="/usr/bin/uptime" \
+ --with-rpcinfo-command="/usr/sbin/rpcinfo" \
+ --with-smbclient-command="/usr/bin/smbclient" \
+ --with-snmpget-command="/usr/bin/snmpget" \
+ --with-snmpgetnext-command="/usr/bin/snmpgetnext" \
+ --with-qstat-command="/usr/bin/quakestat" \
+ --with-fping-command="/usr/bin/fping" \
+ --with-fping6-command="/usr/bin/fping6" \
+ --with-ssh-command="/usr/bin/ssh" \
+ --with-sudo-command="/usr/bin/sudo" \
+ --with-mailq-command="/usr/bin/mailq" \
+ --with-proc-meminfo="/proc/meminfo" \
+ --with-dig-command="/usr/bin/dig" \
+ --with-apt-get-command="/usr/bin/apt-get" \
+ --enable-extra-opts \
+ --disable-rpath
+
+
+build: build-arch build-indep
+build-arch: build-stamp
+build-indep: build-stamp
+
+build-stamp: config.status
+ dh_testdir
+ $(MAKE)
+ touch build-stamp
+
+clean: really-clean
+
+really-clean:
+ dh_testdir
+ dh_testroot
+ rm -f build-stamp debian/README.Debian.plugins debian/monitoring-plugins-standard.substvars.in
+
+ # Add here commands to clean up after the build process.
+ [ ! -f Makefile ] || $(MAKE) distclean
+ find -type d -name autom4te.cache -print0 | xargs -0 -r rm -rf \;
+ -rm -f platform.h auto-include.h
+ find -type d -name build -print0 | xargs -0 -r rm -rf \;
+ find \( -name config.sub -o -name config.guess \) -print0 | xargs -0 -r rm -f \;
+ -rm -f $(DEBIANDIR)/monitoring-plugins-basic.postrm $(DEBIANDIR)/monitoring-plugins-standard.postrm
+ dh_clean
+
+install: build
+ dh_testdir
+ dh_testroot
+ dh_prep
+ dh_installdirs
+
+ # Add here commands to install the package into debian/monitoring-plugins.
+ $(MAKE) install DESTDIR=${NP_BASIC_DIR}
+ $(MAKE) install-root DESTDIR=${NP_BASIC_DIR}
+ chmod 644 ${NP_BASIC_DIR}/usr/lib/nagios/plugins/utils.pm
+ # split up basic vs. standard plugins
+ for p in ${std_plugins}; do \
+ mv ${NP_BASIC_DIR}/${NP_LIBEXEC}/$$p ${NP_STD_DIR}/${NP_LIBEXEC}; \
+ done
+ # slit out common files
+ for p in ${common_files}; do \
+ mv ${NP_BASIC_DIR}/${NP_LIBEXEC}/$$p ${NP_COMMON_DIR}/${NP_LIBEXEC}; \
+ done
+ # remove check_uptime for now (conflicting with check_uptime from n-p-c)
+ rm ${NP_BASIC_DIR}/${NP_LIBEXEC}/check_uptime
+ # now do the same for their configs, copying them into seperate
+ # "template" directories outside of /usr/share/doc for ucf to use.
+ for c in ${basic_plugin_cfgs}; do \
+ cp $(DEBIANDIR)/pluginconfig/$${c}.cfg ${NP_BASIC_TEMPLATES}; \
+ done
+ for c in ${std_plugin_cfgs}; do \
+ cp $(DEBIANDIR)/pluginconfig/$${c}.cfg ${NP_STD_TEMPLATES}; \
+ done
+ # dynamically create the postrm scripts using a template, so that we
+ # don't have to define the same list of plugin configs over and over.
+ sed -e 's/@BASIC_PLUGINS@/${basic_plugin_cfgs}/' \
+ < $(DEBIANDIR)/monitoring-plugins-basic.postrm.in \
+ > $(DEBIANDIR)/monitoring-plugins-basic.postrm
+ sed -e 's/@STD_PLUGINS@/${std_plugin_cfgs}/' \
+ < $(DEBIANDIR)/monitoring-plugins-standard.postrm.in \
+ > $(DEBIANDIR)/monitoring-plugins-standard.postrm
+ # copy our dpkg-sourced functions etc into place
+ mkdir -p ${NP_COMMON_DIR}/usr/share/monitoring-plugins/dpkg
+ install -t ${NP_COMMON_DIR}/usr/share/monitoring-plugins/dpkg \
+ $(DEBIANDIR)/functions
+ # remove /usr/include from monitoring-plugins-basic (in case its empty and exists)
+ [ ! -d ${NP_BASIC_DIR}/usr/include ] || rmdir ${NP_BASIC_DIR}/usr/include
+ # generate debian/README.Debian.plugins
+ perl ./debian/bin/gen_plugin_deps.pl
+
+# Build architecture-independent files here.
+binary-indep: build install
+ dh_testdir -i
+ dh_testroot -i
+ dh_installchangelogs -i
+ dh_installdocs -i
+ dh_link -i
+ dh_installexamples -i
+ dh_installman -i
+ dh_compress -i
+ dh_fixperms -i
+ dh_installdeb -i
+ dh_gencontrol -i
+ dh_md5sums -i
+ dh_builddeb -i
+
+# Build architecture-dependent files here.
+binary-arch: build install
+ dh_testdir -a
+ dh_testroot -a
+ dh_installchangelogs -p monitoring-plugins-basic -a ChangeLog
+ dh_installchangelogs -Nmonitoring-plugins-basic
+ dh_installdocs -a
+ dh_link -a
+ dh_installexamples -a
+ dh_installman -a
+ dh_strip -a
+ dh_compress -a
+ dh_fixperms -a -X utils.pm
+ dh_installdeb -a
+ dh_shlibdeps -a -Nmonitoring-plugins-standard
+ dpkg-shlibdeps -Tdebian/monitoring-plugins-standard.substvars \
+ ${NP_STD_DIR}/${NP_LIBEXEC}/check_dns
+ dpkg-shlibdeps -Tdebian/monitoring-plugins-standard.substvars.in \
+ -dSuggests ${NP_STD_DIR}/${NP_LIBEXEC}/check_*
+ grep shlibs:Suggests debian/monitoring-plugins-standard.substvars.in \
+ | sed -e 's/shlibs:Suggests/shlibs:Recommends/' \
+ >> debian/monitoring-plugins-standard.substvars
+ dh_gencontrol -a
+ dh_md5sums -a
+ dh_builddeb -a
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install