~alpine/aports

This thread contains a patchset. You're looking at the original emails, but you may wish to use the patch review UI. Review patch

[alpine-aports] [PATCH] testing/pdns{-recursor}: Move to community

Olivier Mauras <olivier@mauras.ch>
Details
Message ID
<20160822211459.2a4c173aad73004f8db178be@mauras.ch>
Sender timestamp
1471893299
DKIM signature
missing
Download raw message
Patch: +1071 -1070
---
 community/pdns-recursor/APKBUILD                   |  67 +++
 community/pdns-recursor/pdns-recursor.initd        |  27 ++
 .../pdns-recursor/pdns-recursor.post-deinstall     |   4 +
 community/pdns-recursor/pdns-recursor.pre-install  |   6 +
 community/pdns-recursor/recursor.conf              | 452 +++++++++++++++++++++
 community/pdns/APKBUILD                            | 102 +++++
 community/pdns/pdns.conf                           | 337 +++++++++++++++
 community/pdns/pdns.initd                          |  66 +++
 community/pdns/pdns.post-deinstall                 |   4 +
 community/pdns/pdns.pre-install                    |   6 +
 testing/pdns-recursor/APKBUILD                     |  66 ---
 testing/pdns-recursor/pdns-recursor.initd          |  27 --
 testing/pdns-recursor/pdns-recursor.post-deinstall |   4 -
 testing/pdns-recursor/pdns-recursor.pre-install    |   6 -
 testing/pdns-recursor/recursor.conf                | 452 ---------------------
 testing/pdns/APKBUILD                              | 102 -----
 testing/pdns/pdns.conf                             | 337 ---------------
 testing/pdns/pdns.initd                            |  66 ---
 testing/pdns/pdns.post-deinstall                   |   4 -
 testing/pdns/pdns.pre-install                      |   6 -
 20 files changed, 1071 insertions(+), 1070 deletions(-)
 create mode 100644 community/pdns-recursor/APKBUILD
 create mode 100644 community/pdns-recursor/pdns-recursor.initd
 create mode 100644 community/pdns-recursor/pdns-recursor.post-deinstall
 create mode 100644 community/pdns-recursor/pdns-recursor.pre-install
 create mode 100644 community/pdns-recursor/recursor.conf
 create mode 100644 community/pdns/APKBUILD
 create mode 100644 community/pdns/pdns.conf
 create mode 100644 community/pdns/pdns.initd
 create mode 100644 community/pdns/pdns.post-deinstall
 create mode 100644 community/pdns/pdns.pre-install
 delete mode 100644 testing/pdns-recursor/APKBUILD
 delete mode 100644 testing/pdns-recursor/pdns-recursor.initd
 delete mode 100644 testing/pdns-recursor/pdns-recursor.post-deinstall
 delete mode 100644 testing/pdns-recursor/pdns-recursor.pre-install
 delete mode 100644 testing/pdns-recursor/recursor.conf
 delete mode 100644 testing/pdns/APKBUILD
 delete mode 100644 testing/pdns/pdns.conf
 delete mode 100644 testing/pdns/pdns.initd
 delete mode 100644 testing/pdns/pdns.post-deinstall
 delete mode 100644 testing/pdns/pdns.pre-install

diff --git a/community/pdns-recursor/APKBUILD b/community/pdns-recursor/APKBUILD
new file mode 100644
index 0000000..3407b4e
--- /dev/null
+++ b/community/pdns-recursor/APKBUILD
@@ -0,0 +1,67 @@
# Contributor: Olivier Mauras <olivier@mauras.ch>
# Maintainer: Olivier Mauras <olivier@mauras.ch>
pkgname=pdns-recursor
pkgver=4.0.1
pkgrel=0
pkgdesc="PowerDNS Recursive Server"
url="http://www.powerdns.com/"
arch="all"
license="GPL"
depends=""
depends_dev=""
makedepends="$depends_dev boost-dev lua-dev openssl-dev"
install="$pkgname.pre-install $pkgname.post-deinstall"
subpackages="$pkgname-doc"
pkgusers="pdns"
pkggroups="pdns"
source="http://downloads.powerdns.com/releases/pdns-recursor-$pkgver.tar.bz2
	pdns-recursor.initd
	recursor.conf
	"

_builddir="$srcdir/$pkgname-$pkgver"

prepare() {
	local i
	cd "$_builddir"
	for i in $source; do
		case $i in
		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
		esac
	done
}

build() {
	cd "$_builddir"
	./configure --prefix=/usr \
		--sysconfdir=/etc/pdns \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--localstatedir=/var \
		--libdir=/usr/lib/pdns \
		--disable-static \
		|| return 1
	make || return 1
}

package() {
	cd "$_builddir"
	make DESTDIR="$pkgdir" install || return 1
	rm "$pkgdir"/etc/pdns/recursor.conf-dist || return 1

	install -m755 -D "$srcdir"/$pkgname.initd \
		"$pkgdir"/etc/init.d/$pkgname || return 1

	install -m600 -D "$srcdir"/recursor.conf \
		"$pkgdir"/etc/pdns/recursor.conf || return 1
}

md5sums="5ef062610de3d193ebe63a615263df7e  pdns-recursor-4.0.1.tar.bz2
35f373bae0503632088956fa14754e4e  pdns-recursor.initd
2950b9932de6baae360f220c7686f520  recursor.conf"
sha256sums="472db541307c8ca83a846d260ecfc854fd8e879c1bb2ce5683a8df5d21e860b0  pdns-recursor-4.0.1.tar.bz2
215d916383e3cba184f8418b98cd2ced146500006e21e2efeb0ee5b53f3df049  pdns-recursor.initd
12bdbf651db0c7fe63ddb01a239a5ddd40825f50811a5d3f4d13cda294bd0344  recursor.conf"
sha512sums="3e69606bda3d296b0c3fd9212afa2a098ab04637718356d220a9490bc3e2a0ca97210934d398ad740509cea9e8f8d2ab2e16a1ba75d559f6b82bf64a729ad018  pdns-recursor-4.0.1.tar.bz2
f23cb30d943e0b0aea09371dc57aa43e55b8f91062a3caa3fac17e3565a8e36dfd304f45eba588f625ca2337cd2ade450ea5ae1776872c006204cdaf912f6651  pdns-recursor.initd
954df537693a202fc195e751011bbfaa605b3f3df42ac386fa82eb809b73c2b987f5e418b5c96bb3b0669497426ce0daa39a719844701e06990b82843a4cf0d4  recursor.conf"
diff --git a/community/pdns-recursor/pdns-recursor.initd b/community/pdns-recursor/pdns-recursor.initd
new file mode 100644
index 0000000..80e851d
--- /dev/null
+++ b/community/pdns-recursor/pdns-recursor.initd
@@ -0,0 +1,27 @@
#!/sbin/openrc-run
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-dns/pdns/files/pdns,v 1.10 2007/05/07 20:19:18 swegener Exp $

name=pdns-recursor
daemon=/usr/sbin/pdns_recursor
recursor_control=/usr/bin/rec_control

extra_started_commands="dump reload"

depend() {
	need net
	after firewall
}

start() {
	ebegin "Starting PowerDNS recursor"
	${daemon}
	eend $?
}

stop() {
	ebegin "Stopping PowerDNS recursor"
	${recursor_control} quit &>/dev/null
	eend $?
}
diff --git a/community/pdns-recursor/pdns-recursor.post-deinstall b/community/pdns-recursor/pdns-recursor.post-deinstall
new file mode 100644
index 0000000..a7604db
--- /dev/null
+++ b/community/pdns-recursor/pdns-recursor.post-deinstall
@@ -0,0 +1,4 @@
#!/bin/sh

deluser recursor 2>/dev/null
exit 0
diff --git a/community/pdns-recursor/pdns-recursor.pre-install b/community/pdns-recursor/pdns-recursor.pre-install
new file mode 100644
index 0000000..ece3a78
--- /dev/null
+++ b/community/pdns-recursor/pdns-recursor.pre-install
@@ -0,0 +1,6 @@
#!/bin/sh

