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]

Reply via email to