Source: pdns-recursor
Version: 4.0.1-1
Severity: important
Tags: patch
Hi,
pdns-recursor fails to compile on kFreeBSD[1][2] and Hurd [3].
The reason is that systemd does not exist on non-Linux OSes, so the
systemd detection fails.
Easy fix is to explicitly enable systemd on Linux, and explicitly
disable it elsewhere; patch attached for it.
[1]
https://buildd.debian.org/status/fetch.php?pkg=pdns-recursor&arch=kfreebsd-amd64&ver=4.0.1-1&stamp=1469919095
[2]
https://buildd.debian.org/status/fetch.php?pkg=pdns-recursor&arch=kfreebsd-i386&ver=4.0.1-1&stamp=1469919742
[3]
https://buildd.debian.org/status/fetch.php?pkg=pdns-recursor&arch=hurd-i386&ver=4.0.1-1&stamp=1469923683
Thanks,
--
Pino
--- a/debian/control
+++ b/debian/control
@@ -16,7 +16,7 @@ Build-Depends: autoconf,
liblua5.2-dev,
libprotobuf-dev,
libssl-dev,
- libsystemd-dev,
+ libsystemd-dev [linux-any],
pkg-config,
protobuf-compiler
Vcs-Git: https://anonscm.debian.org/git/pkg-dns/pdns-recursor.git
--- a/debian/rules
+++ b/debian/rules
@@ -14,6 +14,14 @@ CXXFLAGS += -DPACKAGEVERSION='"$(version
# for atomic support on mips(el)
LDFLAGS += -latomic
+DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
+
+ifeq ($(DEB_HOST_ARCH_OS),linux)
+CONFIGURE_ARGS += --enable-systemd --with-systemd=/lib/systemd/system
+else
+CONFIGURE_ARGS += --disable-systemd
+endif
+
# Use new build system
%:
dh $@ \
@@ -27,7 +35,7 @@ override_dh_auto_configure:
--enable-reproducible \
--with-lua \
--with-protobuf=yes \
- --enable-systemd --with-systemd=/lib/systemd/system
+ $(CONFIGURE_ARGS)
override_dh_auto_install:
dh_auto_install