aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcelo Araujo <araujo@FreeBSD.org>2007-12-16 13:17:26 +0000
committerMarcelo Araujo <araujo@FreeBSD.org>2007-12-16 13:17:26 +0000
commitd5f5e237774c024c3f9425b0f22994a5d1a77adf (patch)
tree4a025b23080e1fcbc668438d9c280542730e9479
parentb07f4068ac763dd1e236ebd3582fb3e9fe59c5ab (diff)
Notes
-rw-r--r--security/sfs/Makefile8
-rw-r--r--security/sfs/files/sfscd.in48
-rw-r--r--security/sfs/files/sfscd.sh17
-rw-r--r--security/sfs/files/sfssd.in26
-rw-r--r--security/sfs/files/sfssd.sh17
-rw-r--r--security/sfs/pkg-plist4
6 files changed, 77 insertions, 43 deletions
diff --git a/security/sfs/Makefile b/security/sfs/Makefile
index 8e2d1d08b99c..4273d1a4edf2 100644
--- a/security/sfs/Makefile
+++ b/security/sfs/Makefile
@@ -8,7 +8,7 @@
PORTNAME= sfs
PORTVERSION= 0.7.2
-PORTREVISION= 7
+PORTREVISION= 8
CATEGORIES= security net
MASTER_SITES= http://www.fs.net/sfswww/dist/
@@ -19,6 +19,8 @@ PLIST_SUB= SFS_VERSION=${PORTVERSION}
INFO= sfs
+USE_RC_SUBR= sfscd sfssd
+
USE_GMAKE= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS+=--with-sfsuser=sfs \
@@ -65,8 +67,6 @@ MAN8= \
vidb.8
post-extract:
- @${SED} -e "s=%%PREFIX%%=${PREFIX}=g" ${FILESDIR}/sfscd.sh > ${WRKSRC}/sfscd.sh
- @${SED} -e "s=%%PREFIX%%=${PREFIX}=g" ${FILESDIR}/sfssd.sh > ${WRKSRC}/sfssd.sh
@${FIND} -E ${WRKDIR} -type f -iregex ".*\.(C|h)" -print0 | \
${XARGS} -0 ${REINPLACE_CMD} -e 's/template get/get/'
@@ -115,8 +115,6 @@ pre-install:
post-install:
${INSTALL_SCRIPT} ${WRKSRC}/sfsauthd/upgradedb.pl ${PREFIX}/lib/sfs-${PORTVERSION}/upgradedb.pl
- ${INSTALL_SCRIPT} ${WRKSRC}/sfscd.sh ${PREFIX}/etc/rc.d/sfscd.sh.sample
- ${INSTALL_SCRIPT} ${WRKSRC}/sfssd.sh ${PREFIX}/etc/rc.d/sfssd.sh.sample
${MKDIR} ${PREFIX}/etc/sfs
${INSTALL_DATA} ${FILESDIR}/etc-sfsrwsd_config.sample ${PREFIX}/etc/sfs/sfsrwsd_config.sample
${MKDIR} ${PREFIX}/share/doc/sfs
diff --git a/security/sfs/files/sfscd.in b/security/sfs/files/sfscd.in
new file mode 100644
index 000000000000..7f8dd75b5e9f
--- /dev/null
+++ b/security/sfs/files/sfscd.in
@@ -0,0 +1,48 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+# PROVIDE: sfscd
+# REQUIRE: NETWORKING
+# KEYWORD: shutdown
+#
+# Add the following line to /etc/rc.conf to enable the sfscd daemon:
+#
+# sfscd_enable="YES"
+#
+
+. %%RC_SUBR%%
+
+name=sfscd
+rcvar=`set_rcvar`
+
+command="%%PREFIX%%/sbin/${name}"
+pidfile="/var/run/${name}.pid"
+
+stop_cmd=stop_cmd
+
+stop_cmd() {
+ echo "Stopping ${name}"
+
+ users_mounts=`mount | awk '/^@.* on \./ { print $1 }'`
+
+ if [ -n $user_mounts] ; then
+ `echo $users_mounts | xargs umount -f`
+ fi
+
+ if [ -d /sfs/.mnt ] ; then
+ for dir in /sfs/.mnt/*; do
+ umount -f $dir
+ done
+
+ umount -f /sfs
+ fi
+
+ pkill -9 nfsmounter
+}
+
+# set defaults
+sfscd_enable=${sfscd_enable:-"NO"}
+
+load_rc_config ${name}
+run_rc_command "$1"
diff --git a/security/sfs/files/sfscd.sh b/security/sfs/files/sfscd.sh
deleted file mode 100644
index a3c977efbcdb..000000000000
--- a/security/sfs/files/sfscd.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-
-PIDFILE=/var/run/sfscd.pid
-
-case "$1" in
-start)
- [ -x %%PREFIX%%/sbin/sfscd ] && %%PREFIX%%/sbin/sfscd && echo -n ' sfscd'
- ;;
-stop)
- [ -r $PIDFILE ] && kill -TERM `cat $PIDFILE` && echo -n ' sfscd'
- ;;
-*)
- echo "Usage: `basename $0` {start|stop}" >&2
- ;;
-esac
-
-exit 0
diff --git a/security/sfs/files/sfssd.in b/security/sfs/files/sfssd.in
new file mode 100644
index 000000000000..ac07024603bb
--- /dev/null
+++ b/security/sfs/files/sfssd.in
@@ -0,0 +1,26 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+# PROVIDE: sfssd
+# REQUIRE: NETWORKING
+# KEYWORD: shutdown
+#
+# Add the following line to /etc/rc.conf to enable the sfssd daemon:
+#
+# sfssd_enable="YES"
+#
+
+. %%RC_SUBR%%
+
+name=sfssd
+rcvar=`set_rcvar`
+
+command="%%PREFIX%%/sbin/${name}"
+pidfile="/var/run/${name}.pid"
+
+# set defaults
+sfssd_enable=${sfssd_enable:-"NO"}
+
+load_rc_config ${name}
+run_rc_command "$1"
diff --git a/security/sfs/files/sfssd.sh b/security/sfs/files/sfssd.sh
deleted file mode 100644
index c288a91919ae..000000000000
--- a/security/sfs/files/sfssd.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-
-PIDFILE=/var/run/sfssd.pid
-
-case "$1" in
-start)
- [ -x %%PREFIX%%/sbin/sfssd ] && %%PREFIX%%/sbin/sfssd && echo -n ' sfssd'
- ;;
-stop)
- [ -r $PIDFILE ] && kill -TERM `cat $PIDFILE` && echo -n ' sfssd'
- ;;
-*)
- echo "Usage: `basename $0` {start|stop}" >&2
- ;;
-esac
-
-exit 0
diff --git a/security/sfs/pkg-plist b/security/sfs/pkg-plist
index ccb625832089..1c38c47e8316 100644
--- a/security/sfs/pkg-plist
+++ b/security/sfs/pkg-plist
@@ -7,10 +7,6 @@ bin/sfsdeclog
bin/sfskey
bin/sfsproac
bin/ssu
-@unexec if [ -f %D/etc/rc.d/sfscd.sh ]; then cmp -s %D/etc/rc.d/sfscd.sh.sample %D/etc/rc.d/sfscd.sh && rm -f %D/etc/rc.d/sfscd.sh || echo "${PKG_PREFIX}/etc/rc.d/sfscd.sh is different than distribution sample, leaving for manual cleanup." | fmt; fi
-etc/rc.d/sfscd.sh.sample
-@unexec if [ -f %D/etc/rc.d/sfssd.sh ]; then cmp -s %D/etc/rc.d/sfssd.sh.sample %D/etc/rc.d/sfssd.sh && rm -f %D/etc/rc.d/sfssd.sh || echo "${PKG_PREFIX}/etc/rc.d/sfssd.sh is different than distribution sample, leaving for manual cleanup." | fmt; fi
-etc/rc.d/sfssd.sh.sample
etc/sfs/sfsrwsd_config.sample
include/sfs
include/sfs-%%SFS_VERSION%%/aclnt.h