addgroup -S recursor 2>/dev/null
adduser -S -D -H -h /var/empty -s /bin/false -G recursor -g recursor recursor 2>/dev/null

exit 0
diff --git a/community/pdns-recursor/recursor.conf b/community/pdns-recursor/recursor.conf
new file mode 100644
index 0000000..1db3127
--- /dev/null
+++ b/community/pdns-recursor/recursor.conf
@@ -0,0 +1,452 @@
# Autogenerated configuration file template
#################################
# allow-from	If set, only allow these comma separated netmasks to recurse
#
# allow-from=127.0.0.0/8, 10.0.0.0/8, 100.64.0.0/10, 169.254.0.0/16, 192.168.0.0/16, 172.16.0.0/12, ::1/128, fc00::/7, fe80::/10

#################################
# allow-from-file	If set, load allowed netmasks from this file
#
# allow-from-file=

#################################
# any-to-tcp	Answer ANY queries with tc=1, shunting to TCP
#
# any-to-tcp=no

#################################
# api-config-dir	Directory where REST API stores config and zones
#
# api-config-dir=

#################################
# api-key	Static pre-shared authentication key for access to the REST API
#
# api-key=

#################################
# api-logfile	Location of the server logfile (used by the REST API)
#
# api-logfile=/var/log/pdns.log

#################################
# api-readonly	Disallow data modification through the REST API when set
#
# api-readonly=no

#################################
# auth-zones	Zones for which we have authoritative data, comma separated domain=file pairs 
#
# auth-zones=

#################################
# carbon-interval	Number of seconds between carbon (graphite) updates
#
# carbon-interval=30

#################################
# carbon-ourname	If set, overrides our reported hostname for carbon stats
#
# carbon-ourname=

#################################
# carbon-server	If set, send metrics in carbon (graphite) format to this server
#
# carbon-server=

#################################
# chroot	switch to chroot jail
#
# chroot=

#################################
# client-tcp-timeout	Timeout in seconds when talking to TCP clients
#
# client-tcp-timeout=2

#################################
# config-dir	Location of configuration directory (recursor.conf)
#
# config-dir=/etc

#################################
# config-name	Name of this virtual configuration - will rename the binary image
#
# config-name=

#################################
# daemon	Operate as a daemon
#
daemon=yes

#################################
# delegation-only	Which domains we only accept delegations from
#
# delegation-only=

#################################
# disable-packetcache	Disable packetcache
#
# disable-packetcache=no

#################################
# disable-syslog	Disable logging to syslog, useful when running inside a supervisor that logs stdout
#
# disable-syslog=no

#################################
# dnssec	DNSSEC mode: off/process-no-validate (default)/process/log-fail/validate
#
# dnssec=process-no-validate

#################################
# dnssec-log-bogus	Log DNSSEC bogus validations
#
# dnssec-log-bogus=no

#################################
# dont-query	If set, do not query these netmasks for DNS data
#
# dont-query=127.0.0.0/8, 10.0.0.0/8, 100.64.0.0/10, 169.254.0.0/16, 192.168.0.0/16, 172.16.0.0/12, ::1/128, fc00::/7, fe80::/10, 0.0.0.0/8, 192.0.0.0/24, 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24, 240.0.0.0/4, ::/96, ::ffff:0:0/96, 100::/64, 2001:db8::/32

#################################
# edns-outgoing-bufsize	Outgoing EDNS buffer size
#
# edns-outgoing-bufsize=1680

#################################
# edns-subnet-whitelist	List of netmasks and domains that we should enable EDNS subnet for
#
# edns-subnet-whitelist=

#################################
# entropy-source	If set, read entropy from this file
#
# entropy-source=/dev/urandom

#################################
# etc-hosts-file	Path to 'hosts' file
#
# etc-hosts-file=/etc/hosts

#################################
# export-etc-hosts	If we should serve up contents from /etc/hosts
#
# export-etc-hosts=off

#################################
# export-etc-hosts-search-suffix	Also serve up the contents of /etc/hosts with this suffix
#
# export-etc-hosts-search-suffix=

#################################
# forward-zones	Zones for which we forward queries, comma separated domain=ip pairs
#
# forward-zones=

#################################
# forward-zones-file	File with (+)domain=ip pairs for forwarding
#
# forward-zones-file=

#################################
# forward-zones-recurse	Zones for which we forward queries with recursion bit, comma separated domain=ip pairs
#
# forward-zones-recurse=

#################################
# hint-file	If set, load root hints from this file
#
# hint-file=

#################################
# include-dir	Include *.conf files from this directory
#
# include-dir=

#################################
# latency-statistic-size	Number of latency values to calculate the qa-latency average
#
# latency-statistic-size=10000

#################################
# local-address	IP addresses to listen on, separated by spaces or commas. Also accepts ports.
#
# local-address=127.0.0.1

#################################
# local-port	port to listen on
#
local-port=5353

#################################
# log-common-errors	If we should log rather common errors
#
# log-common-errors=no

#################################
# logging-facility	Facility to log messages as. 0 corresponds to local0
#
# logging-facility=

#################################
# loglevel	Amount of logging. Higher is more. Do not set below 3
#
# loglevel=4

#################################
# lowercase-outgoing	Force outgoing questions to lowercase
#
# lowercase-outgoing=no

#################################
# lua-config-file	More powerful configuration options
#
# lua-config-file=

#################################
# lua-dns-script	Filename containing an optional 'lua' script that will be used to modify dns answers
#
# lua-dns-script=

#################################
# max-cache-entries	If set, maximum number of entries in the main cache
#
# max-cache-entries=1000000

#################################
# max-cache-ttl	maximum number of seconds to keep a cached entry in memory
#
# max-cache-ttl=86400

#################################
# max-mthreads	Maximum number of simultaneous Mtasker threads
#
# max-mthreads=2048

#################################
# max-negative-ttl	maximum number of seconds to keep a negative cached entry in memory
#
# max-negative-ttl=3600

#################################
# max-packetcache-entries	maximum number of entries to keep in the packetcache
#
# max-packetcache-entries=500000

#################################
# max-qperq	Maximum outgoing queries per query
#
# max-qperq=50

#################################
# max-tcp-clients	Maximum number of simultaneous TCP clients
#
# max-tcp-clients=128

#################################
# max-tcp-per-client	If set, maximum number of TCP sessions per client (IP address)
#
# max-tcp-per-client=0

#################################
# max-total-msec	Maximum total wall-clock time per query in milliseconds, 0 for unlimited
#
# max-total-msec=7000

#################################
# minimum-ttl-override	Set under adverse conditions, a minimum TTL
#
# minimum-ttl-override=0

#################################
# network-timeout	Wait this nummer of milliseconds for network i/o
#
# network-timeout=1500

#################################
# no-shuffle	Don't change
#
# no-shuffle=off

#################################
# non-local-bind	Enable binding to non-local addresses by using FREEBIND / BINDANY socket options
#
# non-local-bind=no

#################################
# packetcache-servfail-ttl	maximum number of seconds to keep a cached servfail entry in packetcache
#
# packetcache-servfail-ttl=60

#################################
# packetcache-ttl	maximum number of seconds to keep a cached entry in packetcache
#
# packetcache-ttl=3600

#################################
# pdns-distributes-queries	If PowerDNS itself should distribute queries over threads
#
# pdns-distributes-queries=

#################################
# processes	Launch this number of processes (EXPERIMENTAL, DO NOT CHANGE)
#
# processes=1

#################################
# query-local-address	Source IP address for sending queries
#
# query-local-address=0.0.0.0

#################################
# query-local-address6	Source IPv6 address for sending queries. IF UNSET, IPv6 WILL NOT BE USED FOR OUTGOING QUERIES
#
# query-local-address6=

#################################
# quiet	Suppress logging of questions and answers
#
# quiet=

