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]