PKGBUILDs/community/powerdns/PKGBUILD

99 lines
3 KiB
Bash
Raw Normal View History

2017-06-03 00:39:51 +00:00
# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Alexander Rødseth <rodseth@gmail.com>
# Contributor: Jan de Groot <jgc@archlinux.org>
# Contributor: Kevin Mihelich <kevin@archlinuxarm.org>
# Contributor: Remi Gacogne <rgacogne[at]archlinux[dot]org>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - explicitly link v5/v6 with libatomic
pkgname=powerdns
2017-11-27 19:50:08 +00:00
pkgver=4.0.5
pkgrel=1
2017-06-03 00:39:51 +00:00
pkgdesc='Authoritative DNS server'
url='http://www.powerdns.com/'
2017-11-27 19:50:08 +00:00
arch=('x86_64')
2017-06-03 00:39:51 +00:00
license=('GPL2')
depends=('boost-libs' 'libsodium' 'systemd' 'lua' 'openssl' 'protobuf' 'sqlite')
makedepends=('boost' 'setconf' 'libmariadbclient' 'postgresql-libs' 'lua' 'libldap'
'sqlite' 'geoip' 'yaml-cpp' 'pkg-config')
optdepends=('libmariadbclient: MariaDB/MySQL backend'
'postgresql-libs: PostgreSQL backend'
'libldap: LDAP backend'
'geoip: GeoIP backend'
'yaml-cpp: GeoIP backend')
provides=('pdns')
conflicts=('pdns')
backup=('etc/powerdns/pdns.conf')
2017-07-18 18:23:19 +00:00
source=(https://downloads.powerdns.com/releases/pdns-${pkgver}.tar.bz2{,.asc})
2017-11-27 19:50:08 +00:00
sha512sums=('4b0fa932c1d9caf35b988916447aa21c64ebe2a58bdd84417cf09321a21b264cf1057206dc6993a45a3b591eb1dfa49463710c06b6bdfaf6fb17ae6dec6086d9'
2017-07-18 18:23:19 +00:00
'SKIP')
2017-11-27 19:50:08 +00:00
validpgpkeys=('B76CD4671C0968BAA87DE61C5E50715BF2FFE1A7' # Winkels, Erik <erik.winkels@open-xchange.com>
'16E12866B7738C73976A57436FFC33439B0D04DF') # Pieter Lexis <pieter.lexis@powerdns.com>
2017-06-03 00:39:51 +00:00
prepare() {
cd pdns-${pkgver}
# Default settings
for keyvalue in \
allow-recursion=127.0.0.1 \
chroot=/var/empty \
config-dir=/etc/powerdns \
daemon=no \
distributor-threads=3 \
guardian=no \
local-port=53 \
loglevel=3 \
module-dir=/usr/lib/powerdns \
setgid=nobody \
setuid=nobody \
socket-dir=/var/run \
webserver=no
do
setconf -a pdns.conf "${keyvalue}"
done
# Using simple so we can bind it to a chroot
sed 's|notify|simple|' -i pdns/pdns.service.in
}
build() {
cd pdns-${pkgver}
[[ $CARCH == arm || $CARCH == armv6h ]] && LIBS="-latomic"
LIBS=$LIBS ./configure \
--prefix=/usr \
--sysconfdir=/etc/powerdns \
--libexecdir=/usr/lib \
--libdir=/usr/lib \
--mandir=/usr/share/man \
--with-modules='' \
--with-dynmodules="bind gmysql geoip gpgsql gsqlite3 ldap lua pipe random remote" \
--docdir=/usr/share/doc/powerdns \
--sbindir=/usr/bin \
--bindir=/usr/bin \
--with-sqlite3 \
--enable-libsodium \
--enable-tools \
--disable-dependency-tracking \
--disable-silent-rules \
--enable-reproducible \
--enable-unit-tests \
--enable-systemd
make
}
check() {
make -C pdns-${pkgver} check
}
package() {
cd pdns-${pkgver}
make DESTDIR="${pkgdir}" install
# apply defaults to generated pdns.conf
mv "${pkgdir}/etc/powerdns/pdns.conf"{-dist,}
cat pdns.conf >> "${pkgdir}/etc/powerdns/pdns.conf"
# adjust modules dir to match pkgname
mv "${pkgdir}/usr/lib/"{pdns,powerdns}
}
# vim: ts=2 sw=2 et: