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

Reply via email to