summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoragc <agc>1998-04-24 16:12:12 +0000
committeragc <agc>1998-04-24 16:12:12 +0000
commiteb80ecdd38c88da958f6cd1a310ba31500d17142 (patch)
tree451e0927b0db9225008fb84da6f0fa35a019ab3a
parenta6f063393e278acc9e5b2429e73a34c39c112d79 (diff)
downloadpkgsrc-eb80ecdd38c88da958f6cd1a310ba31500d17142.tar.gz
Addition of rdist-6.1.4, a remote file sync-ing utility, with support
for ssh transfers, into the NetBSD packages collection. The NetBSD modifications were by Herb Peyerl, with some munging by me to use mkstemp() in one place, and other minor formatting. The client binary is called rdist6 to distinguish it from the system one.
-rw-r--r--net/rdist6/Makefile21
-rw-r--r--net/rdist6/files/md51
-rw-r--r--net/rdist6/patches/patch-aa378
-rw-r--r--net/rdist6/pkg/COMMENT1
-rw-r--r--net/rdist6/pkg/DESCR220
-rw-r--r--net/rdist6/pkg/PLIST5
6 files changed, 626 insertions, 0 deletions
diff --git a/net/rdist6/Makefile b/net/rdist6/Makefile
new file mode 100644
index 00000000000..91837c2b86f
--- /dev/null
+++ b/net/rdist6/Makefile
@@ -0,0 +1,21 @@
+# $NetBSD: Makefile,v 1.1 1998/04/24 16:12:12 agc Exp $
+#
+
+DISTNAME= rdist-6.1.4
+CATEGORIES= net
+MASTER_SITES= http://www.MagniComp.com/download/rdist/
+
+MAINTAINER= packages@netbsd.org
+
+RDIST6_NAME= rdist6
+
+INSTALL_TARGET= install install.man
+MAKE_ENV+= RDIST6_NAME=${RDIST6_NAME}
+MAN1= ${RDIST6_NAME}.1
+MAN8= rdistd.8
+
+post-install:
+ @strip ${PREFIX}/bin/${RDIST6_NAME}
+ @strip ${PREFIX}/bin/rdistd
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/net/rdist6/files/md5 b/net/rdist6/files/md5
new file mode 100644
index 00000000000..15cc6970aed
--- /dev/null
+++ b/net/rdist6/files/md5
@@ -0,0 +1 @@
+MD5 (rdist-6.1.4.tar.gz) = fec9b84ed1b4e81cca193b2379fbccd9
diff --git a/net/rdist6/patches/patch-aa b/net/rdist6/patches/patch-aa
new file mode 100644
index 00000000000..916ef209752
--- /dev/null
+++ b/net/rdist6/patches/patch-aa
@@ -0,0 +1,378 @@
+--- build/os-type 1998/04/24 14:27:16 1.1
++++ build/os-type 1998/04/24 14:28:04
+@@ -106,6 +106,7 @@
+ ;;
+ "linux"*) OS=linux;;
+ "freebsd"*) OS="${osname}${osmajver}";;
++ "netbsd"*) OS="netbsd131";;
+ # OpenBSD looks like freebsd2 right now
+ "openbsd"*) OS="freebsd2";;
+ "dgux"*) OS=dgux;;
+--- include/defs.h 1998/04/24 14:28:52 1.1
++++ include/defs.h 1998/04/24 14:29:43
+@@ -403,7 +403,11 @@
+ extern void error(char *, ...);
+ extern void fatalerr(char *, ...);
+ extern void message(int, char *, ...);
++#if defined(NETBSD)
++extern void setproctitle(const char *fmt, ...);
++#else
+ extern void setproctitle(char *fmt, ...);
++#endif /* NetBSD */
+ #else
+ extern void debugmsg();
+ extern void error();
+--- include/filesys.h 1998/04/24 14:30:29 1.1
++++ include/filesys.h 1998/04/24 14:30:47
+@@ -111,7 +111,7 @@
+ typedef struct statvfs statfs_t;
+ # define statfs(mp,sb) statvfs(mp,sb)
+ #else
+-#if defined(BSD386) || defined(__bsdi__) || defined(FREEBSD) || STATFS_TYPE == STATFS_OSF1
++#if defined(BSD386) || defined(__bsdi__) || defined(FREEBSD) || defined(NETBSD) || STATFS_TYPE == STATFS_OSF1
+ typedef struct statfs statfs_t;
+ #else
+ # include <sys/vfs.h>
+--- src/filesys-os.c 1998/04/24 14:35:12 1.1
++++ src/filesys-os.c 1998/04/24 14:38:58
+@@ -51,7 +51,9 @@
+
+ #if FSI_TYPE == FSI_GETFSSTAT
+ static struct statfs *mnt = NULL;
++#if !defined(NETBSD)
+ typedef u_long ulong;
++#endif /* !NetBSD */
+ #endif /* FSI_GETFSSTAT */
+
+ #if FSI_TYPE == FSI_MNTCTL
+@@ -179,6 +181,16 @@
+ if (mnt->f_flags & M_RDONLY)
+ mntstruct.me_flags |= MEFLAG_READONLY;
+ #endif
++#if defined(NETBSD)
++ if (strcmp(mnt->f_fstypename, MOUNT_NFS)) {
++ (void) sprintf(remote_dev, "%s", mnt->f_mntfromname);
++ mntstruct.me_path = remote_dev;
++ mntstruct.me_type = METYPE_NFS;
++ } else {
++ mntstruct.me_path = mnt->f_mntonname;
++ mntstruct.me_type = METYPE_OTHER;
++ }
++#else
+ switch ((ulong)((struct statfs*)mnt)->f_type) {
+ case MOUNT_NFS:
+ (void) sprintf(remote_dev, "%s", mnt->f_mntfromname);
+@@ -190,6 +202,7 @@
+ mntstruct.me_type = METYPE_OTHER;
+ break;
+ }
++#endif /* !NetBSD */
+
+ mnt++;
+ entries_left--;
+--- src/setargs.c 1998/04/24 14:40:02 1.1
++++ src/setargs.c 1998/04/24 14:41:06
+@@ -130,7 +130,11 @@
+ /*
+ * Stdarg front-end to _setproctitle()
+ */
++#if defined(NETBSD)
++extern void setproctitle(const char *fmt, ...)
++#else
+ extern void setproctitle(char *fmt, ...)
++#endif
+ {
+ static char buf[BUFSIZ];
+ va_list args;
+--- /dev/null Fri Apr 24 09:44:17 1998
++++ config/mf.netbsd131 Fri Apr 24 15:43:50 1998
+@@ -0,0 +1,56 @@
++#
++# Copyright (c) 1993 Michael A. Cooper
++# Copyright (c) 1993 Regents of the University of California.
++# All rights reserved.
++#
++# Redistribution and use in source and binary forms, with or without
++# modification, are permitted provided that the following conditions
++# are met:
++# 1. Redistributions of source code must retain the above copyright
++# notice, this list of conditions and the following disclaimer.
++# 2. Redistributions in binary form must reproduce the above copyright
++# notice, this list of conditions and the following disclaimer in the
++# documentation and/or other materials provided with the distribution.
++# 3. All advertising materials mentioning features or use of this software
++# must display the following acknowledgement:
++# This product includes software developed by the University of
++# California, Berkeley and its contributors.
++# 4. Neither the name of the University nor the names of its contributors
++# may be used to endorse or promote products derived from this software
++# without specific prior written permission.
++#
++# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
++# ANY EXPRESS 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 REGENTS OR 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.
++#
++#
++
++#
++# NetBSD 1.3.1 Makefile
++#
++
++#
++# Functions that are missing in this OS are contained in the
++# files specified in ${MISSINGOBJS}.
++#
++#MISSINGOBJS = $(O)strerror.o $(O)strcasecmp.o
++
++#
++# System libraries that we need to load.
++#
++LIB_SYS = -lcompat
++
++#
++# System dependent options for compiling
++#
++#CFLAGS_OS =
++
++BIN_DIR = /usr/local/bin
+--- /dev/null Fri Apr 24 09:44:17 1998
++++ config/os-netbsd131.h Fri Apr 24 15:55:44 1998
+@@ -0,0 +1,156 @@
++/*
++ * Copyright (c) 1993 Michael A. Cooper
++ * Copyright (c) 1993 Regents of the University of California.
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ * 2. Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in the
++ * documentation and/or other materials provided with the distribution.
++ * 3. All advertising materials mentioning features or use of this software
++ * must display the following acknowledgement:
++ * This product includes software developed by the University of
++ * California, Berkeley and its contributors.
++ * 4. Neither the name of the University nor the names of its contributors
++ * may be used to endorse or promote products derived from this software
++ * without specific prior written permission.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
++ * ANY EXPRESS 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 REGENTS OR 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.
++ */
++
++/*
++ * Original Id: os-freebsd2.h,v 1.2 1996/02/15 18:53:48 mcooper Exp
++ */
++
++/*
++ * TEMPLATE os-*.h file
++ */
++
++/*
++ * Define the following name for use in #ifdef's.
++ * The value should be all upper-case with no periods (.).
++ */
++#if !defined(NETBSD)
++#define NETBSD
++#endif
++
++/*
++ * NOTE: NetBSD uses 64-bit file size semantics, and so you
++ * must be careful when using varargs-type functions
++ * like the *printf family when printing elements which
++ * might be 64-bits (such as stat->st_size from stat.h).
++ */
++
++/*
++ * Set process args to messages that show up when running ps(1)
++ *
++ * Under some OS's, the SETARGS code will cause ": is not an identifier"
++ * errors for "special" commands.
++ */
++#define SETARGS
++
++/*
++ * Define the type of directory routines your system has.
++ */
++#define DIR_TYPE DIR_DIRENT
++
++/*
++ * Determine what routines we have to get filesystem info.
++ */
++#define FSI_TYPE FSI_GETFSSTAT
++
++/*
++ * Type of non-blocking I/O.
++ */
++#define NBIO_TYPE NBIO_FCNTL
++
++/*
++ * Type of wait() function to use.
++ */
++#define WAIT_TYPE WAIT_WAIT3
++
++/*
++ * Type of argument passed to wait() (above).
++ */
++#define WAIT_ARG_TYPE int
++
++/*
++ * Select the type of executable file format.
++ */
++#define EXE_TYPE EXE_AOUT
++
++/*
++ * Select the type of statfs() system call (if any).
++ */
++#define STATFS_TYPE STATFS_BSD
++
++/*
++ * Type of arg functions we have.
++ */
++#define ARG_TYPE ARG_STDARG
++
++/*
++ * UID argument type for chown()
++ */
++typedef uid_t CHOWN_UID_T;
++
++/*
++ * GID argument type for chown()
++ */
++typedef gid_t CHOWN_GID_T;
++
++/*
++ * Our types, usually these are uid_t and gid_t.
++ */
++typedef uid_t UID_T; /* Must be signed */
++typedef gid_t GID_T; /* Must be signed */
++
++/*
++ * Generic pointer, used by memcpy, malloc, etc. Usually char or void.
++ */
++typedef void POINTER;
++
++/*
++ * Type of set file time function available
++ */
++#define SETFTIME_TYPE SETFTIME_UTIMES
++
++/*
++ * Type of set line buffering function available
++ */
++#define SETBUF_TYPE SETLINEBUF
++
++/*
++ * Things we have
++ */
++#define HAVE_FCHOWN /* Have fchown() */
++#define HAVE_FCHMOD /* Have fchmod() */
++#define HAVE_SELECT /* Have select() */
++#define HAVE_SAVED_IDS /* Have POSIX style saved [ug]id's */
++#define POSIX_SIGNALS /* Have POSIX signals */
++
++/*
++ * Things we need
++ */
++#define NEED_UNISTD_H /* Need <unistd.h> */
++
++/*
++ * Path to the remote shell command.
++ * Define this only if the pathname is different than
++ * that which appears in "include/paths.h".
++ */
++#define _PATH_REMSH "/usr/bin/rsh" /**/
+--- src/message.c 1998/04/24 14:59:28 1.1
++++ src/message.c 1998/04/24 15:02:47
+@@ -467,10 +467,21 @@
+ (void) sprintf(tempfile, "%s/%s", cp, _RDIST_TMP);
+
+ msgfac->mf_filename = tempfile;
++#if defined(NETBSD)
++ {
++ int fd;
++
++ if ((fd = mkstemp(msgfac->mf_filename)) < 0 ||
++ (msgfac->mf_fptr = fdopen(fd, "w")) == NULL)
++ fatalerr("Cannot open notify file for writing: %s: %s.",
++ msgfac->mf_filename, SYSERR);
++ }
++#else
+ (void) mktemp(msgfac->mf_filename);
+ if ((msgfac->mf_fptr = fopen(msgfac->mf_filename, "w"))==NULL)
+ fatalerr("Cannot open notify file for writing: %s: %s.",
+ msgfac->mf_filename, SYSERR);
++#endif
+ debugmsg(DM_MISC, "Created notify temp file '%s'",
+ msgfac->mf_filename);
+ }
+--- mf/Makefile.var 1998/04/24 15:38:29 1.1
++++ mf/Makefile.var 1998/04/24 15:43:39
+@@ -172,6 +172,7 @@
+ config/mf.mipsos4 \
+ config/mf.mipsos5 \
+ config/mf.ncr \
++ config/mf.netbsd131 \
+ config/mf.nextstep2 \
+ config/mf.nextstep3 \
+ config/mf.osf1 \
+@@ -214,6 +215,7 @@
+ config/os-mipsos4.h \
+ config/os-mipsos5.h \
+ config/os-ncr.h \
++ config/os-netbsd131.h \
+ config/os-nextstep2.h \
+ config/os-nextstep3.h \
+ config/os-osf1.h \
+--- Makefile.local 1998/04/24 15:38:29 1.1
++++ Makefile.local 1998/04/24 15:43:39
+@@ -8,7 +8,9 @@
+ # BIN_DIR variable, you would uncomment the following line
+ # or add your own line.
+ #
+-#BIN_DIR = /usr/bin
++BIN_DIR= ${PREFIX}/bin
++
++CLIENT= ${RDIST6_NAME}
+
+ #
+ # Add any local definitions you want pass to the compiler to DEFS_LOCAL
+@@ -28,6 +30,7 @@
+ #
+ #OPT = -O
+ #OPT =
++OPT= -O
+
+ #
+ # You may want to use your own C Compiler (such as GCC) by enabling
+@@ -45,8 +48,8 @@
+ #
+ # Site specific Man Page configuration.
+ #
+-#MAN_1_DIR = /usr/local/man/man1
+-#MAN_8_DIR = /usr/local/man/man8
++MAN_1_DIR = ${PREFIX}/man/man1
++MAN_8_DIR = ${PREFIX}/man/man8
+ #MAN_OWNER = bin
+ #MAN_GROUP = bin
+ #MAN_MODE = 644
diff --git a/net/rdist6/pkg/COMMENT b/net/rdist6/pkg/COMMENT
new file mode 100644
index 00000000000..30189ea49a1
--- /dev/null
+++ b/net/rdist6/pkg/COMMENT
@@ -0,0 +1 @@
+A network file distribution/synchronisation utility.
diff --git a/net/rdist6/pkg/DESCR b/net/rdist6/pkg/DESCR
new file mode 100644
index 00000000000..da878838151
--- /dev/null
+++ b/net/rdist6/pkg/DESCR
@@ -0,0 +1,220 @@
+
+ Rdist Version 6.1.4
+ July 19, 1996
+
+ Michael Cooper
+ University Computing Services
+ University of Southern California
+ mcooper@usc.edu
+
+ GENERAL INFORMATION
+
+This is version 6.1 of Rdist from USC. It is based on rdist from
+4.3BSD (classic). It includes all fixes for all bugs known to the
+CSRG Berkeley folks. It has been running at USC and numerous other
+sites for some time now on a wide variety of platforms.
+
+This version of rdist is not directly compatible with rdist
+distributed with 4.3BSD and subsequent vendor releases, but does
+indirectly provide full backward compatibility. See COMPATIBILITY
+below for details.
+
+The current official version of rdist is available via anonymous ftp
+on usc.edu under /pub/rdist. The current version is always
+retrievable as file "/pub/rdist/rdist.tar.gz".
+
+ CHANGES/FEATURES
+
+This version of rdist does not need to be setuid "root" at all. Rdist
+now uses the rsh(1c) [remote command] program to make connections to
+remote hosts, instead of making the connection directly. This
+eliminates the need to be run as "root". Many thanks to Chris
+Siebenmann <cks@utcc.utoronto.ca> and John DiMarco
+<jdd@cdf.toronto.edu> who came up with an rsh version of rcmd() that
+makes this possible.
+
+This version supports automatic system determination and configuration
+for pre-ported platforms. This means that rdist knows how to
+completely configure and compile itself for a number of platforms.
+Users don't need to worry about modifying any files to compile on a
+supported platform.
+
+See the ChangeLog file for the real details. The end of that file
+contains the major new features compared to rdist classic.
+
+A paper titled "Overhauling Rdist for the '90s" from USENIX LISA VI
+is available for anonymous ftp on usc.edu as "/pub/rdist/overhaul.ps.gz".
+
+ PLATFORMS
+
+This version of rdist has been ported to most major, and a number of
+not so major, platforms. The complete list of supported platforms can
+be found by looking at all the config/os-*.h files.
+
+
+ COMPATIBILITY
+
+This version of rdist differs greatly from older versions (as
+distributed with 4.3BSD) in that the client and the server portions
+are seperated into two distinct programs, rdist and rdistd,
+respectively. The protocol used to communicate between the client and
+server has also been extensively modified. These two items make
+providing "builtin" compatibility very difficult. However, backwards
+compatibility is possible, provided you have a binary or source copy
+of the old rdist.
+
+The way the old rdist started a server rdist is to run "rdist
+-Server". If the new rdist is run with the "-Server" option, then it
+will exec a copy of the old rdist (usually /usr/old/rdist or
+/usr/ucb/oldrdist). In this way, you get compatibility with hosts
+running the old rdist attempting to rdist to a machine running new
+rdist. If your host running new rdist wants to rdist to a host
+running the old rdist, then it must run the old rdist program
+(/usr/old/rdist or /usr/ucb/oldrdist).
+
+The definition _PATH_OLDRDIST in "config/config.h" controls the
+location of the old rdist. If this is not defined, or the defined
+program does not exist at runtime, then rdist will print an error when
+run with the "-Server" option.
+
+ INSTALLATION
+
+1) Determine whether the local machine is running a supported OS by
+ running the command "config/os-type". If the command reports the
+ local OS is "unknown", then you cannot proceed until rdist is
+ ported to the local system OS. (See the PORTING section).
+
+2) Edit "Makefile.local" to override any of the default Makefile variables
+ as defined in "mf/Makefile.var". Usually you just want to change
+ BIN_DIR to be appropriate for your system.
+
+3) You may also want to check "config/config.h" for any local changes
+ you would like to make.
+
+4) Run "make" to compile everything.
+
+5) Run "make install" to install the binaries and "make install.man" to
+ install the manual pages.
+
+ BUG REPORTS
+
+Bug reports should be sent to "rdist-bugs@usc.edu". All bug reports
+should include:
+
+1) The version of the rdist client and server you are running
+ (use the -V option to rdist and rdistd)
+2) The platform (machine + OS name + OS version)
+3) A full description of the problem, including sample distfiles.
+4) If you have a patch to fix the problem, a context diff (diff -c)
+ of the original files vs. the fixed files
+
+ RDIST MAIL LISTS
+
+There are two rdist mailling lists described below. PLEASE DO NOT SEND
+GENERAL QUESTIONS TO ANY OF THESE LISTS.
+
+LIST NAME SUBSCRIPTION ADDRESS DESCRIPTION
+--------------- ----------------------- ------------------------------------
+rdist-announce rdist-announce-request Announcements about new versions
+ of Rdist.
+
+rdist-dev rdist-dev-request Rdist developers mailling list.
+ Discussion about rdist features,
+ suggestions, bugs, etc. Will also
+ receive all rdist-announce mail.
+ Only those who are _SERIOUS_ about
+ being an rdist developer should be
+ on this list.
+
+To subscribe or unsubscribe, send email to the appropriate
+SUBSCRIPTION ADDRESS from above "@usc.edu". i.e.
+"rdist-dev-request@usc.edu" for the "rdist-dev" list.
+
+Archives are available for anonymous ftp from usc.edu as
+
+ /pub/rdist/<LIST>.archive
+
+ PORTING
+
+There are a number of steps to take when porting rdist to a new OS.
+Here are some very rough guidelines for what to do.
+
+1) Modify "config/os-type" to determine your OS type. Make sure you use
+ a string that's not more than 9 characters so we don't exceed the 14
+ character filename limits on certain systems.
+
+2) Copy "config/os-TEMPLATE.h" to "config/os-YOUR_OS.h" (YOUR_OS should be
+ whatever you modified os-type to print) and modify it according to its
+ comments. Consult "config/config-def.h" for lists of possible values.
+
+3) Copy "config/mf.TEMPLATE" to "config/mf.YOUR_OS" and modify it according
+ to the comments found there in.
+
+4) Optionally modify "src/isexec.c" to add your OS specific code for
+ determining if a file is a local binary executable.
+
+5) Test it!
+
+6) Send me your "os-YOUR_OS.h" and "mf.YOUR_OS" files, along with context
+ diffs to any other files you changed.
+
+ NOTES
+
+rcmd() vs. rsh(1c)
+ By default rdist uses rsh(1c) to make connections to remote hosts.
+ This has the advantage that rdist does not need to be setuid to
+ "root". This eliminates most potential security holes. It has
+ the disadvantage that it takes slightly more time for rdist to
+ connect to a remote host due to the added overhead of doing a
+ fork() and then running the rsh(1c) command.
+
+ If you wish to have rdist call the rcmd() function directly and
+ avoid using rsh(1c) all together, then you should add "-DDIRECT_RCMD"
+ to $(DEFS_LOCAL) and "RDIST_MODE = 4555" in "Makefile.local".
+ You may need to do this if your system does not have the rsh(1c)
+ command.
+
+HP/UX
+
+ All of this information on HP/UX is third-hand. I don't have
+ access to any HP/UX machines to test rdist on.
+
+Unlike HPUX version 7, version 8 does not come standard with yacc
+which is now part of the C/ANSI C Development Bundle. If that bundle
+is on the system, then rdist compiles fine with the changes to the
+Makefile to include regex.o and strcasecmp.o. If you don't have yacc
+and instead use the GNU bison in the yacc mode (-y option) it compiles
+fine but needs to have the PW library included (-lPW) in order to find
+an alloca.o when linking.
+
+The regex that is part of the HPUX C library is not compatible with
+the BSD style regex that rdist uses. Someone who leaves regex.o out
+of the MISSINGOBJS line in the Makefile because they noticed a
+regex(3) in the HPUX manual set is going to have a problem.
+
+OLD rcmd() LIBRARY BUG
+
+Very Old 4.2BSD-based Unix systems may have a bug in their rcmd()
+library function. The bug allowed a user process to run out of file
+descriptors if too many connection attempts failed. The problem is
+that the socket would never be closed if the connect() failed. This
+could eventually lead to running out of file descriptors if enough
+connections failed. Most current Unix's like SunOS 4.0.3 and later
+have this fixed. Here is a diff to (I think) the SunOS 3.5 rcmd() to
+fix the problem:
+
+***************
+*** 51,56 ****
+--- 65,71 ----
+ timo *= 2;
+ goto retry;
+ }
++ (void) close(s);
+ perror(hp->h_name);
+ return (-1);
+ }
+
+ RCS INFO
+
+This is rcs info for this file:
+ Old Id: README,v 6.23 1996/07/19 17:22:49 michaelc Exp
diff --git a/net/rdist6/pkg/PLIST b/net/rdist6/pkg/PLIST
new file mode 100644
index 00000000000..911ca90cdab
--- /dev/null
+++ b/net/rdist6/pkg/PLIST
@@ -0,0 +1,5 @@
+@comment $NetBSD: PLIST,v 1.1 1998/04/24 16:12:13 agc Exp $
+bin/rdist6
+bin/rdistd
+man/man1/rdist6.1.gz
+man/man8/rdistd.8.gz