]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - debian/nfs-kernel-server.init
Merge branch 'upstream'
[nfs-utils.git] / debian / nfs-kernel-server.init
index 15b3254933635dcea10582b9780ea970871453bb..3922c1a07031bc9a164d82e7cb9a62e4a10e0349 100644 (file)
@@ -1,14 +1,17 @@
 #!/bin/sh
-#
-# nfs-kernel-server
-#              This shell script takes care of starting and stopping
-#               the kernel-mode NFS server.
-#
-# chkconfig: 345 60 20
-# description: NFS is a popular protocol for file sharing across TCP/IP \
-#              networks. This service provides NFS server functionality, \
-#              which is configured via the /etc/exports file.
-#
+
+### BEGIN INIT INFO
+# Provides:          nfs-kernel-server
+# Required-Start:    $portmap $time
+# Required-Stop:     $portmap $time
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Kernel NFS server support
+# Description:       NFS is a popular protocol for file sharing across
+#                   TCP/IP networks. This service provides NFS server
+#                    functionality, which is configured via the
+#                    /etc/exports file.
+### END INIT INFO
 
 # What is this?
 DESC="NFS kernel daemon"
@@ -24,8 +27,7 @@ DEFAULTFILE=/etc/default/nfs-kernel-server
 RPCNFSDCOUNT=8
 RPCNFSDPRIORITY=0
 RPCMOUNTDOPTS=
-NEED_SVCGSSD=yes
-RPCGSSDOPTS=
+NEED_SVCGSSD=no
 RPCSVCGSSDOPTS=
 PROCNFSD_MOUNTPOINT=/proc/fs/nfsd
 if [ -f $DEFAULTFILE ]; then
@@ -35,7 +37,7 @@ fi
 . /lib/lsb/init-functions
 
 do_modprobe() {
-    if [ -x /sbin/modprobe ]
+    if [ -x /sbin/modprobe -a -f /proc/modules ]
     then
         modprobe -q "$1" || true
     fi
@@ -100,6 +102,16 @@ case "$1" in
                    RPCMOUNTDOPTS="$RPCMOUNTDOPTS --no-nfs-version 3"
 
                [ -z "$ClearAddr" ] || echo "nfsd 127.0.0.1 1" >/proc/net/rpc/auth.unix.ip/channel
+       
+               if [ "$NEED_SVCGSSD" = "yes" ]; then
+                       log_progress_msg "svcgssd"
+                       start-stop-daemon --start --oknodo --quiet \
+                           --exec $PREFIX/sbin/rpc.svcgssd -- $RPCSVCGSSDOPTS
+                       if [ $? != 0 ]; then
+                               log_end_msg $?
+                               exit $?
+                       fi
+               fi
 
                log_progress_msg "mountd"
                start-stop-daemon --start --oknodo --quiet \
@@ -125,6 +137,16 @@ case "$1" in
                log_end_msg $?
                exit $?
        fi
+               
+       if [ "$NEED_SVCGSSD" = "yes" ]; then
+               log_progress_msg "svcgssd"
+               start-stop-daemon --stop --oknodo --quiet \
+                   --name rpc.svcgssd --user 0
+               if [ $? != 0 ]; then
+                       log_end_msg $?
+                       exit $?
+               fi
+       fi
 
        log_progress_msg "nfsd"
        start-stop-daemon --stop --oknodo --quiet \