OpenPKG CVS Repository http://cvs.openpkg.org/ ____________________________________________________________________________
Server: cvs.openpkg.org Name: Michael Schloh Root: /e/openpkg/cvs Email: [EMAIL PROTECTED] Module: openpkg-src openpkg-web Date: 09-Oct-2003 21:37:51 Branch: HEAD Handle: 2003100920374901 Added files: openpkg-src/powerdns powerdns.patch Modified files: openpkg-src/powerdns fsl.powerdns powerdns.spec rc.powerdns openpkg-web news.txt Log: Completely repair package and implement features in ticket #202 Summary: Revision Changes Path 1.5 +51 -3 openpkg-src/powerdns/fsl.powerdns 1.1 +94 -0 openpkg-src/powerdns/powerdns.patch 1.31 +63 -34 openpkg-src/powerdns/powerdns.spec 1.13 +75 -12 openpkg-src/powerdns/rc.powerdns 1.6946 +1 -0 openpkg-web/news.txt ____________________________________________________________________________ patch -p0 <<'@@ .' Index: openpkg-src/powerdns/fsl.powerdns ============================================================================ $ cvs diff -u -r1.4 -r1.5 fsl.powerdns --- openpkg-src/powerdns/fsl.powerdns 14 Jul 2003 18:32:41 -0000 1.4 +++ openpkg-src/powerdns/fsl.powerdns 9 Oct 2003 19:37:50 -0000 1.5 @@ -2,14 +2,62 @@ ## fsl.powerdns -- OSSP fsl configuration ## -ident (powerdns)/.+ q{ +ident (pdns)/.+ q{ prefix( prefix="%b %d %H:%M:%S %N <%L> $1[%P]: " ) -> { debug: file( - path="@l_prefix@/var/powerdns/powerdns.log", - perm=0600 + path="@l_prefix@/var/powerdns/pdns.log", + perm=0660, jitter=1, monitor=3600 + ) + } +}; + +ident (bindbe)/.+ q{ + prefix( + prefix="%b %d %H:%M:%S %N <%L> $1[%P]: " + ) + -> { + debug: file( + path="@l_prefix@/var/powerdns/bindbe.log", + perm=0660, jitter=1, monitor=3600 + ) + } +}; + +ident (bind2be)/.+ q{ + prefix( + prefix="%b %d %H:%M:%S %N <%L> $1[%P]: " + ) + -> { + debug: file( + path="@l_prefix@/var/powerdns/bind2be.log", + perm=0660, jitter=1, monitor=3600 + ) + } +}; + +ident (randbe)/.+ q{ + prefix( + prefix="%b %d %H:%M:%S %N <%L> $1[%P]: " + ) + -> { + debug: file( + path="@l_prefix@/var/powerdns/randbe.log", + perm=0660, jitter=1, monitor=3600 + ) + } +}; + +ident (gsqlbe)/.+ q{ + prefix( + prefix="%b %d %H:%M:%S %N <%L> $1[%P]: " + ) + -> { + debug: file( + path="@l_prefix@/var/powerdns/gsqlbe.log", + perm=0660, jitter=1, monitor=3600 ) } }; @@ . patch -p0 <<'@@ .' Index: openpkg-src/powerdns/powerdns.patch ============================================================================ $ cvs diff -u -r0 -r1.1 powerdns.patch --- /dev/null 2003-10-09 21:37:50.000000000 +0200 +++ powerdns.patch 2003-10-09 21:37:50.000000000 +0200 @@ -0,0 +1,94 @@ +diff -Naur pdns-2.9.11.orig/pdns/backends/bind/bindbackend.cc pdns-2.9.11/pdns/backends/bind/bindbackend.cc +--- pdns-2.9.11.orig/pdns/backends/bind/bindbackend.cc 2003-08-22 15:33:31.000000000 +0200 ++++ pdns-2.9.11/pdns/backends/bind/bindbackend.cc 2003-10-09 18:24:43.000000000 +0200 +@@ -40,9 +40,21 @@ + #include "misc.hh" + #include "dynlistener.hh" + #include "lock.hh" ++ ++#undef L ++#define L ::bindLog() ++ + using namespace std; + + ++// use own logger across corresponding classes ++// to properly identify log text from BindBackend ++Logger &bindLog(void) ++{ ++ static Logger lbind("bindbe"); ++ return lbind; ++} ++ + cmap_t BindBackend::d_qnames; + map<int,vector<vector<BBResourceRecord>* > > BindBackend::d_zone_id_map; + set<string> BindBackend::s_contents; +diff -Naur pdns-2.9.11.orig/pdns/backends/bind/bindbackend2.cc pdns-2.9.11/pdns/backends/bind/bindbackend2.cc +--- pdns-2.9.11.orig/pdns/backends/bind/bindbackend2.cc 2003-08-22 15:33:31.000000000 +0200 ++++ pdns-2.9.11/pdns/backends/bind/bindbackend2.cc 2003-10-09 18:24:11.000000000 +0200 +@@ -40,8 +40,21 @@ + #include "misc.hh" + #include "dynlistener.hh" + #include "lock.hh" ++ ++#undef L ++#define L ::bind2Log() ++ + using namespace std; + ++ ++// use own logger across corresponding classes ++// to properly identify log text from Bind2Backend ++Logger &bind2Log(void) ++{ ++ static Logger lbind2("bind2be"); ++ return lbind2; ++} ++ + /** new scheme of things: + we have zone-id map + a zone-id has a vector of DNSResourceRecords */ +diff -Naur pdns-2.9.11.orig/pdns/backends/gsql/gsqlbackend.cc pdns-2.9.11/pdns/backends/gsql/gsqlbackend.cc +--- pdns-2.9.11.orig/pdns/backends/gsql/gsqlbackend.cc 2003-08-22 15:33:31.000000000 +0200 ++++ pdns-2.9.11/pdns/backends/gsql/gsqlbackend.cc 2003-10-09 18:25:07.000000000 +0200 +@@ -17,6 +17,18 @@ + + #include <sstream> + ++#undef L ++#define L ::gsqlLog() ++ ++ ++// use own logger across corresponding classes ++// to properly identify log text from GSQLBackend ++Logger &gsqlLog(void) ++{ ++ static Logger lgsql("gsql"); ++ return lgsql; ++} ++ + void GSQLBackend::setNotified(u_int32_t domain_id, u_int32_t serial) + { + char output[1024]; +diff -Naur pdns-2.9.11.orig/pdns/randombackend.cc pdns-2.9.11/pdns/randombackend.cc +--- pdns-2.9.11.orig/pdns/randombackend.cc 2003-08-22 14:57:14.000000000 +0200 ++++ pdns-2.9.11/pdns/randombackend.cc 2003-10-09 18:25:23.000000000 +0200 +@@ -24,6 +24,18 @@ + #include "ahuexception.hh" + #include "logger.hh" + ++#undef L ++#define L ::randLog() ++ ++ ++// use own logger across corresponding classes ++// to properly identify log text from RandomBackend ++Logger &randLog(void) ++{ ++ static Logger lrand("randbe"); ++ return lrand; ++} ++ + /* FIRST PART */ + class RandomBackend : public DNSBackend + { @@ . patch -p0 <<'@@ .' Index: openpkg-src/powerdns/powerdns.spec ============================================================================ $ cvs diff -u -r1.30 -r1.31 powerdns.spec --- openpkg-src/powerdns/powerdns.spec 22 Aug 2003 18:01:41 -0000 1.30 +++ openpkg-src/powerdns/powerdns.spec 9 Oct 2003 19:37:50 -0000 1.31 @@ -23,19 +23,17 @@ ## SUCH DAMAGE. ## -# FIXME: mlelstv: JUNK because not well tested and no config - # package information Name: powerdns Summary: PowerDNS high performance authoritative-only name server URL: http://www.powerdns.com/products/powerdns/ Vendor: PowerDNS.COM BV Packager: The OpenPKG Project -Distribution: OpenPKG [JUNK] +Distribution: OpenPKG [EVAL] Group: DNS License: GPL Version: 2.9.11 -Release: 20030822 +Release: 20031009 # package options %option with_fsl yes @@ -48,6 +46,7 @@ Source1: rc.powerdns Source2: fsl.powerdns Source3: powerdnssetup +Patch0: powerdns.patch # build information Prefix: %{l_prefix} @@ -55,8 +54,8 @@ BuildPreReq: OpenPKG, openpkg >= 20030718 PreReq: OpenPKG, openpkg >= 20030718 %if "%{with_fsl}" == "yes" -BuildPreReq: fsl >= 1.2.0 -PreReq: fsl >= 1.2.0 +BuildPreReq: fsl >= 1.3.0 +PreReq: fsl >= 1.3.0 %endif %if "%{with_mysql}" == "yes" BuildPreReq: mysql @@ -71,20 +70,31 @@ Conflicts: bind, bind8 %description - The PowerDNS name server is a modern, advanced and high performance - authoritative-only nameserver. It is written from scratch and - conforms to all the relevant DNS standards documents. The PowerDNS - name server utilizes a flexible backend architecture which can - access DNS information from any data source. This includes file - formats, Bind zone files, relational databases or LDAP directories. - By connecting directly to a database, no 'reloading' is needed. - Changes committed to the database are effective immediately. If you - have specific needs for your DNS infrastructure then you can use the - Backend Developers Kit to write the 'glue' between PowerDNS and your - data or logic. + The PowerDNS name server is a modern, advanced and high + performance authoritative-only nameserver. It is written + from scratch in ISO C++ and conforms to all the relevant + DNS standards documents. The PowerDNS name server utilizes + a flexible backend architecture which can access DNS + information from any data source. This includes many file + formats, Bind zone files, or LDAP directories. PowerDNS + can connect directly to a relational database as well, and + benefit from immediate zone updates on any changes to the + database (no traditional reloading is needed). Lastly, a + Backend Developers Kit exists to negotiate between + PowerDNS and your data or logic. %prep %setup -q -n pdns-%{version} + %patch -p1 + %{l_shtool} subst \ + -e 's;\([^a-zA-Z0-9]\)PC\([^a-zA-Z0-9]\);\1PCa\2;g' \ + pdns/packethandler.cc \ + pdns/tcpreceiver.cc \ + pdns/ueberbackend.cc \ + pdns/dynhandler.cc \ + pdns/dnsproxy.cc \ + pdns/common_startup.cc \ + pdns/common_startup.hh %build MODULES="" @@ -101,10 +111,9 @@ CC="%{l_cc}" \ CXX="%{l_cxx}" \ CFLAGS="%{l_cflags -O}" \ - CXXFLAGS="%{l_cxxflags -O} -DDLLIMPORT=" \ - CPPFLAGS="%{l_cppflags} -DDLLIMPORT=" \ - LDFLAGS="%{l_ldflags} %{l_fsl_ldflags}" - LIBS="%{l_fsl_libs}" + CXXFLAGS="%{l_cxxflags -O}" \ + CPPFLAGS="%{l_cppflags}" \ + LDFLAGS="%{l_fsl_ldflags}" \ ./configure \ --prefix=%{l_prefix} \ --sysconfdir=%{l_prefix}/etc/powerdns \ @@ -125,13 +134,14 @@ --with-modules="$MODULES" \ --with-dynmodules="" \ --disable-shared - %{l_make} %{l_mflags -O} \ - CXXFLAGS="%{l_cxxflags -O} -DDLLIMPORT= -DHAVE_NAMESPACE_STD" \ - CPPFLAGS="%{l_cppflags} -DDLLIMPORT= -DHAVE_NAMESPACE_STD" + %{l_make} %{l_mflags -O} LDADD="%{l_fsl_libs}" %install rm -rf $RPM_BUILD_ROOT + %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/var/powerdns %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT" + strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true + strip $RPM_BUILD_ROOT%{l_prefix}/sbin/* >/dev/null 2>&1 || true # clean up installation rm -rf $RPM_BUILD_ROOT%{l_prefix}/lib @@ -142,15 +152,24 @@ %{l_shtool} subst %{l_value -s -a} \ $RPM_BUILD_ROOT%{l_prefix}/etc/powerdns/pdns.conf + # provide some reasonable default configuration values + %{l_shtool} subst \ + -e 's;# \(daemon=\)no;\1yes;' \ + -e 's;# \(launch=\);\1bind;' \ + -e 's;# \(local-address=\)0.0.0.0;\1127.0.0.1;' \ + -e 's;# \(logfile=\)pdns.log;\1%{l_prefix}/var/powerdns/pdns.log;' \ + -e 's;# \(setgid=\);\1%{l_mgid};' \ + -e 's;# \(setuid=\);\1%{l_muid};' \ + -e 's;# \(socket-dir=\)/var/run;\1%{l_prefix}/var/powerdns;' \ + -e 's;# \(use-logfile=\)no;\1yes;' \ + $RPM_BUILD_ROOT%{l_prefix}/etc/powerdns/pdns.conf + # install run-command script - %{l_shtool} mkdir -f -p -m 755 \ - $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d + %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d %{l_shtool} install -c -m 755 %{l_value -s -a} \ %{SOURCE rc.powerdns} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ # install setup script - %{l_shtool} mkdir -p -m 755 \ - $RPM_BUILD_ROOT%{l_prefix}/sbin %{l_shtool} install -c -m 755 \ %{SOURCE powerdnssetup} $RPM_BUILD_ROOT%{l_prefix}/sbin/ @@ -159,22 +178,32 @@ %{l_shtool} install -c -m 644 %{l_value -s -a} \ %{SOURCE fsl.powerdns} \ $RPM_BUILD_ROOT%{l_prefix}/etc/fsl/ - %{l_shtool} mkdir -f -p -m 755 \ - $RPM_BUILD_ROOT%{l_prefix}/var/powerdns - - strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true - strip $RPM_BUILD_ROOT%{l_prefix}/sbin/* >/dev/null 2>&1 || true # determine installation files %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ %{l_files_std} \ '%not %dir %{l_prefix}/etc/fsl' \ - '%attr(775,%{l_musr},%{l_rgrp}) %{l_prefix}/var/powerdns' \ '%config %{l_prefix}/etc/fsl/fsl.powerdns' \ + '%dir %attr(0775,%{l_susr},%{l_mgrp}) %{l_prefix}/var/powerdns' \ + '%dir %attr(0700,%{l_susr},%{l_mgrp}) %{l_prefix}/etc/powerdns' \ '%config %attr(0600,%{l_susr},%{l_mgrp}) %{l_prefix}/etc/powerdns/*' %files -f files %clean rm -rf $RPM_BUILD_ROOT + +%post + # after upgrade, restart service + [ $1 -eq 2 ] || exit 0 + eval `%{l_rc} powerdns status 2>/dev/null` + [ ".$powerdns_active" = .yes ] && %{l_rc} powerdns restart + exit 0 + +%preun + # before erase, stop service and remove log files + [ $1 -eq 0 ] || exit 0 + %{l_rc} powerdns stop 2>/dev/null + rm -f $RPM_INSTALL_PREFIX/var/powerdns/*.log* >/dev/null 2>&1 || true + exit 0 @@ . patch -p0 <<'@@ .' Index: openpkg-src/powerdns/rc.powerdns ============================================================================ $ cvs diff -u -r1.12 -r1.13 rc.powerdns --- openpkg-src/powerdns/rc.powerdns 22 Jul 2003 08:11:03 -0000 1.12 +++ openpkg-src/powerdns/rc.powerdns 9 Oct 2003 19:37:50 -0000 1.13 @@ -5,30 +5,93 @@ %config powerdns_enable="$openpkg_rc_def" - powerdns_log_prolog="true" - powerdns_log_epilog="true" - powerdns_log_numfiles="10" - powerdns_log_minsize="1M" - powerdns_log_complevel="9" + powerdns_pdns_file="@l_prefix@/var/powerdns/pdns.log" + powerdns_pdns_prolog="true" + powerdns_pdns_epilog="true" + powerdns_pdns_numfiles="10" + powerdns_pdns_minsize="1M" + powerdns_pdns_complevel="9" + powerdns_bindbe_file="@l_prefix@/var/powerdns/bindbe.log" + powerdns_bindbe_prolog="true" + powerdns_bindbe_epilog="true" + powerdns_bindbe_numfiles="10" + powerdns_bindbe_minsize="1M" + powerdns_bindbe_complevel="9" + powerdns_bind2be_file="@l_prefix@/var/powerdns/bind2be.log" + powerdns_bind2be_prolog="true" + powerdns_bind2be_epilog="true" + powerdns_bind2be_numfiles="10" + powerdns_bind2be_minsize="1M" + powerdns_bind2be_complevel="9" + powerdns_gsqlbe_file="@l_prefix@/var/powerdns/gsqlbe.log" + powerdns_gsqlbe_prolog="true" + powerdns_gsqlbe_epilog="true" + powerdns_gsqlbe_numfiles="10" + powerdns_gsqlbe_minsize="1M" + powerdns_gsqlbe_complevel="9" + +%common + powerdns_pidfile="@l_prefix@/var/powerdns/pdns.pid" + powerdns_sckfile="@l_prefix@/var/powerdns/pdns.controlsocket" + powerdns_cfgfile="@l_prefix@/etc/powerdns/pdns.conf" + powerdns_signal () { + [ -f $powerdns_pidfile ] && kill -$1 `cat $powerdns_pidfile` + } + +%status -u @l_susr@ -o + powerdns_usable="unknown" + powerdns_active="no" + rcService powerdns enable yes && \ + powerdns_signal 0 && powerdns_active="yes" + echo "powerdns_enable=\"$powerdns_enable\"" + echo "powerdns_usable=\"$powerdns_usable\"" + echo "powerdns_active=\"$powerdns_active\"" %start -u @l_susr@ rcService powerdns enable yes || exit 0 + rcService powerdns active yes && exit 0 @l_prefix@/sbin/pdns_server --daemon=yes %stop -u @l_susr@ rcService powerdns enable yes || exit 0 - @l_prefix@/bin/pdns_control quit + rcService powerdns active no && exit 0 + powerdns_signal TERM + rm -f $powerdns_pidfile + rm -f $powerdns_sckfile %restart -u @l_susr@ rcService powerdns enable yes || exit 0 - @l_prefix@/bin/pdns_control cycle + rcService powerdns active no && exit 0 + rc powerdns stop + sleep 2 + rc powerdns start %daily -u @l_susr@ rcService powerdns enable yes || exit 0 + + # rotate logfiles + shtool rotate -f \ + -n ${powerdns_pdns_numfiles} -s ${powerdns_pdns_minsize} -d \ + -z ${powerdns_pdns_complevel} -o @l_susr@ -g @l_mgrp@ -m 660 \ + -P "${powerdns_pdns_prolog}" \ + -E "${powerdns_pdns_epilog}" \ + powerdns_pdns_file + shtool rotate -f \ + -n ${powerdns_bindbe_numfiles} -s ${powerdns_bindbe_minsize} -d \ + -z ${powerdns_bindbe_complevel} -o @l_susr@ -g @l_mgrp@ -m 660 \ + -P "${powerdns_bindbe_prolog}" \ + -E "${powerdns_bindbe_epilog}" \ + powerdns_bindbe_file + shtool rotate -f \ + -n ${powerdns_bind2be_numfiles} -s ${powerdns_bind2be_minsize} -d \ + -z ${powerdns_bind2be_complevel} -o @l_susr@ -g @l_mgrp@ -m 660 \ + -P "${powerdns_bind2be_prolog}" \ + -E "${powerdns_bind2be_epilog}" \ + powerdns_bind2be_file shtool rotate -f \ - -n ${powerdns_log_numfiles} -s ${powerdns_log_minsize} -d \ - -z ${powerdns_log_complevel} -o @l_rusr@ -g @l_rgrp@ -m 644 \ - -P "${powerdns_log_prolog}" \ - -E "${powerdns_log_epilog}" \ - @l_prefix@/var/powerdns/powerdns.log + -n ${powerdns_gsqlbe_numfiles} -s ${powerdns_gsqlbe_minsize} -d \ + -z ${powerdns_gsqlbe_complevel} -o @l_susr@ -g @l_mgrp@ -m 660 \ + -P "${powerdns_gsqlbe_prolog}" \ + -E "${powerdns_gsqlbe_epilog}" \ + powerdns_gsqlbe_file @@ . patch -p0 <<'@@ .' Index: openpkg-web/news.txt ============================================================================ $ cvs diff -u -r1.6945 -r1.6946 news.txt --- openpkg-web/news.txt 9 Oct 2003 18:27:58 -0000 1.6945 +++ openpkg-web/news.txt 9 Oct 2003 19:37:49 -0000 1.6946 @@ -1,3 +1,4 @@ +09-Oct-2003: Upgraded package: P<powerdns-2.9.11-20031009> 09-Oct-2003: Upgraded package: P<automake-1.7.8-20031009> 09-Oct-2003: New package: P<glpk-4.1-20031009> 09-Oct-2003: Upgraded package: P<honeyd-0.6a-20031009> @@ . ______________________________________________________________________ The OpenPKG Project www.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]