OpenPKG CVS Repository
  http://cvs.openpkg.org/
  ____________________________________________________________________________

  Server: cvs.openpkg.org                  Name:   Ralf S. Engelschall
  Root:   /v/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-src                      Date:   25-Nov-2006 12:47:58
  Branch: HEAD                             Handle: 2006112511475700

  Added files:
    openpkg-src/maradns     maradns.spec mararc rc.maradns

  Log:
    new package: maradns 1.2.12.04 (Authoritative & Caching DNS Server)

  Summary:
    Revision    Changes     Path
    1.1         +145 -0     openpkg-src/maradns/maradns.spec
    1.1         +21 -0      openpkg-src/maradns/mararc
    1.1         +73 -0      openpkg-src/maradns/rc.maradns
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-src/maradns/maradns.spec
  ============================================================================
  $ cvs diff -u -r0 -r1.1 maradns.spec
  --- /dev/null 2006-11-25 12:46:41 +0100
  +++ maradns.spec      2006-11-25 12:47:58 +0100
  @@ -0,0 +1,145 @@
  +##
  +##  maradns.spec -- OpenPKG RPM Package Specification
  +##  Copyright (c) 2000-2006 OpenPKG Foundation e.V. <http://openpkg.net/>
  +##  Copyright (c) 2000-2006 Ralf S. Engelschall <http://engelschall.com/>
  +##
  +##  Permission to use, copy, modify, and distribute this software for
  +##  any purpose with or without fee is hereby granted, provided that
  +##  the above copyright notice and this permission notice appear in all
  +##  copies.
  +##
  +##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  +##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  +##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  +##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
  +##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  +##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  +##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  +##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  +##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  +##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  +##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  +##  SUCH DAMAGE.
  +##
  +
  +#   package version
  +%define       V_major 1.2
  +%define       V_minor 12.04
  +
  +#   package information
  +Name:         maradns
  +Summary:      Authoritative & Caching DNS Server
  +URL:          http://www.maradns.org/
  +Vendor:       Sam Trenholme
  +Packager:     OpenPKG Foundation e.V.
  +Distribution: OpenPKG Community
  +Class:        EVAL
  +Group:        DNS
  +License:      MIT-style
  +Version:      %{V_major}.%{V_minor}
  +Release:      20061125
  +
  +#   package options
  +%option       with_authonly  no
  +
  +#   list of sources
  +Source0:      
