#!/usr/bin/make -f

include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/rules/simple-patchsys.mk
include /usr/share/cdbs/1/class/autotools.mk

LIB_VERSION = 10
COMPAT_VERSION = 5.3.1
BACKUP = aclocal.m4 configure ltmain.sh stamp-h stamp-h.in \
         include/net-snmp/net-snmp-config.h.in

MIB_MODULES = host smux ucd-snmp/dlmod

ifeq (linux,$(DEB_HOST_ARCH_OS))
MIB_MODULES += ucd-snmp/diskio ucd-snmp/lmSensors 
IPV6 = --enable-ipv6
DEB_DH_GENCONTROL_ARGS=-- -Vos-specific-dev="libsensors-dev (>= 2.8.5)"
else
ifeq (kfreebsd,$(DEB_HOST_ARCH_OS))
IPV6 = --disable-ipv6
DEB_DH_GENCONTROL_ARGS=-- -Vos-specific-dev="libkvm-dev"
endif
endif

DEB_AUTO_UPDATE_LIBTOOL  = pre
DEB_AUTO_UPDATE_ACLOCAL  = 1.9
DEB_AUTO_UPDATE_AUTOCONF = 2.59

DEB_DH_MAKESHLIBS_ARGS_libsnmp$(LIB_VERSION) := -V"libsnmp$(LIB_VERSION) (>= $(COMPAT_VERSION))"
DEB_MAKE_INSTALL_TARGET=install	INSTALL_PREFIX=$(CURDIR)/debian/tmp DESTDIR=$(CURDIR)/debian/tmp
DEB_MAKE_BUILD_TARGET=LD_RUN_PATH=
DEB_CONFIGURE_EXTRA_FLAGS := --prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man \
	  --with-persistent-directory=/var/lib/snmp \
	  --enable-ucd-snmp-compatibility \
	  --enable-shared --with-cflags="$(CFLAGS) -DNETSNMP_USE_INLINE" \
	  --with-perl-modules="INSTALLDIRS=vendor" \
	  $(IPV6) --with-logfile=none \
	  --without-rpm --with-libwrap --with-openssl \
	  --without-dmalloc --without-efence --without-rsaref \
	  --with-sys-contact="root" --with-sys-location="Unknown" \
	  --with-mib-modules="$(MIB_MODULES)" \
	  --enable-mfd-rewrites \
	  --with-mnttab=/etc/mtab \
	  --with-defaults

pre-build::
	# Backup files expected to be modified.
	for i in $(BACKUP); do \
		if [ ! -f $$i.backup ]; then cp $$i $$i.backup; fi ; \
	done

clean::
	dh_clean perl/SNMP/t/snmptest.cmd
	rm -rf `find . -name .libs`
	rm -rf `find . -name .svn`
	for i in $(BACKUP); do \
		if [ -f $$i.backup ]; then mv -f $$i.backup $$i; fi ; \
	done

common-install-arch::
	# Install the "broke" headers
	cp agent/mibgroup/struct.h debian/tmp/usr/include/net-snmp/agent
	cp agent/mibgroup/util_funcs.h debian/tmp/usr/include/net-snmp
	cp agent/mibgroup/mibincl.h debian/tmp/usr/include/net-snmp/library
	cp agent/mibgroup/header_complex.h debian/tmp/usr/include/net-snmp/agent
	# Remove the snmpcheck program since we don't support it (yet).
	rm debian/tmp/usr/bin/snmpcheck
	# Copy the .conf files.
	mkdir -p debian/tmp/etc/snmp
	cp EXAMPLE.conf debian/tmp/etc/snmp/snmpd.conf
	cp EXAMPLE-trap.conf debian/tmp/etc/snmp/snmptrapd.conf
	mv debian/tmp/usr/share/snmp/mib2c*.conf debian/tmp/etc/snmp
	mkdir -p debian/tmp/etc/default
	cp debian/snmpd.default debian/tmp/etc/default/snmpd
	# Perform other man pages fixups.
	bash ./debian/fixman

	# make lintian happy
	mkdir -p debian/tmp/usr/share/lintian/overrides
	cp debian/snmpd.lintian-overrides debian/tmp/usr/share/lintian/overrides/snmpd

binary/libsnmp-perl::
	dh_installexamples -plibsnmp-perl $(shell ls -d perl/SNMP/examples/* | grep -v SCCS)

binary/snmpd::
	chmod 600 debian/snmpd/etc/snmp/snmp*d.conf

binary/libsnmp$(LIB_VERSION)-dev::
	rm -rf debian/libsnmp$(LIB_VERSION)-dev/usr/share/doc/libsnmp$(LIB_VERSION)-dev
	ln -sf libsnmp$(LIB_VERSION) debian/libsnmp$(LIB_VERSION)-dev/usr/share/doc/libsnmp$(LIB_VERSION)-dev
