#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
# DH_VERBOSE = 1

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

# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
export DEB_CFLAGS_MAINT_APPEND  = -Wall -pedantic -fno-omit-frame-pointer
# package maintainers to append LDFLAGS
export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed

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

export ARCH=$(DEB_HOST_GNU_CPU)

MAKEVARS := ARCH=$(DEB_HOST_GNU_CPU) PREFIX=/usr MODULEDIR=/usr/lib/knot-resolver ETCDIR=/etc/knot-resolver V=1

# main packaging script based on dh7 syntax
%:
	dh $@ --with systemd -O--fail-missing

override_dh_auto_clean:
	dh_auto_clean -- clean doc-clean

override_dh_auto_build:
	dh_auto_build -- $(MAKEVARS) BUILDMODE=static lib
	dh_auto_build -- $(MAKEVARS)
	dh_auto_build -- doc-doxygen
	cd doc && sphinx-build -b html -D html_theme=nature . html

override_dh_auto_install:
	dh_auto_install --destdir=debian/tmp -- $(MAKEVARS)
	# make the modules non-executable
	chmod -x debian/tmp/usr/lib/knot-resolver/*.lua
	chmod -x debian/tmp/usr/lib/knot-resolver/*.so
	chmod -x debian/tmp/usr/lib/knot-resolver/http/*
	rm debian/tmp/usr/lib/knot-resolver/http/LICENSE
	rm debian/tmp/usr/lib/knot-resolver/http/jquery.js
	ln -s /usr/share/javascript/jquery/jquery.min.js debian/tmp/usr/lib/knot-resolver/http/jquery.js
	rm debian/tmp/usr/lib/knot-resolver/http/d3.js
	ln -s /usr/share/javascript/d3/d3.min.js debian/tmp/usr/lib/knot-resolver/http/d3.js
	rm debian/tmp/usr/lib/knot-resolver/http/bootstrap.min.js
	ln -s /usr/share/javascript/bootstrap/js/bootstrap.min.js debian/tmp/usr/lib/knot-resolver/http/bootstrap.min.js
	rm debian/tmp/usr/lib/knot-resolver/http/bootstrap.min.css
	ln -s /usr/share/javascript/bootstrap/css/bootstrap.min.css debian/tmp/usr/lib/knot-resolver/http/bootstrap.min.css
	rm debian/tmp/usr/lib/knot-resolver/http/bootstrap-theme.min.css
	ln -s /usr/share/javascript/bootstrap/css/bootstrap-theme.min.css debian/tmp/usr/lib/knot-resolver/http/bootstrap-theme.min.css

	# install custom config file
	install -d -m 755 debian/tmp/etc/knot-resolver/
	install -m 644 debian/kresd.conf debian/tmp/etc/knot-resolver/
	install -d -m 755 debian/tmp/usr/lib/knot-resolver/
	install -m 755 debian/init-d-script debian/tmp/usr/lib/knot-resolver/

override_dh_installinit:
	install -d -m 755 debian/knot-resolver/lib/systemd/system/
	install -d -m 755 debian/knot-resolver/lib/systemd/system/sockets.target.wants/
	install -m 644 systemd/knot-resolver.service debian/knot-resolver/lib/systemd/system/
	install -m 644 systemd/knot-resolver.socket debian/knot-resolver/lib/systemd/system/
	ln -s ../knot-resolver.socket debian/knot-resolver/lib/systemd/system/sockets.target.wants/
	install -m 644 systemd/knot-resolver-control.socket debian/knot-resolver/lib/systemd/system/
	ln -s ../knot-resolver-control.socket debian/knot-resolver/lib/systemd/system/sockets.target.wants/
	install -d -m 755 debian/knot-resolver/usr/lib/tmpfiles.d/
	install -m 644 systemd/tmpfiles/knot-resolver.conf debian/knot-resolver/usr/lib/tmpfiles.d/
	dh_installinit -pknot-resolver --no-start

override_dh_systemd_enable:
	dh_systemd_enable -pknot-resolver knot-resolver.service knot-resolver.socket knot-resolver-control.socket

override_dh_systemd_start:
	dh_systemd_start -pknot-resolver --no-start --no-restart-on-upgrade knot-resolver.service knot-resolver.socket knot-resolver-control.socket

override_dh_auto_test:
	LD_LIBRARY_PATH=$(CURDIR)/lib dh_auto_test

override_dh_strip:
	dh_strip -O--dbgsym-migration='knot-resolver-dbg (<< 1.0.0~beta3-60-ge61c48e-1~)'