#################################
# reuseport	Enable SO_REUSEPORT allowing multiple recursors processes to listen to 1 address
#
# reuseport=no

#################################
# root-nx-trust	If set, believe that an NXDOMAIN from the root means the TLD does not exist
#
# root-nx-trust=yes

#################################
# security-poll-suffix	Domain name from which to query security update notifications
#
# security-poll-suffix=secpoll.powerdns.com.

#################################
# serve-rfc1918	If we should be authoritative for RFC 1918 private IP space
#
# serve-rfc1918=

#################################
# server-down-max-fails	Maximum number of consecutive timeouts (and unreachables) to mark a server as down ( 0 => disabled )
#
# server-down-max-fails=64

#################################
# server-down-throttle-time	Number of seconds to throttle all queries to a server after being marked as down
#
# server-down-throttle-time=60

#################################
# server-id	Returned when queried for 'server.id' TXT or NSID, defaults to hostname
#
# server-id=

#################################
# setgid	If set, change group id to this gid for more security
#
setgid=recursor

#################################
# setuid	If set, change user id to this uid for more security
#
setuid=recursor

#################################
# single-socket	If set, only use a single socket for outgoing queries
#
# single-socket=off

#################################
# soa-minimum-ttl	Don't change
#
# soa-minimum-ttl=0

#################################
# socket-dir	Where the controlsocket will live, /var/run when unset and not chrooted
#
# socket-dir=

#################################
# socket-group	Group of socket
#
# socket-group=

#################################
# socket-mode	Permissions for socket
#
# socket-mode=

#################################
# socket-owner	Owner of socket
#
# socket-owner=

#################################
# spoof-nearmiss-max	If non-zero, assume spoofing after this many near misses
#
# spoof-nearmiss-max=20

#################################
# stack-size	stack size per mthread
#
# stack-size=200000

#################################
# stats-ringbuffer-entries	maximum number of packets to store statistics for
#
# stats-ringbuffer-entries=10000

#################################
# threads	Launch this number of threads
#
# threads=2

#################################
# trace	if we should output heaps of logging. set to 'fail' to only log failing domains
#
# trace=off

#################################
# udp-truncation-threshold	Maximum UDP response size before we truncate
#
# udp-truncation-threshold=1680

#################################
# version-string	string reported on version.pdns or version.bind
#
# version-string=PowerDNS Recursor 4.0.1 (built Aug 15 2016 11:06:59 by coredumb@alpine-dev.internal)

#################################
# webserver	Start a webserver (for REST API)
#
# webserver=no

#################################
# webserver-address	IP Address of webserver to listen on
#
# webserver-address=127.0.0.1

#################################
# webserver-allow-from	Webserver access is only allowed from these subnets
#
# webserver-allow-from=0.0.0.0/0,::/0

#################################
# webserver-password	Password required for accessing the webserver
#
# webserver-password=

#################################
# webserver-port	Port of webserver to listen on
#
# webserver-port=8082

#################################
# write-pid	Write a PID file
#
# write-pid=yes


diff --git a/community/pdns/APKBUILD b/community/pdns/APKBUILD
new file mode 100644
index 0000000..3742a27
--- /dev/null
+++ b/community/pdns/APKBUILD
@@ -0,0 +1,102 @@
# Contributor: *ukasz Jendrysik <scadu@yandex.com>
# Contributor: Matt Smith <mcs@darkregion.net>
# Contributor: Olivier Mauras <olivier@mauras.ch>
# Maintainer: Olivier Mauras <olivier@mauras.ch>
pkgname=pdns
pkgver=4.0.1
pkgrel=0
pkgdesc="PowerDNS Authoritative Server"
url="http://www.powerdns.com/"
arch="all"
license="GPL"
depends=""
depends_dev=""
makedepends="$depends_dev boost-dev lua-dev openldap-dev mariadb-dev
	postgresql-dev sqlite-dev openssl-dev"
install="$pkgname.pre-install $pkgname.post-deinstall"
subpackages="$pkgname-doc
	$pkgname-backend-bind:backend_bind
	$pkgname-backend-ldap:backend_ldap
	$pkgname-backend-mysql:backend_mysql
	$pkgname-backend-pgsql:backend_pgsql
	$pkgname-backend-pipe:backend_pipe
	$pkgname-backend-sqlite3:backend_sqlite3
	"
pkgusers="pdns"
pkggroups="pdns"
source="http://downloads.powerdns.com/releases/pdns-$pkgver.tar.bz2
	pdns.initd
	pdns.conf
	"

_builddir="$srcdir/$pkgname-$pkgver"

prepare() {
	local i
	cd "$_builddir"
	for i in $source; do
		case $i in
		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
		esac
	done
}

build() {
	cd "$_builddir"
	./configure --prefix=/usr \
		--sysconfdir=/etc/$pkgname \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--localstatedir=/var \
		--libdir=/usr/lib/pdns \
		--with-modules="" \
		--with-dynmodules="bind ldap gmysql gpgsql pipe gsqlite3" \
		--disable-static \
		|| return 1
	make || return 1
}

package() {
	cd "$_builddir"
	make DESTDIR="$pkgdir" install || return 1

	install -m755 -D "$srcdir"/$pkgname.initd \
		"$pkgdir"/etc/init.d/$pkgname || return 1
	rm "$pkgdir"/etc/$pkgname/$pkgname.conf-dist
	install -m600 -D "$srcdir"/$pkgname.conf \
		"$pkgdir"/etc/$pkgname/$pkgname.conf || return 1
	chown pdns:pdns "$pkgdir"/etc/$pkgname/$pkgname.conf || return 1
}

backend_bind()		{ _mv_backend bind; }
backend_ldap()		{ _mv_backend ldap openldap; }
backend_mysql()		{ _mv_backend gmysql mysql; }
backend_pgsql()		{ _mv_backend gpgsql postgresql; }
backend_pipe()		{ _mv_backend pipe; }
backend_sqlite3()	{ _mv_backend gsqlite3 sqlite; }

_mv_backend() {
	local backend=$1
	pkgdesc="${backend} backend module for PowerDNS"
	depends="$pkgname"

	# backend dependencies
	if [ -n "${2-}" ]; then
		depends="${2-}"
	fi
	depends="${depends} ${pkgname}"

	mkdir -p "$subpkgdir"/usr/lib/pdns/pdns || return 1
	mv "$pkgdir"/usr/lib/pdns/pdns/lib${backend}backend.so \
		"$subpkgdir"/usr/lib/pdns/pdns/ || return 1
}

md5sums="d34a390672aa043f8a287e5bb2284f4a  pdns-4.0.1.tar.bz2
db11dfe72474858f706155c817f2ded5  pdns.initd
351bac7f784a1a40e768466d9e6f1a79  pdns.conf"
sha256sums="d191eed4a6664430e85969f49835c59e810ecbb7b3eb506e64c6b2734091edd7  pdns-4.0.1.tar.bz2
081835f812e419b153a9cc716ad55b9cb22c6c185b748e0aafc40430fa5e8b5e  pdns.initd
5fdf423f829dca0b50bc81bab773d7ec4ee6627e35f861124d8c2ccd79a2f50c  pdns.conf"
sha512sums="77fce9963a05198afeb569f92fbb0f6a1cb3426c28dd77b0921128189c80d9a72ebdbfc249dfc0b5b89cc7a65a83887a0388d6cc3461453b1e3096e563afdd1e  pdns-4.0.1.tar.bz2
71257be925fe57b15ebf29a7810cd70581cb867416ab9562300a1bbc3eb94fcb92ea2eb95f15e3ee3bd409468911077c50f90a2501801b0c8c49ed979f41f3a4  pdns.initd
9913551bb4d685aaced806134b1037d85ce759e7d9e780e256e67651d9d346aad5e608b4a45a4933f0ba879605b69d06e579c38b7f917f7a9be37c7797c5953b  pdns.conf"
diff --git a/community/pdns/pdns.conf b/community/pdns/pdns.conf
new file mode 100644
index 0000000..e0238c0
--- /dev/null
+++ b/community/pdns/pdns.conf
@@ -0,0 +1,337 @@
# Autogenerated configuration file template
#################################
# allow-axfr-ips	Allow zonetransfers only to these subnets
#
# allow-axfr-ips=0.0.0.0/0

