summaryrefslogtreecommitdiff
path: root/net/cap
diff options
context:
space:
mode:
authorMasafumi Max NAKANE <max@FreeBSD.org>1996-12-01 12:08:47 +0000
committerMasafumi Max NAKANE <max@FreeBSD.org>1996-12-01 12:08:47 +0000
commit05d8e5acba1c67225751e452f0863a603cb62b89 (patch)
tree347423fc8079c576af12e12de6d51da2713e4af0 /net/cap
parentUmgrade to v1.59 - the same as the GNU CD release version. (diff)
New port: the Columbia AppleTalk Package for UNIX.
Notes
Notes: svn path=/head/; revision=4743
Diffstat (limited to 'net/cap')
-rw-r--r--net/cap/Makefile107
-rw-r--r--net/cap/distinfo13
-rw-r--r--net/cap/files/m4.features245
-rw-r--r--net/cap/files/m4.setup.in542
-rw-r--r--net/cap/files/patch-aa82
-rw-r--r--net/cap/files/patch-ab15
-rw-r--r--net/cap/files/patch-ac24
-rw-r--r--net/cap/files/patch-ad30
-rw-r--r--net/cap/files/patch-ae125
-rw-r--r--net/cap/files/patch-af73
-rw-r--r--net/cap/pkg-comment1
-rw-r--r--net/cap/pkg-descr21
-rw-r--r--net/cap/pkg-install10
-rw-r--r--net/cap/pkg-plist112
-rw-r--r--net/cap/scripts/configure33
15 files changed, 1433 insertions, 0 deletions
diff --git a/net/cap/Makefile b/net/cap/Makefile
new file mode 100644
index 000000000000..29ade49ce0ac
--- /dev/null
+++ b/net/cap/Makefile
@@ -0,0 +1,107 @@
+# New ports collection makefile for: cap
+# Version required: 6.0PL198
+# Date created: 09 Nov 1996
+# Whom: Masafumi NAKANE <max@FreeBSD.ORG>
+#
+# $Id: porting.sgml,v 1.16 1996/03/21 14:15:01 asami Exp $
+#
+
+DISTNAME= cap60.pl100
+PKGNAME= cap-6.0.198
+CATEGORIES= net
+MASTER_SITES= ftp://ftp-ns.rutgers.edu/pub/cap/ \
+ ftp://ftp-ns.rutgers.edu/pub/cap/cap.patches/ \
+ ftp://munnari.OZ.AU/mac/ \
+ ftp://munnari.OZ.AU/mac/cap.patches/ \
+ ftp://ftp.kuis.kyoto-u.ac.jp/net/cap/ \
+ ftp://ftp.kuis.kyoto-u.ac.jp/net/cap/cap60.patches/
+
+DISTFILES= ${DISTNAME}.tar.Z patches.101-126.tar.Z patches.127-143.tar.Z \
+ patches.144-154.tar.Z patches.155-162.tar.Z \
+ patches.163-182.tar.Z patches.183-192.tar.Z
+
+PATCH_SITES= ftp://ftp-ns.rutgers.edu/pub/cap/cap.patches/ \
+ ftp://munnari.OZ.AU/mac/cap.patches/
+PATCHFILES= cap60.patch193 cap60.patch194 cap60.patch195 cap60.patch196 \
+ cap60.patch197 cap60.patch198
+
+MAINTAINER= max@FreeBSD.ORG
+
+NO_CDROM= "Don't sell for profit"
+WRKSRC= ${WRKDIR}/cap60
+DIST_SUBDIR= cap60
+ALL_TARGET= libsmade dummy-libinstall programs
+INSTALL_TARGET= include libinstall install
+
+MAN1= AUFS.1 ash.1 atlook.1 atprint.1 cvt2apple.1 getzones.1 \
+ instappl.1 snitch.1
+MAN3= CAP.3
+MAN5= atalk.local.5 etalk.local.5
+MAN8= AUFS.8 CAP.8 UAB.8 aarpd.8 atis.8 lwsrv.8 papif.8
+.if !defined(NOMANCOMPRESS)
+GZ= .gz
+.endif
+ETC_SAMPLES= etc/start-cap-servers extras/lib.cap.macusers \
+ etc/list-cap-servers etc/kill-cap-servers \
+ applications/papif/cap.printers
+LIB_SAMPLES= extras/afpfile applications/lwsrv/DBfile \
+ applications/lwsrv/LWFonts applications/lwsrv/LWIIfgFonts \
+ applications/lwsrv/LWPlusFonts applications/lwsrv/query.ps \
+ applications/aufs/afpvols
+DOCDIR= ${PREFIX}/share/doc/cap
+DOCS1= abmisc.doc asp.notes atp.notes cap.auth.doc cap.notes \
+ glossary install.ms iptalk.cookbook nbp.ext pap.notes \
+ print.cookbook sched.notes uab.desc.ms uar.cookbook
+DOCS2= CAP.faq CAP60.README NOTICE README
+READMES= applications/papif applications/lwsrv applications/aufs \
+ doc applications support/uab support/ethertalk
+
+pre-patch:
+ @(cd ${WRKSRC}; \
+ for f in ../cap60.patch* ; do ${PATCH} -s -p < $$f ; done)
+
+pre-install:
+ @${RM} -f ${WRKSRC}/libinstall
+
+post-install:
+ @${MKDIR} ${PREFIX}/etc/cap
+.for f in ${ETC_SAMPLES}
+ @${INSTALL_DATA} ${WRKSRC}/$f ${PREFIX}/etc/cap/`basename $f`.sample
+.endfor
+ @${MKDIR} ${PREFIX}/lib/cap
+.for f in ${LIB_SAMPLES}
+ @${INSTALL_DATA} ${WRKSRC}/$f ${PREFIX}/lib/cap/`basename $f`.sample
+.endfor
+.if !defined(NOPORTDOCS)
+ @${ECHO_MSG} "===> Installing relevant documentation into ${DOCDIR}."
+ @${MKDIR} ${DOCDIR}
+.for f in ${DOCS1}
+ @${INSTALL_DATA} ${WRKSRC}/doc/$f ${DOCDIR}
+.endfor
+.for f in ${DOCS2}
+ @${INSTALL_DATA} ${WRKSRC}/$f ${DOCDIR}
+.endfor
+.for f in ${READMES}
+ @${INSTALL_DATA} ${WRKSRC}/$f/README ${DOCDIR}/`basename $f`.README
+.endfor
+.endif
+ @${ECHO_MSG} "===> Installing manual pages."
+.for sect in 1 3 5 8
+.for man in ${MAN${sect}}
+ @${INSTALL_MAN} ${WRKSRC}/man/${man} ${PREFIX}/man/man${sect}
+.endfor
+.endfor
+ @ln -fs ${PREFIX}/man/man1/cvt2apple.1${GZ} ${PREFIX}/man/man1/cvt2cap.1${GZ}
+.for f in atpinger atlooklws
+ @ln -fs ${PREFIX}/man/man1/atlook.1${GZ} ${PREFIX}/man/man1/${f}.1${GZ}
+.endfor
+.for f in tlw lwpr isrv iwpr
+ @ln -fs ${PREFIX}/man/man1/atprint.1${GZ} ${PREFIX}/man/man1/${f}.1${GZ}
+.endfor
+.for f in libcap libafpc libafp
+ @ln -fs ${PREFIX}/man/man3/CAP.3${GZ} ${PREFIX}/man/man3/${f}.3${GZ}
+.endfor
+ @ln -fs ${PREFIX}/man/man8/papif.8${GZ} ${PREFIX}/man/man8/papof.8${GZ}
+ @/bin/sh ${PKGDIR}/INSTALL ${PKGNAME} POST-INSTALL
+
+.include "bsd.port.mk"
diff --git a/net/cap/distinfo b/net/cap/distinfo
new file mode 100644
index 000000000000..020a3a6e5bae
--- /dev/null
+++ b/net/cap/distinfo
@@ -0,0 +1,13 @@
+MD5 (cap60/cap60.pl100.tar.Z) = 14131cce65708985e6192fb90f547ff9
+MD5 (cap60/patches.101-126.tar.Z) = af4a5a0e5a76fa2065764ebe63d2aeb2
+MD5 (cap60/patches.127-143.tar.Z) = 7cc6de67b9b813ba726c07b06a219165
+MD5 (cap60/patches.144-154.tar.Z) = 6437838dfc47e9a7e62d1bbb0320b7ae
+MD5 (cap60/patches.155-162.tar.Z) = d189800d8c8e26d9a51c5097fd59b1d4
+MD5 (cap60/patches.163-182.tar.Z) = 06b729d56f87417c842b3023d57730b6
+MD5 (cap60/patches.183-192.tar.Z) = 6df84c2328f4d8c589baf81980ae54e5
+MD5 (cap60/cap60.patch193) = 1a9c4b0941a39f1cfb80da0cbea3f2f0
+MD5 (cap60/cap60.patch194) = fcca214842bfb0c51a7157cbe06b9bed
+MD5 (cap60/cap60.patch195) = b4881daa6614904b54b3bcca236e1a31
+MD5 (cap60/cap60.patch196) = 75941d2ba6c9cd649c8b705e862b2882
+MD5 (cap60/cap60.patch197) = 877ed6c27230b547ddec07f20300d457
+MD5 (cap60/cap60.patch198) = 58988d00e298c21eded62b3e57af2896
diff --git a/net/cap/files/m4.features b/net/cap/files/m4.features
new file mode 100644
index 000000000000..154b64aff6a6
--- /dev/null
+++ b/net/cap/files/m4.features
@@ -0,0 +1,245 @@
+# m4.features
+#
+# This file is used to determine the default set of additional features
+# that will be incorporated into CAP. These features have been contributed
+# by many people throughout the network community.
+#
+# Necessary preamble - please don't alter
+define(`concat',$1$2$3$4$5$6$7$8$9)
+define(`specialcflags',`')
+define(`aufsosflags',`')
+define(`simpleflags',`')
+define(`lwflags',`')
+#
+# To change the feature set, simply uncomment the wanted defines().
+# The Configure file will then use the customised version.
+# For more details, refer to the file 'CAP60.README'
+#
+# + SHORT_NAMES adds short name support to AUFS for AppleShare PC.
+# define(`specialcflags',concat(specialcflags,` -DSHORT_NAMES'))
+#
+# + NOCASEMATCH removes UNIX case sensitivity in AUFS (like Macs).
+# define(`specialcflags',concat(specialcflags,` -DNOCASEMATCH'))
+#
+# + SIZESERVER adds a daemon per AUFS server process for volume size info.
+# define(`specialcflags',concat(specialcflags,` -DSIZESERVER'))
+#
+# + LWSRV_AUFS_SECURITY provides printer security based on AUFS connection.
+# define(`specialcflags',concat(specialcflags,` -DLWSRV_AUFS_SECURITY'))
+#
+# + HIDE_LWSEC_FILE increases security of LWSRV_AUFS_SECURITY flag file
+# define(`aufsosflags',concat(aufsosflags,` -DHIDE_LWSEC_FILE'))
+# define(`lwflags',concat(lwflags,` -DHIDE_LWSEC_FILE'))
+#
+# + LWSRV_LPR_LOG causes stdout/stderr lpr output to be included in lwsrv log
+define(`specialcflags',concat(specialcflags,` -DLWSRV_LPR_LOG'))
+#
+# + AUTHENTICATE turn on alternate AUFS/LWSRV authentication method
+# define(`specialcflags',concat(specialcflags,` -DAUTHENTICATE'))
+#
+# + STAT_CACHE causes critical AUFS stat() calls to be cached.
+define(`specialcflags',concat(specialcflags,` -DSTAT_CACHE'))
+#
+# + TREL_TIMEOUT causes an extra TREL timeout listener to run to avoid timeouts
+# define(`specialcflags',concat(specialcflags,` -DTREL_TIMEOUT'))
+#
+# + RUTGERS includes local modifications for Rutgers University
+# define(`specialcflags',concat(specialcflags,` -DRUTGERS'))
+#
+# + MELBOURNE includes local modifications for Melbourne University
+# define(`specialcflags',concat(specialcflags,` -DMELBOURNE'))
+#
+# + USE_HOST_ICON provides automatic aufs ICON selection on supported hosts
+# define(`specialcflags',concat(specialcflags,` -DUSE_HOST_ICON'))
+#
+# + PERMISSIVE_USER_NAME allows AUFS users to have their real name in Chooser
+# define(`specialcflags',concat(specialcflags,` -DPERMISSIVE_USER_NAME'))
+#
+# + ULTRIX_SECURITY adds ULTRIX enhanced security to aufs
+# define(`specialcflags',concat(specialcflags,` -DULTRIX_SECURITY'))
+#
+# + DIGITAL_UNIX_SECURITY adds OSF/1 enhanced security to aufs
+# define(`specialcflags',concat(specialcflags,` -DDIGITAL_UNIX_SECURITY'))
+#
+# + USING_FDDI_NET adds support for FDDI networks (Digital UNIX/Ultrix only)
+# define(`specialcflags',concat(specialcflags,` -DUSING_FDDI_NET'))
+#
+# + USE_MAC_DATES maintains Mac Create/Modify dates on file copy
+# define(`specialcflags',concat(specialcflags,` -DUSE_MAC_DATES'))
+#
+# + DEV_NIT specifies alternate NIT device name (default "/dev/nit")
+# define(`specialcflags',concat(specialcflags,` -DDEV_NIT=\"/dev/nit\"'))
+#
+# + APPLICATION_MANAGER control the use of designated applications
+# define(`specialcflags',concat(specialcflags,` -DAPPLICATION_MANAGER'))
+#
+# + AUFS_README links readme file into new user's top level
+# define(`specialcflags',concat(specialcflags,` -DAUFS_README'))
+#
+# + ULT42PFBUG unpatched ULTRIX 4.2 packet filter workaround (also need COPYALL)
+# define(`specialcflags',concat(specialcflags,` -DULT42PFBUG'))
+#
+# + AUFS_IDLE_TIMEOUT will disconnect idle AUFS sessions (-[i|I] period)
+# define(`specialcflags',concat(specialcflags,` -DAUFS_IDLE_TIMEOUT'))
+#
+# + REREAD_AFPVOLS kill -USR1 will make parent aufs re-read system vols file
+define(`specialcflags',concat(specialcflags,` -DREREAD_AFPVOLS'))
+#
+# + PASS_THRU pass through LWSRV jobs with no adobe preprocessing (for PCs)
+# define(`specialcflags',concat(specialcflags,` -DPASS_THRU'))
+#
+# + DONT_PARSE pass through LWSRV jobs with no adobe preprocessing at all
+# define(`specialcflags',concat(specialcflags,` -DDONT_PARSE'))
+#
+# + XDEV_RENAME allow files to be moved over cross device links
+# define(`specialcflags',concat(specialcflags,` -DXDEV_RENAME'))
+#
+# + USR_FILE_TYPES user defined file suffix to creator/type/xlate mapping
+define(`specialcflags',concat(specialcflags,` -DUSR_FILE_TYPES'))
+#
+# + CREATE_AFPVOL create user .afpvols and 'mac' directories if non-existent
+define(`specialcflags',concat(specialcflags,` -DCREATE_AFPVOL=\"mac\"'))
+#
+# + CREAT_AFPVOL_NAM customize name for the volume (modifies CREATE_AFPVOL)
+# (CREAT_AFPVOL_NAM fmt string: %U user, %H host, %V vol, %D home eg: "%U@%H")
+# define(`specialcflags',concat(specialcflags,` -DCREAT_AFPVOL_NAM="\"%U\""'))
+#
+# + ISO_TRANSLATE use Macintosh/ISO 8859 character translation on I/O
+# define(`specialcflags',concat(specialcflags,` -DISO_TRANSLATE'))
+#
+# + ISO_FILENAMES extend ISO translation to filenames (assumes ISO_TRANSLATE)
+# define(`specialcflags',concat(specialcflags,` -DISO_FILENAMES'))
+#
+# + ISO_FILE_TRANS use ISO translation on unix/TEXT file contents
+# define(`specialcflags',concat(specialcflags,` -DISO_FILE_TRANS'))
+#
+# + DENYREADWRITE implement AUFS read/write access and deny modes
+# define(`specialcflags',concat(specialcflags,` -DDENYREADWRITE'))
+#
+# + STEAL_PORTS extends DDP dynamic skts down into experimental range 64-128
+# (WARNING!!: Requires uar.1.0.patch11 or uar.1.1.patch09 for use with UAR)
+# define(`specialcflags',concat(specialcflags,` -DSTEAL_PORTS'))
+#
+# + USESYSLOG sends PAPIF Information, Warning & Debug messages to syslog()
+# define(`specialcflags',concat(specialcflags,` -DUSESYSLOG'))
+#
+# + NOCAPDOTPRINTERS uses /etc/lp/printers/<lw>/comment instead of cap.printers
+# (Note: intended for use with Solaris 2.N only)
+# define(`specialcflags',concat(specialcflags,` -DNOCAPDOTPRINTERS'))
+#
+#
+# AUFS definable options (previously required editing m4.setup)
+#
+# + FIXED_DIRIDS compile server and AUFS code for fixed directory & file IDs
+# define(`specialcflags',concat(specialcflags,` -DFIXED_DIRIDS'))
+#
+# + DISTRIB_PASSWDS use ~/.afppass for encrypted passwords (see CAP60.README)
+# define(`specialcflags',concat(specialcflags,` -DDISTRIB_PASSWDS'))
+#
+# + AFP_DISTPW_PATH alternate directory for .afppass files (not in ~user)
+# define(`specialcflags',concat(specialcflags,` -DAFP_DISTPW_PATH=\"/etc/dp\"'))
+#
+# + AFP_DISTPW_MODE enforced .afppass mode (must be 0644 for NFS mounted dirs)
+# define(`specialcflags',concat(specialcflags,` -DAFP_DISTPW_MODE=0600'))
+#
+# + DEBUG_AFP_CMD write detailed AUFS AFP debugging info to -Z specified file
+# define(`specialcflags',concat(specialcflags,` -DDEBUG_AFP_CMD'))
+#
+# + PID_FILE write an aufs process-ID file
+define(`specialcflags',concat(specialcflags,` -DPID_FILE=\"/var/run/aufs.pid\"'))
+#
+# + CLOSE_LOG_SIG close and reopen the aufs log on signal -USR2
+# define(`specialcflags',concat(specialcflags,` -DCLOSE_LOG_SIG=SIGUSR2'))
+#
+# + LOG_WTMP add entry to the 'wtmp' file for each AUFS connection (not IRIX4)
+define(`aufsosflags',concat(aufsosflags,` -DLOG_WTMP'))
+#
+# + LOG_WTMP_FILE specify name of alternate wtmp file for LOG_WTMP feature
+define(`aufsosflags',concat(aufsosflags,` -DLOG_WTMP_FILE=\"/var/log/wtmp\"'))
+#
+# + ADMIN_GRP allows users in specified UNIX group to login as AUFS superuser
+# define(`aufsosflags',concat(aufsosflags,` -DADMIN_GRP=\"macadm\"'))
+#
+# + NONLXLATE for aufs
+# define(`aufsosflags',concat(aufsosflags,` -DNONLXLATE'))
+#
+# + FULL_NCS_SUPPORT (National Character Support) for aufs
+# define(`aufsosflags',concat(aufsosflags,` -DFULL_NCS_SUPPORT'))
+#
+# + NCS_ALL_TEXT perform specified translation on any TEXT file
+# define(`aufsosflags',concat(aufsosflags,` -DNCS_ALL_TEXT'))
+#
+# + GGTYPE="gid_t" (group ID type) for AUFS
+# define(`aufsosflags',concat(aufsosflags,` -DGGTYPE="gid_t"'))
+#
+# + NOCHGRPEXEC don't exec chgrp, just use chown(2) 3rd arg. [Not for Sys V]
+# define(`aufsosflags',concat(aufsosflags,` -DNOCHGRPEXEC'))
+#
+# + USEDIRSETGID set group ID bit on non-primary group dirs [SunOS/Sys V]
+# define(`aufsosflags',concat(aufsosflags,` -DUSEDIRSETGID'))
+#
+# + NETWORKTRASH fix permissions on network trash stuff
+define(`aufsosflags',concat(aufsosflags,` -DNETWORKTRASH'))
+#
+# + SHADOW_PASSWD add support for shadow password files if supported
+# define(`aufsosflags',concat(aufsosflags,` -DSHADOW_PASSWD'))
+#
+# + LOGIN_AUTH_PROG AUFS -L option specifies external authorization program
+# define(`aufsosflags',concat(aufsosflags,` -DLOGIN_AUTH_PROG'))
+#
+# + USEQUOTA forces usage of ufs quotas [Solaris 2.x only]
+# note: check if you applied ufs quota patch:
+# 100833-xx for Solaris 2.1
+# 101039-xx for Solaris 2.2
+# define(`aufsosflags',concat(aufsosflags,` -DUSEQUOTA'))
+#
+#
+# LWSRV definable options (previously required editing m4.setup)
+#
+# + LPRARGS passes arguments on lwsrv command line directly to lpr
+# define(`lwflags',concat(lwflags,` -DLPRARGS'))
+#
+# + DOCNAME adds document name as a part of job name to lpr
+# define(`lwflags',concat(lwflags,` -DDOCNAME'))
+#
+# + LPRCMD redefine BSD lpr to use alternate path
+# define(`lwflags',concat(lwflags,` -DLPRCMD=\"/usr/local/bin/lpr\"'))
+#
+# + TEMPFILE set alternative path for lwsrv spool files (default /tmp)
+# define(`lwflags',concat(lwflags,` -DTEMPFILE=\"/usr/tmp/lwsrvXXXXXX\"'))
+#
+# + USELPRSYM add -s (symlink) option to lwsrv lpr call (not for OSF/1)
+# define(`lwflags',concat(lwflags,` -DUSELPRSYM'))
+#
+# + USESYSVLP required for HP-UX (and probably other System V) spooling
+# define(`lwflags',concat(lwflags,` -DUSESYSVLP'))
+#
+# + PAGECOUNT adds page count to job name (value is internal buffer size)
+# define(`lwflags',concat(lwflags,` -DPAGECOUNT=512'))
+# define(`simpleflags',concat(simpleflags,` -DPAGECOUNT=512'))
+#
+# + ADOBE_DSC2_CONFORMANT forces Adobe DSC2 conformance
+# define(`simpleflags',concat(simpleflags,` -DADOBE_DSC2_CONFORMANT'))
+#
+# + PROCSET_PATCH delete PatchPrep header for non-Apple LaserWriters
+# define(`simpleflags',concat(simpleflags,` -DPROCSET_PATCH'))
+#
+# + RUN_AS_USER run lpd job as Chooser Name if valid UNIX account (no authent)
+define(`lwflags',concat(lwflags,` -DRUN_AS_USER'))
+#
+# + USER_REQUIRED (requires RUN_AS_USER) refuse printing if Chsr name invalid
+define(`lwflags',concat(lwflags,` -DUSER_REQUIRED'))
+#
+#
+# PAPIF options
+#
+# + DUPLEXMODE tell suitably equipped printer to print on both sides of a page
+# define(`specialcflags',concat(specialcflags,` -DDUPLEXMODE'))
+#
+# + TRANS3 add support for TranScript 3.0 'psdman' (instead of pstext)
+# define(`specialcflags',concat(specialcflags,` -DTRANS3'))
+#
+# + PSJOBHEADER send PS header in file specified in env. variable "PSJOBHEADER"
+# define(`specialcflags',concat(specialcflags,` -DPSJOBHEADER'))
+#
+#
diff --git a/net/cap/files/m4.setup.in b/net/cap/files/m4.setup.in
new file mode 100644
index 000000000000..f91d7c7db130
--- /dev/null
+++ b/net/cap/files/m4.setup.in
@@ -0,0 +1,542 @@
+define(`concat',$1$2$3$4$5$6$7$8$9)
+changequote([,])
+
+# os - one of:
+# "bsd" - bsd 4.2, bsd 4.3, ultrix 1.1, acis 4.2,4.3 other
+# "standard" bsd systems without nfs
+# "ultrix12" - Ultrix 1.2
+# "ultrix20" - Ultrix 2.0 or greater
+# "ultrix40" - Ultrix 4.0 or greater
+# "osf1" - OSF/1 1.3 or greater
+# "hpux" - HP/UX
+# "aux" - A/UX
+# "uts" - Amdahl UTS
+# "xenix5" - SCO Xenix System V
+# "aix" - IBM AIX System V
+# "pyr" - pyramid (in BSD universe)
+# "sunos" - SunOS 4.N or less
+# "solaris" - Solaris 2.N (SunOS 5.0 and greater)
+# "encore" - Encore MultiMax
+# "next" - NeXT/MACH
+# "dynix" - Sequent Balance
+# "irix" - Silicon Graphics IRIS-4D/IRIX
+# "newsos" - Sony NEWS
+# "drsnx" - ICL DRS/NX V4.0
+# "epix" - Control Data EP/IX
+# "386bsd" - 386/BSD and derivatives
+# "netbsd" - NetBSD 1.0
+# "freebsd" - FreeBSD 2.0
+# "bsdi" - BSDI BSD/386 1.1
+# "domainosbsd" - HP/Apollo Domain BSD 4.3
+# Warning: hpux, pyr are hardcoded in some of the makefiles (sorry)
+
+# MAJOR CONFIGURATION
+# set to one of the above (or configure your own below)
+define([os],[[freebsd]])
+
+# System call configuration (not for system v compatibilty)
+# known: X_GETOPT, X_VPRINTF, X_GETMNT, X_STATFS, X_QUOTA,
+# X_SUNQUOTA, X_FLOCK, X_LOCKF, X_FCNTLLOCKF
+# getopt - "cap: argument processing"
+define([X_GETOPT],1)
+# getmnt - "aufs: info on file systems (dec)"
+# define([X_GETMNT],1)
+# statvfs - "aufs: info on file systems (solaris)"
+# define([X_STATFS],1)
+# statfs - "aufs: info on file systems (sun nfs)"
+# define([X_STATFS],1)
+# statfs - "aufs: info on file systems (irix,domainos)"
+# define([X_STATFS],1)
+# statfs - "aufs: info on file systems (bsd44)"
+define([X_STATFS],1)
+# quota - "aufs: info on user quota"
+# define([X_QUOTA],1)
+# ioctl - "aufs: info on user quota (solaris)"
+# define([X_QUOTA],1)
+# getmntent - "aufs: used by sunquota"
+# define([X_SUNQUOTA],1)
+# quotactl - "aufs: used by bsdquota"
+# define([X_BSDQUOTA],1)
+# flock - "afp: file locking"
+define([X_FLOCK],1)
+# lockf - "afp: byte range locking using unistd.h"
+# define([X_LOCKF],1)
+# lockf - "afp: byte range locking using fcntl.h"
+# define([X_FCNTLLOCKF],1)
+# vfprintf - "cap: variable arg fprintf"
+define([X_VPRINTF],1)
+# recvmsg - "cap: lib: scatter gather recv"
+# define([X_NORECVMSG],1)
+# sendmsg - "cap: lib: scatter gather send"
+# define([X_NOSENDMSG],1)
+# ffs - "cap: lib: ffs - find first set bit"
+# define([X_NOFFS],1)
+
+# GETOPT support
+ifdef([X_GETOPT],[],[define([needgetopt],[att_getopt.o])])
+# VPRINTF support
+ifdef([X_VPRINTF],[define([usevprintf], 1)],[])
+
+# Path to cap sources: useful for testing
+define([cwd],[@CWD@])
+# turn on if your system sends packets very quickly
+# (see applications/aufs/INSTALLATION)
+# define([fastether],1) # For papif and samples
+
+# The following selects the correct lap delivery objects
+define([lapobj],[abetalk.o abddp.o abnbp.o atalkdbm.o])
+
+# This determines what happens to UAB and UAR
+define([uabprogs],[])
+define([uabplibs],[])
+define([uabpobjs],[])
+
+# This sets up Native EtherTalk support
+define([etherprogs],[aarpd])
+define([etherpobjs],[bpfiltp.o])
+
+# This sets up capd
+define([capdprogs],[])
+define([capdpobjs],[])
+
+# And this determines if Phase 2 packets are used
+define([usephase2],1)
+
+# The following selects byteswapping or otherwise
+define([usebyteswap],1)
+
+# We use build_here to restrict CAP to a single directory tree
+# but still using etcdest (see below) for the location of atalk.local
+# and other configuration files
+# define([build_here],1)
+
+# We use the debug flag to restrict CAP to a single directory tree
+# for testing purposes, e.g. testing new versions
+# define([debug],1)
+
+# The includef flag sets an alternate localtion for include files
+define([includef],1)
+
+# Systems with kernel AppleTalk support do not need atis
+define([useatis],1)
+
+# uncomment if your param.h includes types.h and types.h doesn't
+# prevent itself from being included twice
+# define _TYPES
+# define([selfdefinetypes],1)
+# MINOR CONFIGURATION: configure various programs
+
+#define([columbia],1) # so columbia can do things quickly
+#define([rutgersdef],1) # so rutgers can do things quickly
+
+# Installation prefix
+define([prefix],[[@PREFIX@]])
+
+# location of include files
+define([includedest],concat(prefix,[[[/include]]]))
+ifelse(os,[epix],[define([includedir],[[/bsd43/usr/include]])])
+# location of des subroutine source (see lib/afp/README)
+define([desloc],[[../../extras]])
+# location of atalk.local, etc.
+define([etcdest],concat(prefix,[/etc/cap]))
+ifdef([columbia],[define([etcdest],[[/usr/local/lib/cap]])])
+# location of user cap programs
+define([capdestdir],concat(prefix,[/bin]))
+# location of cap "server" programs (aufs, lwsrv, papif, uab etc.)
+define([capsrvrdestdir],concat(prefix,[/sbin]))
+# location of some cap data files
+define([caplibdestdir],concat(prefix,[/lib/cap]))
+ifdef([rutgersdef],[define([caplibdestdir],[[/usr/local/cap/lib]])])
+# location of cap libraries
+define([libdestdir],concat(prefix,[/lib]))
+# override for aux (doesn't search /usr/local/lib)
+ifelse(os,[aux],[define([libdestdir],[[/usr/lib]])])
+# cap library names
+define([caplib],[[libcap.a]])
+define([afplib],[[libafp.a]])
+define([afpclib],[[libafpc.a]])
+# names to load cap libraries with
+define([libcap],[[-lcap]])
+define([libafp],[[-lafp]])
+define([libafpc],[[-lafpc]])
+ifelse(os,[encore],
+ [define([libcap],concat([-L],libdestdir,[ ],libcap))])
+ifelse(os,[encore],
+ [define([libafp],concat([-L],libdestdir,[ ],libafp))])
+ifelse(os,[encore],
+ [define([libafpc],concat([-L],libdestdir,[ ],libafpc))])
+ifelse(os,[aix],
+ [define([libcap],concat([-L],libdestdir,[ ],libcap))])
+ifelse(os,[aix],
+ [define([libafp],concat([-L],libdestdir,[ ],libafp))])
+ifelse(os,[aix],
+ [define([libafpc],concat([-L],libdestdir,[ ],libafpc))])
+ifelse(os,[hpux],
+ [define([libcap],concat([-L],libdestdir,[ ],libcap))])
+ifelse(os,[hpux],
+ [define([libafp],concat([-L],libdestdir,[ ],libafp))])
+ifelse(os,[hpux],
+ [define([libafpc],concat([-L],libdestdir,[ ],libafpc))])
+ifelse(os,[epix],
+ [define([libcap],concat([-L],libdestdir,[ ],libcap))])
+ifelse(os,[epix],
+ [define([libafp],concat([-L],libdestdir,[ ],libafp))])
+ifelse(os,[epix],
+ [define([libafpc],concat([-L],libdestdir,[ ],libafpc))])
+ifelse(os,[solaris],
+ [define([libcap],concat([-L],libdestdir,[ ],libcap))])
+ifelse(os,[solaris],
+ [define([libafp],concat([-L],libdestdir,[ ],libafp))])
+ifelse(os,[solaris],
+ [define([libafpc],concat([-L],libdestdir,[ ],libafpc))])
+ifelse(os,[netbsd],
+ [define([libcap],concat([-L],libdestdir,[ ],libcap))])
+ifelse(os,[netbsd],
+ [define([libafp],concat([-L],libdestdir,[ ],libafp))])
+ifelse(os,[netbsd],
+ [define([libafpc],concat([-L],libdestdir,[ ],libafpc))])
+ifelse(os,[freebsd],
+ [define([libcap],concat([-L],cwd,[/lib/cap],[ ],libcap))])
+ifelse(os,[freebsd],
+ [define([libafp],concat([-L],cwd,[/lib/afp],[ ],libafp))])
+ifelse(os,[freebsd],
+ [define([libafpc],concat([-L],cwd,[/lib/afpc],[ ],libafpc))])
+# any special libraries
+define([libspecial],[])
+ifelse(os,[ultrix40],[
+ define([libspecial],concat(libspecial,[ -lauth]))])
+ifelse(os,[osf1],[
+ define([libspecial],concat(libspecial,[ -lsecurity]))])
+ifelse(os,[xenix5],[
+ define([libspecial],concat(libspecial,[ -lsocket]))])
+ifelse(os,[drsnx],[
+ define([libspecial],concat(libspecial,[ -lucb]))])
+ifelse(os,[uts],[
+ define([libspecial],concat(libspecial,[ -lsocket -lbsd -la]))])
+ifelse(os,[dynix],[
+ define([libspecial],concat(libspecial,[ -lseq]))])
+ifelse(os,[irix],[
+ define([libspecial],concat(libspecial,[ -lbsd]))])
+ifelse(os,[aix],[
+ define([libspecial],concat(libspecial,[ -lbsd]))])
+ifelse(os,[aux],[
+ define([libspecial],concat(libspecial,[ -lat -lbsd]))])
+ifelse(os,[hpux],[
+ define([libspecial],concat(libspecial,[ -lBSD -lndbm]))])
+ifelse(os,[epix],[
+ define([libspecial],concat(libspecial,[ -lc -lsec]))])
+ifelse(os,[386bsd],[
+ define([libspecial],concat(libspecial,[ -lrpc]))])
+ifelse(os,[netbsd],[
+ define([libspecial],concat(libspecial,[ -lcrypt]))])
+ifelse(os,[freebsd],[
+ define([libspecial],concat(libspecial,[ -lcrypt]))])
+ifelse(os,[bsdi],[
+ define([libspecial],concat(libspecial,[ -lrpc -lkvm]))])
+ifelse(os,[linux],[
+ define([libspecial],concat(libspecial,[ -lgdbm]))])
+ifelse(os,[solaris],[
+ define([libspecial],concat(libspecial,[ -lsocket -lnsl ]))])
+# rutgers specific
+define([libru],[])
+ifdef([rutgersdef], [
+ifelse(os,[solaris],[
+ define([libru],concat(libru,[ -L/usr/local/lib -R/usr/local/lib -lru ]))],[
+ define([libru],concat(libru,[ -lru ]))])])
+
+#
+# special configurations for individual source files
+#
+
+#
+# Aufs: see applications/aufs/INSTALLATION
+#
+# WARNING: OS DEPENDENT
+# define([smartunixfinderinfo],1)
+#
+# Set -DNONLXLATE, -DFULL_NCS_SUPPORT, -DGGTYPE="gid_t" or -DNOCHGRPEXEC
+# in m4.features
+# Others: USESTATFS, USEGETMNT, USECHOWN, USEQUOTA, USESUNQUOTA, USEBSDQUOTA
+# are autoconfigured
+define([aufsosdefs],[aufsosflags()])
+
+#
+# lib/cap/authenticate.c: configuration file
+#
+define([authconfig],concat([\"],etcdest,[/],[cap.auth],[\"]))
+
+#
+# lwsrv: see applications/lwsrv/README
+#
+# lwflags and simpleflags are now defined in m4.features
+
+#
+# lwrename: set name of file containing list of printers to be renamed
+#
+define([lwrenamefile],concat([\"],caplibdestdir,[/lwrename.list\"]))
+
+#
+# papif: see applications/papif/README
+#
+# uncomment and set to right location to turn on printing "plain text files"
+# define([pstextloc],[[\"/usr/local/lib/ps/pstext\"]])
+#
+# uncomment and set to right location to turn on page reversal
+# define([psrevloc],[[\"/usr/local/lib/ps/psrev\"]])
+#
+# Valid are:
+# -DVERBOSELOG - default (set =0 to turn off)
+# -DNO_STRUCT - default is on (structured)
+# -DNOACCT - default is on (accounting)
+# -DIDLESTUFF - default is off
+# -DSFLOWQ - default is 8 (min 1, max 8)
+# -DRFLOWQ - default is 8 (min 1, max 8)
+# -DATPRESPONSETIMEOUT - default is 120 (2 minutes) - in seconds
+# -DWATCHTIME - default is 10 seconds (in seconds)
+# -DDEBUG - default is off
+# -DSTRIPCONTROLD - default is off
+# -DMAPCRTOLF - default is off
+# -DMACUSER - default is off (need LPD_JOB environment variable in lpd)
+# -DPLP - Use with PLP rather than Berkeley lpd
+# see papif README file for explanations of the above
+# The following defines are recommended for System V lp printers (vs. bsd lpd)
+# -DWATCHTIME=0 (no status) -DNOACCT
+define([papflags],[-DMACUSER])
+define([papflags],concat(papflags,[ -DIDLESTUFF]))
+
+# Set -DBANNERFIRST if you want the banner page to come out as the
+# first page instead of the last page
+# Set -DBANNERLAST if want it last
+# Set -DPSBANNER if you want a custom PostScipt Banner (must specify
+# short banners in printcap). This still defaults to regular banners
+# Add -DCHARGEBANNER if you want to charge the banner page to the user
+# on system V - there is no accounting, so leave blank
+define([papbanner],[-DCHARGEBANNER])
+
+# for cap.printers - uncomment and change the following line to point
+# papif, et. al. to a location other than /etc/cap.printers. (Note:
+# line below would set it to $etcdest/cap.printers)
+define([capprinters],concat([\"],etcdest,[/],[cap.printers],[\"]))
+ifdef([columbia],
+ [define([capprinters],concat([\"],etcdest,[/],[cap.printers],[\"]))])
+# for atalkdbm - allows change following line(s) to modify atalk.local
+# (probably shouldn't). Remember that atalk.local is expected to
+# be in etcdest
+define([atalklocal],concat([\"],etcdest,[/],[atalk.local],[\"]))
+define([etalklocal],concat([\"],etcdest,[/],[etalk.local],[\"]))
+define([configdir],concat([\"],etcdest,[\"]))
+define([uabpidfile],concat([\"],caplibdestdir,[/],[uab.pid],[\"]))
+define([uabbrdescr],concat([\"],caplibdestdir,[/],[bridge_desc],[\"]))
+
+# in case you want to globally change the c compiler
+define([thecompiler],[cc])
+define([theloader],[ld])
+define([theinstaller],[cp])
+
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+# END OF CONFIGABLE OPTIONS #
+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+# You should only edit past here if you are "porting"
+# Automatics
+define([osname],[Unknown])
+ifelse(os,[ultrix12],[define([osname],[Ultrix 1.2])])
+ifelse(os,[ultrix20],[define([osname],[Ultrix 2.0])])
+ifelse(os,[ultrix40],[define([osname],[Ultrix 4.0])])
+ifelse(os,[osf1],[define([osname],[OSF/1])])
+ifelse(os,[aux],[define([osname],[A/UX])])
+ifelse(os,[sunos],[define([osname],[SunOS])])
+ifelse(os,[solaris],[define([osname],[Solaris 2.x in native SVR4 mode])])
+ifelse(os,[encore],[define([osname],[Encore Umax])])
+ifelse(os,[hpux],[define([osname],[HP-UX (for 9000 series)])])
+ifelse(os,[uts],[define([osname],[Amdahl UTS])])
+ifelse(os,[bsd],[define([osname],[Standard BSD])])
+ifelse(os,[pyr],[define([osname],[Pyramid in BSD universe])])
+ifelse(os,[xenix5],[define([osname],[SCO Xenix System V])])
+ifelse(os,[aix],[define([osname],[IBM AIX System V])])
+ifelse(os,[next],[define([osname],[NeXT/MACH])])
+ifelse(os,[dynix],[define([osname],[Sequent Balance])])
+ifelse(os,[irix],[define([osname],[Silicon Graphics IRIS/IRIX])])
+ifelse(os,[newsos],[define([osname],[Sony NEWS])])
+ifelse(os,[drsnx],[define([osname],[ICL DRS])])
+ifelse(os,[epix],[define([osname],[Control Data EP/IX])])
+ifelse(os,[386bsd],[define([osname],[386/BSD etc])])
+ifelse(os,[netbsd],[define([osname],[NetBSD 1.0])])
+ifelse(os,[freebsd],[define([osname],[FreeBSD])])
+ifelse(os,[bsdi],[define([osname],[BSD/386])])
+ifelse(os,[domainosbsd],[define([osname],[HP/Apollo Domain BSD 4.3])])
+#
+define([cflags],ifdef([selfdefinetypes],[-D_TYPES],[]))
+define([cflags],concat(cflags,ifdef([usebyteswap],[ -DBYTESWAPPED],[])))
+define([cflags],concat(cflags,ifdef([usephase2],[ -DPHASE2],[])))
+define([bigcflags],ifelse(os,[hpux],[]))
+# The encore optimiser is slightly over zealous
+ifelse(os,[encore],[define([cflags],concat(cflags,[ -Dencore]))],[
+ define([cflags],concat(cflags,[ -O]))])
+ifelse(os,[pyr],[
+ define([cflags],concat(cflags,[ -q]))])
+ifelse(os,[next],[
+ define([cflags],concat(cflags,[ -DNeXT -DADDRINPACK]))])
+ifelse(os,[xenix5],[
+ define([cflags],concat(cflags,[ -Dxenix5 -I$I -DLAI_TCP -Di386]))])
+ifelse(os,[aix],[
+ define([cflags],concat(cflags,[ -DAIX -DUSETIMES -DNOWAIT3 -DUSEDIRENT]))])
+ifelse(os,[solaris],[
+ define([cflags],concat(cflags,[ -DSOLARIS]))])
+ifelse(os,[uts],[
+ define([cflags],concat(cflags,[ -eft ]))])
+ifelse(os,[irix],[
+ define([cflags],concat(cflags,[ -cckr -D_BSD_COMPAT]))])
+ifelse(os,[drsnx],[
+ define([cflags],concat(cflags,[ -DNOWAIT3]))])
+ifelse(os,[epix],[
+ define([cflags],concat(cflags,[ -DEPIX]))])
+ifelse(os,[osf1],[
+ define([cflags],concat(cflags,[ -DUSEDIRENT]))])
+ifelse(os,[netbsd],[
+ define([cflags],concat(cflags,[ -D__386BSD__]))])
+ifelse(os,[bsdi],[
+ define([cflags],concat(cflags,[ -D__386BSD__]))])
+ifelse(os,[linux],[
+ define([cflags],concat(cflags,[ -DUSE_GDBM]))])
+
+# was used for nbp, but found we needed more... leave in case
+define([nbpflags],[])
+define([lflags],[])
+define([mflags],[])
+
+# aux's c compiler isn't nice - it doesn't have a preprocessor
+# definition for aux. So, let's invent one. Also turn on -n
+# for shared code.
+ifelse(os,[aux],[
+ define([cflags],concat(cflags,[ -n -Daux]))
+ define([lflags],concat(lflags,[ -n]))])
+
+# for NetBSD 1.0 on 68k strip symbols to avoid ld error on some progs
+ifelse(os,[netbsd],[define([lflags],concat(lflags,[ -s]))])
+
+# use the transitional option of the C compiler - interpret as K&R C, not ANSI
+ifelse(os,[drsnx],[
+ define([cflags],concat(cflags,[ -Xt -Ddrsnx]))])
+
+# check to see if we need sysvinstall usage
+ifelse(os,[hpux6],[define([sysvinstall],[yes])],
+ os,[irix3],[define([sysvinstall],[yes])])
+
+# or if we really want to use install
+# ifelse(os,[someOS], [define([theinstaller],[install])])
+
+# for cap library
+# Valid are:
+# NOFFS - no ffs function defined, fake it out
+# LOCALTIME_GTOD - uses pd localtime, but gettimeofday always reads
+# disk based time of day. Always defined for AUX for now. Probably
+# needs to be changed for versions of Aux after 1.0
+# NORECVMSG - no recvmsg in system (fake it out)
+# NOSENDMSG - no recvmsg in system (fake it out)
+define([caposdefs],
+ concat( ifdef([X_NOFFS],[ -DNOFFS],[]),
+ ifelse(os,[aux],[ -DLOCALTIME_GTOD],[]),
+ ifdef([X_NORECVMSG], [ -DNORECVMSG],[]),
+ ifdef([X_NOSENDMSG], [ -DNOSENDMSG],[])))
+# for afp library
+# two cases for X_LOCKF - if lockf isn't defined
+# first: X_FCNTLLOCKF is defined, so just note that lockf uses fcntl.h
+# second: " " isn't defined so define no lockf
+# we "know" that flock() was hiding in libbsd.a under aix
+define([afposdefs],
+ concat( ifdef([X_FLOCK],[], ifelse(os,[aix],[],[ -DNOFLOCK])),
+ ifdef([X_LOCKF],[],
+ [ifdef([X_FCNTLLOCKF],[ -DLOCKFUSESFCNTL],[ -DNOLOCKF])])))
+# for aufs
+define([aufsosdefs],
+ concat(aufsosdefs,
+ ifdef([X_STATFS],[ -DUSESTATFS],[]),
+ ifdef([X_GETMNT],[ -DUSEGETMNT],[]),
+ ifdef([X_QUOTA],[ -DUSEQUOTA],[]),
+ ifdef([X_SUNQUOTA],[ -DUSESUNQUOTA],[]),
+ ifdef([X_BSDQUOTA],[ -DUSEBSDQUOTA],[]),
+ ifelse(os,[irix],[ -DNOVFORK]),
+ ifelse(os,[aix],[ -DNOVFORK -DUSECHOWN],[])))
+
+# if no ranlib (or fakeout like hpux) and need to order libaries
+ifelse(os,[dummy], [define(uselordertsort,[1])],
+ os,[aux], [define(uselordertsort,[1])],
+ os,[solaris], [define(uselordertsort,[1])],
+ os,[uts], [define(uselordertsort,[1])],
+ os,[drsnx], [define(uselordertsort,[1])],
+ os,[irix], [define(uselordertsort,[1])])
+
+# lw config
+define([lwflags],
+ concat(lwflags,
+ ifdef([fastether],[ -DSFLOWQ=1],[]),
+ ifelse(os,[aix],[],[])))
+
+# more papif config
+define([papflags],
+ concat(papflags,
+ ifelse(os,[irix],[ -DNOVFORK]),
+ ifelse(os,[aix],[ -DNOVFORK],[])))
+
+#NBPFLAGS = nbpflags()
+#SPECCFLAGS = specialcflags()
+#BIGCFLAGS = bigcflags()
+#CFLAGS = cflags()
+#LFLAGS = lflags()
+#AFPOSDEFS = afposdefs()
+#AUFSOSDEFS = aufsosdefs()
+
+ifdef([debug],[
+ define([build_here],1)
+# location of atalk.local, etc.
+ define([etcdest],concat(cwd,[[[/etc]]]))
+])
+
+ifdef([includef],[
+# location of include files
+ define([includedir],[cwd])
+ define([cflags],concat(cflags,[ -I],includedir))
+])
+
+ifdef([build_here],[
+# location of include files
+ define([includedir],[cwd])
+# location of des subroutine source (see lib/afp/README)
+ define([desloc],[[../../extras]])
+# location of user cap programs
+ define([capdestdir],concat(cwd,[[[/bin]]]))
+# location of cap "server" programs (aufs, lwsrv, papif, uab etc.)
+ define([capsrvrdestdir],concat(cwd,[[[/bin]]]))
+# location of some cap data files
+ define([caplibdestdir],concat(cwd,[[[/bin]]]))
+# location of cap libraries
+ define([libdestdir],concat(cwd,[[[/lib]]]))
+# cap library names
+ define([caplib],[[libcap.a]])
+ define([afplib],[[libafp.a]])
+ define([afpclib],[[libafpc.a]])
+# names to load cap libraries with
+ define([libcap],concat(cwd,[[[/lib/libcap.a]]]))
+ define([libafp],concat(cwd,[[[/lib/libafp.a]]]))
+ define([libafpc],concat(cwd,[[[/lib/libafpc.a]]]))
+ define([capprinters],concat([\"],etcdest,[/],[cap.printers],[\"]))
+ define([cflags],concat(cflags,[ -I],includedir))
+ define([atalklocal],concat([\"],etcdest,[/],[atalk.local],[\"]))
+ define([etalklocal],concat([\"],etcdest,[/],[etalk.local],[\"]))
+ define([configdir],concat([\"],etcdest,[\"]))
+])
+
+define([datestring],maketemp(/tmp/capcXXXXXX))
+syscmd(date > datestring())
+##########MARKER##########
+# Makefile autoconfigured for ...
+[#] osname() system on include(datestring())
+syscmd(rm -f datestring())
+
+MFLAGS=mflags()
+LFLAGS=lflags()
+CC=thecompiler()
+LD=theloader()
+SHELL=/bin/sh
+INSTALLER=theinstaller()
diff --git a/net/cap/files/patch-aa b/net/cap/files/patch-aa
new file mode 100644
index 000000000000..b341ade918e1
--- /dev/null
+++ b/net/cap/files/patch-aa
@@ -0,0 +1,82 @@
+--- Configure.orig Fri Nov 15 15:53:40 1996
++++ Configure Fri Nov 15 16:43:36 1996
+@@ -433,7 +433,7 @@
+ usingphase2="# define([usephase2],1)"
+ usingatis="# define([useatis],1)"
+ singletree="# define([debug],1)"
+-includefile="# define([includef],1)"
++includefile="define([includef],1)"
+ result=0
+ usephase2=0
+ uabsupport=0
+@@ -1517,29 +1517,39 @@
+ echo "# prevent itself from being included twice"
+ echo "# define _TYPES"
+ echo "${needselfdef}"
+-${PCAT} <<\EOT1
++${PCAT} <<\EOTL
+ # MINOR CONFIGURATION: configure various programs
+
+ #define([columbia],1) # so columbia can do things quickly
+ #define([rutgersdef],1) # so rutgers can do things quickly
+
++EOTL
++echo "# Installation prefix"
++if [ ! -z ${PREFIX} ]; then
++ echo "define([prefix],[[${PREFIX}]])"
++ else
++ echo "define([prefix],[[/usr/local]])"
++fi
++echo
++
++${PCAT} <<\EOT1
+ # location of include files
+-define([includedir],[[/usr/include]])
++define([includedest],concat(prefix,[[[/include]]]))
+ ifelse(os,[epix],[define([includedir],[[/bsd43/usr/include]])])
+ # location of des subroutine source (see lib/afp/README)
+ define([desloc],[[../../extras]])
+ # location of atalk.local, etc.
+-define([etcdest],[[/etc]])
++define([etcdest],concat(prefix,[/etc/cap]))
+ ifdef([columbia],[define([etcdest],[[/usr/local/lib/cap]])])
+ # location of user cap programs
+-define([capdestdir],[[/usr/local/cap]])
++define([capdestdir],concat(prefix,[/bin]))
+ # location of cap "server" programs (aufs, lwsrv, papif, uab etc.)
+-define([capsrvrdestdir],[[/usr/local/cap]])
++define([capsrvrdestdir],concat(prefix,[/sbin]))
+ # location of some cap data files
+-define([caplibdestdir],[[/usr/local/lib/cap]])
++define([caplibdestdir],concat(prefix,[/lib/cap]))
+ ifdef([rutgersdef],[define([caplibdestdir],[[/usr/local/cap/lib]])])
+ # location of cap libraries
+-define([libdestdir],[[/usr/local/lib]])
++define([libdestdir],concat(prefix,[/lib]))
+ # override for aux (doesn't search /usr/local/lib)
+ ifelse(os,[aux],[define([libdestdir],[[/usr/lib]])])
+ # cap library names
+@@ -1587,11 +1597,11 @@
+ ifelse(os,[netbsd],
+ [define([libafpc],concat([-L],libdestdir,[ ],libafpc))])
+ ifelse(os,[freebsd],
+- [define([libcap],concat([-L],libdestdir,[ ],libcap))])
++ [define([libcap],concat([-L],cwd,[/lib/cap],[ ],libcap))])
+ ifelse(os,[freebsd],
+- [define([libafp],concat([-L],libdestdir,[ ],libafp))])
++ [define([libafp],concat([-L],cwd,[/lib/afp],[ ],libafp))])
+ ifelse(os,[freebsd],
+- [define([libafpc],concat([-L],libdestdir,[ ],libafpc))])
++ [define([libafpc],concat([-L],cwd,[/lib/afpc],[ ],libafpc))])
+ # any special libraries
+ define([libspecial],[])
+ ifelse(os,[ultrix40],[
+@@ -1717,7 +1727,7 @@
+ # for cap.printers - uncomment and change the following line to point
+ # papif, et. al. to a location other than /etc/cap.printers. (Note:
+ # line below would set it to $etcdest/cap.printers)
+-# define([capprinters],concat([\"],etcdest,[/],[cap.printers],[\"]))
++define([capprinters],concat([\"],etcdest,[/],[cap.printers],[\"]))
+ ifdef([columbia],
+ [define([capprinters],concat([\"],etcdest,[/],[cap.printers],[\"]))])
+ # for atalkdbm - allows change following line(s) to modify atalk.local
diff --git a/net/cap/files/patch-ab b/net/cap/files/patch-ab
new file mode 100644
index 000000000000..24b0abaded73
--- /dev/null
+++ b/net/cap/files/patch-ab
@@ -0,0 +1,15 @@
+--- Makefile.orig Wed Nov 13 21:19:14 1996
++++ Makefile Thu Nov 14 14:19:16 1996
+@@ -19,6 +19,12 @@
+ (cd lib/afpc; make install)
+ touch libinstall
+
++dummy-libinstall: libsmade
++ ranlib lib/cap/libcap.a
++ ranlib lib/afp/libafp.a
++ ranlib lib/afpc/libafpc.a
++ touch libinstall
++
+ programs: libinstall
+ -(cd etc; make)
+ -(cd samples; make)
diff --git a/net/cap/files/patch-ac b/net/cap/files/patch-ac
new file mode 100644
index 000000000000..f6a136923b41
--- /dev/null
+++ b/net/cap/files/patch-ac
@@ -0,0 +1,24 @@
+--- netat/Makefile.m4.orig Thu Nov 14 14:23:47 1996
++++ netat/Makefile.m4 Thu Nov 14 14:24:05 1996
+@@ -1,4 +1,4 @@
+-I=includedir()
++I=includedest()
+ HFILES = aberrors.h abqueue.h appletalk.h afp.h afpcmd.h afpc.h \
+ compat.h sysvcompat.h macfile.h abnbp.h fcntldomv.h afppass.h
+
+--- etc/Makefile.m4.orig Sun Mar 8 22:46:19 1992
++++ etc/Makefile.m4 Sat Nov 30 09:36:23 1996
+@@ -1,11 +1,12 @@
+ CFLAGS=cflags() nbpflags() specialcflags()
+ SDESTDIR=capsrvrdestdir()
+ UDESTDIR=capdestdir()
+-ETCDIR=etcdest()
+ CAPLIB=libcap()
+ I=includedir()
+ # for other libraries (like BSD on hpux)
+ SLIB=libspecial()
++
++ETCDIR=/var/run
+
+ ifdef([useatis],[],[# ])ATISPROGS=atis
+ PROGS=${ATISPROGS}
diff --git a/net/cap/files/patch-ad b/net/cap/files/patch-ad
new file mode 100644
index 000000000000..0caf96fd6309
--- /dev/null
+++ b/net/cap/files/patch-ad
@@ -0,0 +1,30 @@
+--- support/ethertalk/bpfiltp.c.orig Mon Nov 25 13:06:49 1996
++++ support/ethertalk/bpfiltp.c Mon Nov 25 13:08:07 1996
+@@ -63,6 +63,9 @@
+ #ifdef __FreeBSD__
+ #define MULTI_BPF_PKT
+ #define USE_SIOCGIFCONF
++#if __FreeBSD__ >= 2
++#include <osreldate.h>
++#endif
+ #endif __FreeBSD__
+
+ #ifdef NeXT
+@@ -785,7 +788,7 @@
+
+ bcopy(eaddr, &eh.ether_dhost, 6);
+ #ifdef PHASE2
+-#ifdef __FreeBSD__
++#if defined(__FreeBSD__) && __FreeBSD_version <= 199607
+ /* This should really be fixed in the kernel. */
+ eh.ether_type = buflen;
+ #else
+@@ -806,7 +809,7 @@
+ *q++ = (eph->protocol >> 8) & 0xff;
+ *q++ = (eph->protocol & 0xff);
+ #else PHASE2
+-#ifdef __FreeBSD__
++#if defined(__FreeBSD__) && __FreeBSD_version <= 199607
+ /* This should really be fixed in the kernel. */
+ eh.ether_type = eph->protocol;
+ #else
diff --git a/net/cap/files/patch-ae b/net/cap/files/patch-ae
new file mode 100644
index 000000000000..e7e59c0387fd
--- /dev/null
+++ b/net/cap/files/patch-ae
@@ -0,0 +1,125 @@
+Patches to reflect file locations in man pages.
+--- man/aarpd.8.orig Sun Mar 8 22:46:26 1992
++++ man/aarpd.8 Sun Nov 10 08:01:47 1996
+@@ -32,7 +32,7 @@
+ At startup,
+ .I aarpd
+ probes for a node number, determines the network number and
+-maintains a copy of the network information in /etc/etalk.local which it
++maintains a copy of the network information in /usr/local/etc/cap/etalk.local which it
+ updates as necessary.
+ .PP
+ The options
+@@ -57,10 +57,10 @@
+ .BI <interface> " <zoneName>"
+ defines the network interface (as listed by netstat(8)) such as ie0, le0,
+ ln0 or pf0. The zoneName argument is a valid zonename for the EtherTalk
+-connected to the interface. These values may be seeded in /etc/etalk.local
++connected to the interface. These values may be seeded in /usr/local/etc/cap/etalk.local
+ but it is recommended that both arguments be supplied.
+ .SH FILES
+-/etc/etalk.local - refer man/etalk.local.5
++/usr/local/etc/cap/etalk.local - refer man/etalk.local.5
+ .SH NOTES
+ .I aarpd
+ be run as "root" (uid 0) and should be started before any other CAP
+--- man/atalk.local.5.orig Wed Mar 13 19:47:13 1991
++++ man/atalk.local.5 Sun Nov 10 08:05:49 1996
+@@ -129,7 +129,7 @@
+ underlying IP network structure is of importance here. Unfortunately,
+ the details of this issue are beyond the scope of this document.
+ .SH FILES
+-atalk.local usually resides in /etc
++atalk.local resides in /usr/local/etc/cap
+ .SH BUGS
+ The node numbers should be automatically determined since they are
+ fixed. In addition, it would be nice if the zone name were picked up
+--- man/atis.8.orig Sat Nov 9 16:42:31 1996
++++ man/atis.8 Sun Nov 10 08:13:31 1996
+@@ -91,7 +91,7 @@
+ .I atis
+ automatically disassociates itself from the controlling terminal
+ unless debug options are set. To allow some control over the
+-disassocated process, the pid is recorded in /etc/atis.pid and the
++disassocated process, the pid is recorded in /usr/local/etc/cap/atis.pid and the
+ following commands options have been added.
+ .TP
+ .B dump
+@@ -131,9 +131,9 @@
+ to dump the database and exit.
+ .PP
+ .SH FILES
+-/etc/atis.pid records the pid of the currently running server.
++/usr/local/etc/cap/atis.pid records the pid of the currently running server.
+ .br
+-/etc/atalk.local is used to find the closest Ethernet/Appletalk bridge
++/usr/local/etc/cap/atalk.local is used to find the closest Ethernet/Appletalk bridge
+ (directory location alterable at compile time).
+ .br
+ /usr/tmp/nis.db is used to hold the name data base when dumped
+--- man/atprint.1.orig Sun Mar 8 22:44:36 1992
++++ man/atprint.1 Sun Nov 10 08:23:43 1996
+@@ -49,7 +49,7 @@
+ PostScript device.
+ You can specify the device in one of three ways (-a is the default).
+ "tlw -u <short-printer-name>" maps a Unix short printer name to an Appletalk
+-entity name via the cap.printers file (often found in /etc).
++entity name via the cap.printers file (found in /usr/local/etc/cap).
+ "tlw -a <object-name>" specifies a device of type "LaserWriter" in the current
+ zone "*".
+ "tlw -a <appletalk-entity>" lets you choose an arbitrary object, type and zone,
+@@ -96,7 +96,7 @@
+ .SH BUGS
+ There are bound to be several.
+ .SH FILES
+-/etc/cap.printers \- papif configuation file to associate UNIX printer
++/usr/local/etc/cap/cap.printers \- papif configuration file to associate UNIX printer
+ queues with LaserWriter names. Location may vary according to local option.
+ .SH AUTHOR
+ lwpr, iwpr, tlw and isrv were written by Charlie C. Kim of
+--- man/etalk.local.5.orig Thu Mar 14 23:50:17 1991
++++ man/etalk.local.5 Sun Nov 10 08:04:48 1996
+@@ -42,6 +42,6 @@
+ An underscore in the zone name is
+ no longer treated as a space as in previous versions of atalk.local.
+ .SH FILES
+-etalk.local usually resides in /etc
++etalk.local resides in /usr/local/etc/cap
+ .SH SEE ALSO
+ CAP(3), CAP(8), atalkatab(5), atalkad(8), atis(8)
+--- man/lwrename.8.orig Sun Nov 10 08:37:05 1996
++++ man/lwrename.8 Sun Nov 10 08:40:05 1996
+@@ -141,7 +141,7 @@
+ .I start\-cap\-servers
+ file.
+ .SH FILES
+-/etc/lwrename.list default location for list of monitored printers
++/usr/local/lib/cap/lwrename.list location for list of monitored printers
+ .SH SEE ALSO
+ CAP(8), atlook(1), lwsrv(8)
+ .SH AUTHOR
+--- man/papif.8.orig Sun Nov 10 08:16:47 1996
++++ man/papif.8 Sun Nov 10 08:26:38 1996
+@@ -414,9 +414,9 @@
+ may no longer work properly.
+ .SH FILES
+ .nf
+-.ta \w'/etc/cap.printers 'u
++.ta \w'/usr/local/etc/cap/cap.printers 'u
+ /etc/printcap
+-/etc/cap.printers (location is settable)
++/usr/local/etc/cap/cap.printers (location is settable)
+ \&.status lpd status file
+ newstatus papif status temporary file
+ \&.banner lpd banner file
+--- man/snitch.1.orig Thu Feb 28 21:42:51 1991
++++ man/snitch.1 Sun Nov 10 08:41:46 1996
+@@ -103,7 +103,7 @@
+ .I snitch
+ in the background).
+ .SH FILES
+-Uses the cap file "atalk.local", usually in /etc.
++Uses the cap file "atalk.local", in //usr/local/etc/cap.
+ .SH "SEE ALSO"
+ CAP(8), atis(8), cap(3)
+ .SH EXAMPLE
diff --git a/net/cap/files/patch-af b/net/cap/files/patch-af
new file mode 100644
index 000000000000..3b7d69762816
--- /dev/null
+++ b/net/cap/files/patch-af
@@ -0,0 +1,73 @@
+--- etc/list-cap-servers.orig Mon Nov 25 13:11:46 1996
++++ etc/list-cap-servers Mon Nov 25 13:22:07 1996
+@@ -1,2 +1,2 @@
+ #! /bin/sh
+-ps agx | egrep ':[0-9][0-9]( | [^ ]*/)(atalkrd|atis|aufs|lwsrv|lwrename|printqueue)( |$)'
++ps ax | egrep '[0-9][0-9]( | [^ ]*/)(atalkrd|atis|aufs|lwsrv|lwrename|printqueue|snitch|aarpd)( |$)'
+--- etc/start-cap-servers.orig Tue Nov 26 02:38:32 1996
++++ etc/start-cap-servers Tue Nov 26 02:49:03 1996
+@@ -1,11 +1,12 @@
+ #!/bin/sh
+
+-### sample start servers file (copy to /usr/local/lib)
+-### start from '/etc/rc.local'
++### sample start servers file (copy to /usr/local/etc/rc.d
++### as start-cap-servers.sh or something. And /etc/rc will automatically
++### execute this script.)
+
+-LOGd=/usr/tmp
++LOGd=/var/log
+ LOGf=/dev/null
+-CAP=/usr/local/cap
++CAP=/usr/local/sbin
+ LIB=/usr/local/lib/cap
+
+ LWARGS="-a ${LIB}/procsets -f ${LIB}/LW+Fonts"
+@@ -19,7 +20,7 @@
+ #
+ # Otherwise start aarpd first for Native EtherTalk
+ #
+-# ${CAP}/aarpd "interface" "zone"
++${CAP}/aarpd "interface" "zone"
+
+ #
+ # Or capd for Kernel AppleTalk under Linux
+@@ -34,12 +35,12 @@
+ #
+ # Make this 15 seconds if using aarpd
+ #
+-sleep 5
++sleep 15
+
+-${CAP}/snitch -S -f "SUN 4 SunOS 4.0 UNIX" -l lwsrv
++${CAP}/snitch -S -f "`uname -s -r` UNIX" -l lwsrv
+ ${CAP}/lwsrv -n "Technical Services Spool" -p lw.tsa ${LWARGS}
+
+ # if CAP compiled with FIXED_DIRIDS then start AFP ID server first
+ # ${CAP}/afpidsrvr -l ${LOGd}/afpidsrvr.log
+
+-${CAP}/aufs -U 20 -V ${LIB}/afpvols -l ${LOGf} -n `hostname`
++${CAP}/aufs -U 20 -V ${LIB}/afpvols -F ${LIB}/afpfile -l ${LOGf} -n `hostname`
+--- etc/kill-cap-servers.orig Mon Nov 25 16:16:13 1996
++++ etc/kill-cap-servers Mon Nov 25 16:21:11 1996
+@@ -1,17 +1,17 @@
+ #! /bin/sh
+ TEMP=/tmp/kcs$$
+ trap "rm -f $TEMP" 1 2 3 15
+-ps agx | egrep ':[0-9][0-9]( | [^ ]*/)(atalkrd|atis|aufs|lwsrv|lwrename|printqueue)( |$)' > $TEMP
++ps ax | egrep '[0-9][0-9]( | [^ ]*/)(atalkrd|atis|aufs|lwsrv|lwrename|printqueue|snitch|aarpd)( |$)' > $TEMP
+ cat $TEMP
+ echo -n 'Kill [ny]? '
+ read reply junk
+ if [ X${reply-n} = Xy ] ; then
+ echo Killing...
+- AUFS=`egrep ':[0-9][0-9]( | [^ ]*/)aufs( |$)' $TEMP | awk '{print $1}'`
++ AUFS=`egrep '[0-9][0-9]( | [^ ]*/)aufs( |$)' $TEMP | awk '{print $1}'`
+ if [ x"$AUFS" != x ]; then
+ kill -HUP $AUFS
+ fi
+- kill `egrep -v ':[0-9][0-9]( | [^ ]*/)aufs( |$)' $TEMP | awk '{print $1}'`
++ kill `egrep -v '[0-9][0-9]( | [^ ]*/)aufs( |$)' $TEMP | awk '{print $1}'`
+ else
+ echo Cancelled...
+ fi
diff --git a/net/cap/pkg-comment b/net/cap/pkg-comment
new file mode 100644
index 000000000000..d6ebd1bfe2c5
--- /dev/null
+++ b/net/cap/pkg-comment
@@ -0,0 +1 @@
+Columbia AppleTalk Package for UNIX, communication between Macintosh & UNIX
diff --git a/net/cap/pkg-descr b/net/cap/pkg-descr
new file mode 100644
index 000000000000..1184fdc87f0c
--- /dev/null
+++ b/net/cap/pkg-descr
@@ -0,0 +1,21 @@
+CAP - The Columbia AppleTalk Package for UNIX
+
+CAP implements the AppleTalk protocol stack on a variety of UNIX
+machines. The main applications provide an AppleShare 2.0 compatible
+server (aufs), a LaserWriter Spooler (lwsrv) and a program to print to
+LaserWriters (papif). The latter can be used to talk to EtherTalk
+LaserWriters, LocalTalk LaserWriters used on Dayna EtherPrint cards or
+on a LocalTalk/EtherTalk gateway. There are also a number of
+contributed packages bundled with CAP.
+
+Note: Files are installed into following locations:
+ /usr/local/sbin: Commands for system manager.
+ aarpd afpidlist afpidsrvr afpidtool atis aufs aufsmkkey
+ aufsmkusr lwrename lwsrv lwsrv8 lwsrvconfig papif papof
+ printqueue sizeserver snitch
+ /usr/local/bin: User commands.
+ ash atistest atlook atlooklws atpinger cvt2apple cvt2cap
+ getzones instappl isrv iwpr lwpr papstatus tlw
+ /usr/local/etc/cap: Sample configuration files.
+ /usr/local/lib/cap: More sample configuration files.
+ /usr/local/share/doc/cap: Relivant documentation.
diff --git a/net/cap/pkg-install b/net/cap/pkg-install
new file mode 100644
index 000000000000..f2620f7aa79d
--- /dev/null
+++ b/net/cap/pkg-install
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+if [ "$2" != "POST-INSTALL" ]; then
+ exit 0;
+fi
+
+echo '**********************************************************************'
+echo " Now, edit ${PREFIX}/etc/cap/start-cap-servers.sample."
+echo " Then install it as ${PREFIX}/etc/rc.d/start-cap-servers.sh."
+echo '**********************************************************************'
diff --git a/net/cap/pkg-plist b/net/cap/pkg-plist
new file mode 100644
index 000000000000..3b403053719f
--- /dev/null
+++ b/net/cap/pkg-plist
@@ -0,0 +1,112 @@
+sbin/atis
+bin/lwpr
+bin/tlw
+bin/atlook
+bin/atlooklws
+bin/atpinger
+bin/iwpr
+bin/isrv
+bin/ash
+bin/instappl
+bin/getzones
+bin/papstatus
+bin/atistest
+bin/cvt2apple
+bin/cvt2cap
+sbin/lwrename
+sbin/printqueue
+sbin/snitch
+sbin/aufsmkusr
+sbin/aufsmkkey
+sbin/lwsrv
+sbin/lwsrv8
+sbin/lwsrvconfig
+sbin/papif
+sbin/papof
+sbin/aufs
+sbin/sizeserver
+sbin/afpidsrvr
+sbin/afpidlist
+sbin/afpidtool
+sbin/aarpd
+lib/libcap.a
+lib/libafp.a
+lib/libafpc.a
+include/netat/aberrors.h
+include/netat/abnbp.h
+include/netat/abqueue.h
+include/netat/afp.h
+include/netat/afpc.h
+include/netat/afpcmd.h
+include/netat/afppass.h
+include/netat/appletalk.h
+include/netat/compat.h
+include/netat/fcntldomv.h
+include/netat/macfile.h
+include/netat/sysvcompat.h
+man/man1/AUFS.1.gz
+man/man1/ash.1.gz
+man/man1/atlook.1.gz
+man/man1/atpinger.1.gz
+man/man1/atlooklws.1.gz
+man/man1/atprint.1.gz
+man/man1/tlw.1.gz
+man/man1/lwpr.1.gz
+man/man1/isrv.1.gz
+man/man1/iwpr.1.gz
+man/man1/cvt2apple.1.gz
+man/man1/cvt2cap.1.gz
+man/man1/getzones.1.gz
+man/man1/instappl.1.gz
+man/man1/snitch.1.gz
+man/man3/CAP.3.gz
+man/man5/atalk.local.5.gz
+man/man5/etalk.local.5.gz
+man/man8/AUFS.8.gz
+man/man8/CAP.8.gz
+man/man8/UAB.8.gz
+man/man8/aarpd.8.gz
+man/man8/atis.8.gz
+man/man8/lwsrv.8.gz
+man/man8/papif.8.gz
+etc/cap/start-cap-servers.sample
+etc/cap/lib.cap.macusers.sample
+etc/cap/list-cap-servers.sample
+etc/cap/kill-cap-servers.sample
+etc/cap/cap.printers.sample
+lib/cap/afpfile.sample
+lib/cap/DBfile.sample
+lib/cap/LWFonts.sample
+lib/cap/LWIIfgFonts.sample
+lib/cap/LWPlusFonts.sample
+lib/cap/query.ps.sample
+lib/cap/afpvols.sample
+man/man3/libcap.3.gz
+man/man3/libafpc.3.gz
+man/man3/libafp.3.gz
+man/man8/papof.8.gz
+share/doc/cap/abmisc.doc
+share/doc/cap/asp.notes
+share/doc/cap/atp.notes
+share/doc/cap/cap.auth.doc
+share/doc/cap/cap.notes
+share/doc/cap/glossary
+share/doc/cap/install.ms
+share/doc/cap/iptalk.cookbook
+share/doc/cap/nbp.ext
+share/doc/cap/pap.notes
+share/doc/cap/print.cookbook
+share/doc/cap/sched.notes
+share/doc/cap/uab.desc.ms
+share/doc/cap/uar.cookbook
+share/doc/cap/CAP.faq
+share/doc/cap/CAP60.README
+share/doc/cap/NOTICE
+share/doc/cap/README
+share/doc/cap/papif.README
+share/doc/cap/lwsrv.README
+share/doc/cap/aufs.README
+share/doc/cap/doc.README
+share/doc/cap/applications.README
+share/doc/cap/uab.README
+share/doc/cap/ethertalk.README
diff --git a/net/cap/scripts/configure b/net/cap/scripts/configure
new file mode 100644
index 000000000000..b34e8b5a922b
--- /dev/null
+++ b/net/cap/scripts/configure
@@ -0,0 +1,33 @@
+#!/bin/sh
+if [ -z ${BATCH} ]; then
+ echo "This port comes with reasonable defaults as follows:"
+ echo " Native Ethertalk with Phase 2 compatibility."
+ echo " Critical AUFS stat() calls to be cached. (STAT_CACHE)"
+ echo " USR1 signal makes parent aufs re-read system volumes file. (REREAD_AFPVOLS)"
+ echo " Pid of aufs is dumped to /var/run/aufs.pid. (PID_FILE)"
+ echo " User defined file suffix to creator/type/xlate mapping. (USR_FILE_TYPES)"
+ echo " Automatically create user .afpvols and 'mac' directories if non-existent."
+ echo " (CREATE_AFPVOL)"
+ echo " Fix permissions on network trash stuff. (NETWORKTRASH)"
+ echo " Add entry to the 'wtmp' file for each AUFS connection. (LOG_WTMP)"
+ echo " Run lpd job as Chooser Name if it is valid UNIX account and "
+ echo " refuse printing if Chooser name is invalid. (RUN_AS_USER, USER_REQUIRED)"
+ echo " Lpr output to stdout/stderr are included in lwsrv log. (LWSRV_LPR_LOG)"
+ echo
+ echo -n "Would you like to use them? (y/n)> "
+ read ans
+ case ${ans} in
+ y*|Y*) BATCH=yes ;;
+ esac
+ fi
+
+echo "===> Copying custom m4.features file."
+cp ${FILESDIR}/m4.features ${WRKSRC}
+
+if [ -z ${BATCH} ]; then
+ (cd ${WRKSRC}; ./Configure)
+ else
+ sed -e s+@CWD@+${WRKSRC}+ -e s+@PREFIX@+${PREFIX}+ \
+ ${FILESDIR}/m4.setup.in > ${WRKSRC}/m4.setup
+ (cd ${WRKSRC}; ./gen.makes)
+ fi