diff -urN openafs/Makefile openafs.submit/Makefile
--- openafs/Makefile	2011-06-20 03:09:35.000000000 -0400
+++ openafs.submit/Makefile	2011-06-26 19:44:47.000000000 -0400
@@ -32,11 +32,19 @@
 
 ONLY_FOR_ARCHS=	i386 amd64
 
+AFSMNTDIR?=	/afs
+AFSSTATEDIR?=	/var/${PORTNAME}
+AFSCACHEDIR?=	${AFSSTATEDIR}/cache
+PLIST_SUB+=	AFSMNTDIR=${AFSMNTDIR:C,^/,,} \
+		AFSSTATEDIR=${AFSSTATEDIR:C,^/,,} \
+		AFSCACHEDIR=${AFSCACHEDIR:C,^/,,}
+
 .include <bsd.port.pre.mk>
 
 KERNCONF?=	GENERIC
 KERNCONFDIR?=	${SRC_BASE}/sys/${ARCH}/conf
 KMODDIR=	/boot/modules
+PLIST_SUB+=	KMODDIR=${KMODDIR:C,^/,,}
 
 .if !exists(${KERNCONFDIR}/${KERNCONF})
 IGNORE=	requires kernel configuration file ${KERNCONF} to build
@@ -77,7 +85,7 @@
 
 create-sample-files:
 	@${ECHO_CMD} openafs.org > ${WRKDIR}/ThisCell
-	@${ECHO_CMD} '/afs:/usr/vice/cache:150000' > ${WRKDIR}/cacheinfo
+	@${ECHO_CMD} "${AFSMNTDIR}:${AFSCACHEDIR}:150000" > ${WRKDIR}/cacheinfo
 	@${INSTALL_DATA} ${DISTDIR}/CellServDB ${WRKDIR}/CellServDB
 
 post-install: create-sample-files
@@ -91,6 +99,9 @@
 	${INSTALL_KLD} ${PREFIX}/lib/openafs/libafs.ko ${KMODDIR}/
 	@${RM} ${PREFIX}/lib/openafs/libafs.ko
 	@${RMDIR} ${PREFIX}/lib/openafs
+	${MKDIR} ${AFSMNTDIR}
+	${MKDIR} ${AFSSTATEDIR}
+	${MKDIR} ${AFSCACHEDIR}
 	/usr/sbin/kldxref ${KMODDIR}
 
 .include <bsd.port.post.mk>
diff -urN openafs/pkg-plist openafs.submit/pkg-plist
--- openafs/pkg-plist	2011-06-17 02:14:18.000000000 -0400
+++ openafs.submit/pkg-plist	2011-06-26 19:44:26.000000000 -0400
@@ -280,6 +280,13 @@
 @dirrmtry etc/openafs
 @dirrm %%DATADIR%%/C
 @dirrm %%DATADIR%%
-@cwd /boot/modules
-libafs.ko
-@exec kldxref /boot/modules
+@cwd /
+%%KMODDIR%%/libafs.ko
+@exec /usr/sbin/kldxref /%%KMODDIR%%
+@unexec /usr/sbin/kldxref /%%KMODDIR%%
+@exec mkdir -p %D/%%AFSMNTDIR%%
+@exec mkdir -p %D/%%AFSSTATEDIR%%
+@exec mkdir -p %D/%%AFSCACHEDIR%%
+@dirrmtry %%AFSMNTDIR%%
+@dirrmtry %%AFSCACHEDIR%%
+@dirrmtry %%AFSSTATEDIR%%
