diff -N -u -r openafs.old/Makefile openafs.submit/Makefile
--- openafs.old/Makefile	2011-05-24 20:09:37.000000000 -0400
+++ openafs.submit/Makefile	2011-06-16 14:08:02.000000000 -0400
@@ -3,11 +3,11 @@
 # Whom:                                 Ben Kaduk <kaduk@mit.edu>
 # Based on:                             port by Alec Kloss <alec@setfilepointer.com>
 #
-# $FreeBSD: ports/net/openafs/Makefile,v 1.1 2011/05/25 00:09:37 wxs Exp $
+# $FreeBSD$
 #
 
 PORTNAME=	openafs
-DISTVERSION=	1.6.0pre3
+DISTVERSION=	1.6.0pre6
 CATEGORIES=	net kld
 MASTER_SITES=	http://dl.central.org/dl/openafs/candidate/${DISTVERSION}/:openafs \
 		http://dl.openafs.org/dl/openafs/candidate/${DISTVERSION}/:openafs \
@@ -26,37 +26,35 @@
 
 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
+.include <bsd.port.pre.mk>
+
+KERNCONF?=	GENERIC
+KERNCONFDIR?=	${SRC_BASE}/sys/${ARCH}/conf
 KMODDIR=	/boot/modules
 
-.include <bsd.port.pre.mk>
+.if !exists(${KERNCONFDIR}/${KERNCONF})
+IGNORE=	requires kernel configuration file ${KERNCONF} to build
+.endif
 
 .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} \
+	--mandir=${MANPREFIX}/man \
+	--with-bsd-kernel-build=${WRKDIR}/conf \
 	--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' \
+	--includedir=${PREFIX}/include/openafs \
+	${CONFIGURE_TARGET}
 
 .if !defined(WITH_FUSE)
 CONFIGURE_ARGS+=	--disable-fuse-client
@@ -72,30 +70,26 @@
 
 .include "Makefile.man"
 
-post-install:
+post-extract:
+	${MKDIR} ${WRKDIR}/conf
+	cd ${KERNCONFDIR} && /usr/sbin/config -d ${WRKDIR}/conf ${KERNCONF}
+
+create-sample-files:
+	@${ECHO_CMD} openafs.org > ${WRKDIR}/ThisCell
+	@${ECHO_CMD} '/afs:/usr/vice/cache:150000' > ${WRKDIR}/cacheinfo
+	@${INSTALL_DATA} ${DISTDIR}/CellServDB ${WRKDIR}/CellServDB
+
+post-install: create-sample-files
 	@${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 ; \
+.for F in CellServDB ThisCell cacheinfo
+	@${INSTALL_DATA} ${WRKDIR}/${F} ${PREFIX}/etc/openafs/${F}.sample
+	@if [ ! -e ${PREFIX}/etc/openafs/${F} ]; then \
+		${INSTALL_DATA} ${WRKDIR}/${F} ${PREFIX}/etc/openafs/${F}; \
 	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}/
+.endfor
+	${INSTALL_KLD} ${PREFIX}/lib/openafs/libafs.ko ${KMODDIR}/
+	@${RM} ${PREFIX}/lib/openafs/libafs.ko
 	@${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
+	/usr/sbin/kldxref ${KMODDIR}
 
 .include <bsd.port.post.mk>
diff -N -u -r openafs.old/distinfo openafs.submit/distinfo
--- openafs.old/distinfo	2011-05-24 20:09:37.000000000 -0400
+++ openafs.submit/distinfo	2011-06-05 22:50:18.000000000 -0400
@@ -1,6 +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 (openafs-1.6.0pre6-src.tar.bz2) = 34a9c959949b1a8395bc299656fb7aaae1087ee85d00d9823606db9d4d8413e5
+SIZE (openafs-1.6.0pre6-src.tar.bz2) = 14308775
+SHA256 (openafs-1.6.0pre6-doc.tar.bz2) = 53db2ee049a00522072c79ea63916e8621ae4498a68e9002157c4ecaa8d61216
+SIZE (openafs-1.6.0pre6-doc.tar.bz2) = 3474552
 SHA256 (CellServDB) = 3a1c77b82e714a6e131dfd93397f08bd2ba5f5cede7997494a39b3d61fe31f8b
 SIZE (CellServDB) = 36891
diff -N -u -r openafs.old/files/afsd.in openafs.submit/files/afsd.in
--- openafs.old/files/afsd.in	2011-05-24 20:09:37.000000000 -0400
+++ openafs.submit/files/afsd.in	2011-06-16 14:07:48.000000000 -0400
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $FreeBSD: ports/net/openafs/files/afsd.in,v 1.1 2011/05/25 00:09:37 wxs Exp $
+# $FreeBSD$
 #
 # PROVIDE: afsd
 # REQUIRE: afsserver named
@@ -13,8 +13,8 @@
 # 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.
+# 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"
@@ -49,31 +49,31 @@
 
 afsd_prestart()
 {
-        local dir
+	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
+	# 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
+	%%PREFIX%%/bin/fs setcrypt -crypt on
 }
 
 afsd_stop()
 {
-        local afsdir
+	local afsdir
 
-        afsdir=$(awk -F: '{print $1}' ${vicedir}/cacheinfo)
-        if ! umount $afsdir; then
-                [ -n "${rc_force}" ] && umount -f ${afsdir}
-        fi
-        kldunload ${kmod}
+	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 -N -u -r openafs.old/files/afsserver.in openafs.submit/files/afsserver.in
--- openafs.old/files/afsserver.in	2011-05-24 20:09:37.000000000 -0400
+++ openafs.submit/files/afsserver.in	2011-06-16 14:07:48.000000000 -0400
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $FreeBSD: ports/net/openafs/files/afsserver.in,v 1.1 2011/05/25 00:09:37 wxs Exp $
+# $FreeBSD$
 #
 # PROVIDE: afsserver
 # REQUIRE: networking
@@ -9,8 +9,8 @@
 # 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.
+# afsserver_enable (bool):	Set to NO by default.
+#				Set it to YES to enable AFS server activities.
 
 . /etc/rc.subr
 
@@ -30,7 +30,7 @@
 
 afsserver_prestop()
 {
-        %%PREFIX%%/bin/bos shutdown -localauth -server localhost
+	%%PREFIX%%/bin/bos shutdown -localauth -server localhost
 }
 
 run_rc_command "$1"
diff -N -u -r openafs.old/files/patch-src__afs__Makefile.in openafs.submit/files/patch-src__afs__Makefile.in
--- openafs.old/files/patch-src__afs__Makefile.in	1969-12-31 19:00:00.000000000 -0500
+++ openafs.submit/files/patch-src__afs__Makefile.in	2011-06-16 14:07:48.000000000 -0400
@@ -0,0 +1,26 @@
+--- ./src/afs/Makefile.in.orig	2011-05-27 13:35:30.000000000 -0400
++++ ./src/afs/Makefile.in	2011-06-16 13:27:08.000000000 -0400
+@@ -36,8 +36,6 @@
+ 			gencat --new afszcm.cat afs_trace.msf ;; \
+ 		*_darwin_* ) \
+ 			gencat -new afszcm.cat afs_trace.msf ;; \
+-		i386_fbsd*) \
+-			echo No gencat for ${SYS_NAME} ;; \
+ 		* ) \
+ 			gencat afszcm.cat afs_trace.msf ;; \
+ 	esac
+@@ -87,13 +85,7 @@
+ 	    ${DESTDIR}${includedir}/afs/osi_inode.h
+ 	${INSTALL_DATA} ${srcdir}/sysctl.h ${DESTDIR}${includedir}/afs/sysctl.h
+ 	${INSTALL_DATA} unified_afs.h ${DESTDIR}${includedir}/afs/unified_afs.h
+-	case ${SYS_NAME} in \
+-	    i386_fbsd*) \
+-		echo skipping afszcm.cat install for ${SYS_NAME} ;; \
+-	    *) \
+-		${INSTALL_DATA} afszcm.cat \
+-		    ${DESTDIR}${afsdatadir}/C/afszcm.cat ;; \
+-	esac
++	${INSTALL_DATA} afszcm.cat ${DESTDIR}${afsdatadir}/C/afszcm.cat
+ 	case ${SYS_NAME} in \
+ 	    *linux*) \
+ 		${INSTALL_DATA} ${srcdir}/${MKAFS_OSTYPE}/osi_vfs.h \
diff -N -u -r openafs.old/files/patch-src__afs__afs_call.c openafs.submit/files/patch-src__afs__afs_call.c
--- openafs.old/files/patch-src__afs__afs_call.c	1969-12-31 19:00:00.000000000 -0500
+++ openafs.submit/files/patch-src__afs__afs_call.c	2011-06-16 14:07:48.000000000 -0400
@@ -0,0 +1,12 @@
+--- ./src/afs/afs_call.c.orig	2011-06-16 13:25:10.000000000 -0400
++++ ./src/afs/afs_call.c	2011-06-16 13:26:19.000000000 -0400
+@@ -1253,7 +1253,9 @@
+ 	afs_warn("afs: WARM ");
+     afs_warn("shutting down of: vcaches... ");
+ 
++#if !defined(AFS_FBSD_ENV)
+     afs_FlushAllVCaches();
++#endif
+ 
+     afs_warn("CB... ");
+ 
diff -N -u -r openafs.old/files/patch-src__venus__Makefile.in openafs.submit/files/patch-src__venus__Makefile.in
--- openafs.old/files/patch-src__venus__Makefile.in	1969-12-31 19:00:00.000000000 -0500
+++ openafs.submit/files/patch-src__venus__Makefile.in	2011-06-16 14:07:48.000000000 -0400
@@ -0,0 +1,11 @@
+--- ./src/venus/Makefile.in.orig	2011-06-16 13:45:41.000000000 -0400
++++ ./src/venus/Makefile.in	2011-06-16 13:53:49.000000000 -0400
+@@ -298,6 +298,8 @@
+ 	hp_ux11* ) \
+ 		${INSTALL_SCRIPT} kdump.sh.hp_ux11 ${DESTDIR}${sbindir}/kdump; \
+ 		${INSTALL_PROGRAM} kdump-build ${DESTDIR}${sbindir}/kdump ;; \
++	*_fbsd* ) \
++		;; \
+ 	*) \
+ 		${INSTALL_PROGRAM} kdump-build ${DESTDIR}${sbindir}/kdump ;; \
+ 	esac
diff -N -u -r openafs.old/pkg-plist openafs.submit/pkg-plist
--- openafs.old/pkg-plist	2011-05-24 20:09:37.000000000 -0400
+++ openafs.submit/pkg-plist	2011-06-05 22:45:41.000000000 -0400
@@ -180,7 +180,7 @@
 lib/afs/libbutm.a
 lib/afs/libbxdb.a
 lib/afs/libcmd.a
-lib/afs/libcom_err.a
+lib/afs/libafscom_err.a
 lib/afs/libdir.a
 lib/afs/libfsprobe.a
 lib/afs/libgtx.a
@@ -233,7 +233,7 @@
 libexec/openafs/volserver
 libexec/openafs/salvageserver
 libexec/openafs/dasalvager
-share/openafs/C/afszcm.cat
+%%DATADIR%%/C/afszcm.cat
 %%FUSE%%sbin/afsd.fuse
 sbin/dafssync-debug
 sbin/prdb_check
@@ -256,7 +256,6 @@
 sbin/uss
 sbin/backup
 sbin/butc
-sbin/kdump
 sbin/rxdebug
 sbin/bos_util
 sbin/fms
@@ -279,8 +278,8 @@
 @dirrm lib/afs
 @dirrm libexec/openafs
 @dirrmtry etc/openafs
-@dirrm share/openafs/C
-@dirrm share/openafs
+@dirrm %%DATADIR%%/C
+@dirrm %%DATADIR%%
 @cwd /boot/modules
 libafs.ko
 @exec kldxref /boot/modules
