From 415856bdd4f48ab4f2732996f0bae58595092bbe Mon Sep 17 00:00:00 2001 From: Parabola Date: Tue, 5 Apr 2011 14:26:38 +0000 Subject: Tue Apr 5 14:26:38 UTC 2011 --- extra/pdns/2.9.18-default-mysql-options.patch | 13 ++ extra/pdns/PKGBUILD | 54 +++++ extra/pdns/pdns-2.9.22-gcc44.patch | 22 ++ extra/pdns/pdns.conf | 290 ++++++++++++++++++++++++++ extra/pdns/pdns.install | 11 + extra/pdns/pdns.rc | 35 ++++ 6 files changed, 425 insertions(+) create mode 100755 extra/pdns/2.9.18-default-mysql-options.patch create mode 100644 extra/pdns/PKGBUILD create mode 100644 extra/pdns/pdns-2.9.22-gcc44.patch create mode 100644 extra/pdns/pdns.conf create mode 100644 extra/pdns/pdns.install create mode 100644 extra/pdns/pdns.rc (limited to 'extra/pdns') diff --git a/extra/pdns/2.9.18-default-mysql-options.patch b/extra/pdns/2.9.18-default-mysql-options.patch new file mode 100755 index 000000000..a9048e13e --- /dev/null +++ b/extra/pdns/2.9.18-default-mysql-options.patch @@ -0,0 +1,13 @@ +diff -Nur pdns-2.9.18.orig/modules/gmysqlbackend/smysql.cc pdns-2.9.18/modules/gmysqlbackend/smysql.cc +--- pdns-2.9.18.orig/modules/gmysqlbackend/smysql.cc 2005-04-23 23:40:15.000000000 +0200 ++++ pdns-2.9.18/modules/gmysqlbackend/smysql.cc 2005-07-17 10:38:35.363597586 +0200 +@@ -15,6 +15,9 @@ + const string &password) + { + mysql_init(&d_db); ++#if MYSQL_VERSION_ID > 32349 ++ mysql_options(&d_db, MYSQL_READ_DEFAULT_GROUP, "client"); ++#endif + if (!mysql_real_connect(&d_db, host.empty() ? 0 : host.c_str(), + user.empty() ? 0 : user.c_str(), + password.empty() ? 0 : password.c_str(), diff --git a/extra/pdns/PKGBUILD b/extra/pdns/PKGBUILD new file mode 100644 index 000000000..9506deee3 --- /dev/null +++ b/extra/pdns/PKGBUILD @@ -0,0 +1,54 @@ +# $Id: PKGBUILD 115160 2011-03-17 09:56:37Z andrea $ +# Maintainer: Jan de Groot + +pkgname=pdns +pkgver=2.9.22 +pkgrel=7 +pkgdesc="A modern, advanced and high performance authoritative-only nameserver" +arch=(i686 x86_64) +url="http://www.powerdns.com" +license=('GPL') +depends=('gcc-libs' 'zlib' 'postgresql-libs' 'libmysqlclient' 'sqlite3' 'libldap') +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 + 2.9.18-default-mysql-options.patch + pdns-2.9.22-gcc44.patch + pdns.rc + pdns.conf) +md5sums=('8a6ff842733aca885577eb54e983a1ff' + '90fb32e843326d14359c508cef855929' + '530642273005bdabae27792098834ea6' + '16e2d32e9781be7afa8f1700740bcdb0' + 'a390ab49c4fcde205629be33bddc2e6c') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i "${srcdir}/2.9.18-default-mysql-options.patch" + patch -Np1 -i "${srcdir}/pdns-2.9.22-gcc44.patch" + touch AUTHORS NEWS + libtoolize --force --copy + aclocal + autoconf + automake --add-missing + ./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 + 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" +} diff --git a/extra/pdns/pdns-2.9.22-gcc44.patch b/extra/pdns/pdns-2.9.22-gcc44.patch new file mode 100644 index 000000000..35c1c7777 --- /dev/null +++ b/extra/pdns/pdns-2.9.22-gcc44.patch @@ -0,0 +1,22 @@ +diff -ur pdns-2.9.22.orig/pdns/dnsparser.cc pdns-2.9.22/pdns/dnsparser.cc +--- pdns-2.9.22.orig/pdns/dnsparser.cc 2008-11-15 22:32:46.000000000 +0200 ++++ pdns-2.9.22/pdns/dnsparser.cc 2009-07-06 22:09:02.000000000 +0300 +@@ -16,6 +16,7 @@ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + ++#include + #include "dnsparser.hh" + #include "dnswriter.hh" + #include +diff -ur pdns-2.9.22.orig/pdns/rcpgenerator.cc pdns-2.9.22/pdns/rcpgenerator.cc +--- pdns-2.9.22.orig/pdns/rcpgenerator.cc 2008-11-15 23:20:27.000000000 +0200 ++++ pdns-2.9.22/pdns/rcpgenerator.cc 2009-07-06 22:07:26.000000000 +0300 +@@ -16,6 +16,7 @@ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + ++#include + #include "rcpgenerator.hh" + #include "dnsparser.hh" + #include "misc.hh" diff --git a/extra/pdns/pdns.conf b/extra/pdns/pdns.conf new file mode 100644 index 000000000..1bf24e73f --- /dev/null +++ b/extra/pdns/pdns.conf @@ -0,0 +1,290 @@ +# 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 + +################################# +# wildcard-url Process URL and MBOXFW records +# +# wildcard-url=no + +################################# +# wildcards Honor wildcards in the database +# +wildcards=yes diff --git a/extra/pdns/pdns.install b/extra/pdns/pdns.install new file mode 100644 index 000000000..f41b36b20 --- /dev/null +++ b/extra/pdns/pdns.install @@ -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 +} diff --git a/extra/pdns/pdns.rc b/extra/pdns/pdns.rc new file mode 100644 index 000000000..2f143ddae --- /dev/null +++ b/extra/pdns/pdns.rc @@ -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 -- cgit v1.2.3-54-g00ecf