# Maintainer: Levente Polyak # Maintainer: Remi Gacogne # Contributor: Alexander Rødseth # Contributor: Jan de Groot # Contributor: Kevin Mihelich # Contributor: Pieter Lexis # ALARM: Kevin Mihelich # - explicitly link v5/v6 with libatomic pkgname=powerdns pkgver=4.6.0 pkgrel=1 pkgdesc='Authoritative DNS server' url='https://www.powerdns.com/' arch=('x86_64') license=('GPL2') depends=('boost-libs' 'gnutls' 'libcurl.so' 'libsodium' 'lmdb' 'luajit' 'openssl' 'sqlite' 'systemd-libs') makedepends=('boost' 'geoip' 'libldap' 'mariadb-libs' 'curl' 'libmaxminddb' 'postgresql-libs' 'systemd' 'tinycdb' 'unixodbc' 'yaml-cpp') optdepends=('geoip: GeoIP backend' 'mariadb-libs: MariaDB/MySQL and MyDNS backend' 'libldap: LDAP backend' 'libmaxminddb: MaxMindDB GeoIP2 database for the GeoIP backend' 'postgresql-libs: PostgreSQL backend' 'unixodbc: ODBC backend' 'tinycdb: TinyDNS backend' 'yaml-cpp: GeoIP backend') provides=('pdns') conflicts=('pdns') backup=('etc/powerdns/pdns.conf') source=(https://downloads.powerdns.com/releases/pdns-${pkgver}.tar.bz2{,.asc} openssl-3.0.patch::https://patch-diff.githubusercontent.com/raw/PowerDNS/pdns/pull/11233.diff sysusers.conf) sha512sums=('bbe64ad01fed0ea93cec90d47b2fe71228b9298999f14456dd4b5617929c0e370b5b7cb568deeb17cbf3fd42873bb8c986e655ddda8c7b93b4591361ddef2397' 'SKIP' 'f180ae8111244f3a0faf884f6f5997b1fcef0eefa30c154d7d44bd2948acdfd742cb4e2410f0855579f36c02e39a3afab6966661d4201400ebc191c5b669d86e' '522bde8b76367db6edd461fca8f81d50304a4d764addf33774b3e2c5c93a9e72d93993f54ddd4ee887ceeccf70280aceea3ffaf6370d26310e0a7ebbbf61f26a') validpgpkeys=('B76CD4671C0968BAA87DE61C5E50715BF2FFE1A7' # Winkels, Erik '16E12866B7738C73976A57436FFC33439B0D04DF' # Peter van Dijk 'FBAE0323821C7706A5CA151BDCF513FA7EED19F3' ) # Pieter Lexis prepare() { cd pdns-${pkgver} # Patch the Makefile.in's so /powerdns is used instead of /pdns (for e.g. $LIBDIR) # This allows for running pdns_server without setting `module-dir` in the config. find . -name 'Makefile.in' -exec sed -i 's,pkglibdir = \$(libdir)/@PACKAGE@,pkglibdir = $(libdir)/powerdns,' {} \; patch -p1 < ../openssl-3.0.patch } build() { cd pdns-${pkgver} [[ $CARCH == arm || $CARCH == armv6h ]] && LIBS="-latomic" LIBS=$LIBS ./configure \ --prefix=/usr \ --sysconfdir=/etc/powerdns \ --sbindir=/usr/bin \ --with-modules='' \ --with-dynmodules="bind geoip gmysql godbc gpgsql gsqlite3 ldap lmdb lua2 pipe remote tinydns" \ --docdir=/usr/share/doc/powerdns \ --with-libsodium \ --enable-tools \ --enable-ixfrdist \ --enable-dns-over-tls \ --disable-dependency-tracking \ --disable-silent-rules \ --enable-reproducible \ --enable-unit-tests \ --enable-systemd \ --with-service-user=powerdns \ --with-service-group=powerdns make } check() { make -C pdns-${pkgver} check } package() { make -C pdns-${pkgver} DESTDIR="${pkgdir}" install install -Dm 644 sysusers.conf "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf" mv "${pkgdir}/etc/powerdns/pdns.conf"{-dist,} # Ensure we run as the powerdns user sed -i "s,^# \(set.id=\),\1${pkgname}," "${pkgdir}/etc/powerdns/pdns.conf" } # vim: ts=2 sw=2 et: