community/pdns: Upgrade to 4.1.1

Updated license.
Add additional backends.
Fixed default configuration directory.
Add unit tests and checks.
Added PDNS_TEST_NO_IPV6=1 to fix Travis CI test failure.
Add tools subpackage
This commit is contained in:
tcely 2018-02-23 22:48:18 -05:00 committed by Natanael Copa
parent d4492c53e1
commit c790bfffe4
2 changed files with 76 additions and 36 deletions

View File

@ -5,30 +5,38 @@
# Contributor: Fabian Zoske <fabian@zoske.it> # Contributor: Fabian Zoske <fabian@zoske.it>
# Maintainer: Matt Smith <mcs@darkregion.net> # Maintainer: Matt Smith <mcs@darkregion.net>
pkgname=pdns pkgname=pdns
pkgver=4.1.0 pkgver=4.1.1
pkgrel=0 pkgrel=0
pkgdesc="PowerDNS Authoritative Server" pkgdesc="PowerDNS Authoritative Server"
url="https://www.powerdns.com/" url="https://www.powerdns.com/"
arch="all" arch="all"
license="GPL-2.0" license="GPL-2.0-or-later"
depends="" depends=""
depends_dev="" depends_dev=""
makedepends="$depends_dev boost-dev lua-dev openldap-dev mariadb-dev makedepends="$depends_dev
postgresql-dev sqlite-dev geoip-dev yaml-cpp-dev krb5-dev" boost-dev curl file geoip-dev krb5-dev libressl-dev
libsodium-dev lua-dev mariadb-dev openldap-dev
postgresql-dev protobuf-dev sqlite-dev unixodbc-dev
yaml-cpp-dev"
install="$pkgname.pre-install" install="$pkgname.pre-install"
subpackages="$pkgname-doc subpackages="$pkgname-doc $pkgname-tools
$pkgname-backend-bind:backend_bind $pkgname-backend-bind:backend_bind
$pkgname-backend-geoip:backend_geoip
$pkgname-backend-ldap:backend_ldap $pkgname-backend-ldap:backend_ldap
$pkgname-backend-lua:backend_lua
$pkgname-backend-mydns:backend_mydns
$pkgname-backend-mysql:backend_mysql $pkgname-backend-mysql:backend_mysql
$pkgname-backend-pgsql:backend_pgsql $pkgname-backend-odbc:backend_odbc
$pkgname-backend-pipe:backend_pipe $pkgname-backend-pipe:backend_pipe
$pkgname-backend-sqlite3:backend_sqlite3 $pkgname-backend-pgsql:backend_pgsql
$pkgname-backend-geoip:backend_geoip" $pkgname-backend-random:backend_random
$pkgname-backend-remote:backend_remote
$pkgname-backend-sqlite3:backend_sqlite3"
pkgusers="pdns" pkgusers="pdns"
pkggroups="pdns" pkggroups="pdns"
source="http://downloads.powerdns.com/releases/pdns-$pkgver.tar.bz2 source="http://downloads.powerdns.com/releases/$pkgname-$pkgver.tar.bz2
pdns.initd $pkgname.initd
pdns.conf" $pkgname.conf"
builddir="$srcdir/$pkgname-$pkgver" builddir="$srcdir/$pkgname-$pkgver"
# secfixes: # secfixes:
@ -39,48 +47,80 @@ build() {
cd "$builddir" cd "$builddir"
./configure --prefix=/usr \ ./configure --prefix=/usr \
--sysconfdir=/etc/$pkgname \ --sysconfdir="/etc/$pkgname" \
--mandir=/usr/share/man \ --mandir=/usr/share/man \
--infodir=/usr/share/info \ --infodir=/usr/share/info \
--localstatedir=/var \ --localstatedir=/var \
--libdir=/usr/lib/pdns \ --libdir="/usr/lib/$pkgname" \
--with-modules="" \ --with-modules="" \
--with-dynmodules="bind ldap gmysql gpgsql pipe gsqlite3 geoip" \ --with-dynmodules="bind geoip ldap lua mydns gmysql godbc pipe gpgsql random remote gsqlite3" \
--enable-tools \
--enable-unit-tests \
--disable-static --disable-static
make make
} }
check() {
cd "$builddir"
PDNS_TEST_NO_IPV6=1 make check
}
package() { package() {
cd "$builddir" cd "$builddir"
make DESTDIR="$pkgdir" install make DESTDIR="$pkgdir" install
install -m755 -D "$srcdir"/$pkgname.initd \ install -m755 -D "$srcdir/$pkgname.initd" \
"$pkgdir"/etc/init.d/$pkgname "$pkgdir/etc/init.d/$pkgname"
rm "$pkgdir"/etc/$pkgname/$pkgname.conf-dist rm "$pkgdir/etc/$pkgname/$pkgname.conf-dist"
install -m600 -D "$srcdir"/$pkgname.conf \ install -m600 -D "$srcdir/$pkgname.conf" \
"$pkgdir"/etc/$pkgname/$pkgname.conf "$pkgdir/etc/$pkgname/$pkgname.conf"
chown pdns:pdns "$pkgdir"/etc/$pkgname/$pkgname.conf chown pdns:pdns "$pkgdir/etc/$pkgname/$pkgname.conf"
} }
backend_bind() { _mv_backend bind; } tools() {
backend_ldap() { _mv_backend ldap; } _tool_names="zone2ldap zone2sql zone2json
backend_mysql() { _mv_backend gmysql; } dnsgram dnsreplay dnsscan dnsscope dnswasher dumresp
backend_pgsql() { _mv_backend gpgsql; } pdns_notify nproxy nsec3dig saxfr stubquery ixplore
backend_pipe() { _mv_backend pipe; } sdig calidns dnsbulktest dnstcpbench dnspcap2protobuf"
backend_sqlite3() { _mv_backend gsqlite3 sqlite; }
backend_geoip() { _mv_backend geoip geoip; } mkdir -p "$subpkgdir"
cd "$subpkgdir"
mkdir -p "$subpkgdir/usr/bin"
for _tool in $_tool_names; do
mv "$pkgdir/usr/bin/$_tool" "$subpkgdir/usr/bin/"
done; unset -v _tool
}
_mv_backend() { _mv_backend() {
local backend=$1 local backend=$1
pkgdesc="${backend} backend module for PowerDNS" shift
depends="$pkgname ${2:-}"
mkdir -p "$subpkgdir"/usr/lib/pdns/pdns pkgdesc="$backend backend module for PowerDNS"
mv "$pkgdir"/usr/lib/pdns/pdns/lib${backend}backend.so \ depends="$pkgname $*"
"$subpkgdir"/usr/lib/pdns/pdns/
mkdir -p "$subpkgdir/usr/lib/pdns/pdns"
mv "$pkgdir/usr/lib/pdns/pdns/lib${backend}backend.so" \
"$subpkgdir/usr/lib/pdns/pdns/"
} }
sha512sums="4b2b42f4893f8aac3cf07a6c8a3c999cb728a5907a710f1a5c9c8d08377ecb63e202e5eececbefc069c8f1d97a29b2aa607da7cf2bcc6335a72222418e409e77 pdns-4.1.0.tar.bz2 backend_bind() { _mv_backend bind; }
3f5b202c56408168ddbf81b47f5c48ca65de91ada88751213a06a1096334b89176c5a6a58f3c6a893a2d15b51ece9f2a64d7d2ea836220a3e45fe362969c6cfa pdns.initd backend_geoip() { _mv_backend geoip geoip; }
c8f8d152c4d29660aa56a9dbfd0d268474f9bd26993ad9e7d8ef54725d02a02e27c1a11adc67bf40f5dd871a677648d45fa76222a063907e0dfb2420111d5dc8 pdns.conf" backend_ldap() { _mv_backend ldap; }
backend_lua() { _mv_backend lua lua; }
backend_mydns() { _mv_backend mydns; }
backend_mysql() { _mv_backend gmysql mariadb-client; }
backend_odbc() { _mv_backend godbc unixodbc; }
#backend_opendbx() { _mv_backend opendbx; }
#backend_oracle() { _mv_backend goracle; }
backend_pipe() { _mv_backend pipe; }
backend_pgsql() { _mv_backend gpgsql postgresql-client; }
backend_random() { _mv_backend random; }
backend_remote() { _mv_backend remote; }
backend_sqlite3() { _mv_backend gsqlite3 sqlite; }
#backend_tinydns() { _mv_backend tinydns; }
sha512sums="23e62ec39007e39a289945457e9b950cbeabf8581f477397341dfbd3592b7ccdede8f4c9ce653a47add07784d1a23116f9013c755eb11af1df383b49a8ca341d pdns-4.1.1.tar.bz2
3f809f3257680c3e496fa6a4c86c8a636db5d9d5b92aef96fe54c29b8266ee590deb792d13205cc171e27307fa73295dd3b101b09102fd66a2393a7cdbf9dd27 pdns.conf
3f5b202c56408168ddbf81b47f5c48ca65de91ada88751213a06a1096334b89176c5a6a58f3c6a893a2d15b51ece9f2a64d7d2ea836220a3e45fe362969c6cfa pdns.initd"

View File

@ -27,7 +27,7 @@ chroot=/var/empty
################################# #################################
# config-dir Location of configuration directory (pdns.conf) # config-dir Location of configuration directory (pdns.conf)
# #
config-dir=/etc config-dir=/etc/pdns
################################# #################################
# config-name Name of this virtual configuration - will rename the binary image # config-name Name of this virtual configuration - will rename the binary image