Package: pdns Severity: wishlist Tags: experimental Hi,
the attached patch will create a new debian/patches directory which contains patches that apply to PowerDNS 3.1 RC2. It may help in packaging 3.1 (for experimental?). Greetings Marc -- System Information: Debian Release: 6.0.4 APT prefers stable APT policy: (500, 'stable') Architecture: i386 (i686) Kernel: Linux 3.3.2-zgsrv20080 (SMP w/2 CPU cores; PREEMPT) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash
diff -urN /home/mhaber/empty/addconfigdir patches/addconfigdir --- /home/mhaber/empty/addconfigdir 1970-01-01 01:00:00.000000000 +0100 +++ patches/addconfigdir 2012-04-24 10:51:47.193193070 +0200 @@ -0,0 +1,81 @@ +--- a/pdns/arguments.cc ++++ b/pdns/arguments.cc +@@ -312,9 +312,12 @@ + if(pos && pos!=string::npos) + val=val.substr(pos); + +- if(parmIsset(var)) ++ if(parmIsset(var)) { + params[var]=val; +- else ++ if (var == "include") { // include directory ++ preParseDir(val, arg, lax); ++ } ++ } else + if(!lax) + throw ArgException("Trying to set unexisting parameter '"+var+"'"); + } +@@ -341,6 +344,35 @@ + } + } + ++bool ArgvMap::preParseDir(const string &dir, const string &arg, bool lax) ++{ ++ DIR *dir_p; ++ string filename, name; ++ struct dirent *dir_entry_p; ++ ++ if (dir_p = opendir(dir.c_str())) { ++ while((dir_entry_p = readdir(dir_p))) ++ { ++ name = dir_entry_p->d_name; ++ if (name == "." || name == "..") ++ continue; ++ if (name.find("ucf-dist") != std::string::npos) ++ continue; ++ if (name.find("ucf-old") != std::string::npos) ++ continue; ++ ++ filename = dir + "/" + name; ++ file(filename.c_str(), lax); ++ } ++ closedir(dir_p); ++ } else { ++ // Could be a file. ++ file(dir.c_str(), lax); ++ } ++ ++ return true; ++} ++ + bool ArgvMap::preParseFile(const char *fname, const string &arg, const string& theDefault) + { + params[arg]=theDefault; +--- a/pdns/arguments.hh ++++ b/pdns/arguments.hh +@@ -24,6 +24,7 @@ + #include <vector> + #include <fstream> + #include <iostream> ++#include <dirent.h> + #include "misc.hh" + #include "ahuexception.hh" + #ifndef WIN32 +@@ -83,6 +84,7 @@ + } + void preParse(int &argc, char **argv, const string &arg); //!< use this to preparse a single var + bool preParseFile(const char *fname, const string &arg, const string& theDefault=""); //!< use this to preparse a single var in configuration ++ bool preParseDir(const string &dir, const string &arg, bool lax); //!< use this to include a directory + + bool file(const char *fname, bool lax=false); //!< Parses a file with parameters + bool laxFile(const char *fname) +--- a/pdns/common_startup.cc ++++ b/pdns/common_startup.cc +@@ -65,6 +65,7 @@ + ::arg().set("control-console","Debugging switch - don't use")="no"; // but I know you will! + ::arg().set("fancy-records","Process URL and MBOXFW records")="no"; + ::arg().set("wildcard-url","Process URL and MBOXFW records")="no"; ++ ::arg().set("include", "Directory with config files to include")="/etc/powerdns/pdns.d"; // Add directory with config files + ::arg().set("loglevel","Amount of logging. Higher is more. Do not set below 3")="4"; + ::arg().set("default-soa-name","name to insert in the SOA record if none set in the backend")="a.misconfigured.powerdns.server"; + ::arg().set("distributor-threads","Default number of Distributor (backend) threads to start")="3"; diff -urN /home/mhaber/empty/fix-mongodb-backend-patch patches/fix-mongodb-backend-patch --- /home/mhaber/empty/fix-mongodb-backend-patch 1970-01-01 01:00:00.000000000 +0100 +++ patches/fix-mongodb-backend-patch 2012-04-24 10:52:53.775460815 +0200 @@ -0,0 +1,46 @@ +--- a/modules/mongodbbackend/Makefile.am ++++ b/modules/mongodbbackend/Makefile.am +@@ -1,10 +1,10 @@ + AM_CPPFLAGS=@THREADFLAGS@ $(BOOST_CPPFLAGS) + EXTRA_DIST=OBJECTFILES OBJECTLIBS + +-INCLUDES=-I/opt/mongo/include/mongo/ ++INCLUDES=-I/usr/include/mongo/ + + lib_LTLIBRARIES = libmongodbbackend.la + + libmongodbbackend_la_SOURCES=mongodbbackend.cc mongodbbackend.hh minimal.cc slave.cc master.cc reload.cc private.cc dnssec.cc supermaster.cc crc32.cc +-libmongodbbackend_la_LDFLAGS=-module -avoid-version -L/opt/mongo/lib64 $(BOOST_THREAD_LDFLAGS) $(BOOST_FILESYSTEM_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) -lmongoclient $(BOOST_THREAD_LIBS) $(BOOST_FILESYSTEM_LIBS) $(BOOST_SYSTEM_LIBS) ++libmongodbbackend_la_LDFLAGS=-module -avoid-version $(BOOST_THREAD_LDFLAGS) $(BOOST_FILESYSTEM_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) -lmongoclient $(BOOST_THREAD_LIBS) $(BOOST_FILESYSTEM_LIBS) $(BOOST_SYSTEM_LIBS) + +--- a/modules/mongodbbackend/Makefile.in ++++ b/modules/mongodbbackend/Makefile.in +@@ -261,10 +261,10 @@ + top_srcdir = @top_srcdir@ + AM_CPPFLAGS = @THREADFLAGS@ $(BOOST_CPPFLAGS) + EXTRA_DIST = OBJECTFILES OBJECTLIBS +-INCLUDES = -I/opt/mongo/include/mongo/ ++INCLUDES = -I/usr/include/mongo/ + lib_LTLIBRARIES = libmongodbbackend.la + libmongodbbackend_la_SOURCES = mongodbbackend.cc mongodbbackend.hh minimal.cc slave.cc master.cc reload.cc private.cc dnssec.cc supermaster.cc crc32.cc +-libmongodbbackend_la_LDFLAGS = -module -avoid-version -L/opt/mongo/lib64 $(BOOST_THREAD_LDFLAGS) $(BOOST_FILESYSTEM_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) -lmongoclient $(BOOST_THREAD_LIBS) $(BOOST_FILESYSTEM_LIBS) $(BOOST_SYSTEM_LIBS) ++libmongodbbackend_la_LDFLAGS = -module -avoid-version $(BOOST_THREAD_LDFLAGS) $(BOOST_FILESYSTEM_LDFLAGS) $(BOOST_SYSTEM_LDFLAGS) -lmongoclient $(BOOST_THREAD_LIBS) $(BOOST_FILESYSTEM_LIBS) $(BOOST_SYSTEM_LIBS) + all: all-am + + .SUFFIXES: +--- a/modules/mongodbbackend/OBJECTLIBS ++++ b/modules/mongodbbackend/OBJECTLIBS +@@ -1 +1 @@ +--L/opt/mongo/lib64/ -lmongoclient -lboost_thread -lboost_filesystem -lboost_system ++-lmongoclient -lboost_thread -lboost_filesystem -lboost_system +--- a/modules/mongodbbackend/mongodbbackend.hh ++++ b/modules/mongodbbackend/mongodbbackend.hh +@@ -106,7 +106,7 @@ + + mongo::DBClientConnection m_db; + +- auto_ptr<mongo::DBClientCursor> cursor; ++ std::auto_ptr<mongo::DBClientCursor> cursor; + + string q_name; + diff -urN /home/mhaber/empty/remove-rpath-ldflags-patch patches/remove-rpath-ldflags-patch --- /home/mhaber/empty/remove-rpath-ldflags-patch 1970-01-01 01:00:00.000000000 +0100 +++ patches/remove-rpath-ldflags-patch 2012-04-24 10:59:27.808883117 +0200 @@ -0,0 +1,47 @@ +--- a/pdns/Makefile.am ++++ b/pdns/Makefile.am +@@ -51,7 +51,7 @@ + ednssubnet.cc ednssubnet.hh cachecleaner.hh dnslabel.hh dnslabel.cc + + # +-pdns_server_LDFLAGS=@moduleobjects@ @modulelibs@ @DYNLINKFLAGS@ @LIBDL@ @THREADFLAGS@ $(BOOST_SERIALIZATION_LDFLAGS) -rdynamic ++pdns_server_LDFLAGS=@moduleobjects@ @modulelibs@ @DYNLINKFLAGS@ @LIBDL@ @THREADFLAGS@S) -rdynamic + pdns_server_LDADD= ext/polarssl-1.1.1/library/libpolarssl.a $(BOOST_SERIALIZATION_LIBS) $(LUA_LIBS) $(SQLITE3_LIBS) + + +@@ -86,7 +86,7 @@ + signingpipe.cc dnslabeltext.cc ednssubnet.cc cachecleaner.hh dnslabel.hh dnslabel.cc + + +-pdnssec_LDFLAGS=@moduleobjects@ @modulelibs@ @DYNLINKFLAGS@ @LIBDL@ @THREADFLAGS@ $(BOOST_PROGRAM_OPTIONS_LDFLAGS) $(BOOST_SERIALIZATION_LDFLAGS) ++pdnssec_LDFLAGS=@moduleobjects@ @modulelibs@ @DYNLINKFLAGS@ @LIBDL@ @THREADFLAGS@ + pdnssec_LDADD= ext/polarssl-1.1.1/library/libpolarssl.a $(BOOST_PROGRAM_OPTIONS_LIBS) $(BOOST_SERIALIZATION_LIBS) $(SQLITE3_LIBS) + + if BOTAN110 +@@ -163,7 +163,7 @@ + rcpgenerator.cc rcpgenerator.hh base64.cc base64.hh dnswriter.cc dnslabeltext.cc dnswriter.hh \ + unix_utility.cc utility.hh sillyrecords.cc nsecrecords.cc base32.cc + +-dnsreplay_LDFLAGS= @DYNLINKFLAGS@ @THREADFLAGS@ $(BOOST_PROGRAM_OPTIONS_LDFLAGS) ++dnsreplay_LDFLAGS= @DYNLINKFLAGS@ @THREADFLAGS@ + dnsreplay_LDADD= $(BOOST_PROGRAM_OPTIONS_LIBS) + + nproxy_SOURCES=nproxy.cc dnsparser.cc dnsrecords.cc dnsparser.hh \ +@@ -171,7 +171,7 @@ + sillyrecords.cc selectmplexer.cc mplexer.hh misc.cc nsecrecords.cc unix_utility.cc qtype.cc \ + logger.cc statbag.cc base32.cc + +-nproxy_LDFLAGS= @DYNLINKFLAGS@ @THREADFLAGS@ $(BOOST_PROGRAM_OPTIONS_LDFLAGS) ++nproxy_LDFLAGS= @DYNLINKFLAGS@ @THREADFLAGS@ + nproxy_LDADD= $(BOOST_PROGRAM_OPTIONS_LIBS) + + notify_SOURCES=notify.cc dnsparser.cc dnsrecords.cc dnsparser.hh \ +@@ -179,7 +179,7 @@ + sillyrecords.cc selectmplexer.cc nsecrecords.cc base32.cc misc.cc unix_utility.cc \ + logger.cc qtype.cc statbag.cc + +-notify_LDFLAGS= @DYNLINKFLAGS@ @THREADFLAGS@ $(BOOST_PROGRAM_OPTIONS_LDFLAGS) ++notify_LDFLAGS= @DYNLINKFLAGS@ @THREADFLAGS@ + notify_LDADD= $(BOOST_PROGRAM_OPTIONS_LIBS) + + dnsscope_SOURCES=dnsscope.cc misc.cc unix_utility.cc qtype.cc \ diff -urN /home/mhaber/empty/series patches/series --- /home/mhaber/empty/series 1970-01-01 01:00:00.000000000 +0100 +++ patches/series 2012-04-24 11:02:52.243846956 +0200 @@ -0,0 +1,3 @@ +addconfigdir +fix-mongodb-backend-patch +remove-rpath-ldflags-patch