aboutsummaryrefslogtreecommitdiffstats
path: root/net/openafs
diff options
context:
space:
mode:
authorwxs <wxs@FreeBSD.org>2011-05-25 08:09:37 +0800
committerwxs <wxs@FreeBSD.org>2011-05-25 08:09:37 +0800
commit0bdb92f79a0d0fa7f392539f062fd2164f406e8b (patch)
tree4e3f999e2e0b9392100a1744866ee1f0d26e2d13 /net/openafs
parentdd06ec9f3143e36a0eefb5890c685a9080df904f (diff)
downloadfreebsd-ports-gnome-0bdb92f79a0d0fa7f392539f062fd2164f406e8b.tar.gz
freebsd-ports-gnome-0bdb92f79a0d0fa7f392539f062fd2164f406e8b.tar.zst
freebsd-ports-gnome-0bdb92f79a0d0fa7f392539f062fd2164f406e8b.zip
AFS is a distributed filesystem product, pioneered at Carnegie Mellon
University and supported and developed as a product by Transarc Corporation (now IBM Pittsburgh Labs). It offers a client-server architecture for federated file sharing and replicated read-only content distribution, providing location independence, scalability, security, and transparent migration capabilities. AFS is available for a broad range of heterogeneous systems including UNIX, Linux, MacOS X, and Microsoft Windows. IBM branched the source of the AFS product, and made a copy of the source available for community development and maintenance. They called the release OpenAFS. WWW: http://www.openafs.org/ PR: ports/152467 Submitted by: Ben Kaduk <kaduk@mit.edu>
Diffstat (limited to 'net/openafs')
-rw-r--r--net/openafs/Makefile101
-rw-r--r--net/openafs/Makefile.man343
-rw-r--r--net/openafs/distinfo6
-rw-r--r--net/openafs/files/afsd.in79
-rw-r--r--net/openafs/files/afsserver.in36
-rw-r--r--net/openafs/pkg-descr15
-rw-r--r--net/openafs/pkg-plist286
7 files changed, 866 insertions, 0 deletions
diff --git a/net/openafs/Makefile b/net/openafs/Makefile
new file mode 100644
index 000000000000..792601755386
--- /dev/null
+++ b/net/openafs/Makefile
@@ -0,0 +1,101 @@
+# New ports collection makefile for: openafs
+# Date created: 2010-11-06
+# Whom: Ben Kaduk <kaduk@mit.edu>
+# Based on: port by Alec Kloss <alec@setfilepointer.com>
+#
+# $FreeBSD$
+#
+
+PORTNAME= openafs
+DISTVERSION= 1.6.0pre3
+CATEGORIES= net kld
+MASTER_SITES= http://dl.central.org/dl/openafs/candidate/${DISTVERSION}/:openafs \
+ http://dl.openafs.org/dl/openafs/candidate/${DISTVERSION}/:openafs \
+ http://dl.central.org/dl/cellservdb/:gco \
+ http://grand.central.org/dl/cellservdb/:gco
+DISTFILES= ${PORTNAME}-${DISTVERSION}-src.tar.bz2:openafs \
+ ${PORTNAME}-${DISTVERSION}-doc.tar.bz2:openafs \
+ CellServDB:gco
+EXTRACT_ONLY= ${PORTNAME}-${DISTVERSION}-src.tar.bz2 \
+ ${PORTNAME}-${DISTVERSION}-doc.tar.bz2
+
+MAINTAINER= kaduk@mit.edu
+COMMENT= AFS implementation from openafs.org
+
+OPTIONS= FUSE "Build afsd.fuse (enable fuse support)" off
+
+USE_LDCONFIG= yes
+PATCH_STRIP= -p1
+
+USE_BZIP2= yes
+HAS_CONFIGURE= yes
+USE_RC_SUBR= afsd afsserver
+
+ONLY_FOR_ARCHS= i386 amd64
+
+KERNELDIR= /usr/obj/usr/src/sys/GENERIC
+KMODDIR= /boot/modules
+
+.include <bsd.port.pre.mk>
+
+.if ${OSVERSION} < 800000
+IGNORE= supports FreeBSD 8.0 and later
+.endif
+
+.if !exists(${KERNELDIR}/opt_global.h)
+IGNORE= OpenAFS requires opt_global.h from kernel build tree
+.endif
+
+CONFIGURE_ARGS= --prefix=${PREFIX} \
+ --localstatedir=/var \
+ --mandir=${PREFIX}/man \
+ --with-bsd-kernel-build=${KERNELDIR} \
+ --enable-debug \
+ --enable-debug-kernel \
+ --enable-debug-lwp \
+ --includedir=${LOCALBASE}/include/openafs \
+ ${CONFIGURE_TARGET}
+# --with-krb5 KRB5CFLAGS=-I/usr/include \
+# KRB5LIBS='-lkrb5 -lcom_err -lcrypto -lcrypt -lasn1 -lhx509 -lroken' \
+
+.if !defined(WITH_FUSE)
+CONFIGURE_ARGS+= --disable-fuse-client
+PLIST_SUB+= FUSE="@comment "
+.else
+LIB_DEPENDS+= fuse.2:${PORTSDIR}/sysutils/fusefs-libs
+PLIST_SUB+= FUSE=""
+.endif
+
+WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION}
+
+CONFLICTS= heimdal-[0-9]*
+
+.include "Makefile.man"
+
+post-install:
+ @${MKDIR} ${PREFIX}/etc/openafs
+ @${CP} ${DISTDIR}/CellServDB ${PREFIX}/etc/openafs/CellServDB.sample
+ @if [ ! -e ${PREFIX}/etc/openafs/CellServDB ] ; then \
+ ${CP} -p ${PREFIX}/etc/openafs/CellServDB.sample ${PREFIX}/etc/openafs/CellServDB ; \
+ fi
+ @${ECHO_CMD} openafs.org > ${PREFIX}/etc/openafs/ThisCell.sample
+ @if [ ! -e ${PREFIX}/etc/openafs/ThisCell ] ; then \
+ ${CP} -p ${PREFIX}/etc/openafs/ThisCell.sample ${PREFIX}/etc/openafs/ThisCell ; \
+ fi
+ @${ECHO_CMD} '/afs:/usr/vice/cache:150000' > ${PREFIX}/etc/openafs/cacheinfo.sample
+ @if [ ! -e ${PREFIX}/etc/openafs/cacheinfo ] ; then \
+ ${CP} -p ${PREFIX}/etc/openafs/cacheinfo.sample ${PREFIX}/etc/openafs/cacheinfo; \
+ fi
+ ${MV} ${PREFIX}/lib/openafs/libafs.ko ${KMODDIR}/
+ @${RMDIR} ${PREFIX}/lib/openafs
+ kldxref ${KMODDIR}
+
+pre-deinstall:
+ @if cmp -s ${PREFIX}/etc/openafs/CellServDB ${PREFIX}/etc/openafs/CellServDB.sample; then \
+ ${RM} ${PREFIX}/etc/openafs/CellServDB; fi
+ @if cmp -s ${PREFIX}/etc/openafs/ThisCell ${PREFIX}/etc/openafs/ThisCell.sample; then \
+ ${RM} ${PREFIX}/etc/openafs/ThisCell; fi
+ @if cmp -s ${PREFIX}/etc/openafs/cacheinfo ${PREFIX}/etc/openafs/cacheinfo.sample; then \
+ ${RM} ${PREFIX}/etc/openafs/cacheinfo; fi
+
+.include <bsd.port.post.mk>
diff --git a/net/openafs/Makefile.man b/net/openafs/Makefile.man
new file mode 100644
index 000000000000..44672c317fc4
--- /dev/null
+++ b/net/openafs/Makefile.man
@@ -0,0 +1,343 @@
+MAN1+= afs.1
+MAN1+= afs_compile_et.1
+MAN1+= afsmonitor.1
+MAN1+= aklog.1
+MAN1+= cmdebug.1
+MAN1+= copyauth.1
+MAN1+= dlog.1
+MAN1+= fs.1
+MAN1+= fs_apropos.1
+MAN1+= fs_checkservers.1
+MAN1+= fs_checkvolumes.1
+MAN1+= fs_chgrp.1
+MAN1+= fs_chown.1
+MAN1+= fs_cleanacl.1
+MAN1+= fs_copyacl.1
+MAN1+= fs_cscpolicy.1
+MAN1+= fs_diskfree.1
+MAN1+= fs_examine.1
+MAN1+= fs_exportafs.1
+MAN1+= fs_flush.1
+MAN1+= fs_flushall.1
+MAN1+= fs_flushmount.1
+MAN1+= fs_flushvolume.1
+MAN1+= fs_getcacheparms.1
+MAN1+= fs_getcalleraccess.1
+MAN1+= fs_getcellstatus.1
+MAN1+= fs_getclientaddrs.1
+MAN1+= fs_getcrypt.1
+MAN1+= fs_getfid.1
+MAN1+= fs_getserverprefs.1
+MAN1+= fs_help.1
+MAN1+= fs_listacl.1
+MAN1+= fs_listaliases.1
+MAN1+= fs_listcells.1
+MAN1+= fs_listquota.1
+MAN1+= fs_lsmount.1
+MAN1+= fs_memdump.1
+MAN1+= fs_messages.1
+MAN1+= fs_minidump.1
+MAN1+= fs_mkmount.1
+MAN1+= fs_monitor.1
+MAN1+= fs_newalias.1
+MAN1+= fs_newcell.1
+MAN1+= fs_quota.1
+MAN1+= fs_rmmount.1
+MAN1+= fs_rxstatpeer.1
+MAN1+= fs_rxstatproc.1
+MAN1+= fs_setacl.1
+MAN1+= fs_setcachesize.1
+MAN1+= fs_setcbaddr.1
+MAN1+= fs_setcell.1
+MAN1+= fs_setclientaddrs.1
+MAN1+= fs_setcrypt.1
+MAN1+= fs_setquota.1
+MAN1+= fs_setserverprefs.1
+MAN1+= fs_setvol.1
+MAN1+= fs_storebehind.1
+MAN1+= fs_sysname.1
+MAN1+= fs_trace.1
+MAN1+= fs_uuid.1
+MAN1+= fs_whereis.1
+MAN1+= fs_whichcell.1
+MAN1+= fs_wscell.1
+MAN1+= klog.1
+MLINKS+= klog.1 klog.krb.1
+MAN1+= klog.krb5.1
+MAN1+= knfs.1
+MAN1+= kpasswd.1
+MAN1+= livesys.1
+MAN1+= pagsh.1
+MLINKS+= pagsh.1 pagsh.krb.1
+MAN1+= pts.1
+MAN1+= pts_adduser.1
+MAN1+= pts_apropos.1
+MAN1+= pts_chown.1
+MAN1+= pts_creategroup.1
+MAN1+= pts_createuser.1
+MAN1+= pts_delete.1
+MAN1+= pts_examine.1
+MAN1+= pts_help.1
+MAN1+= pts_interactive.1
+MAN1+= pts_listentries.1
+MAN1+= pts_listmax.1
+MAN1+= pts_listowned.1
+MAN1+= pts_membership.1
+MAN1+= pts_quit.1
+MAN1+= pts_removeuser.1
+MAN1+= pts_rename.1
+MAN1+= pts_setfields.1
+MAN1+= pts_setmax.1
+MAN1+= pts_sleep.1
+MAN1+= pts_source.1
+MAN1+= restorevol.1
+MAN1+= rxdebug.1
+MAN1+= rxgen.1
+MAN1+= scout.1
+MAN1+= symlink.1
+MAN1+= symlink_list.1
+MAN1+= symlink_make.1
+MAN1+= symlink_remove.1
+MAN1+= sys.1
+MAN1+= tokens.1
+MLINKS+= tokens.1 tokens.krb.1
+MAN1+= translate_et.1
+MAN1+= udebug.1
+MAN1+= unlog.1
+MAN1+= up.1
+MAN1+= vos.1
+MAN1+= vos_addsite.1
+MAN1+= vos_apropos.1
+MAN1+= vos_backup.1
+MAN1+= vos_backupsys.1
+MAN1+= vos_changeloc.1
+MAN1+= vos_changeaddr.1
+MAN1+= vos_clone.1
+MAN1+= vos_convertROtoRW.1
+MAN1+= vos_copy.1
+MAN1+= vos_create.1
+MAN1+= vos_delentry.1
+MAN1+= vos_dump.1
+MAN1+= vos_endtrans.1
+MAN1+= vos_examine.1
+MAN1+= vos_help.1
+MAN1+= vos_listaddrs.1
+MAN1+= vos_listpart.1
+MAN1+= vos_listvldb.1
+MAN1+= vos_listvol.1
+MAN1+= vos_lock.1
+MAN1+= vos_move.1
+MAN1+= vos_offline.1
+MAN1+= vos_online.1
+MAN1+= vos_partinfo.1
+MAN1+= vos_release.1
+MAN1+= vos_remove.1
+MAN1+= vos_remsite.1
+MAN1+= vos_rename.1
+MAN1+= vos_restore.1
+MAN1+= vos_setaddrs.1
+MAN1+= vos_setfields.1
+MAN1+= vos_shadow.1
+MAN1+= vos_size.1
+MAN1+= vos_status.1
+MAN1+= vos_syncserv.1
+MAN1+= vos_syncvldb.1
+MAN1+= vos_unlock.1
+MAN1+= vos_unlockvldb.1
+MAN1+= vos_zap.1
+MAN1+= xstat_cm_test.1
+MAN1+= xstat_fs_test.1
+MAN5+= AuthLog.5
+MAN5+= AuthLog.dir.5
+MAN5+= BackupLog.5
+MAN5+= BosConfig.5
+MAN5+= BosLog.5
+MAN5+= CellAlias.5
+MAN5+= CellServDB.5
+MAN5+= FORCESALVAGE.5
+MAN5+= FileLog.5
+MAN5+= KeyFile.5
+MAN5+= krb.excl.5
+MAN5+= NetInfo.5
+MAN5+= NetRestrict.5
+MAN5+= NoAuth.5
+MAN5+= SALVAGE.fs.5
+MAN5+= SalvageLog.5
+MAN5+= ThisCell.5
+MAN5+= UserList.5
+MAN5+= VLLog.5
+MAN5+= VolserLog.5
+MAN5+= afs.5
+MAN5+= afs_cache.5
+MAN5+= afs_volume_header.5
+MAN5+= afsmonitor.5
+MAN5+= afszcm.cat.5
+MAN5+= bdb.DB0.5
+MAN5+= butc.5
+MAN5+= butc_logs.5
+MAN5+= cacheinfo.5
+MAN5+= fms.log.5
+MAN5+= kaserver.DB0.5
+MAN5+= kaserverauxdb.5
+MAN5+= krb.conf.5
+MAN5+= prdb.DB0.5
+MAN5+= salvage.lock.5
+MAN5+= sysid.5
+MAN5+= tapeconfig.5
+MAN5+= uss.5
+MAN5+= uss_bulk.5
+MAN5+= vldb.DB0.5
+MAN8+= afsd.8
+MAN8+= asetkey.8
+MAN8+= backup.8
+MAN8+= backup_adddump.8
+MAN8+= backup_addhost.8
+MAN8+= backup_addvolentry.8
+MAN8+= backup_addvolset.8
+MAN8+= backup_apropos.8
+MAN8+= backup_dbverify.8
+MAN8+= backup_deldump.8
+MAN8+= backup_deletedump.8
+MAN8+= backup_delhost.8
+MAN8+= backup_delvolentry.8
+MAN8+= backup_delvolset.8
+MAN8+= backup_diskrestore.8
+MAN8+= backup_dump.8
+MAN8+= backup_dumpinfo.8
+MAN8+= backup_help.8
+MAN8+= backup_interactive.8
+MAN8+= backup_jobs.8
+MAN8+= backup_kill.8
+MAN8+= backup_labeltape.8
+MAN8+= backup_listdumps.8
+MAN8+= backup_listhosts.8
+MAN8+= backup_listvolsets.8
+MAN8+= backup_quit.8
+MAN8+= backup_readlabel.8
+MAN8+= backup_restoredb.8
+MAN8+= backup_savedb.8
+MAN8+= backup_scantape.8
+MAN8+= backup_setexp.8
+MAN8+= backup_status.8
+MAN8+= backup_volinfo.8
+MAN8+= backup_volrestore.8
+MAN8+= backup_volsetrestore.8
+MAN8+= bos.8
+MAN8+= bos_addhost.8
+MAN8+= bos_addkey.8
+MAN8+= bos_adduser.8
+MAN8+= bos_apropos.8
+MAN8+= bos_create.8
+MAN8+= bos_delete.8
+MAN8+= bos_exec.8
+MAN8+= bos_getdate.8
+MAN8+= bos_getlog.8
+MAN8+= bos_getrestart.8
+MAN8+= bos_getrestricted.8
+MAN8+= bos_help.8
+MAN8+= bos_install.8
+MAN8+= bos_listhosts.8
+MAN8+= bos_listkeys.8
+MAN8+= bos_listusers.8
+MAN8+= bos_prune.8
+MAN8+= bos_removehost.8
+MAN8+= bos_removekey.8
+MAN8+= bos_removeuser.8
+MAN8+= bos_restart.8
+MAN8+= bos_salvage.8
+MAN8+= bos_setauth.8
+MAN8+= bos_setcellname.8
+MAN8+= bos_setrestart.8
+MAN8+= bos_setrestricted.8
+MAN8+= bos_shutdown.8
+MAN8+= bos_start.8
+MAN8+= bos_startup.8
+MAN8+= bos_status.8
+MAN8+= bos_stop.8
+MAN8+= bos_uninstall.8
+MAN8+= bos_util.8
+MAN8+= bosserver.8
+MAN8+= buserver.8
+MAN8+= butc.8
+MAN8+= davolserver.8
+MAN8+= dasalvager.8
+MAN8+= dafileserver.8
+MAN8+= dafssync-debug.8
+MAN8+= fileserver.8
+MAN8+= fms.8
+MAN8+= fssync-debug_volop.8
+MAN8+= fssync-debug_vnode.8
+MAN8+= fssync-debug_vgcscanall.8
+MAN8+= fssync-debug_vgcscan.8
+MAN8+= fssync-debug_vgcquery.8
+MAN8+= fssync-debug_vgcdel.8
+MAN8+= fssync-debug_vgcadd.8
+MAN8+= fssync-debug_stats.8
+MAN8+= fssync-debug_query.8
+MAN8+= fssync-debug_online.8
+MAN8+= fssync-debug_offline.8
+MAN8+= fssync-debug_move.8
+MAN8+= fssync-debug_mode.8
+MAN8+= fssync-debug_list.8
+MAN8+= fssync-debug_leaveoff.8
+MAN8+= fssync-debug_header.8
+MAN8+= fssync-debug_error.8
+MAN8+= fssync-debug_detach.8
+MAN8+= fssync-debug_callback.8
+MAN8+= fssync-debug_attach.8
+MAN8+= fssync-debug.8
+MAN8+= fstrace.8
+MAN8+= fstrace_apropos.8
+MAN8+= fstrace_clear.8
+MAN8+= fstrace_dump.8
+MAN8+= fstrace_help.8
+MAN8+= fstrace_lslog.8
+MAN8+= fstrace_lsset.8
+MAN8+= fstrace_setlog.8
+MAN8+= fstrace_setset.8
+MAN8+= ka-forwarder.8
+MAN8+= kadb_check.8
+MAN8+= kas.8
+MAN8+= kas_apropos.8
+MAN8+= kas_create.8
+MAN8+= kas_delete.8
+MAN8+= kas_examine.8
+MAN8+= kas_forgetticket.8
+MAN8+= kas_help.8
+MAN8+= kas_interactive.8
+MAN8+= kas_list.8
+MAN8+= kas_listtickets.8
+MAN8+= kas_noauthentication.8
+MAN8+= kas_quit.8
+MAN8+= kas_setfields.8
+MAN8+= kas_setpassword.8
+MAN8+= kas_statistics.8
+MAN8+= kdb.8
+MAN8+= kas_stringtokey.8
+MAN8+= kas_unlock.8
+MAN8+= kaserver.8
+MAN8+= kpwvalid.8
+MAN8+= prdb_check.8
+MAN8+= pt_util.8
+MAN8+= ptserver.8
+MAN8+= read_tape.8
+MAN8+= rmtsysd.8
+MAN8+= salvager.8
+MAN8+= salvageserver.8
+MAN8+= upclient.8
+MAN8+= upserver.8
+MAN8+= uss.8
+MAN8+= uss_add.8
+MAN8+= uss_apropos.8
+MAN8+= uss_bulk.8
+MAN8+= uss_delete.8
+MAN8+= uss_help.8
+MAN8+= vldb_check.8
+MAN8+= vldb_convert.8
+MAN8+= vlserver.8
+MAN8+= voldump.8
+MAN8+= volinfo.8
+MAN8+= volserver.8
+MAN8+= vsys.8
+MAN8+= xfs_size_check.8
+MAN8+= state_analyzer.8
diff --git a/net/openafs/distinfo b/net/openafs/distinfo
new file mode 100644
index 000000000000..b724b782837e
--- /dev/null
+++ b/net/openafs/distinfo
@@ -0,0 +1,6 @@
+SHA256 (openafs-1.6.0pre3-src.tar.bz2) = 4e37553bbd2b9152dc1f78f116421ecf76e799b92dab8bdb544bdda4e9ac0249
+SIZE (openafs-1.6.0pre3-src.tar.bz2) = 14309287
+SHA256 (openafs-1.6.0pre3-doc.tar.bz2) = 78436aa438a8b4ca76e4080e3dc1746aeaebbf7bd7b42dcbe59112a74067f083
+SIZE (openafs-1.6.0pre3-doc.tar.bz2) = 3474560
+SHA256 (CellServDB) = 3a1c77b82e714a6e131dfd93397f08bd2ba5f5cede7997494a39b3d61fe31f8b
+SIZE (CellServDB) = 36891
diff --git a/net/openafs/files/afsd.in b/net/openafs/files/afsd.in
new file mode 100644
index 000000000000..87b500f7cf2d
--- /dev/null
+++ b/net/openafs/files/afsd.in
@@ -0,0 +1,79 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+# PROVIDE: afsd
+# REQUIRE: afsserver named
+# KEYWORD: shutdown
+#
+# We require afsserver for the (rare, untested) case when a client
+# and server are running on the same machine -- the client must not
+# start until the server is running.
+#
+# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# afsd_enable (bool): Set to NO by default.
+# Set it to YES to enable afsd.
+#
+# Suggested values for a "large" configuration:
+# afsd_flags="-stat 2800 -daemons 5 -volumes 128"
+#
+# Suggested values for a "medium" configuration:
+# afsd_flags="-stat 2000 -daemons 3 -volumes 70"
+#
+# Suggested values for a "small" configuration:
+# afsd_flags="-stat 300 -daemons 2 -volumes 50"
+
+. /etc/rc.subr
+
+name="afsd"
+rcvar="afsd_enable"
+
+command="%%PREFIX%%/sbin/${name}"
+command_args="-dynroot -fakestat-all -afsdb -memcache"
+
+start_precmd="afsd_prestart"
+start_postcmd="afsd_poststart"
+stop_cmd="afsd_stop"
+
+kmod="libafs"
+vicedir="%%PREFIX%%/etc/openafs"
+required_modules="libafs:afs"
+required_files="${vicedir}/cacheinfo ${vicedir}/ThisCell ${vicedir}/CellServDB"
+
+load_rc_config "$name"
+
+: ${afsd_enable:="NO"}
+: ${afsd_flags:="-stat 2800 -daemons 6 -volumes 128"}
+
+afsd_prestart()
+{
+ local dir
+
+ # need a mountpoint and a cache dir (well, if we have a disk cache)
+ # Should use required_dirs, but no good way to extract from cacheinfo
+ for dir in $(awk -F: '{print $1, $2}' ${vicedir}/cacheinfo); do
+ if [ ! -d "${dir}" ]; then
+ err 1 "Directory ${dir} does not exist. Not starting AFS client."
+ fi
+ done
+}
+
+afsd_poststart()
+{
+ %%PREFIX%%/bin/fs setcrypt -crypt on
+}
+
+afsd_stop()
+{
+ local afsdir
+
+ afsdir=$(awk -F: '{print $1}' ${vicedir}/cacheinfo)
+ if ! umount $afsdir; then
+ [ -n "${rc_force}" ] && umount -f ${afsdir}
+ fi
+ kldunload ${kmod}
+}
+
+run_rc_command "$1"
diff --git a/net/openafs/files/afsserver.in b/net/openafs/files/afsserver.in
new file mode 100644
index 000000000000..531caa3c449c
--- /dev/null
+++ b/net/openafs/files/afsserver.in
@@ -0,0 +1,36 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+# PROVIDE: afsserver
+# REQUIRE: networking
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# afsserver_enable (bool): Set to NO by default.
+# Set it to YES to enable AFS server activities.
+
+. /etc/rc.subr
+
+name="afsserver"
+rcvar="afsserver_enable"
+
+command="%%PREFIX%%/sbin/bosserver"
+
+stop_precmd="afsserver_prestop"
+
+vicedir="%%PREFIX%%/etc/openafs/server"
+required_files="${vicedir}/CellServDB ${vicedir}/KeyFile ${vicedir}/ThisCell ${vicedir}/UserList"
+
+load_rc_config "$name"
+
+: ${afsserver_enable:="NO"}
+
+afsserver_prestop()
+{
+ %%PREFIX%%/bin/bos shutdown -localauth -server localhost
+}
+
+run_rc_command "$1"
diff --git a/net/openafs/pkg-descr b/net/openafs/pkg-descr
new file mode 100644
index 000000000000..507dfbe05f22
--- /dev/null
+++ b/net/openafs/pkg-descr
@@ -0,0 +1,15 @@
+AFS is a distributed filesystem product, pioneered at Carnegie Mellon
+University and supported and developed as a product by Transarc Corporation
+(now IBM Pittsburgh Labs). It offers a client-server architecture for
+federated file sharing and replicated read-only content distribution,
+providing location independence, scalability, security, and transparent
+migration capabilities. AFS is available for a broad range of heterogeneous
+systems including UNIX, Linux, MacOS X, and Microsoft Windows.
+
+IBM branched the source of the AFS product, and made a copy of the source
+available for community development and maintenance. They called the
+release OpenAFS.
+
+WWW: http://www.openafs.org/
+
+- bsam
diff --git a/net/openafs/pkg-plist b/net/openafs/pkg-plist
new file mode 100644
index 000000000000..147578a25d95
--- /dev/null
+++ b/net/openafs/pkg-plist
@@ -0,0 +1,286 @@
+bin/rxgen
+bin/sys
+bin/pagsh.krb
+bin/udebug
+bin/pagsh
+bin/klog.krb
+bin/knfs
+bin/pts
+bin/klog
+bin/tokens.krb
+bin/scout
+bin/xstat_cm_test
+bin/kpasswd
+bin/kpwvalid
+bin/bos
+bin/unlog
+bin/tokens
+bin/livesys
+bin/up
+bin/fs
+bin/xstat_fs_test
+bin/afsmonitor
+bin/cmdebug
+bin/translate_et
+bin/afs_compile_et
+bin/restorevol
+bin/klog.krb5
+bin/asetkey
+bin/aklog
+include/openafs/afs/param.h
+include/openafs/afs/stds.h
+include/openafs/afs/afs_sysnames.h
+include/openafs/afs/afs_args.h
+include/openafs/afs/icl.h
+include/openafs/afs/venus.h
+include/openafs/afs/pthread_nosigs.h
+include/openafs/afs/procmgmt.h
+include/openafs/afs/dirpath.h
+include/openafs/afs/fileutil.h
+include/openafs/afs/netutils.h
+include/openafs/afs/errors.h
+include/openafs/afs/vice.h
+include/openafs/afs/remote.h
+include/openafs/afs/ktime.h
+include/openafs/afs/afsutil_prototypes.h
+include/openafs/afs/packages.h
+include/openafs/afs/afsutil.h
+include/openafs/afs/pthread_glock.h
+include/openafs/afs/cmd.h
+include/openafs/afs/afs_atomlist.h
+include/openafs/afs/afs_lhash.h
+include/openafs/afs/softsig.h
+include/openafs/afs/com_err.h
+include/openafs/afs/error_table.h
+include/openafs/afs/mit-sipb-cr.h
+include/openafs/afs/afs.h
+include/openafs/afs/osi_inode.h
+include/openafs/afs/afs_stats.h
+include/openafs/afs/exporter.h
+include/openafs/afs/nfsclient.h
+include/openafs/afs/unified_afs.h
+include/openafs/afs/sysctl.h
+include/openafs/afs/rxgen_consts.h
+include/openafs/afs/afsint.h
+include/openafs/afs/afscbint.h
+include/openafs/afs/afssyscalls.h
+include/openafs/afs/xfsattrs.h
+include/openafs/afs/audit.h
+include/openafs/afs/keys.h
+include/openafs/afs/cellconfig.h
+include/openafs/afs/auth.h
+include/openafs/afs/ktc.h
+include/openafs/afs/prclient.h
+include/openafs/afs/prerror.h
+include/openafs/afs/print.h
+include/openafs/afs/prserver.h
+include/openafs/afs/ptclient.h
+include/openafs/afs/ptuser.h
+include/openafs/afs/pterror.h
+include/openafs/afs/ptint.h
+include/openafs/afs/ptserver.h
+include/openafs/afs/acl.h
+include/openafs/afs/prs_fs.h
+include/openafs/afs/kautils.h
+include/openafs/afs/kauth.h
+include/openafs/afs/kaport.h
+include/openafs/afs/bumon.h
+include/openafs/afs/butc.h
+include/openafs/afs/bubasics.h
+include/openafs/afs/tcdata.h
+include/openafs/afs/butm.h
+include/openafs/afs/butx.h
+include/openafs/afs/usd.h
+include/openafs/afs/dir.h
+include/openafs/afs/nfs.h
+include/openafs/afs/vnode.h
+include/openafs/afs/viceinode.h
+include/openafs/afs/volume.h
+include/openafs/afs/voldefs.h
+include/openafs/afs/partition.h
+include/openafs/afs/fssync.h
+include/openafs/afs/ihandle.h
+include/openafs/afs/namei_ops.h
+include/openafs/afs/vl_opcodes.h
+include/openafs/afs/vlserver.h
+include/openafs/afs/vldbint.h
+include/openafs/afs/cnvldb.h
+include/openafs/afs/fs_stats.h
+include/openafs/afs/volser.h
+include/openafs/afs/volint.h
+include/openafs/afs/budb.h
+include/openafs/afs/budb_errs.h
+include/openafs/afs/budb_client.h
+include/openafs/afs/bosint.h
+include/openafs/afs/bnode.h
+include/openafs/afs/gtxcurseswin.h
+include/openafs/afs/gtxdumbwin.h
+include/openafs/afs/gtxframe.h
+include/openafs/afs/gtxinput.h
+include/openafs/afs/gtxkeymap.h
+include/openafs/afs/gtxlightobj.h
+include/openafs/afs/gtxobjdict.h
+include/openafs/afs/gtxobjects.h
+include/openafs/afs/gtxtextcb.h
+include/openafs/afs/gtxtextobj.h
+include/openafs/afs/gtxwindows.h
+include/openafs/afs/gtxX11win.h
+include/openafs/afs/fsprobe.h
+include/openafs/afs/xstat_fs.h
+include/openafs/afs/xstat_cm.h
+include/openafs/afs/vioc.h
+include/openafs/afs/afs_consts.h
+include/openafs/afs/pagcb.h
+include/openafs/afs/vnode_inline.h
+include/openafs/afs/volume_inline.h
+include/openafs/afs/salvsync.h
+include/openafs/afs/daemon_com.h
+include/openafs/afs/vsutils_prototypes.h
+include/openafs/afs/afs_assert.h
+include/openafs/des.h
+include/openafs/des_conf.h
+include/openafs/des_odd.h
+include/openafs/des_prototypes.h
+include/openafs/kopenafs.h
+include/openafs/lock.h
+include/openafs/lwp.h
+include/openafs/preempt.h
+include/openafs/mit-cpyright.h
+include/openafs/rx/rx_prototypes.h
+include/openafs/rx/rx.h
+include/openafs/rx/rx_packet.h
+include/openafs/rx/xdr_prototypes.h
+include/openafs/rx/rxstat.h
+include/openafs/rx/rx_user.h
+include/openafs/rx/rx_event.h
+include/openafs/rx/rx_queue.h
+include/openafs/rx/rx_globals.h
+include/openafs/rx/rx_clock.h
+include/openafs/rx/rx_multi.h
+include/openafs/rx/rx_pthread.h
+include/openafs/rx/rx_lwp.h
+include/openafs/rx/rx_misc.h
+include/openafs/rx/rx_null.h
+include/openafs/rx/xdr.h
+include/openafs/rx/rxkad_prototypes.h
+include/openafs/rx/fcrypt.h
+include/openafs/rx/rxkad.h
+include/openafs/timer.h
+include/openafs/ubik.h
+include/openafs/ubik_int.h
+lib/afs/libacl.a
+lib/afs/libafsint.a
+lib/afs/libafsutil.a
+lib/afs/libaudit.a
+lib/afs/libauth.a
+lib/afs/libauth.krb.a
+lib/afs/libbos.a
+lib/afs/libbubasics.a
+lib/afs/libbudb.a
+lib/afs/libbutm.a
+lib/afs/libbxdb.a
+lib/afs/libcmd.a
+lib/afs/libcom_err.a
+lib/afs/libdir.a
+lib/afs/libfsprobe.a
+lib/afs/libgtx.a
+lib/afs/libkauth.a
+lib/afs/libkauth.krb.a
+lib/afs/libprocmgmt.a
+lib/afs/libprot.a
+lib/afs/libsys.a
+lib/afs/libusd.a
+lib/afs/libvldb.a
+lib/afs/libvlib.a
+lib/afs/libvolser.a
+lib/afs/libxstat_cm.a
+lib/afs/libxstat_fs.a
+lib/afs/util.a
+lib/afs/vlib.a
+lib/librxstat.a
+lib/libdes.a
+lib/liblwp.a
+lib/librx.a
+lib/librxkad.a
+lib/libafsauthent.a
+lib/libuafs.a
+lib/libubik.a
+lib/libafsrpc.a
+lib/pam_afs.krb.so.1
+lib/libjuafs.a
+lib/pam_afs.so.1
+lib/libafsrpc_pic.a
+lib/libafsrpc.so.1.5
+lib/libafsrpc.so.1
+lib/libafsrpc.so
+lib/libafsauthent_pic.a
+lib/libafsauthent.so.1
+lib/libafsauthent.so.1.1
+lib/libafsauthent.so
+lib/libkopenafs.so.1.1
+lib/libkopenafs.so.1
+lib/libkopenafs.so
+lib/libkopenafs.a
+libexec/openafs/buserver
+libexec/openafs/fileserver
+libexec/openafs/dafileserver
+libexec/openafs/kaserver
+libexec/openafs/ptserver
+libexec/openafs/salvager
+libexec/openafs/upclient
+libexec/openafs/upserver
+libexec/openafs/vlserver
+libexec/openafs/volserver
+libexec/openafs/salvageserver
+libexec/openafs/dasalvager
+share/openafs/C/afszcm.cat
+%%FUSE%%sbin/afsd.fuse
+sbin/dafssync-debug
+sbin/prdb_check
+sbin/kas
+sbin/kdb
+sbin/rmtsysd
+sbin/pt_util
+sbin/kadb_check
+sbin/ka-forwarder
+sbin/kpwvalid
+sbin/volinfo
+sbin/afsd
+sbin/vsys
+sbin/vldb_convert
+sbin/vldb_check
+sbin/read_tape
+sbin/bosserver
+sbin/voldump
+sbin/vos
+sbin/uss
+sbin/backup
+sbin/butc
+sbin/kdump
+sbin/rxdebug
+sbin/bos_util
+sbin/fms
+sbin/fstrace
+sbin/state_analyzer
+sbin/salvsync-debug
+sbin/fssync-debug
+@unexec if cmp -s %D/etc/openafs/CellServDB.sample %D/etc/openafs/CellServDB ; then rm %D/etc/openafs/CellServDB ; fi
+etc/openafs/CellServDB.sample
+@exec if [ ! -e %D/etc/openafs/CellServDB ] ; then cp %D/etc/openafs/CellServDB.sample %D/etc/openafs/CellServDB ; fi
+@unexec if cmp -s %D/etc/openafs/ThisCell.sample %D/etc/openafs/ThisCell ; then rm %D/etc/openafs/ThisCell ; fi
+etc/openafs/ThisCell.sample
+@exec if [ ! -e %D/etc/openafs/ThisCell ] ; then cp -p %D/etc/openafs/ThisCell.sample %D/etc/openafs/ThisCell ; fi
+@unexec if cmp -s %D/etc/openafs/cacheinfo.sample %D/etc/openafs/cacheinfo ; then rm %D/etc/openafs/cacheinfo ; fi
+etc/openafs/cacheinfo.sample
+@exec if [ ! -e %D/etc/openafs/cacheinfo ] ; then cp -p %D/etc/openafs/cacheinfo.sample %D/etc/openafs/cacheinfo ; fi
+@dirrm include/openafs/rx
+@dirrm include/openafs/afs
+@dirrm include/openafs
+@dirrm lib/afs
+@dirrm libexec/openafs
+@dirrmtry etc/openafs
+@dirrm share/openafs/C
+@dirrm share/openafs
+@cwd /boot/modules
+libafs.ko
+@exec kldxref /boot/modules