#################################
# allow-recursion	List of subnets that are allowed to recurse
#
# allow-recursion=0.0.0.0/0

#################################
# allow-recursion-override	Set this so that local data fully overrides the recursor
#
# allow-recursion-override=no

#################################
# cache-ttl	Seconds to store packets in the PacketCache
#
cache-ttl=60

#################################
# chroot	If set, chroot to this directory for more security
#
chroot=/var/empty

#################################
# config-dir	Location of configuration directory (pdns.conf)
#
config-dir=/etc

#################################
# config-name	Name of this virtual configuration - will rename the binary image
#
# config-name=

#################################
# control-console	Debugging switch - don't use
#
# control-console=no

#################################
# daemon	Operate as a daemon
#
daemon=yes

#################################
# default-soa-name	name to insert in the SOA record if none set in the backend
#
# default-soa-name=a.misconfigured.powerdns.server

#################################
# default-ttl	Seconds a result is valid if not set otherwise
#
# default-ttl=3600

#################################
# disable-axfr	Disable zonetransfers but do allow TCP queries
#
# disable-axfr=no

#################################
# disable-tcp	Do not listen to TCP queries
#
# disable-tcp=no

#################################
# distributor-threads	Default number of Distributor (backend) threads to start
#
distributor-threads=1

#################################
# do-ipv6-additional-processing	Do AAAA additional processing
#
# do-ipv6-additional-processing=no

#################################
# fancy-records	Process URL and MBOXFW records
#
# fancy-records=no

#################################
# guardian	Run within a guardian process
#
guardian=yes

#################################
# launch	Which backends to launch and order to query them in
#
# launch=

#################################
# lazy-recursion	Only recurse if question cannot be answered locally
#
# lazy-recursion=yes

#################################
# load-modules	Load this module - supply absolute or relative path
#
# load-modules=

#################################
# local-address	Local IP addresses to which we bind
#
# local-address=0.0.0.0

#################################
# local-ipv6	Local IP address to which we bind
#
# local-ipv6=

#################################
# local-port	The port on which we listen
#
local-port=53

#################################
# log-dns-details	If PDNS should log DNS non-erroneous details
#
# log-dns-details=

#################################
# log-failed-updates	If PDNS should log failed update requests
#
# log-failed-updates=

#################################
# logfile	Logfile to use (Windows only)
#
# logfile=pdns.log

#################################
# logging-facility	Log under a specific facility
#
# logging-facility=

#################################
# loglevel	Amount of logging. Higher is more. Do not set below 3
#
loglevel=3

#################################
# master	Act as a master
#
# master=no

#################################
# max-queue-length	Maximum queuelength before considering situation lost
#
# max-queue-length=5000

#################################
# max-tcp-connections	Maximum number of TCP connections
#
# max-tcp-connections=10

#################################
# module-dir	Default directory for modules
#
module-dir=/usr/lib/pdns

#################################
# negquery-cache-ttl	Seconds to store packets in the PacketCache
#
negquery-cache-ttl=60

#################################
# no-shuffle	Set this to prevent random shuffling of answers - for regression testing
#
# no-shuffle=off

#################################
# out-of-zone-additional-processing	Do out of zone additional processing
#
# out-of-zone-additional-processing=yes

#################################
# pipebackend-abi-version	Version of the pipe backend ABI
#
# pipebackend-abi-version=1

#################################
# query-cache-ttl	Seconds to store packets in the PacketCache
#
# query-cache-ttl=20

#################################
# query-local-address	Source IP address for sending queries
#
# query-local-address=

#################################
# query-logging	Hint backends that queries should be logged
#
# query-logging=no

#################################
# queue-limit	Maximum number of milliseconds to queue a query
#
# queue-limit=1500

#################################
# recursive-cache-ttl	Seconds to store packets in the PacketCache
#
# recursive-cache-ttl=10

#################################
# recursor	If recursion is desired, IP address of a recursing nameserver
#
# recursor=no

#################################
# send-root-referral	Send out old-fashioned root-referral instead of ServFail in case of no authority
#
# send-root-referral=no

#################################
# setgid	If set, change group id to this gid for more security
#
setgid=pdns

#################################
# setuid	If set, change user id to this uid for more security
#
setuid=pdns

#################################
# skip-cname	Do not perform CNAME indirection for each query
#
# skip-cname=no

#################################
# slave	Act as a slave
#
# slave=no

#################################
# slave-cycle-interval	Reschedule failed SOA serial checks once every .. seconds
#
# slave-cycle-interval=60

#################################
# smtpredirector	Our smtpredir MX host
#
# smtpredirector=a.misconfigured.powerdns.smtp.server

#################################
# soa-expire-default	Default SOA expire
#
# soa-expire-default=604800

#################################
# soa-minimum-ttl	Default SOA mininum ttl
#
# soa-minimum-ttl=3600

#################################
# soa-refresh-default	Default SOA refresh
#
# soa-refresh-default=10800

#################################
# soa-retry-default	Default SOA retry
#
# soa-retry-default=3600

#################################
# soa-serial-offset	Make sure that no SOA serial is less than this number
#
# soa-serial-offset=0

#################################
# socket-dir	Where the controlsocket will live
#
socket-dir=/var/run

#################################
# strict-rfc-axfrs	Perform strictly rfc compliant axfrs (very slow)
#
# strict-rfc-axfrs=no

#################################
# trusted-notification-proxy	IP address of incoming notification proxy
#
# trusted-notification-proxy=

#################################
# urlredirector	Where we send hosts to that need to be url redirected
#
# urlredirector=127.0.0.1

#################################
# use-logfile	Use a log file (Windows only)
#
use-logfile=no

#################################
# version-string	PowerDNS version in packets - full, anonymous, powerdns or custom
#
# version-string=full

#################################
# webserver	Start a webserver for monitoring
#
webserver=no

#################################
# webserver-address	IP Address of webserver to listen on
#
# webserver-address=127.0.0.1

#################################
# webserver-password	Password required for accessing the webserver
#
# webserver-password=

#################################
# webserver-port	Port of webserver to listen on
#
# webserver-port=8081

#################################
# webserver-print-arguments	If the webserver should print arguments
#
# webserver-print-arguments=no

#################################
# wildcard-url	Process URL and MBOXFW records
#
# wildcard-url=no

#################################
# wildcards	Honor wildcards in the database
#
wildcards=yes


diff --git a/community/pdns/pdns.initd b/community/pdns/pdns.initd
new file mode 100644
index 0000000..b6429bf
--- /dev/null
+++ b/community/pdns/pdns.initd
@@ -0,0 +1,66 @@
#!/sbin/openrc-run
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-dns/pdns/files/pdns,v 1.10 2007/05/07 20:19:18 swegener Exp $

name=pdns
daemon=/usr/sbin/pdns_server
pdns_control=/usr/bin/pdns_control

extra_started_commands="dump reload"
extra_commands="monitor"

PDNS_INSTANCE="${SVCNAME#pdns[.-]}"
PDNS_CONFIG=""

if [ -n "${PDNS_INSTANCE}" ] && [ "${PDNS_INSTANCE}" != "pdns" ]
then
	PDNS_CONFIG="--config-name=${PDNS_INSTANCE}"
else
	PDNS_INSTANCE="default"
fi

depend() {
	need net
	after firewall
}

start() {
	ebegin "Starting PowerDNS (${PDNS_INSTANCE})"
	${daemon} \
		${PDNS_CONFIG} \
		--daemon=yes \
		--guardian=yes
	eend $?
}

