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

  Server: cvs.openpkg.org                  Name:   Ralf S. Engelschall
  Root:   /e/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-src                      Date:   08-Dec-2004 12:17:41
  Branch: HEAD                             Handle: 2004120811174000

  Added files:
    openpkg-src/hclnfsd     hclnfsd.acl hclnfsd.patch hclnfsd.spec rc.hclnfsd

  Log:
    new package: hclnfsd 10.0.0.1 (Hummingbird NFS Authentication Daemon)

  Summary:
    Revision    Changes     Path
    1.1         +6  -0      openpkg-src/hclnfsd/hclnfsd.acl
    1.1         +58 -0      openpkg-src/hclnfsd/hclnfsd.patch
    1.1         +122 -0     openpkg-src/hclnfsd/hclnfsd.spec
    1.1         +62 -0      openpkg-src/hclnfsd/rc.hclnfsd
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-src/hclnfsd/hclnfsd.acl
  ============================================================================
  $ cvs diff -u -r0 -r1.1 hclnfsd.acl
  --- /dev/null 2004-12-08 12:17:40 +0100
  +++ hclnfsd.acl       2004-12-08 12:17:40 +0100
  @@ -0,0 +1,6 @@
  +##
  +##  hclnfsd.acl -- Client Access Control List
  +##
  +#=192.168.0.1 192.168.0.2
  +#-192.168.0.3 255.255.255.255
  +#+192.168.0.0 255.255.255.0
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/hclnfsd/hclnfsd.patch
  ============================================================================
  $ cvs diff -u -r0 -r1.1 hclnfsd.patch
  --- /dev/null 2004-12-08 12:17:40 +0100
  +++ hclnfsd.patch     2004-12-08 12:17:40 +0100
  @@ -0,0 +1,58 @@
  +Index: hclnfsd.c
  +--- hclnfsd.c.orig   2004-11-26 21:37:02 +0100
  ++++ hclnfsd.c        2004-12-08 12:08:35 +0100
  +@@ -224,6 +224,7 @@
  + static time_t GidCacheTimeoutTime=0;
  + int debugmode, DontDoPrinting;
  + char *debuglog;
  ++char *pidfile;
  + 
  + struct queueentry {
  +     int jobid;
  +@@ -2920,6 +2921,7 @@
  +     prog = argv[0];
  +     debugmode = 0;
  +     debuglog = NULL;
  ++    pidfile = NULL;
  +     DontDoPrinting = 0;
  +     if (sizeof(_uint32) != 4)
  +             ErrAndDie("Integral size mismatch.  Try defining INT32_LONG and 
recompiling\n", NULL, NULL, NULL, NULL);
  +@@ -2982,6 +2984,19 @@
  +             argv++;
  +             goto another;
  +     }
  ++    if ((argc > 0) && (strcmp(*argv, "-p") == 0)) {
  ++            argc--;
  ++            argv++;
  ++            if (argc < 1)
  ++                    ErrAndDie(USAGE, prog, NULL, NULL, NULL);
  ++            if (**argv)
  ++                    pidfile = my_strdup(*argv);
  ++            if (pidfile == NULL)
  ++                    ErrAndDie("Out of Memory", NULL, NULL, NULL, NULL);
  ++            argc--;
  ++            argv++;
  ++            goto another;
  ++    }
  +     if ((argc != 1) && (!DontDoPrinting))
  +             ErrAndDie(USAGE, prog, NULL, NULL, NULL);
  + 
  +@@ -3065,6 +3080,18 @@
  +                     fprintf(stdout,"%s: [main] real group %d, effective 
group %d\n", PROGNAME, getgid(), getegid());
  +                     debugmode++;
  +             }
  ++        /* write pid file */
  ++        {
  ++            pid_t pid;
  ++            FILE *fp;
  ++            pid = getpid();
  ++            if ((fp = fopen(pidfile, "w")) == NULL) {
  ++                fprintf(stderr, "%s: [main] cannot write pidfile '%s'", 
PROGNAME, pidfile);
  ++                exit(1);
  ++            }
  ++            fprintf(fp, "%ld\n", (long)pid);
  ++            fclose(fp);
  ++        }
  +     }
  + 
  +     if (!DontDoPrinting) {
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/hclnfsd/hclnfsd.spec
  ============================================================================
  $ cvs diff -u -r0 -r1.1 hclnfsd.spec
  --- /dev/null 2004-12-08 12:17:40 +0100
  +++ hclnfsd.spec      2004-12-08 12:17:40 +0100
  @@ -0,0 +1,122 @@
  +##
  +##  hclnfsd.spec -- OpenPKG RPM Specification
  +##  Copyright (c) 2000-2004 The OpenPKG Project <http://www.openpkg.org/>
  +##  Copyright (c) 2000-2004 Ralf S. Engelschall <[EMAIL PROTECTED]>
  +##  Copyright (c) 2000-2004 Cable & Wireless <http://www.cw.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 information
  +Name:         hclnfsd
  +Summary:      Hummingbird NFS Authentication Daemon
  +URL:          http://www.hclnfsd.org/
  +Vendor:       Hummingbird
  +Packager:     The OpenPKG Project
  +Distribution: OpenPKG
  +Class:        EVAL
  +Group:        Network
  +License:      PD
  +Version:      10.0.0.1
  +Release:      20041208
  +
  +#   list of sources
  +Source0:      
ftp://ftp.openpkg.org/sources/CPY/VERSIONED/hclnfsd/hclnfsd-%{version}.tar
  +Source1:      hclnfsd.acl
  +Source2:      rc.hclnfsd
  +Patch0:       hclnfsd.patch
  +
  +#   build information
  +Prefix:       %{l_prefix}
  +BuildRoot:    %{l_buildroot}
  +BuildPreReq:  OpenPKG, openpkg >= 20040130
  +PreReq:       OpenPKG, openpkg >= 20040130
  +AutoReq:      no
  +AutoReqProv:  no
  +
  +%description
  +    hclnfsd is the Hummingbird NFS authentication daemon. It is a
  +    super-set of the old PCNFSD from Sun.
  +
  +%track
  +    prog hclnfsd = {
  +        version   = %{version}
  +        url       = ftp://ftp.openpkg.org/sources/CPY/VERSIONED/hclnfsd/
  +        regex     = hclnfsd-(__VER__)\.tar
  +    }
  +
  +%prep
  +    %setup -q -c
  +    %patch -p0
  +
  +%build
  +    #   build program
  +    platform=""
  +    case "%{l_platform -t}" in
  +        *-freebsd* ) platform="freebsd" ;;
  +        *-linux*   ) platform="linux"   ;;
  +        *-sunos*   ) platform="solaris" ;;
  +        * ) echo "Platform \"%{l_platform -t}\" not supported" 1>&2; exit 1 