http://www.maradns.org/download/%{V_major}/%{version}/maradns-%{version}.tar.gz
  +Source1:      rc.maradns
  +Source2:      mararc
  +
  +#   build information
  +Prefix:       %{l_prefix}
  +BuildRoot:    %{l_buildroot}
  +BuildPreReq:  OpenPKG, openpkg >= 20040130, gcc
  +PreReq:       OpenPKG, openpkg >= 20040130
  +AutoReq:      no
  +AutoReqProv:  no
  +
  +%description
  +    MaraDNS is a secure, full-featured and easy to use Domain Name
  +    Service (DNS) server supporting both the authoritative and recursive
  +    resolving and caching operations.
  +
  +%track
  +    prog maradns = {
  +        version   = %{version}
  +        url       = http://www.maradns.org/download.html
  +        regex     = maradns-(__VER__)\.tar\.(gz|bz2)
  +    }
  +
  +%prep
  +    %setup -q
  +
  +%build
  +    #   configure program
  +%if "%{with_authonly}" == "yes"
  +    ./configure --authonly
  +%else
  +    ./configure
  +%endif
  +
  +    #   build program
  +    %{l_make} %{l_mflags}
  +
  +%install
  +    #   create installation hierarchy
  +    rm -rf $RPM_BUILD_ROOT
  +    %{l_shtool} mkdir -f -p -m 755 \
  +        $RPM_BUILD_ROOT%{l_prefix}/bin \
  +        $RPM_BUILD_ROOT%{l_prefix}/sbin \
  +        $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \
  +        $RPM_BUILD_ROOT%{l_prefix}/etc/maradns \
  +        $RPM_BUILD_ROOT%{l_prefix}/var/maradns \
  +        $RPM_BUILD_ROOT%{l_prefix}/man/man1 \
  +        $RPM_BUILD_ROOT%{l_prefix}/man/man5 \
  +        $RPM_BUILD_ROOT%{l_prefix}/man/man8
  +
  +    #   install program
  +    %{l_shtool} subst -e 's;RPM_BUILD_ROOT;PREFIX;g' build/install.sh
  +    export PREFIX=$RPM_BUILD_ROOT%{l_prefix}
  +    export LANGUAGE=en
  +    %{l_make} %{l_mflags} install
  +
  +    #   strip down installation
  +    strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
  +    strip $RPM_BUILD_ROOT%{l_prefix}/sbin/* >/dev/null 2>&1 || true
  +    rm -rf $RPM_BUILD_ROOT%{l_prefix}/doc
  +    rm -rf $RPM_BUILD_ROOT%{l_prefix}/etc/maradns/logger
  +    rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/mararc
  +
  +    #   install default configuration
  +    %{l_shtool} install -c -m 644 %{l_value -s -a} \
  +        %{SOURCE mararc} $RPM_BUILD_ROOT%{l_prefix}/etc/maradns/
  +    sed -e 's;net;com;' -e 's;NET;COM;' \
  +        <$RPM_BUILD_ROOT%{l_prefix}/etc/maradns/db.example.net \
  +        >$RPM_BUILD_ROOT%{l_prefix}/etc/maradns/db.example.com
  +
  +    #   install run-command script
  +    %{l_shtool} install -c -m 755 %{l_value -s -a} \
  +        %{SOURCE rc.maradns} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
  +
  +    #   determine installation files
  +    %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
  +        %{l_files_std} \
  +        '%config %{l_prefix}/etc/maradns/*' \
  +        '%attr(755,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/maradns'
  +
  +%files -f files
  +
  +%clean
  +    rm -rf $RPM_BUILD_ROOT
  +
  +%post
  +    #   after upgrade, restart service
  +    [ $1 -eq 2 ] || exit 0
  +    eval `%{l_rc} maradns status 2>/dev/null`
  +    [ ".$maradns_active" = .yes ] && %{l_rc} maradns restart
  +    exit 0
  +
  +%preun
  +    #   before erase, stop service and remove log files
  +    [ $1 -eq 0 ] || exit 0
  +    %{l_rc} maradns stop 2>/dev/null
  +    rm -f $RPM_INSTALL_PREFIX/var/maradns/* >/dev/null 2>&1 || true
  +    exit 0
  +
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/maradns/mararc
  ============================================================================
  $ cvs diff -u -r0 -r1.1 mararc
  --- /dev/null 2006-11-25 12:46:41 +0100
  +++ mararc    2006-11-25 12:47:58 +0100
  @@ -0,0 +1,21 @@
  +##
  +##  mararc -- MaraDNS server configuration
  +##
  +
  +#   server
  +maradns_uid          = @l_ruid@
  +maradns_gid          = @l_rgid@
  +chroot_dir           = "@l_prefix@/etc/maradns"
  +verbose_level        = 4
  +hide_disclaimer      = "YES"
  +
  +#   network
  +ipv4_bind_addresses  = "127.0.0.1"
  +recursive_acl        = "127.0.0.1/8"
  +zone_transfer_acl    = "0.0.0.0/0"
  +
  +#   zones
  +csv2                 = {}
  +csv2["example.net."] = "db.example.net"
  +csv2["example.com."] = "db.example.com"
  +
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/maradns/rc.maradns
  ============================================================================
  $ cvs diff -u -r0 -r1.1 rc.maradns
  --- /dev/null 2006-11-25 12:46:41 +0100
  +++ rc.maradns        2006-11-25 12:47:58 +0100
  @@ -0,0 +1,73 @@
  [EMAIL PROTECTED]@/bin/openpkg rc
  +##
  +##  rc.maradns -- Run-Commands
  +##
  +
  +%config
  +    maradns_enable="$openpkg_rc_def"
  +    maradns_daemons="maradns zoneserver"
  +    maradns_log_prolog="true"
  +    maradns_log_epilog="true"
  +    maradns_log_numfiles="10"
  +    maradns_log_minsize="1M"
  +    maradns_log_complevel="9"
  +
  +%common
  +    maradns_cfgfile="@l_prefix@/etc/maradns/mararc"
  +    maradns_logfile="@l_prefix@/var/maradns/maradns.log"
  +    maradns_pidfile_maradns="@l_prefix@/var/maradns/maradns.pid"
  +    maradns_pidfile_zoneserver="@l_prefix@/var/maradns/zoneserver.pid"
  +    maradns_signal () {
  +        [ -f $maradns_pidfile_maradns ] \
  +            && kill -$1 `cat $maradns_pidfile_maradns`
  +        local rc_maradns_maradns=$?
  +        [ -f $maradns_pidfile_zoneserver ] \
  +            && kill -$1 `cat $maradns_pidfile_zoneserver`
  +        local rc_maradns_zoneserver=$?
  +        [ $rc_maradns_maradns    -eq 0 -o \
  +          $rc_maradns_zoneserver -eq 0 ]
  +    }
  +
  +%status -u @l_susr@ -o
  +    maradns_usable="unknown"
  +    maradns_active="no"
  +    rcService maradns enable yes && \
  +        maradns_signal 0 && maradns_active="yes"
  +    echo "maradns_enable=\"$maradns_enable\""
  +    echo "maradns_usable=\"$maradns_usable\""
  +    echo "maradns_active=\"$maradns_active\""
  +
  +%start -u @l_susr@
  +    rcService maradns enable yes || exit 0
  +    rcService maradns active yes && exit 0
  +    touch $maradns_logfile
  +    chown @l_rusr@:@l_rgrp@ $maradns_logfile
  +    for daemon in $maradns_daemons; do
  +        ( nohup @l_prefix@/sbin/$daemon -f ${maradns_cfgfile} \
  +          </dev/null >>$maradns_logfile 2>&1 &
  +          eval "echo \$! >\$maradns_pidfile_$daemon"
  +        ) >/dev/null 2>&1
  +    done
  +
  +%stop -u @l_susr@
  +    rcService maradns enable yes || exit 0
  +    rcService maradns active no  && exit 0
  +    maradns_signal TERM
  +    sleep 2
  +    rm -f $maradns_pidfile_maradns    >/dev/null 2>&1 || true
  +    rm -f $maradns_pidfile_zoneserver >/dev/null 2>&1 || true
  +
  +%restart -u @l_susr@
  +    rcService maradns enable yes || exit 0
  +    rcService maradns active no  && exit 0
  +    rc maradns stop start
  +
  +%daily -u @l_susr@
  +    rcService maradns enable yes || exit 0
  +    shtool rotate -f \
  +        -n $maradns_log_numfiles -s $maradns_log_minsize -d \
  +        -z $maradns_log_complevel -m 664 -o @l_rusr@ -g @l_rgrp@ \
  +        -P "$maradns_log_prolog" \
  +        -E "$maradns_log_epilog" \
  +        $maradns_logfile
  +
  @@ .
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     [email protected]

Reply via email to