stop() {
	ebegin "Stopping PowerDNS (${PDNS_INSTANCE})"
	${pdns_control} ${PDNS_CONFIG} quit &>/dev/null
	eend $?
}

reload() {
	ebegin "Reloading PowerDNS (${PDNS_INSTANCE})"
	${pdns_control} ${PDNS_CONFIG} cycle &>/dev/null
	eend $?
}

dump() {
	ebegin "Dumping PowerDNS (${PDNS_INSTANCE}) variables"
	${pdns_control} ${PDNS_CONFIG} list
	eend $?
}

monitor() {
	ebegin "Starting PowerDNS (${PDNS_INSTANCE}) in monitor mode"
	${daemon} \
		${PDNS_CONFIG} \
		--daemon=no \
		--guardian=no \
		--control-console=yes \
		--loglevel=9 \
		--log-dns-details=yes \
		--query-logging=yes
	eend $?
}
diff --git a/community/pdns/pdns.post-deinstall b/community/pdns/pdns.post-deinstall
new file mode 100644
index 0000000..f1efa16
--- /dev/null
+++ b/community/pdns/pdns.post-deinstall
@@ -0,0 +1,4 @@
#!/bin/sh

deluser pdns 2>/dev/null
exit 0
diff --git a/community/pdns/pdns.pre-install b/community/pdns/pdns.pre-install
new file mode 100644
index 0000000..021b1e7
--- /dev/null
+++ b/community/pdns/pdns.pre-install
@@ -0,0 +1,6 @@
#!/bin/sh

addgroup -S pdns 2>/dev/null
adduser -S -D -H -h /var/empty -s /bin/false -G pdns -g pdns pdns 2>/dev/null

exit 0
diff --git a/testing/pdns-recursor/APKBUILD b/testing/pdns-recursor/APKBUILD
deleted file mode 100644
index 6247f07..0000000
--- a/testing/pdns-recursor/APKBUILD
@@ -1,66 +0,0 @@
# Contributor: Olivier Mauras <olivier@mauras.ch>
pkgname=pdns-recursor
pkgver=4.0.1
pkgrel=0
pkgdesc="PowerDNS Recursive Server"
url="http://www.powerdns.com/"
arch="all"
license="GPL"
depends=""
depends_dev=""
makedepends="$depends_dev boost-dev lua-dev openssl-dev"
install="$pkgname.pre-install $pkgname.post-deinstall"
subpackages="$pkgname-doc"
pkgusers="pdns"
pkggroups="pdns"
source="http://downloads.powerdns.com/releases/pdns-recursor-$pkgver.tar.bz2
	pdns-recursor.initd
	recursor.conf
	"

_builddir="$srcdir/$pkgname-$pkgver"

prepare() {
	local i
	cd "$_builddir"
	for i in $source; do
		case $i in
		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
		esac
	done
}

build() {
	cd "$_builddir"
	./configure --prefix=/usr \
		--sysconfdir=/etc/pdns \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--localstatedir=/var \
		--libdir=/usr/lib/pdns \
		--disable-static \
		|| return 1
	make || return 1
}

package() {
	cd "$_builddir"
	make DESTDIR="$pkgdir" install || return 1
	rm "$pkgdir"/etc/pdns/recursor.conf-dist || return 1

	install -m755 -D "$srcdir"/$pkgname.initd \
		"$pkgdir"/etc/init.d/$pkgname || return 1

	install -m600 -D "$srcdir"/recursor.conf \
		"$pkgdir"/etc/pdns/recursor.conf || return 1
}

md5sums="5ef062610de3d193ebe63a615263df7e  pdns-recursor-4.0.1.tar.bz2
35f373bae0503632088956fa14754e4e  pdns-recursor.initd
2950b9932de6baae360f220c7686f520  recursor.conf"
sha256sums="472db541307c8ca83a846d260ecfc854fd8e879c1bb2ce5683a8df5d21e860b0  pdns-recursor-4.0.1.tar.bz2
215d916383e3cba184f8418b98cd2ced146500006e21e2efeb0ee5b53f3df049  pdns-recursor.initd
12bdbf651db0c7fe63ddb01a239a5ddd40825f50811a5d3f4d13cda294bd0344  recursor.conf"
sha512sums="3e69606bda3d296b0c3fd9212afa2a098ab04637718356d220a9490bc3e2a0ca97210934d398ad740509cea9e8f8d2ab2e16a1ba75d559f6b82bf64a729ad018  pdns-recursor-4.0.1.tar.bz2
f23cb30d943e0b0aea09371dc57aa43e55b8f91062a3caa3fac17e3565a8e36dfd304f45eba588f625ca2337cd2ade450ea5ae1776872c006204cdaf912f6651  pdns-recursor.initd
954df537693a202fc195e751011bbfaa605b3f3df42ac386fa82eb809b73c2b987f5e418b5c96bb3b0669497426ce0daa39a719844701e06990b82843a4cf0d4  recursor.conf"
diff --git a/testing/pdns-recursor/pdns-recursor.initd b/testing/pdns-recursor/pdns-recursor.initd
deleted file mode 100644
index 80e851d..0000000
--- a/testing/pdns-recursor/pdns-recursor.initd
@@ -1,27 +0,0 @@
#!/sbin/openrc-run
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-dns/pdns/files/pdns,v 1.10 2007/05/07 20:19:18 swegener Exp $

name=pdns-recursor
daemon=/usr/sbin/pdns_recursor
recursor_control=/usr/bin/rec_control

extra_started_commands="dump reload"

depend() {
	need net
	after firewall
}

start() {
	ebegin "Starting PowerDNS recursor"
	${daemon}
	eend $?
}

stop() {
	ebegin "Stopping PowerDNS recursor"
	${recursor_control} quit &>/dev/null
	eend $?
}
diff --git a/testing/pdns-recursor/pdns-recursor.post-deinstall b/testing/pdns-recursor/pdns-recursor.post-deinstall
deleted file mode 100644
index a7604db..0000000
--- a/testing/pdns-recursor/pdns-recursor.post-deinstall
@@ -1,4 +0,0 @@
#!/bin/sh

deluser recursor 2>/dev/null
exit 0
diff --git a/testing/pdns-recursor/pdns-recursor.pre-install b/testing/pdns-recursor/pdns-recursor.pre-install
deleted file mode 100644
index ece3a78..0000000
--- a/testing/pdns-recursor/pdns-recursor.pre-install
@@ -1,6 +0,0 @@
#!/bin/sh

addgroup -S recursor 2>/dev/null
adduser -S -D -H -h /var/empty -s /bin/false -G recursor -g recursor recursor 2>/dev/null

exit 0
diff --git a/testing/pdns-recursor/recursor.conf b/testing/pdns-recursor/recursor.conf
deleted file mode 100644
index 1db3127..0000000
--- a/testing/pdns-recursor/recursor.conf
@@ -1,452 +0,0 @@
# Autogenerated configuration file template
#################################
# allow-from	If set, only allow these comma separated netmasks to recurse
#
# allow-from=127.0.0.0/8, 10.0.0.0/8, 100.64.0.0/10, 169.254.0.0/16, 192.168.0.0/16, 172.16.0.0/12, ::1/128, fc00::/7, fe80::/10

#################################
# allow-from-file	If set, load allowed netmasks from this file
#
# allow-from-file=

#################################
# any-to-tcp	Answer ANY queries with tc=1, shunting to TCP
#
# any-to-tcp=no

#################################
# api-config-dir	Directory where REST API stores config and zones
#
# api-config-dir=

#################################
# api-key	Static pre-shared authentication key for access to the REST API
#
# api-key=

#################################
# api-logfile	Location of the server logfile (used by the REST API)
#
# api-logfile=/var/log/pdns.log

#################################
# api-readonly	Disallow data modification through the REST API when set
#
# api-readonly=no

#################################
# auth-zones	Zones for which we have authoritative data, comma separated domain=file pairs 
#
# auth-zones=

