From df6af393338fa3b4abe594e30e8b08059dc6a60c Mon Sep 17 00:00:00 2001 From: Aki Tuomi Date: Tue, 7 May 2013 22:04:11 +0300 Subject: [PATCH] Working debian build system --- debian/.gitignore | 5 + debian/changelog | 325 ++++++++++++++++++++++++++ debian/compat | 1 + debian/config/pdns.conf | 442 +++++++++++++++++++++++++++++++++++ debian/control | 33 +++ debian/copyright | 25 ++ debian/default/pdns | 4 + debian/default/pdns-recursor | 5 + debian/init.d/pdns | 190 +++++++++++++++ debian/insserv.d/pdns-server | 1 + debian/pdns-doc.dirs | 1 + debian/pdns-doc.install | 102 ++++++++ debian/pdns-server.config | 65 ++++++ debian/pdns-server.dirs | 8 + debian/pdns-server.doc-base | 12 + debian/pdns-server.install | 9 + debian/pdns-server.manpages | 8 + debian/pdns-server.postinst | 116 +++++++++ debian/pdns-server.postrm | 44 ++++ debian/pdns-server.prerm | 14 ++ debian/pdns-server.templates | 22 ++ debian/pdns.conffiles | 2 + debian/rules | 58 +++++ debian/source/format | 1 + 24 files changed, 1493 insertions(+) create mode 100644 debian/.gitignore create mode 100644 debian/changelog create mode 100644 debian/compat create mode 100644 debian/config/pdns.conf create mode 100644 debian/control create mode 100644 debian/copyright create mode 100644 debian/default/pdns create mode 100644 debian/default/pdns-recursor create mode 100644 debian/init.d/pdns create mode 100644 debian/insserv.d/pdns-server create mode 100644 debian/pdns-doc.dirs create mode 100644 debian/pdns-doc.install create mode 100644 debian/pdns-server.config create mode 100644 debian/pdns-server.dirs create mode 100644 debian/pdns-server.doc-base create mode 100644 debian/pdns-server.install create mode 100644 debian/pdns-server.manpages create mode 100644 debian/pdns-server.postinst create mode 100644 debian/pdns-server.postrm create mode 100644 debian/pdns-server.prerm create mode 100644 debian/pdns-server.templates create mode 100644 debian/pdns.conffiles create mode 100755 debian/rules create mode 100644 debian/source/format diff --git a/debian/.gitignore b/debian/.gitignore new file mode 100644 index 000000000..9d3c3b051 --- /dev/null +++ b/debian/.gitignore @@ -0,0 +1,5 @@ +/tmp +/tmp-bind +/tmp-mysql +/files +/substvars diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 000000000..251146351 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,325 @@ +pdns (3.2-1) unstable; urgency=medium + + * fill in the blanks + + -- peter van dijk Tue, 15 Jan 2013 15:00:00 +0100 + +pdns (3.2-rc4-1) unstable; urgency=medium + + * fill in the blanks + + -- peter van dijk Wed, 9 Jan 2013 21:00:00 +0100 + +pdns (3.2-rc3-1) unstable; urgency=medium + + * fill in the blanks + + -- peter van dijk Sat, 22 Dec 2012 21:00:00 +0100 + +pdns (3.2-rc2-1) unstable; urgency=medium + + * fill in the blanks + + -- peter van dijk Wed, 19 Dec 2012 12:00:00 +0100 + +pdns (3.2-rc1-1) unstable; urgency=medium + + * fill in the blanks + + -- bert hubert Thu, 8 Nov 2012 09:23:33 +0100 + +pdns (3.2-pre-1) unstable; urgency=medium + + * fill in the blanks + + -- bert hubert Thu, 7 Oct 2012 09:23:33 +0100 + +pdns (3.1-1) unstable; urgency=medium + + * fill in the blanks + + -- bert hubert Thu, 3 May 2012 09:23:33 +0100 + +pdns (3.1-rc3-1) unstable; urgency=medium + + * fill in the blanks + + -- bert hubert Thu, 28 Apr 2012 09:23:33 +0100 + +pdns (3.1-rc2-1) unstable; urgency=medium + + * fill in the blanks + + -- bert hubert Thu, 5 Apr 2012 09:23:33 +0100 + +pdns (3.1-rc1-1) unstable; urgency=medium + + * fill in the blanks + + -- bert hubert Wed, 21 Mar 2012 09:23:33 +0100 + +pdns (3.1-pre-1) unstable; urgency=medium + + * fill in the blanks + + -- bert hubert Wed, 28 Sep 2011 09:23:33 +0100 + +pdns (3.0-1) unstable; urgency=medium + + * fill in the blanks + + -- bert hubert Tue, 19 Jul 2011 09:23:33 +0100 + +pdns (3.0-rc3-1) unstable; urgency=medium + + * fill in the blanks + + -- bert hubert Fri, 15 Jul 2011 09:23:33 +0100 + +pdns (3.0-rc2-1) unstable; urgency=medium + + * fill in the blanks + + -- bert hubert Sun, 16 Apr 2011 23:23:33 +0100 + +pdns (3.0-rc1-1) unstable; urgency=medium + + * fill in the blanks + + -- bert hubert Sun, 3 Apr 2011 23:23:33 +0100 + +pdns (3.0.pre-1) unstable; urgency=medium + + * fill in the blanks + + -- bert hubert Sun, 9 Jan 2011 23:23:33 +0100 + +pdns (2.9.22-1) unstable; urgency=medium + + * fill in the blanks + + -- bert hubert Sat, 25 Jan 2009 23:23:33 +0100 + +pdns (2.9.22-rc4-1) unstable; urgency=medium + + * fill in the blanks + + -- bert hubert Sat, 26 Dec 2008 23:23:33 +0100 + +pdns (2.9.22-rc3-1) unstable; urgency=medium + + * fill in the blanks + + -- bert hubert Sat, 6 Dec 2008 23:23:33 +0100 + +pdns (2.9.22-rc2-1) unstable; urgency=medium + + * fill in the blanks + + -- bert hubert Sun, 29 Nov 2008 23:23:33 +0100 + +pdns (2.9.22-rc1-1) unstable; urgency=medium + + * fill in the blanks + + -- bert hubert Sun, 16 Nov 2008 23:23:33 +0100 + +pdns (2.9.22-1) unstable; urgency=medium + + * fill in the blanks + + -- bert hubert Sun, 3 Aug 2008 23:23:33 +0100 + +pdns (2.9.21-1) unstable; urgency=medium + + * fill in the blanks + + -- bert hubert Sat, 21 Apr 2006 23:23:33 +0100 + +pdns (2.9.20-1) unstable; urgency=medium + + * fill in the blanks + + -- bert hubert Sat, 14 Jan 2006 23:23:33 +0100 + +pdns (2.9.19-2) unstable; urgency=medium + + * fill in the blanks + + -- bert hubert Sun, 29 Oct 2005 23:23:33 +0100 + +pdns (2.9.19-1) unstable; urgency=medium + + * fill in the blanks + + -- bert hubert Sun, 11 Sep 2005 23:23:33 +0100 + +pdns (2.9.18-2) unstable; urgency=medium + + * fill in the blanks + + -- bert hubert Wed, 20 Jul 2005 23:23:33 +0100 + +pdns (2.9.18-1) unstable; urgency=medium + + * fill in the blanks + + -- bert hubert Thu, 14 Jun 2005 23:23:33 +0100 + +pdns (2.9.17-1) unstable; urgency=medium + + * fill in the blanks + + -- Wichert Akkerman Sat, 13 Sep 2004 23:23:33 +0100 + +pdns (2.9.16-1) unstable; urgency=medium + + * fill in the blanks + + -- Wichert Akkerman Sat, 17 Jan 2004 23:23:33 +0100 + +pdns (2.9.15-1) unstable; urgency=medium + + * fill in the blanks + + -- Wichert Akkerman Sat, 17 Jan 2004 23:23:33 +0100 + +pdns (2.9.14-1) unstable; urgency=medium + + * New upstream version. Postgres support rewritten to use the C interface + instead of the deprectaed libpqpp + + -- Wichert Akkerman Fri, 16 Jan 2004 23:23:33 +0100 + +pdns (2.9.13-3) unstable; urgency=medium + + * Fix pdns postinst so pdns is properly restart on upgrade + + -- Wichert Akkerman Sat, 10 Jan 2004 17:21:18 +0100 + +pdns (2.9.13-2) unstable; urgency=critical + + * Fix a bug in calculation of early timestamps: 1<<31-1 is not the + same as (1<<31)-1. This made all pdns servers consume all possible + CPU when UNIX time went through 2^30 two hours ago. + + -- Wichert Akkerman Sat, 10 Jan 2004 16:53:09 +0100 + +pdns (2.9.13-1) unstable; urgency=low + + * New upstream release + * Stop using my debian.org email address + * Change init scripts to conform to Debian policy + + -- Wichert Akkerman Thu, 25 Dec 2003 13:33:40 +0100 + +pdns (2.9.12-1) unstable; urgency=low + + * New upstream release + * Fix dependency generation. Closes: Bug#210256 + * Check if pdns is installed in init script. Closes: Bug#217402 + * Create a SQLite backend package + * Add versioned dpkg-dev Build-Depends so ${dpkg:Version} works properly + + -- Wichert Akkerman Mon, 27 Oct 2003 18:52:53 +0100 + +pdns (2.9.11-2) unstable; urgency=low + + * Remove automake build-depends and bootstrap rule from debian/rules. + This makes pdns a bit more portable across Debian releases. + Closes: Bug#205990 + * Try to remove the /etc/powerdns directory on purge. Closes: Bug#209051 + * Use libmysqlclient-dev instead of libmysqlclient10-dev + + -- Wichert Akkerman Tue, 9 Sep 2003 14:59:46 +0200 + +pdns (2.9.11-1) unstable; urgency=low + + * New upstream release + * Do not include zone2ldap in pdns package. Closes: Bug#198613 + * The gdbm-dev seems to have changed its name, update Build-Depends + accordingly. Closes: Bug#199595 + + -- Wichert Akkerman Mon, 14 Jul 2003 13:52:47 +0200 + +pdns (2.9.8-1) unstable; urgency=low + + * New upstream release. Closes: Bug#187781 + + -- Wichert Akkerman Mon, 5 May 2003 13:43:16 +0200 + +pdns (2.9.7-1) unstable; urgency=low + + * New upstream release. Closes: Bug#185730 + + -- Wichert Akkerman Fri, 21 Mar 2003 12:53:00 +0100 + +pdns (2.9.6-2) unstable; urgency=low + + * Enable the recursing nameserver + * Change order of things in clean target so debian/files is properly + removed. Closes: Bug#181994 + + -- Wichert Akkerman Sun, 23 Feb 2003 12:34:57 +0100 + +pdns (2.9.6-1) unstable; urgency=low + + * New upstream release, adding a new LDAP backend + + -- Wichert Akkerman Sun, 16 Feb 2003 14:49:08 +0100 + + +pdns (2.9.5-1) unstable; urgency=low + + * fill in the blanks + + -- Wichert Akkerman Mon, 3 Feb 2003 20:16:16 +0100 + +pdns (2.9.4-1) unstable; urgency=low + + * fill in the blanks + + -- Wichert Akkerman Sat, 21 Dec 2002 20:16:16 +0100 + +pdns (2.9.3a-1) unstable; urgency=low + + * New upstream release; fixes a problem in zone2sql + + -- Wichert Akkerman Sat, 21 Dec 2002 20:16:16 +0100 + +pdns (2.9.3-1) unstable; urgency=low + + * New upstream release. Yes, the packaging changes yet again to + reflect changes made upstream. The packaging of SQL backends should + be more sane now and we don't expect to change them again. + + -- Wichert Akkerman Sat, 21 Dec 2002 18:18:40 +0100 + +pdns (2.9.2-3) unstable; urgency=low + + * Compile pgmysql and xdb backend with -fPIC. Real fix is to swithc + to using libtool for all backends, which will happen in the next + upstream release. + + -- Wichert Akkerman Mon, 16 Dec 2002 13:43:52 +0100 + +pdns (2.9.2-2) unstable; urgency=low + + * Add Build-Depends on libgdbmg1-dev, which is needed by the pipe backend + + -- Wichert Akkerman Mon, 16 Dec 2002 11:18:11 +0100 + +pdns (2.9.2-1) unstable; urgency=low + + * New upstream release + * bind backend fully merged in the main pdns package now + * Add new pipe, pgmysql and xdb backends + + -- Wichert Akkerman Fri, 13 Dec 2002 16:39:29 +0100 + +pdns (2.9-1) unstable; urgency=low + + * Initial packaging + + -- Wichert Akkerman Sun, 1 Dec 2002 15:04:52 +0100 + diff --git a/debian/compat b/debian/compat new file mode 100644 index 000000000..7ed6ff82d --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +5 diff --git a/debian/config/pdns.conf b/debian/config/pdns.conf new file mode 100644 index 000000000..8dd534ad9 --- /dev/null +++ b/debian/config/pdns.conf @@ -0,0 +1,442 @@ +# Autogenerated configuration file template +################################# +# allow-axfr-ips Allow zonetransfers only to these subnets +# +# allow-axfr-ips=0.0.0.0/0,::/0 + +################################# +# allow-recursion List of subnets that are allowed to recurse +# +# allow-recursion=0.0.0.0/0 + +################################# +# cache-ttl Seconds to store packets in the PacketCache +# +# cache-ttl=20 + +################################# +# chroot If set, chroot to this directory for more security +# +# chroot= + +################################# +# config-dir Location of configuration directory (pdns.conf) +# +# config-dir=/etc/powerdns + +################################# +# 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=no + +################################# +# default-ksk-algorithms Default KSK algorithms +# +# default-ksk-algorithms=rsasha256 + +################################# +# default-ksk-size Default KSK size (0 means default) +# +# default-ksk-size=0 + +################################# +# 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 + +################################# +# default-zsk-algorithms Default ZSK algorithms +# +# default-zsk-algorithms=rsasha256 + +################################# +# default-zsk-size Default KSK size (0 means default) +# +# default-zsk-size=0 + +################################# +# 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 + +################################# +# do-ipv6-additional-processing Do AAAA additional processing +# +# do-ipv6-additional-processing=yes + +################################# +# edns-subnet-option-number EDNS option number to use +# +# edns-subnet-option-number=20730 + +################################# +# edns-subnet-processing If we should act on EDNS Subnet options +# +# edns-subnet-processing=no + +################################# +# entropy-source If set, read entropy from this file +# +# entropy-source=/dev/urandom + +################################# +# experimental-direct-dnskey EXPERIMENTAL: fetch DNSKEY RRs from backend during DNSKEY synthesis +# +# experimental-direct-dnskey=no + +################################# +# experimental-json-interface If the webserver should serve JSON data +# +# experimental-json-interface=no + +################################# +# experimental-logfile Filename of the log file for JSON parser +# +# experimental-logfile=/var/log/pdns.log + +################################# +# fancy-records Process URL and MBOXFW records +# +# fancy-records=no + +################################# +# guardian Run within a guardian process +# +# guardian=no + +################################# +# launch Which backends to launch and order to query them in +# +# launch= + +################################# +# 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-dns-queries If PDNS should log all incoming DNS queries +# +# log-dns-queries=no + +################################# +# log-failed-updates If PDNS should log failed update requests +# +# log-failed-updates= + +################################# +# logging-facility Log under a specific facility +# +# logging-facility= + +################################# +# loglevel Amount of logging. Higher is more. Do not set below 3 +# +# loglevel=4 + +################################# +# lua-prequery-script Lua script with prequery handler +# +# lua-prequery-script= + +################################# +# master Act as a master +# +# master=no + +################################# +# max-cache-entries Maximum number of cache entries +# +# max-cache-entries=1000000 + +################################# +# max-ent-entries Maximum number of empty non-terminals in a zone +# +# max-ent-entries=100000 + +################################# +# 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 negative query results in the QueryCache +# +# 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 + +################################# +# overload-queue-length Maximum queuelength moving to packetcache only +# +# overload-queue-length=0 + +################################# +# pipebackend-abi-version Version of the pipe backend ABI +# +# pipebackend-abi-version=1 + +################################# +# prevent-self-notification Don't send notifications to what we think is ourself +# +# prevent-self-notification=yes + +################################# +# query-cache-ttl Seconds to store query results in the QueryCache +# +# query-cache-ttl=20 + +################################# +# 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 +# +# query-local-address6=:: + +################################# +# 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 Default number of Distributor (backend) threads to start +# +# receiver-threads=1 + +################################# +# recursive-cache-ttl Seconds to store packets for recursive queries in the PacketCache +# +# recursive-cache-ttl=10 + +################################# +# recursor If recursion is desired, IP address of a recursing nameserver +# +# recursor=no + +################################# +# retrieval-threads Number of AXFR-retrieval threads for slave operation +# +# retrieval-threads=2 + +################################# +# send-root-referral Send out old-fashioned root-referral instead of ServFail in case of no authority +# +# send-root-referral=no + +################################# +# 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= + +################################# +# setuid If set, change user id to this uid for more security +# +# setuid= + +################################# +# signing-threads Default number of signer threads to start +# +# signing-threads=3 + +################################# +# slave Act as a slave +# +# slave=no + +################################# +# slave-cycle-interval Reschedule failed SOA serial checks once every .. seconds +# +# slave-cycle-interval=60 + +################################# +# slave-renotify If we should send out notifications for slaved updates +# +# slave-renotify=no + +################################# +# 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 minimum 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 + +################################# +# tcp-control-address If set, PowerDNS can be controlled over TCP on this address +# +# tcp-control-address= + +################################# +# tcp-control-port If set, PowerDNS can be controlled over TCP on this address +# +# tcp-control-port=53000 + +################################# +# tcp-control-range If set, remote control of PowerDNS is possible over these networks only +# +# tcp-control-range=127.0.0.0/8, 10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, ::1/128, fe80::/10 + +################################# +# tcp-control-secret If set, PowerDNS can be controlled over TCP after passing this secret +# +# tcp-control-secret= + +################################# +# traceback-handler Enable the traceback handler (Linux only) +# +# traceback-handler=yes + +################################# +# 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 + +################################# +# 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 + + diff --git a/debian/control b/debian/control new file mode 100644 index 000000000..e4f232140 --- /dev/null +++ b/debian/control @@ -0,0 +1,33 @@ +Source: pdns +Section: net +Priority: extra +Standards-Version: 3.5.8 +Maintainer: bert hubert +Build-Depends: autoconf, libtool, flex, bison, docbook-utils, libmysqlclient-dev, postgresql-dev | libpq-dev, libgdbm-dev, libsqlite3-dev, dpkg-dev (>= 1.10.17), libboost-dev (>=1.34), libboost-program-options-dev, libboost-serialization-dev, pkg-config, ragel, libbotan1.10-dev, liblua5.1-dev + +Package: pdns-server +Architecture: any +Depends: ${shlibs:Depends} +Recommends: pdns-doc +Suggests: pdns-backend +Description: extremely powerful and versatile nameserver + PowerDNS is a versatile nameserver which supports a large number + of different backends ranging from simple zonefiles to relational + databases and load balancing/failover algorithms. + +Package: pdns-server-dbg +Architecture: any +Depends: ${shlibs:Depends} +Recommends: pdns-doc +Suggests: pdns-backend +Provides: pdns-server +Description: PowerDNS server with debugging symbols + PowerDNS server with debugging symbols + +Package: pdns-doc +Section: doc +Architecture: all +Description: PowerDNS manual + This is the complete manual for PowerDNS, documenting both + how to install and configure it as well as how to write + new backend modules. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 000000000..05af99816 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,25 @@ +This is the Debian prepackaged version of pDNS, the PowerDNS +nameserver. + +pDNS can be downloaded from http://www.powerdns.com/ + +Copyright and license: + + Copyright 2002 PowerDNS.COM BV + + This program is free software; you can redistribute it and/or modify + it under the terms of version 2 of the GNU General Public License as + published by the Free Software Foundation. + + Additionally, the license of this program contains a special + exception which allows to distribute the program in binary form when + it is linked against OpenSSL. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + +On Debian systems, the complete text of the GNU General Public License +can be found in /usr/share/common-licenses/GPL + diff --git a/debian/default/pdns b/debian/default/pdns new file mode 100644 index 000000000..0ae8c40d3 --- /dev/null +++ b/debian/default/pdns @@ -0,0 +1,4 @@ +# Variables for PowerDNS +# +# Whether you want to start PowerDNS automatically. +START=no diff --git a/debian/default/pdns-recursor b/debian/default/pdns-recursor new file mode 100644 index 000000000..46e76dc3f --- /dev/null +++ b/debian/default/pdns-recursor @@ -0,0 +1,5 @@ +# Variables for PowerDNS recursor +# +# Set START to yes to start the pdns-recursor +START=yes + diff --git a/debian/init.d/pdns b/debian/init.d/pdns new file mode 100644 index 000000000..57e66b8fe --- /dev/null +++ b/debian/init.d/pdns @@ -0,0 +1,190 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: pdns +# Required-Start: $network $remote_fs $syslog +# Required-Stop: $network $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Should-Start: slapd +# Should-Stop: slapd +# Short-Description: PDNS is a versatile high performance authoritative nameser +### END INIT INFO + +set -e + +PATH=/bin:/sbin:/usr/bin:/usr/sbin +BINARYPATH=/usr/bin +SBINARYPATH=/usr/sbin +SOCKETPATH=/var/run + +[ -f "$SBINARYPATH/pdns_server" ] || exit 0 + +[ -r /etc/default/pdns ] && . /etc/default/pdns + +# Make sure that /var/run exists +mkdir -p $SOCKETPATH +cd $SOCKETPATH +suffix=`basename $0 | awk -F- '{print $2}'` +if [ $suffix ] +then + EXTRAOPTS=--config-name=$suffix + PROGNAME=pdns-$suffix +else + PROGNAME=pdns +fi + +pdns_server="$SBINARYPATH/pdns_server $EXTRAOPTS" + +doPC() +{ + ret=$($BINARYPATH/pdns_control $EXTRAOPTS $1 $2 2> /dev/null) +} + +NOTRUNNING=0 +doPC ping || NOTRUNNING=$? + +case "$1" in + status) + if test "$NOTRUNNING" = "0" + then + doPC status + echo $ret + else + echo "not running" + fi + ;; + + stop) + echo -n "Stopping PowerDNS authoritative nameserver: " + if test "$NOTRUNNING" = "0" + then + doPC quit + echo $ret + else + echo "not running" + fi + ;; + + + force-stop) + echo -n "Stopping PowerDNS authoritative nameserver: " + killall -v -9 pdns_server + echo "killed" + ;; + + start) + echo -n "Starting PowerDNS authoritative nameserver: " + if test "$NOTRUNNING" = "0" + then + echo "already running" + else + if $pdns_server --daemon --guardian=yes + then + echo "started" + fi + fi + ;; + + force-reload | restart) + echo -n "Restarting PowerDNS authoritative nameserver: " + echo -n stopping and waiting.. + doPC quit || NOTRUNNING=$? + sleep 3 + echo done + $0 start + ;; + + reload) + echo -n "Reloading PowerDNS authoritative nameserver: " + if test "$NOTRUNNING" = "0" + then + doPC cycle || NOTRUNNING=$? + echo requested reload + else + echo not running yet + $0 start + fi + ;; + + monitor) + if test "$NOTRUNNING" = "0" + then + echo "already running" + else + $pdns_server --daemon=no --guardian=no --control-console --loglevel=9 + fi + ;; + + dump) + if test "$NOTRUNNING" = "0" + then + doPC list + echo $ret + else + echo "not running" + fi + ;; + + show) + if [ $# -lt 2 ] + then + echo Insufficient parameters + exit + fi + if test "$NOTRUNNING" = "0" + then + echo -n "$2=" + doPC show $2 ; echo $ret + else + echo "not running" + fi + ;; + + mrtg) + if [ $# -lt 2 ] + then + echo Insufficient parameters + exit + fi + if test "$NOTRUNNING" = "0" + then + doPC show $2 ; echo $ret + if [ "$3x" != "x" ] + then + doPC show $3 ; echo $ret + else + echo 0 + fi + doPC uptime ; echo $ret + echo PowerDNS daemon + else + echo "not running" + fi + + ;; + + cricket) + if [ $# -lt 2 ] + then + echo Insufficient parameters + exit + fi + if test "$NOTRUNNING" = "0" + then + doPC show $2 ; echo $ret + else + echo "not running" + fi + + ;; + + + + *) + echo pdns [start\|stop\|force-reload\|reload\|restart\|status\|dump\|show\|mrtg\|cricket\|monitor] + + ;; +esac + +exit 0 + diff --git a/debian/insserv.d/pdns-server b/debian/insserv.d/pdns-server new file mode 100644 index 000000000..278e08cae --- /dev/null +++ b/debian/insserv.d/pdns-server @@ -0,0 +1 @@ +$named pdns +pdns-recursor diff --git a/debian/pdns-doc.dirs b/debian/pdns-doc.dirs new file mode 100644 index 000000000..afdccea33 --- /dev/null +++ b/debian/pdns-doc.dirs @@ -0,0 +1 @@ +usr/share/doc/pdns-3.2 diff --git a/debian/pdns-doc.install b/debian/pdns-doc.install new file mode 100644 index 000000000..3168677f4 --- /dev/null +++ b/debian/pdns-doc.install @@ -0,0 +1,102 @@ +pdns/docs/html/about.html usr/share/doc/pdns-3.2/ +pdns/docs/html/adding-rr-types.html usr/share/doc/pdns-3.2/ +pdns/docs/html/allow-axfr-from.html usr/share/doc/pdns-3.2/ +pdns/docs/html/all-settings.html usr/share/doc/pdns-3.2/ +pdns/docs/html/analysis.html usr/share/doc/pdns-3.2/ +pdns/docs/html/backend-configuration-details.html usr/share/doc/pdns-3.2/ +pdns/docs/html/backend-error-reporting.html usr/share/doc/pdns-3.2/ +pdns/docs/html/backends-detail.html usr/share/doc/pdns-3.2/ +pdns/docs/html/backend-writers-guide.html usr/share/doc/pdns-3.2/ +pdns/docs/html/bindbackend.html usr/share/doc/pdns-3.2/ +pdns/docs/html/built-in-recursor.html usr/share/doc/pdns-3.2/ +pdns/docs/html/changelog.html usr/share/doc/pdns-3.2/ +pdns/docs/html/compiling-powerdns.html usr/share/doc/pdns-3.2/ +pdns/docs/html/configuring-db-connection.html usr/share/doc/pdns-3.2/ +pdns/docs/html/considerations.html usr/share/doc/pdns-3.2/ +pdns/docs/html/cryptographic-notes-eccn.html usr/share/doc/pdns-3.2/ +pdns/docs/html/db2.html usr/share/doc/pdns-3.2/ +pdns/docs/html/dnssec-advice-precautions.html usr/share/doc/pdns-3.2/ +pdns/docs/html/dnssec-migration.html usr/share/doc/pdns-3.2/ +pdns/docs/html/dnssec-modes.html usr/share/doc/pdns-3.2/ +pdns/docs/html/dnssec-operational-doctrine.html usr/share/doc/pdns-3.2/ +pdns/docs/html/dnssec-performance.html usr/share/doc/pdns-3.2/ +pdns/docs/html/dnssec-security.html usr/share/doc/pdns-3.2/ +pdns/docs/html/dnssec-supported.html usr/share/doc/pdns-3.2/ +pdns/docs/html/dnssec-thanks-to.html usr/share/doc/pdns-3.2/ +pdns/docs/html/dns-to-query.html usr/share/doc/pdns-3.2/ +pdns/docs/html/docbook.css usr/share/doc/pdns-3.2/ +pdns/docs/html/domainmetadata.html usr/share/doc/pdns-3.2/ +pdns/docs/html/fancy-records.html usr/share/doc/pdns-3.2/ +pdns/docs/html/faq.html usr/share/doc/pdns-3.2/ +pdns/docs/html/from3.0to3.1.html usr/share/doc/pdns-3.2/ +pdns/docs/html/from3.1to3.2.html usr/share/doc/pdns-3.2/ +pdns/docs/html/further-copyrights.html usr/share/doc/pdns-3.2/ +pdns/docs/html/generic-mypgsql-backends.html usr/share/doc/pdns-3.2/ +pdns/docs/html/geo.html usr/share/doc/pdns-3.2/ +pdns/docs/html/gsqlite.html usr/share/doc/pdns-3.2/ +pdns/docs/html/guardian.html usr/share/doc/pdns-3.2/ +pdns/docs/html/index.html usr/share/doc/pdns-3.2/ +pdns/docs/html/init-d-commands.html usr/share/doc/pdns-3.2/ +pdns/docs/html/installing-on-unix.html usr/share/doc/pdns-3.2/ +pdns/docs/html/ldap.html usr/share/doc/pdns-3.2/ +pdns/docs/html/license.html usr/share/doc/pdns-3.2/ +pdns/docs/html/luabackend.html usr/share/doc/pdns-3.2/ +pdns/docs/html/master-backends.html usr/share/doc/pdns-3.2/ +pdns/docs/html/master.html usr/share/doc/pdns-3.2/ +pdns/docs/html/metrics.html usr/share/doc/pdns-3.2/ +pdns/docs/html/migration.html usr/share/doc/pdns-3.2/ +pdns/docs/html/modules.html usr/share/doc/pdns-3.2/ +pdns/docs/html/monitoring.html usr/share/doc/pdns-3.2/ +pdns/docs/html/nptl.html usr/share/doc/pdns-3.2/ +pdns/docs/html/odbc.html usr/share/doc/pdns-3.2/ +pdns/docs/html/on-windows.html usr/share/doc/pdns-3.2/ +pdns/docs/html/opendbx.html usr/share/doc/pdns-3.2/ +pdns/docs/html/oracle.html usr/share/doc/pdns-3.2/ +pdns/docs/html/pdns-devel-faq.html usr/share/doc/pdns-3.2/ +pdns/docs/html/pdns-internals.html usr/share/doc/pdns-3.2/ +pdns/docs/html/pdns-on-unix.html usr/share/doc/pdns-3.2/ +pdns/docs/html/pdnssec.html usr/share/doc/pdns-3.2/ +pdns/docs/html/pdns-users-faq.html usr/share/doc/pdns-3.2/ +pdns/docs/html/performance.html usr/share/doc/pdns-3.2/ +pdns/docs/html/performance-settings.html usr/share/doc/pdns-3.2/ +pdns/docs/html/pipebackend-dynamic-resolution.html usr/share/doc/pdns-3.2/ +pdns/docs/html/powerdns-advisory-2006-01.html usr/share/doc/pdns-3.2/ +pdns/docs/html/powerdns-advisory-2006-02.html usr/share/doc/pdns-3.2/ +pdns/docs/html/powerdns-advisory-2008-01.html usr/share/doc/pdns-3.2/ +pdns/docs/html/powerdns-advisory-2008-02.html usr/share/doc/pdns-3.2/ +pdns/docs/html/powerdns-advisory-2008-03.html usr/share/doc/pdns-3.2/ +pdns/docs/html/powerdns-advisory-2010-01.html usr/share/doc/pdns-3.2/ +pdns/docs/html/powerdns-advisory-2010-02.html usr/share/doc/pdns-3.2/ +pdns/docs/html/powerdns-advisory-2012-01.html usr/share/doc/pdns-3.2/ +pdns/docs/html/powerdns-company-faq.html usr/share/doc/pdns-3.2/ +pdns/docs/html/powerdns.html usr/share/doc/pdns-3.2/ +pdns/docs/html/powerdnssec-auth.html usr/share/doc/pdns-3.2/ +pdns/docs/html/powerdnssec.html usr/share/doc/pdns-3.2/ +pdns/docs/html/randombackend.html usr/share/doc/pdns-3.2/ +pdns/docs/html/rec-control.html usr/share/doc/pdns-3.2/ +pdns/docs/html/recursion.html usr/share/doc/pdns-3.2/ +pdns/docs/html/recursor-command-line.html usr/share/doc/pdns-3.2/ +pdns/docs/html/recursor-design-and-engineering.html usr/share/doc/pdns-3.2/ +pdns/docs/html/recursor-details.html usr/share/doc/pdns-3.2/ +pdns/docs/html/recursor-performance.html usr/share/doc/pdns-3.2/ +pdns/docs/html/recursor-scripting.html usr/share/doc/pdns-3.2/ +pdns/docs/html/recursor-stats.html usr/share/doc/pdns-3.2/ +pdns/docs/html/remotebackend.html usr/share/doc/pdns-3.2/ +pdns/docs/html/replication.html usr/share/doc/pdns-3.2/ +pdns/docs/html/running-on-windows.html usr/share/doc/pdns-3.2/ +pdns/docs/html/rw-backends.html usr/share/doc/pdns-3.2/ +pdns/docs/html/security.html usr/share/doc/pdns-3.2/ +pdns/docs/html/security-policy.html usr/share/doc/pdns-3.2/ +pdns/docs/html/slave.html usr/share/doc/pdns-3.2/ +pdns/docs/html/syslog.html usr/share/doc/pdns-3.2/ +pdns/docs/html/testing.html usr/share/doc/pdns-3.2/ +pdns/docs/html/thanks-to.html usr/share/doc/pdns-3.2/ +pdns/docs/html/tinydnsbackend.html usr/share/doc/pdns-3.2/ +pdns/docs/html/tools.html usr/share/doc/pdns-3.2/ +pdns/docs/html/tsig.html usr/share/doc/pdns-3.2/ +pdns/docs/html/tsig-outbound-notify-axfr.html usr/share/doc/pdns-3.2/ +pdns/docs/html/types.html usr/share/doc/pdns-3.2/ +pdns/docs/html/upgrades.html usr/share/doc/pdns-3.2/ +pdns/docs/html/virtual.html usr/share/doc/pdns-3.2/ +pdns/docs/html/windows.html usr/share/doc/pdns-3.2/ +pdns/docs/html/xdbbackend.html usr/share/doc/pdns-3.2/ diff --git a/debian/pdns-server.config b/debian/pdns-server.config new file mode 100644 index 000000000..1e8522af2 --- /dev/null +++ b/debian/pdns-server.config @@ -0,0 +1,65 @@ +#!/bin/sh +# +# Load several components for debconf configuration + +set -e + +. /usr/share/debconf/confmodule + +PDNSCONF=/etc/powerdns/pdns.conf + +db_version 2.0 +if [ ! -f $PDNSCONF ]; then + db_input medium pdns-server/localaddress || true + db_input medium pdns-server/allowrecursion || true + db_input medium pdns-server/autostart || true + + db_go || true +else + LOCAL=`(cat $PDNSCONF | grep "^local-address=" | awk -F '=' '{print $2}') || true` + RECURSION=`(cat $PDNSCONF | grep "^allow-recursion=" | awk -F '=' '{print $2}') || true` + + # Put multiple lines on one line and separate them by a comma + REC="" + for i in $RECURSION; do + REC="$i,$REC" + done + + # Remove , on the end of the line + RECURSION=`echo $REC | sed -e 's/,$//'` + + if [ ! -z "$RECURSION" ]; then + db_set pdns-server/allowrecursion "$RECURSION" + else + db_set pdns-server/allowrecursion "127.0.0.1" + fi + if [ ! -z "$LOCAL" ]; then + db_set pdns-server/localaddress $LOCAL + else + db_set pdns-server/localaddress "0.0.0.0" + fi + if [ -f /etc/default/pdns ]; then + AUTOSTART=`(cat /etc/default/pdns | grep "^START=" | awk -F '=' '{print $2}') || true` + case "$AUTOSTART" in + yes|true) + db_set pdns-server/autostart true + ;; + *) + db_set pdns-server/autostart false + ;; + esac + else + # It seems there was not a /etc/default/pdns so assume that we always want + # to start pdns (<< 2.9.16 assumes that you want it started) + db_set pdns-server/autostart true + fi + + db_fset pdns-server/allowrecursion seen true + db_fset pdns-server/localaddress seen true + db_fset pdns-server/autostart seen true +fi + +db_stop || true + +exit 0 + diff --git a/debian/pdns-server.dirs b/debian/pdns-server.dirs new file mode 100644 index 000000000..10bfa8718 --- /dev/null +++ b/debian/pdns-server.dirs @@ -0,0 +1,8 @@ +usr/bin +usr/sbin +etc/init.d +etc/default +etc/powerdns +usr/share/man/man8 +usr/share/pdns-server +etc/insserv.conf.d diff --git a/debian/pdns-server.doc-base b/debian/pdns-server.doc-base new file mode 100644 index 000000000..5f95c49c3 --- /dev/null +++ b/debian/pdns-server.doc-base @@ -0,0 +1,12 @@ +Document: pdns +Title: PowerDNS manual +Author: PowerDNS B.V. +Section: Apps/System +Abstract: PowerDNS manual + This is the complete manual for PowerDNS, documenting both + how to install and configure it as well as how to write + new backend modules. + +Format: html +Index: /usr/share/doc/pdns/html/index.html +Files: /usr/share/doc/pdns/html/*.html diff --git a/debian/pdns-server.install b/debian/pdns-server.install new file mode 100644 index 000000000..a8c9b4f1c --- /dev/null +++ b/debian/pdns-server.install @@ -0,0 +1,9 @@ +debian/tmp/usr/bin/pdns_control usr/bin/ +debian/tmp/usr/bin/zone2sql usr/bin/ +debian/tmp/usr/bin/zone2json usr/bin/ +debian/tmp/usr/bin/pdnssec usr/bin/ +debian/tmp/usr/sbin/pdns_server usr/sbin/ +debian/config/pdns.conf usr/share/pdns-server/ +debian/default/pdns usr/share/pdns-server/ +debian/init.d/pdns etc/init.d/ +debian/insserv.d/pdns-server etc/insserv.d/ diff --git a/debian/pdns-server.manpages b/debian/pdns-server.manpages new file mode 100644 index 000000000..0715169e2 --- /dev/null +++ b/debian/pdns-server.manpages @@ -0,0 +1,8 @@ +debian/tmp/usr/share/man/man8/dnsreplay.8 +debian/tmp/usr/share/man/man8/dnsscope.8 +debian/tmp/usr/share/man/man8/dnswasher.8 +debian/tmp/usr/share/man/man8/pdns_control.8 +debian/tmp/usr/share/man/man8/pdnssec.8 +debian/tmp/usr/share/man/man8/pdns_server.8 +debian/tmp/usr/share/man/man8/zone2ldap.8 +debian/tmp/usr/share/man/man8/zone2sql.8 diff --git a/debian/pdns-server.postinst b/debian/pdns-server.postinst new file mode 100644 index 000000000..41c904271 --- /dev/null +++ b/debian/pdns-server.postinst @@ -0,0 +1,116 @@ +#!/bin/sh +# +# postinst script for pdns-server + +set -e + +# Load debconf +. /usr/share/debconf/confmodule + +PDNSCONF=/etc/powerdns/pdns.conf +PDNSDEFAULT=/etc/default/pdns +if [ -e $PDNSCONF ]; then + PDNSDIR=`cat $PDNSCONF | grep include | awk -F '=' '{print $2}'` +fi +if [ -z "$PDNSDIR" ]; then + PDNSDIR=/etc/powerdns/pdns.d +fi +PDNSLOCAL=$PDNSDIR/pdns.local + +# Temporary files +PDNSCONFTEMP=`mktemp` +PDNSLOCALTEMP=`mktemp` +PDNSDEFAULTTEMP=`mktemp` + +case "$1" in + configure) + if [ -z "`getent group pdns`" ]; then + addgroup --quiet --system pdns + fi + if [ -z "`getent passwd pdns`" ]; then + echo -n "Creating user and group pdns..." + adduser --quiet --system --home /var/spool/powerdns --shell /bin/false --ingroup pdns --disabled-password --disabled-login --gecos "PowerDNS" pdns + echo "done" + fi + + # Fill the temporary files with config items. + cat /usr/share/pdns-server/pdns.conf > $PDNSCONFTEMP + cat /usr/share/pdns-server/pdns.local > $PDNSLOCALTEMP + cat /usr/share/pdns-server/pdns > $PDNSDEFAULTTEMP + + # Do we listen on a specified address + db_get pdns-server/localaddress || true + if [ ! -z "$RET" ]; then + sed -i -e "s|^\(#\)\?\(# \)\?local-address=.*$|local-address=$RET|" $PDNSCONFTEMP + fi + + # Allow recursion subnets ? + db_get pdns-server/allowrecursion || true + if [ ! -z "$RET" ]; then + sed -i -e "s|^\(#\)\?\(# \)\?allow-recursion=.*$|allow-recursion=$RET|" $PDNSCONFTEMP + fi + + # Start on boot ? + db_get pdns-server/autostart || true + [ -z "$RET" ] && RET=false + if [ "$RET" = "true" ]; then + sed -i -e "s/^START=.*$/START=yes/" $PDNSDEFAULTTEMP + fi + + # Install the new configuration files if the user wants it. + ucf --debconf-ok $PDNSCONFTEMP $PDNSCONF + ucf --debconf-ok $PDNSDEFAULTTEMP $PDNSDEFAULT + ucf --debconf-ok $PDNSLOCALTEMP $PDNSLOCAL + + # Stop the debconf stuff + db_stop || true + + # Clean up temporary files. + rm -f $PDNSCONFTEMP $PDNSDEFAULTTEMP $PDNSLOCALTEMP + + # There could be passwords in these files. PowerDNS first reads the + # configuration files and then drop root privileges. + if [ -z "$2" ]; then + chmod 0600 $PDNSCONF $PDNSLOCAL + chmod 0700 $PDNSDIR + fi + ;; + + triggered) + if [ -x /usr/sbin/invoke-rc.d ]; then + invoke-rc.d pdns restart || exit $? + else + /etc/init.d/pdns restart || exit $? + fi + + # Stop the debconf stuff + db_stop || true + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# Recover from incorrect init.d script headers in version 2.9.22-1 and earlier +if [ "$1" = "configure" ] && dpkg --compare-versions "$2" le "2.9.22-1" \ + && [ -f /etc/rc0.d/K[0-9][0-9]pdns ] \ + && ! [ -f /etc/rc1.d/K[0-9][0-9]pdns ]; then + update-rc.d -f pdns remove +fi + +if [ "$1" = "configure" ] && [ -x "/etc/init.d/pdns" ]; then + update-rc.d pdns defaults 20 85 >/dev/null || exit 0 +fi + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + diff --git a/debian/pdns-server.postrm b/debian/pdns-server.postrm new file mode 100644 index 000000000..f16428f04 --- /dev/null +++ b/debian/pdns-server.postrm @@ -0,0 +1,44 @@ +#!/bin/sh +# +# postrm script for pdns-server + +set -e + + +case "$1" in + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ;; + + purge) + # Remove files registered with ucf. + for ext in '~' '%' .bak .dpkg-tmp .dpkg-new .dpkg-old .dpkg-dist; do + rm -f /etc/powerdns/pdns.conf$ext + rm -f /etc/default/pdns$ext + rm -f /etc/powerdns/pdns.d/pdns.local$ext + done + rm -f /etc/powerdns/pdns.conf + rm -f /etc/default/pdns + rm -f /etc/powerdns/pdns.d/pdns.local + if [ -x /usr/bin/ucf ]; then + ucf --purge /etc/powerdns/pdns.conf + ucf --purge /etc/default/pdns + ucf --purge /etc/powerdns/pdns.d/pdns.local + fi + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 +esac + +if [ "$1" = "purge" ] ; then + update-rc.d pdns remove >/dev/null || exit 0 +fi + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + diff --git a/debian/pdns-server.prerm b/debian/pdns-server.prerm new file mode 100644 index 000000000..3298654dd --- /dev/null +++ b/debian/pdns-server.prerm @@ -0,0 +1,14 @@ +#!/bin/sh +# +# Add call to init script to actually stop pdns. + +set -e + +if [ -x "/etc/init.d/pdns" ]; then + invoke-rc.d pdns stop || exit $? +fi + +#DEBHELPER# + +exit 0 + diff --git a/debian/pdns-server.templates b/debian/pdns-server.templates new file mode 100644 index 000000000..6942c56b4 --- /dev/null +++ b/debian/pdns-server.templates @@ -0,0 +1,22 @@ +Template: pdns-server/localaddress +Type: string +_Description: IP address where PowerDNS should listen on: + If you have multiple IPs, the default behaviour of binding to all addresses + can cause the OS to select the wrong IP for outgoing packets, so it is + recommended to bind PowerDNS to a specific IP here. + +Template: pdns-server/autostart +Type: boolean +Default: true +_Description: Do you want to start the PowerDNS server automatically? + If you accept here, an initscript will be used to automatically start the + PowerDNS authoritative nameserver. + +Template: pdns-server/allowrecursion +Type: string +Default: 127.0.0.1 +_Description: List of subnets that are allowed to recurse: + Enter here, comma separated, the subnets that are allowed to recurse. + Allowed values are 127.0.0.1 for an ip address and 192.168.0.0/24 for a + subnet. + diff --git a/debian/pdns.conffiles b/debian/pdns.conffiles new file mode 100644 index 000000000..52ba0562b --- /dev/null +++ b/debian/pdns.conffiles @@ -0,0 +1,2 @@ +/etc/powerdns/pdns.conf +/etc/init.d/pdns diff --git a/debian/rules b/debian/rules new file mode 100755 index 000000000..431a76644 --- /dev/null +++ b/debian/rules @@ -0,0 +1,58 @@ +#!/usr/bin/make -f + +# Backends (mongodb removed for now, fails to compile) +backends := remote pipe gmysql gsqlite3 gpgsql geo lua +DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) + +# Use new build system +%: + dh $@ --with-autotools_dev --parallel + +# Need to run the bootstrap first, and we have some custom flags for ./configure +override_dh_auto_configure: + # First run the bootstrap. + ./bootstrap +ifdef STATIC + CC="$(CC)" CXX="$(CURDIR)/build-scripts/semistaticg++" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="-L/usr/lib/$(DEB_HOST_MULTIARCH)" ./configure \ + --host=$(DEB_HOST_GNU_TYPE) \ + --build=$(DEB_BUILD_GNU_TYPE) \ + --prefix=/usr \ + --sysconfdir=/etc/powerdns \ + --mandir=\$${prefix}/share/man \ + --infodir=\$${prefix}/share/info \ + --libdir='$${prefix}/lib/powerdns' \ + --libexecdir='$${prefix}/lib' \ + --with-modules="$(backends)" \ + --with-pgsql-includes=`pg_config --includedir` \ + --with-mysql-lib=/usr/lib/$(DEB_HOST_MULTIARCH) \ + --with-boost=/usr \ + --enable-cryptopp \ + --disable-recursor \ + --enable-static-binaries \ + --enable-static +else + CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" ./configure \ + --host=$(DEB_HOST_GNU_TYPE) \ + --build=$(DEB_BUILD_GNU_TYPE) \ + --prefix=/usr \ + --sysconfdir=/etc/powerdns \ + --mandir=\$${prefix}/share/man \ + --infodir=\$${prefix}/share/info \ + --libdir='$${prefix}/lib/powerdns' \ + --libexecdir='$${prefix}/lib' \ + --with-dynmodules="$(backends)" \ + --with-modules="" \ + --with-pgsql-includes=`pg_config --includedir` \ + --with-mysql-lib=/usr/lib/$(DEB_HOST_MULTIARCH) \ + --with-boost=/usr \ + --enable-cryptopp \ + --disable-recursor +endif + +# pdns-server has a debug package +override_dh_strip: + dh_strip --dbg-package=pdns-server-dbg + +override_dh_installdocs: + make -C pdns/docs + dh_installdocs diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 000000000..d3827e75a --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +1.0 -- 2.50.0