#!/usr/bin/make -f

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

# Enable all hardening options
export DEB_BUILD_MAINT_OPTIONS = hardening=+all

# Add some flags to the dynamic linker
export DEB_LDFLAGS_MAINT_APPEND = -Wl,-z,defs -Wl,--as-needed

# The first driver stated here will be used as the 
# default driver in dspam.conf
STORAGE = "hash_drv,mysql_drv,pgsql_drv,sqlite3_drv"

%:
	dh $@ --with autoreconf --with systemd

override_dh_auto_configure:
	dh_auto_configure -- \
		--sysconfdir=/etc/dspam \
		--disable-dependency-tracking \
		--enable-split-configuration \
		--enable-static \
		--enable-external-lookup \
		--enable-syslog \
		--with-logdir=/var/log/dspam/ \
		--with-dspam-home=/var/spool/dspam \
		--enable-domain-scale \
		--with-delivery-agent=/usr/bin/procmail \
		--enable-daemon \
		--with-mysql-includes=/usr/include/mysql \
		--with-pgsql-includes=`pg_config --includedir` \
		--with-storage-driver=${STORAGE} \
		--enable-debug \
		--enable-virtual-users \
		--enable-preferences-extension \
		--enable-clamav

	# dh_install does not support renaming
	ln contrib/dspam_maintenance/dspam_maintenance.sh contrib/dspam_maintenance/dspam_maintenance

	# make sure we use the latest SQL schemas
	cat src/tools.mysql_drv/mysql_objects-4.1.sql > debian/sqlfiles/install/mysql
	cat src/tools.mysql_drv/virtual_users.sql >> debian/sqlfiles/install/mysql
	cat src/tools.pgsql_drv/pgsql_objects.sql > debian/sqlfiles/install/pgsql
	cat src/tools.pgsql_drv/virtual_users.sql >> debian/sqlfiles/install/pgsql

	# split the main configuration file into snippets 
	cp src/dspam.conf.in src/dspam.conf.in.orig
	./debian/split-config.sh

	# Generate debian/dspam-doc.docs
	cat debian/dspam-doc.docs.in > debian/dspam-doc.docs
	find doc/ -name "*.txt" | grep -v cssclean.txt | sort >> debian/dspam-doc.docs

override_dh_makeshlibs:
	dh_makeshlibs -Nlibdspam7-drv-hash -Nlibdspam7-drv-pgsql -Nlibdspam7-drv-mysql -Nlibdspam7-drv-sqlite3

override_dh_strip:
	dh_strip -pdspam --dbg-package=dspam-dbg
	dh_strip -plibdspam7 -plibdspam7-drv-hash -plibdspam7-drv-mysql -plibdspam7-drv-pgsql -plibdspam7-drv-sqlite3 --dbg-package=libdspam7-dbg

override_dh_installinit:
	dh_installinit --no-start

override_dh_auto_clean:
	[ ! -f Makefile ] || $(MAKE) maintainer-clean

	-rm -f contrib/dspam_maintenance/dspam_maintenance

	# Remove DB schemas
	-rm -f debian/sqlfiles/install/mysql
	-rm -f debian/sqlfiles/install/pgsql

	# Remove splitted configuration files
	-rm -f src/extlookup.conf
	-rm -f src/hash.conf
	-rm -f src/mysql.conf
	-rm -f src/pgsql.conf
	-mv src/dspam.conf.in.orig src/dspam.conf.in

	# Remove dspam-doc.docs generated from dspam-doc.docs.in
	-rm -f debian/dspam-doc.docs