#################################
# carbon-interval	Number of seconds between carbon (graphite) updates
#
# carbon-interval=30

#################################
# carbon-ourname	If set, overrides our reported hostname for carbon stats
#
# carbon-ourname=

#################################
# carbon-server	If set, send metrics in carbon (graphite) format to this server
#
# carbon-server=

#################################
# chroot	switch to chroot jail
#
# chroot=

#################################
# client-tcp-timeout	Timeout in seconds when talking to TCP clients
#
# client-tcp-timeout=2

#################################
# config-dir	Location of configuration directory (recursor.conf)
#
# config-dir=/etc

#################################
# config-name	Name of this virtual configuration - will rename the binary image
#
# config-name=

#################################
# daemon	Operate as a daemon
#
daemon=yes

#################################
# delegation-only	Which domains we only accept delegations from
#
# delegation-only=

#################################
# disable-packetcache	Disable packetcache
#
# disable-packetcache=no

#################################
# disable-syslog	Disable logging to syslog, useful when running inside a supervisor that logs stdout
#
# disable-syslog=no

#################################
# dnssec	DNSSEC mode: off/process-no-validate (default)/process/log-fail/validate
#
# dnssec=process-no-validate

#################################
# dnssec-log-bogus	Log DNSSEC bogus validations
#
# dnssec-log-bogus=no

#################################
# dont-query	If set, do not query these netmasks for DNS data
#
# dont-query=127.0.0.0/8, 10.0.0.0/8, 100.64.0.0/10, 169.254.0.0/16, 192.168.0.0/16, 172.16.0.0/12, ::1/128, fc00::/7, fe80::/10, 0.0.0.0/8, 192.0.0.0/24, 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24, 240.0.0.0/4, ::/96, ::ffff:0:0/96, 100::/64, 2001:db8::/32

#################################
# edns-outgoing-bufsize	Outgoing EDNS buffer size
#
# edns-outgoing-bufsize=1680

#################################
# edns-subnet-whitelist	List of netmasks and domains that we should enable EDNS subnet for
#
# edns-subnet-whitelist=

#################################
# entropy-source	If set, read entropy from this file
#
# entropy-source=/dev/urandom

#################################
# etc-hosts-file	Path to 'hosts' file
#
# etc-hosts-file=/etc/hosts

#################################
# export-etc-hosts	If we should serve up contents from /etc/hosts
#
# export-etc-hosts=off

#################################
# export-etc-hosts-search-suffix	Also serve up the contents of /etc/hosts with this suffix
#
# export-etc-hosts-search-suffix=

#################################
# forward-zones	Zones for which we forward queries, comma separated domain=ip pairs
#
# forward-zones=

#################################
# forward-zones-file	File with (+)domain=ip pairs for forwarding
#
# forward-zones-file=

#################################
# forward-zones-recurse	Zones for which we forward queries with recursion bit, comma separated domain=ip pairs
#
# forward-zones-recurse=

#################################
# hint-file	If set, load root hints from this file
#
# hint-file=

#################################
# include-dir	Include *.conf files from this directory
#
# include-dir=

#################################
# latency-statistic-size	Number of latency values to calculate the qa-latency average
#
# latency-statistic-size=10000

#################################
# local-address	IP addresses to listen on, separated by spaces or commas. Also accepts ports.
#
# local-address=127.0.0.1

#################################
# local-port	port to listen on
#
local-port=5353

#################################
# log-common-errors	If we should log rather common errors
#
# log-common-errors=no

#################################
# logging-facility	Facility to log messages as. 0 corresponds to local0
#
# logging-facility=

#################################
# loglevel	Amount of logging. Higher is more. Do not set below 3
#
# loglevel=4

#################################
# lowercase-outgoing	Force outgoing questions to lowercase
#
# lowercase-outgoing=no

#################################
# lua-config-file	More powerful configuration options
#
# lua-config-file=

#################################
# lua-dns-script	Filename containing an optional 'lua' script that will be used to modify dns answers
#
# lua-dns-script=

#################################
# max-cache-entries	If set, maximum number of entries in the main cache
#
# max-cache-entries=1000000

#################################
# max-cache-ttl	maximum number of seconds to keep a cached entry in memory
#
# max-cache-ttl=86400

#################################
# max-mthreads	Maximum number of simultaneous Mtasker threads
#
# max-mthreads=2048

#################################
# max-negative-ttl	maximum number of seconds to keep a negative cached entry in memory
#
# max-negative-ttl=3600

#################################
# max-packetcache-entries	maximum number of entries to keep in the packetcache
#
# max-packetcache-entries=500000

#################################
# max-qperq	Maximum outgoing queries per query
#
# max-qperq=50

#################################
# max-tcp-clients	Maximum number of simultaneous TCP clients
#
# max-tcp-clients=128

#################################
# max-tcp-per-client	If set, maximum number of TCP sessions per client (IP address)
#
# max-tcp-per-client=0

#################################
# max-total-msec	Maximum total wall-clock time per query in milliseconds, 0 for unlimited
#
# max-total-msec=7000

#################################
# minimum-ttl-override	Set under adverse conditions, a minimum TTL
#
# minimum-ttl-override=0

#################################
# network-timeout	Wait this nummer of milliseconds for network i/o
#
# network-timeout=1500

#################################
# no-shuffle	Don't change
#
# no-shuffle=off

#################################
# non-local-bind	Enable binding to non-local addresses by using FREEBIND / BINDANY socket options
#
# non-local-bind=no

#################################
# packetcache-servfail-ttl	maximum number of seconds to keep a cached servfail entry in packetcache
#
# packetcache-servfail-ttl=60

#################################
# packetcache-ttl	maximum number of seconds to keep a cached entry in packetcache
#
# packetcache-ttl=3600

#################################
# pdns-distributes-queries	If PowerDNS itself should distribute queries over threads
#
# pdns-distributes-queries=

#################################
# processes	Launch this number of processes (EXPERIMENTAL, DO NOT CHANGE)
#
# processes=1

#################################
# query-local-address	Source IP address for sending queries
#
# query-local-address=0.0.0.0

#################################
# query-local-address6	Source IPv6 address for sending queries. IF UNSET, IPv6 WILL NOT BE USED FOR OUTGOING QUERIES
#
# query-local-address6=

#################################
# quiet	Suppress logging of questions and answers
#
# quiet=

#################################
# reuseport	Enable SO_REUSEPORT allowing multiple recursors processes to listen to 1 address
#
# reuseport=no

#################################
# root-nx-trust	If set, believe that an NXDOMAIN from the root means the TLD does not exist
#
# root-nx-trust=yes

#################################
# security-poll-suffix	Domain name from which to query security update notifications
#
# security-poll-suffix=secpoll.powerdns.com.

#################################
# serve-rfc1918	If we should be authoritative for RFC 1918 private IP space
#
# serve-rfc1918=

#################################
# server-down-max-fails	Maximum number of consecutive timeouts (and unreachables) to mark a server as down ( 0 => disabled )
#
# server-down-max-fails=64

#################################
# server-down-throttle-time	Number of seconds to throttle all queries to a server after being marked as down
#
# server-down-throttle-time=60

#################################
# server-id	Returned when queried for 'server.id' TXT or NSID, defaults to hostname
#
# server-id=

#################################
# setgid	If set, change group id to this gid for more security
#
setgid=recursor

#################################
# setuid	If set, change user id to this uid for more security
#
setuid=recursor

#################################
# single-socket	If set, only use a single socket for outgoing queries
#
# single-socket=off

#################################
# soa-minimum-ttl	Don't change
#
# soa-minimum-ttl=0

#################################
# socket-dir	Where the controlsocket will live, /var/run when unset and not chrooted
#
# socket-dir=

#################################
# socket-group	Group of socket
#
# socket-group=

#################################
# socket-mode	Permissions for socket
#
# socket-mode=

#################################
# socket-owner	Owner of socket
#
# socket-owner=