;;
  +    esac
  +    %{l_make} %{l_mflags} -f makefile $platform
  +
  +%install
  +    rm -rf $RPM_BUILD_ROOT
  +
  +    #   create installation hierarchy
  +    %{l_shtool} mkdir -f -p -m 755 \
  +        $RPM_BUILD_ROOT%{l_prefix}/sbin \
  +        $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \
  +        $RPM_BUILD_ROOT%{l_prefix}/etc/hclnfsd \
  +        $RPM_BUILD_ROOT%{l_prefix}/var/hclnfsd
  +
  +    #   install program
  +    %{l_shtool} install -c -s -m 755 \
  +        hclnfsd $RPM_BUILD_ROOT%{l_prefix}/sbin/
  +
  +    #   install run-command script
  +    %{l_shtool} install -c -m 755 %{l_value -s -a} \
  +        %{SOURCE rc.hclnfsd} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
  +
  +    #   install access control list
  +    %{l_shtool} install -c -m 755 %{l_value -s -a} \
  +        %{SOURCE hclnfsd.acl} $RPM_BUILD_ROOT%{l_prefix}/etc/hclnfsd/
  +
  +    #   determine installation files
  +    %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
  +
  +%files -f files
  +
  +%clean
  +    rm -rf $RPM_BUILD_ROOT
  +
  +%post
  +    #   after upgrade, restart service
  +    [ $1 -eq 2 ] || exit 0
  +    eval `%{l_rc} hclnfsd status 2>/dev/null`
  +    [ ".$hclnfsd_active" = .yes ] && %{l_rc} hclnfsd restart
  +    exit 0
  +
  +%preun
  +    #   before erase, stop service and remove log files
  +    [ $1 -eq 0 ] || exit 0
  +    %{l_rc} hclnfsd stop 2>/dev/null
  +    rm -f $RPM_INSTALL_PREFIX/var/hclnfsd/*
  +    exit 0
  +
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/hclnfsd/rc.hclnfsd
  ============================================================================
  $ cvs diff -u -r0 -r1.1 rc.hclnfsd
  --- /dev/null 2004-12-08 12:17:40 +0100
  +++ rc.hclnfsd        2004-12-08 12:17:41 +0100
  @@ -0,0 +1,62 @@
  [EMAIL PROTECTED]@/lib/openpkg/bash @l_prefix@/etc/rc
  +##
  +##  rc.hclnfsd -- Run-Commands
  +##
  +
  +%config
  +    hclnfsd_enable="$openpkg_rc_def"
  +    hclnfsd_flags=""
  +    hclnfsd_log_prolog="true"
  +    hclnfsd_log_epilog="true"
  +    hclnfsd_log_numfiles="10"
  +    hclnfsd_log_minsize="1M"
  +    hclnfsd_log_complevel="9"
  +
  +%common
  +    hclnfsd_aclfile="@l_prefix@/etc/hclnfsd/hclnfsd.acl"
  +    hclnfsd_logfile="@l_prefix@/var/hclnfsd/hclnfsd.log"
  +    hclnfsd_pidfile="@l_prefix@/var/hclnfsd/hclnfsd.pid"
  +    hclnfsd_signal () {
  +        [ -f $hclnfsd_pidfile ] && kill -$1 `cat $hclnfsd_pidfile`
  +    }
  +
  +%status -u @l_susr@ -o
  +    hclnfsd_usable="no"
  +    hclnfsd_active="no"
  +    rcService hclnfsd enable yes && \
  +        hclnfsd_signal 0 && hclnfsd_active="yes"
  +    echo "hclnfsd_enable=\"$hclnfsd_enable\""
  +    echo "hclnfsd_usable=\"$hclnfsd_usable\""
  +    echo "hclnfsd_active=\"$hclnfsd_active\""
  +
  +%start -p 100 -u @l_susr@
  +    rcService hclnfsd enable yes || exit 0
  +    rcService hclnfsd active yes && exit 0
  +    @l_prefix@/sbin/hclnfsd \
  +        -A -X \
  +        -s ${hclnfsd_aclfile} \
  +        -l ${hclnfsd_logfile} \
  +        -p ${hclnfsd_pidfile} \
  +        ${hclnfsd_flags}
  +
  +%stop -p 900 -u @l_susr@
  +    rcService hclnfsd enable yes || exit 0
  +    rcService hclnfsd active no  && exit 0
  +    hclnfsd_signal TERM
  +    sleep 2
  +    rm -f $hclnfsd_pidfile >/dev/null 2>&1 || true
  +
  +%restart -p 100 -u @l_susr@
  +    rcService hclnfsd enable yes || exit 0
  +    rcService hclnfsd active no  && exit 0
  +    rc hclnfsd stop start
  +
  +%daily -u @l_susr@
  +    rcService hclnfsd enable yes || exit 0
  +    shtool rotate -f \
  +        -n ${hclnfsd_log_numfiles} -s ${hclnfsd_log_minsize} -d \
  +        -z ${hclnfsd_log_complevel} -m 644 -o @l_rusr@ -g @l_rgrp@ \
  +        -P "${hclnfsd_log_prolog}" \
  +        -E "${hclnfsd_log_epilog} && rc hclnfsd reload" \
  +        $hclnfsd_logfile
  +
  @@ .
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     [EMAIL PROTECTED]

Reply via email to