#!/usr/bin/make -f include /usr/share/dpkg/architecture.mk include /usr/share/dpkg/pkg-info.mk include /usr/share/dpkg/vendor.mk # Vendor and version version := $(DEB_VERSION).$(DEB_VENDOR) CXXFLAGS += -DPACKAGEVERSION='"$(version)"' # (Re-)Enable warnings CXXFLAGS += -Wall # Turn on all hardening flags, as we're a networked daemon. export DEB_BUILD_MAINT_OPTIONS = hardening=+all # Avoid test failure in docker. export PDNS_TEST_NO_IPV6=1 # Backends backends := bind ldap pipe gmysql godbc gpgsql gsqlite3 geoip lua mydns remote random opendbx tinydns # Disable systemd integration on non-linux archs ifeq ($(DEB_HOST_ARCH_OS),linux) CONFIGURE_ARGS += --enable-systemd --with-systemd=/lib/systemd/system else CONFIGURE_ARGS += --disable-systemd endif %: dh $@ override_dh_auto_configure: test -f pdns/dnslabeltext.cc && mv pdns/dnslabeltext.cc debian/dnslabeltext.cc.moved || true dh_auto_configure -- \ --sysconfdir=/etc/powerdns \ --with-dynmodules="$(backends)" \ --with-modules="" \ --enable-libsodium \ --enable-tools \ --without-protobuf \ --enable-unit-tests \ --enable-reproducible \ $(CONFIGURE_ARGS) override_dh_strip: dh_strip --ddeb-migration='pdns-server-dbg (<< 4.0.0-0)' override_dh_systemd_enable: dh_systemd_enable --name=pdns # init script needs to be named pdns, not pdns-server. if no pdns-backend # is installed, start will fail, so pass --no-start. backends will trigger # a restart. override_dh_installinit: dh_installinit --error-handler=initscript_error --no-start --restart-after-upgrade --name=pdns override_dh_install: dh_install ./pdns/pdns_server --no-config --config | sed \ -e 's!# module-dir=.*!!' \ -e 's!# include-dir=.*!&\ninclude-dir=/etc/powerdns/pdns.d!' \ -e 's!# launch=.*!&\nlaunch=!' \ -e 's!# setgid=.*!setgid=pdns!' \ -e 's!# setuid=.*!setuid=pdns!' \ -e 's!# security-poll-suffix=.*!&\nsecurity-poll-suffix=!' \ > debian/pdns-server/etc/powerdns/pdns.conf override_dh_auto_test: ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) echo Skipping make test, as dependencies are missing. make check || (cat pdns/test-suite.log; false) endif override_dh_fixperms: dh_fixperms # these files often contain passwords. chmod 0600 debian/pdns-server/etc/powerdns/pdns.conf # restore moved files override_dh_clean: test -f debian/dnslabeltext.cc.moved && mv debian/dnslabeltext.cc.moved pdns/dnslabeltext.cc || true dh_clean