#################################
# spoof-nearmiss-max	If non-zero, assume spoofing after this many near misses
#
# spoof-nearmiss-max=20

#################################
# stack-size	stack size per mthread
#
# stack-size=200000

#################################
# stats-ringbuffer-entries	maximum number of packets to store statistics for
#
# stats-ringbuffer-entries=10000

#################################
# threads	Launch this number of threads
#
# threads=2

#################################
# trace	if we should output heaps of logging. set to 'fail' to only log failing domains
#
# trace=off

#################################
# udp-truncation-threshold	Maximum UDP response size before we truncate
#
# udp-truncation-threshold=1680

#################################
# version-string	string reported on version.pdns or version.bind
#
# version-string=PowerDNS Recursor 4.0.1 (built Aug 15 2016 11:06:59 by coredumb@alpine-dev.internal)

#################################
# webserver	Start a webserver (for REST API)
#
# webserver=no

#################################
# webserver-address	IP Address of webserver to listen on
#
# webserver-address=127.0.0.1

#################################
# webserver-allow-from	Webserver access is only allowed from these subnets
#
# webserver-allow-from=0.0.0.0/0,::/0

#################################
# webserver-password	Password required for accessing the webserver
#
# webserver-password=

#################################
# webserver-port	Port of webserver to listen on
#
# webserver-port=8082

#################################
# write-pid	Write a PID file
#
# write-pid=yes


diff --git a/testing/pdns/APKBUILD b/testing/pdns/APKBUILD
deleted file mode 100644
index 5d6fd99..0000000
--- a/testing/pdns/APKBUILD
@@ -1,102 +0,0 @@
# Contributor: *ukasz Jendrysik <scadu@yandex.com>
# Contributor: Matt Smith <mcs@darkregion.net>
# Contributor: Olivier Mauras <olivier@mauras.ch>
# Maintainer:  Matt Smith <mcs@darkregion.net>
pkgname=pdns
pkgver=4.0.1
pkgrel=0
pkgdesc="PowerDNS Authoritative Server"
url="http://www.powerdns.com/"
arch="all"
license="GPL"
depends=""
depends_dev=""
makedepends="$depends_dev boost-dev lua-dev openldap-dev mariadb-dev
	postgresql-dev sqlite-dev"
install="$pkgname.pre-install $pkgname.post-deinstall"
subpackages="$pkgname-doc
	$pkgname-backend-bind:backend_bind
	$pkgname-backend-ldap:backend_ldap
	$pkgname-backend-mysql:backend_mysql
	$pkgname-backend-pgsql:backend_pgsql
	$pkgname-backend-pipe:backend_pipe
	$pkgname-backend-sqlite3:backend_sqlite3
	"
pkgusers="pdns"
pkggroups="pdns"
source="http://downloads.powerdns.com/releases/pdns-$pkgver.tar.bz2
	pdns.initd
	pdns.conf
	"

_builddir="$srcdir/$pkgname-$pkgver"

prepare() {
	local i
	cd "$_builddir"
	for i in $source; do
		case $i in
		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
		esac
	done
}

build() {
	cd "$_builddir"
	./configure --prefix=/usr \
		--sysconfdir=/etc/$pkgname \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--localstatedir=/var \
		--libdir=/usr/lib/pdns \
		--with-modules="" \
		--with-dynmodules="bind ldap gmysql gpgsql pipe gsqlite3" \
		--disable-static \
		|| return 1
	make || return 1
}

package() {
	cd "$_builddir"
	make DESTDIR="$pkgdir" install || return 1

	install -m755 -D "$srcdir"/$pkgname.initd \
		"$pkgdir"/etc/init.d/$pkgname || return 1
	rm "$pkgdir"/etc/$pkgname/$pkgname.conf-dist
	install -m600 -D "$srcdir"/$pkgname.conf \
		"$pkgdir"/etc/$pkgname/$pkgname.conf || return 1
	chown pdns:pdns "$pkgdir"/etc/$pkgname/$pkgname.conf || return 1
}

backend_bind()		{ _mv_backend bind; }
backend_ldap()		{ _mv_backend ldap openldap; }
backend_mysql()		{ _mv_backend gmysql mysql; }
backend_pgsql()		{ _mv_backend gpgsql postgresql; }
backend_pipe()		{ _mv_backend pipe; }
backend_sqlite3()	{ _mv_backend gsqlite3 sqlite; }

_mv_backend() {
	local backend=$1
	pkgdesc="${backend} backend module for PowerDNS"
	depends="$pkgname"

	# backend dependencies
	if [ -n "${2-}" ]; then
		depends="${2-}"
	fi
	depends="${depends} ${pkgname}"

	mkdir -p "$subpkgdir"/usr/lib/pdns/pdns || return 1
	mv "$pkgdir"/usr/lib/pdns/pdns/lib${backend}backend.so \
		"$subpkgdir"/usr/lib/pdns/pdns/ || return 1
}

md5sums="d34a390672aa043f8a287e5bb2284f4a  pdns-4.0.1.tar.bz2
db11dfe72474858f706155c817f2ded5  pdns.initd
351bac7f784a1a40e768466d9e6f1a79  pdns.conf"
sha256sums="d191eed4a6664430e85969f49835c59e810ecbb7b3eb506e64c6b2734091edd7  pdns-4.0.1.tar.bz2
081835f812e419b153a9cc716ad55b9cb22c6c185b748e0aafc40430fa5e8b5e  pdns.initd
5fdf423f829dca0b50bc81bab773d7ec4ee6627e35f861124d8c2ccd79a2f50c  pdns.conf"
sha512sums="77fce9963a05198afeb569f92fbb0f6a1cb3426c28dd77b0921128189c80d9a72ebdbfc249dfc0b5b89cc7a65a83887a0388d6cc3461453b1e3096e563afdd1e  pdns-4.0.1.tar.bz2
71257be925fe57b15ebf29a7810cd70581cb867416ab9562300a1bbc3eb94fcb92ea2eb95f15e3ee3bd409468911077c50f90a2501801b0c8c49ed979f41f3a4  pdns.initd
9913551bb4d685aaced806134b1037d85ce759e7d9e780e256e67651d9d346aad5e608b4a45a4933f0ba879605b69d06e579c38b7f917f7a9be37c7797c5953b  pdns.conf"
diff --git a/testing/pdns/pdns.conf b/testing/pdns/pdns.conf
deleted file mode 100644
index e0238c0..0000000
--- a/testing/pdns/pdns.conf
@@ -1,337 +0,0 @@
# Autogenerated configuration file template
#################################
# allow-axfr-ips	Allow zonetransfers only to these subnets
#
# allow-axfr-ips=0.0.0.0/0

#################################
# allow-recursion	List of subnets that are allowed to recurse
#
# allow-recursion=0.0.0.0/0

#################################
# allow-recursion-override	Set this so that local data fully overrides the recursor
#
# allow-recursion-override=no

#################################
# cache-ttl	Seconds to store packets in the PacketCache
#
cache-ttl=60

#################################
# chroot	If set, chroot to this directory for more security
#
chroot=/var/empty

#################################
# config-dir	Location of configuration directory (pdns.conf)
#
config-dir=/etc

#################################
# config-name	Name of this virtual configuration - will rename the binary image
#
# config-name=

#################################
# control-console	Debugging switch - don't use
#
# control-console=no

#################################
# daemon	Operate as a daemon
#
daemon=yes

#################################
# default-soa-name	name to insert in the SOA record if none set in the backend
#
# default-soa-name=a.misconfigured.powerdns.server

#################################
# default-ttl	Seconds a result is valid if not set otherwise
#
# default-ttl=3600

#################################
# disable-axfr	Disable zonetransfers but do allow TCP queries
#
# disable-axfr=no

#################################
# disable-tcp	Do not listen to TCP queries
#
# disable-tcp=no

#################################
# distributor-threads	Default number of Distributor (backend) threads to start
#
distributor-threads=1

