#!/usr/bin/make -f

# export DH_VERBOSE = 1

# see EXAMPLES in dpkg-buildflags(1) and read /usr/share/dpkg/*
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/default.mk

# see FEATURE AREAS in dpkg-buildflags(1)
export DEB_BUILD_MAINT_OPTIONS := hardening=+all

export DEB_CXXFLAGS_MAINT_APPEND := -Wall -pedantic -fno-lto
export DEB_LDFLAGS_MAINT_APPEND := -Wl,--as-needed -fno-lto

# hammer already replacing vyos in changelog
# it can replace this here also
export KEA_PKG_VERSION_IN_CONFIGURE := vyos
export KEA_PKG_TYPE_IN_CONFIGURE := deb

%:
	dh $@ --with python3 --with systemd --parallel -X.la -B

override_dh_auto_clean:
	rm -fr build

override_dh_auto_configure:
	meson setup build \
		--prefix /usr \
		--sysconfdir /etc \
		-D krb5=enabled \
		-D mysql=enabled \
		-D postgresql=enabled \
		-D netconf=disabled

override_dh_auto_build:
	meson compile -C build

override_dh_auto_test:
	# meson test -C build
	echo 'Testing skipped'

override_dh_auto_install:
	meson install -C build --destdir="${CURDIR}/debian/tmp"
	rm -f \
		debian/tmp/usr/share/doc/kea/README \
		debian/tmp/usr/share/doc/kea/ChangeLog \
		debian/tmp/usr/share/doc/kea/AUTHORS \
		debian/tmp/usr/share/doc/kea/COPYING \
		debian/tmp/usr/share/kea/meson-info/* \
		debian/tmp/usr/share/man/man8/keactrl.8 \
		debian/tmp/usr/lib/python3/dist-packages/kea/__pycache__/*.pyc \
		debian/tmp/usr/lib/python3/dist-packages/kea/__pycache__/*.pyo \
		debian/tmp/etc/kea/keactrl.conf \
		debian/tmp/usr/sbin/keactrl \
		debian/tmp/usr/share/man/man8/kea-netconf.8
	# change log destination from /var/log/... to STDOUT and enable shortened log format
	sed -i'' 's/"output":.*/"output": "stdout",/;s@// "pattern":\([^,]*\),*@"pattern":\1@' \
		debian/tmp/etc/kea/kea-ctrl-agent.conf \
		debian/tmp/etc/kea/kea-dhcp6.conf \
		debian/tmp/etc/kea/kea-dhcp4.conf \
		debian/tmp/etc/kea/kea-dhcp-ddns.conf

override_dh_install:
	dh_install
	dh_installtmpfiles

override_dh_installdocs:
	dh_installdocs -A AUTHORS README

# Do not enable and do not start services on installation.
override_dh_installinit:
	dh_installinit --no-enable --no-start
	dh_installinit --no-enable --no-start --name isc-kea-ctrl-agent isc-kea-ctrl-agent.service
	dh_installinit --no-enable --no-start --name isc-kea-dhcp-ddns-server isc-kea-dhcp-ddns-server.service
	dh_installinit --no-enable --no-start --name isc-kea-dhcp4-server isc-kea-dhcp4-server.service
	dh_installinit --no-enable --no-start --name isc-kea-dhcp6-server isc-kea-dhcp6-server.service

# Do not enable and do not start services on installation.
override_dh_installsystemd:
	dh_installsystemd --no-enable --no-start
	dh_installsystemd --no-enable --no-start --name isc-kea-ctrl-agent isc-kea-ctrl-agent.service
	dh_installsystemd --no-enable --no-start --name isc-kea-dhcp-ddns-server isc-kea-dhcp-ddns-server.service
	dh_installsystemd --no-enable --no-start --name isc-kea-dhcp4-server isc-kea-dhcp4-server.service
	dh_installsystemd --no-enable --no-start --name isc-kea-dhcp6-server isc-kea-dhcp6-server.service

override_dh_missing:
	dh_missing --fail-missing

override_dh_clean:
	if test -d build; then ninja -C build -t clean; fi
