added community/pdns

This commit is contained in:
Kevin Mihelich 2012-11-12 16:50:13 +00:00
parent aaf7ee2842
commit 54b1ead595
5 changed files with 405 additions and 0 deletions

66
community/pdns/PKGBUILD Normal file
View file

@ -0,0 +1,66 @@
# $Id: PKGBUILD 79756 2012-11-12 00:04:11Z arodseth $
# Maintainer: Alexander Rødseth <rodseth@gmail.com>
# Contributor: Jan de Groot <jgc@archlinux.org>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - removed linking to boost_graph_parallel and dep on openmpi, there's no need for that
pkgname=pdns
pkgver=3.1
pkgrel=2
pkgdesc="Modern, advanced and high performance authoritative-only nameserver"
arch=('x86_64' 'i686')
url='http://www.powerdns.com/'
license=('GPL')
depends=('gcc-libs' 'zlib' 'postgresql-libs' 'libmysqlclient' 'sqlite' 'libldap' 'lua' 'boost-libs')
makedepends=('boost')
provides=('pdns-ldap' 'pdns-mysql' 'pdns-sqlite' 'pdns-pgsql')
replaces=('pdns-ldap' 'pdns-mysql' 'pdns-sqlite' 'pdns-pgsql')
conflicts=('pdns-ldap' 'pdns-mysql' 'pdns-sqlite' 'pdns-pgsql')
install=pdns.install
options=('!makeflags' '!libtool')
backup=('etc/powerdns/pdns.conf')
source=("http://downloads.powerdns.com/releases/$pkgname-$pkgver.tar.gz"
'pdns.service'
'pdns.rc'
'pdns.conf')
sha256sums=('1400f7bd659207c0b1f4b8296092e559a7b7bf6a2434951970217d9af06922a1'
'2a60c4407bcfe19026ae77d3e3b7b477d5a0c6323c0bc78892e9d907003b442a'
'0457ffa2baa40518a03393e4f76964d9452c16aebbcb925582814f88367d62c2'
'91c8889f41fe9d6bc9478c3ad53a10f6725e36e10f05e8e9257f9d35c9e2bab6')
build() {
cd "$srcdir/$pkgname-$pkgver"
touch AUTHORS NEWS
libtoolize --force --copy
aclocal
autoconf
automake --add-missing
sed -i 's/BOOST/#BOOST/g' configure
./configure --prefix=/usr \
--sysconfdir=/etc/powerdns \
--libexecdir=/usr/lib \
--libdir=/usr/lib/powerdns \
--mandir=/usr/share/man \
--with-modules="" \
--with-dynmodules="ldap pipe gmysql gpgsql gsqlite3 geo" \
--disable-recursor \
--disable-static
make \
CXXFLAGS="-lboost_serialization -lboost_program_options $CXXFLAGS"
}
package() {
cd "$srcdir/$pkgname-$pkgver"
make DESTDIR="$pkgdir" install
install -m755 -d "$pkgdir/etc/rc.d"
rm "$pkgdir/etc/powerdns/pdns.conf-dist"
install -m644 "$srcdir/pdns.conf" "$pkgdir/etc/powerdns/"
install -m755 "$srcdir/pdns.rc" "$pkgdir/etc/rc.d/pdns"
install -Dm644 "$srcdir/pdns.service" \
"$pkgdir/usr/lib/systemd/system/pdns.service"
}
# vim:set ts=2 sw=2 et:

281
community/pdns/pdns.conf Normal file
View file

@ -0,0 +1,281 @@
# Autogenerated configuration file template
#################################
# allow-axfr-ips If disabled, DO allow zonetransfers from these IP addresses
#
# allow-axfr-ips=
#################################
# allow-recursion List of netmasks that are allowed to recurse
#
allow-recursion=127.0.0.1
#################################
# allow-recursion-override Local data overrrides hosts on the internet
#
allow-recursion-override=yes
#################################
# 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
#################################
# 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=3
#################################
# 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 address to which we bind
#
local-address=127.0.0.1
#################################
# 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 failed update requests
#
#log-dns-details=off
#################################
# log-failed-updates If PDNS should log failed update requests
#
#log-failed-updates=off
#################################
# logfile Logfile to use
#
# 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/powerdns
#################################
# negquery-cache-ttl Seconds to store packets in the PacketCache
#
negquery-cache-ttl=60
#################################
# only-soa Make sure that no SOA serial is less than this number
#
# only-soa=org
#################################
# out-of-zone-additional-processing Do out of zone additional processing
#
# out-of-zone-additional-processing=no
#################################
# query-cache-ttl Seconds to store packets in the PacketCache
#
# query-cache-ttl=20
#################################
# 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
#################################
# receiver-threads Number of receiver threads to launch
#
# receiver-threads=1
#################################
# 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=
#################################
# setgid If set, change group id to this gid for more security
#
setgid=nobody
#################################
# setuid If set, change user id to this uid for more security
#
setuid=nobody
#################################
# 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-minimum-ttl Default SOA mininum ttl
#
# soa-minimum-ttl=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
#################################
# urlredirector Where we send hosts to that need to be url redirected
#
# urlredirector=127.0.0.1
#################################
# use-logfile Use a log file
#
use-logfile=no
#################################
# 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

View file

@ -0,0 +1,11 @@
post_install() {
cat << 'EOM'
==> PowerDNS is built without recursor now. To use the recursor,
==> please install the pdns-recursor package and update the
==> configuration in /etc/powerdns/recursor.conf
EOM
}
post_upgrade() {
post_install $1
}

35
community/pdns/pdns.rc Normal file
View file

@ -0,0 +1,35 @@
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
case "$1" in
start)
stat_busy "Starting DNS"
! /usr/sbin/pdns_control ping > /dev/null 2>&1 && /usr/sbin/pdns_server --daemon
if [ $? -gt 0 ]; then
stat_fail
else
add_daemon pdns
stat_done
fi
;;
stop)
stat_busy "Stopping DNS"
pdns_control quit > /dev/null 2>&1
if [ $? -gt 0 ]; then
stat_fail
else
rm_daemon pdns
stat_done
fi
;;
restart)
$0 stop
sleep 3
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac
exit 0

View file

@ -0,0 +1,12 @@
[Unit]
Description=PowerDNS Authorative Server
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/usr/sbin/pdns_server --daemon --guardian=yes
ExecReload=/usr/bin/pdns_control cycle
ExecStop=/usr/bin/pdns_control quit
[Install]
WantedBy=multi-user.target