#################################
# do-ipv6-additional-processing	Do AAAA additional processing
#
# do-ipv6-additional-processing=no

#################################
# fancy-records	Process URL and MBOXFW records
#
# fancy-records=no

#################################
# guardian	Run within a guardian process
#
guardian=yes

#################################
# launch	Which backends to launch and order to query them in
#
# launch=

#################################
# lazy-recursion	Only recurse if question cannot be answered locally
#
# lazy-recursion=yes

#################################
# load-modules	Load this module - supply absolute or relative path
#
# load-modules=

#################################
# local-address	Local IP addresses to which we bind
#
# local-address=0.0.0.0

#################################
# local-ipv6	Local IP address to which we bind
#
# local-ipv6=

#################################
# local-port	The port on which we listen
#
local-port=53

#################################
# log-dns-details	If PDNS should log DNS non-erroneous details
#
# log-dns-details=

#################################
# log-failed-updates	If PDNS should log failed update requests
#
# log-failed-updates=

#################################
# logfile	Logfile to use (Windows only)
#
# logfile=pdns.log

#################################
# logging-facility	Log under a specific facility
#
# logging-facility=

#################################
# loglevel	Amount of logging. Higher is more. Do not set below 3
#
loglevel=3

#################################
# master	Act as a master
#
# master=no

#################################
# max-queue-length	Maximum queuelength before considering situation lost
#
# max-queue-length=5000

#################################
# max-tcp-connections	Maximum number of TCP connections
#
# max-tcp-connections=10

#################################
# module-dir	Default directory for modules
#
module-dir=/usr/lib/pdns

#################################
# negquery-cache-ttl	Seconds to store packets in the PacketCache
#
negquery-cache-ttl=60

#################################
# no-shuffle	Set this to prevent random shuffling of answers - for regression testing
#
# no-shuffle=off

#################################
# out-of-zone-additional-processing	Do out of zone additional processing
#
# out-of-zone-additional-processing=yes

#################################
# pipebackend-abi-version	Version of the pipe backend ABI
#
# pipebackend-abi-version=1

#################################
# query-cache-ttl	Seconds to store packets in the PacketCache
#
# query-cache-ttl=20

#################################
# query-local-address	Source IP address for sending queries
#
# query-local-address=

#################################
# query-logging	Hint backends that queries should be logged
#
# query-logging=no

#################################
# queue-limit	Maximum number of milliseconds to queue a query
#
# queue-limit=1500

#################################
# recursive-cache-ttl	Seconds to store packets in the PacketCache
#
# recursive-cache-ttl=10

#################################
# recursor	If recursion is desired, IP address of a recursing nameserver
#
# recursor=no

#################################
# send-root-referral	Send out old-fashioned root-referral instead of ServFail in case of no authority
#
# send-root-referral=no

#################################
# setgid	If set, change group id to this gid for more security
#
setgid=pdns

#################################
# setuid	If set, change user id to this uid for more security
#
setuid=pdns

#################################
# skip-cname	Do not perform CNAME indirection for each query
#
# skip-cname=no

#################################
# slave	Act as a slave
#
# slave=no

#################################
# slave-cycle-interval	Reschedule failed SOA serial checks once every .. seconds
#
# slave-cycle-interval=60

#################################
# smtpredirector	Our smtpredir MX host
#
# smtpredirector=a.misconfigured.powerdns.smtp.server

#################################
# soa-expire-default	Default SOA expire
#
# soa-expire-default=604800

#################################
# soa-minimum-ttl	Default SOA mininum ttl
#
# soa-minimum-ttl=3600

#################################
# soa-refresh-default	Default SOA refresh
#
# soa-refresh-default=10800

#################################
# soa-retry-default	Default SOA retry
#
# soa-retry-default=3600

#################################
# soa-serial-offset	Make sure that no SOA serial is less than this number
#
# soa-serial-offset=0

#################################
# socket-dir	Where the controlsocket will live
#
socket-dir=/var/run

#################################
# strict-rfc-axfrs	Perform strictly rfc compliant axfrs (very slow)
#
# strict-rfc-axfrs=no

#################################
# trusted-notification-proxy	IP address of incoming notification proxy
#
# trusted-notification-proxy=

#################################
# urlredirector	Where we send hosts to that need to be url redirected
#
# urlredirector=127.0.0.1

#################################
# use-logfile	Use a log file (Windows only)
#
use-logfile=no

#################################
# version-string	PowerDNS version in packets - full, anonymous, powerdns or custom
#
# version-string=full

#################################
# webserver	Start a webserver for monitoring
#
webserver=no

#################################
# webserver-address	IP Address of webserver to listen on
#
# webserver-address=127.0.0.1

#################################
# webserver-password	Password required for accessing the webserver
#
# webserver-password=

#################################
# webserver-port	Port of webserver to listen on
#
# webserver-port=8081

#################################
# webserver-print-arguments	If the webserver should print arguments
#
# webserver-print-arguments=no

#################################
# wildcard-url	Process URL and MBOXFW records
#
# wildcard-url=no

#################################
# wildcards	Honor wildcards in the database
#
wildcards=yes


diff --git a/testing/pdns/pdns.initd b/testing/pdns/pdns.initd
deleted file mode 100644
index b6429bf..0000000
--- a/testing/pdns/pdns.initd
@@ -1,66 +0,0 @@
#!/sbin/openrc-run
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-dns/pdns/files/pdns,v 1.10 2007/05/07 20:19:18 swegener Exp $

name=pdns
daemon=/usr/sbin/pdns_server
pdns_control=/usr/bin/pdns_control

extra_started_commands="dump reload"
extra_commands="monitor"

PDNS_INSTANCE="${SVCNAME#pdns[.-]}"
PDNS_CONFIG=""

if [ -n "${PDNS_INSTANCE}" ] && [ "${PDNS_INSTANCE}" != "pdns" ]
then
	PDNS_CONFIG="--config-name=${PDNS_INSTANCE}"
else
	PDNS_INSTANCE="default"
fi

depend() {
	need net
	after firewall
}

start() {
	ebegin "Starting PowerDNS (${PDNS_INSTANCE})"
	${daemon} \
		${PDNS_CONFIG} \
		--daemon=yes \
		--guardian=yes
	eend $?
}

stop() {
	ebegin "Stopping PowerDNS (${PDNS_INSTANCE})"
	${pdns_control} ${PDNS_CONFIG} quit &>/dev/null
	eend $?
}

reload() {
	ebegin "Reloading PowerDNS (${PDNS_INSTANCE})"
	${pdns_control} ${PDNS_CONFIG} cycle &>/dev/null
	eend $?
}

dump() {
	ebegin "Dumping PowerDNS (${PDNS_INSTANCE}) variables"
	${pdns_control} ${PDNS_CONFIG} list
	eend $?
}

monitor() {
	ebegin "Starting PowerDNS (${PDNS_INSTANCE}) in monitor mode"
	${daemon} \
		${PDNS_CONFIG} \
		--daemon=no \
		--guardian=no \
		--control-console=yes \
		--loglevel=9 \
		--log-dns-details=yes \
		--query-logging=yes
	eend $?
}
diff --git a/testing/pdns/pdns.post-deinstall b/testing/pdns/pdns.post-deinstall
deleted file mode 100644
index f1efa16..0000000
--- a/testing/pdns/pdns.post-deinstall
@@ -1,4 +0,0 @@
#!/bin/sh

deluser pdns 2>/dev/null
exit 0
diff --git a/testing/pdns/pdns.pre-install b/testing/pdns/pdns.pre-install
deleted file mode 100644
index 021b1e7..0000000
--- a/testing/pdns/pdns.pre-install
@@ -1,6 +0,0 @@
#!/bin/sh

addgroup -S pdns 2>/dev/null
adduser -S -D -H -h /var/empty -s /bin/false -G pdns -g pdns pdns 2>/dev/null

exit 0
-- 
2.8.3
Reply to thread Export thread (mbox)