]> git.pld-linux.org Git - packages/autofs.git/blobdiff - autofs.init
- orphaned, outdated
[packages/autofs.git] / autofs.init
index 0cd4433de010acd716f6b11e79a4f96edd3cbaa2..6370f0a699f500954f970632c4ed707baaa4bff8 100644 (file)
@@ -5,11 +5,11 @@
 #
 # chkconfig:   2345 72 08
 #
-# description: Script for automount using a Sun-style "master map".
-#              We first look for a local /etc/autofs/auto.master, then a YP
+# description: Script for automount using a Sun-style "master map". \
+#              We first look for a local /etc/autofs/auto.master, then a YP \
 #              map with that name
 #
-# processname: automount
+# processname: autofs
 # config:      /etc/autofs/auto.master
 
 
 [ -f /etc/sysconfig/autofs ] && . /etc/sysconfig/autofs
 
 # Check that networking is up.
-if is_no "${NETWORKING}"; then
-        # nls "ERROR: Networking is down. %s can't be run." <service>
-        msg_Network_Down automounter
-        exit 1
+if is_yes "${NETWORKING}"; then
+       if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
+               msg_network_down automounter
+               exit 1
+       fi
+else
+       exit 0
 fi
-                       
+
 DAEMON=/usr/sbin/automount
 
 #
@@ -41,101 +44,106 @@ getmounts()
 #
 # Check for local maps to be loaded
 #
-if [ -f /etc/autofs/auto.master ]
-then
-    cat /etc/autofs/auto.master | sed -e '/^#/d' -e '/^$/d'| (
-       while read dir map options
-       do
-           if [ ! -z "$dir" -a ! -z "$map" \
-                       -a x`echo "$map" | cut -c1` != 'x-' ]
-           then
-               map=`echo "/etc/autofs/$map" | sed -e 's:^/etc\/autofs//:/:'`
-               options=`echo "$options" | sed -e 's/\(^\|[ \t]\)-/\1/g'`
-               if [ -x $map ]; then
-                   echo "$DAEMON --timeout $TIMEOUT $dir program $map $options"
-               elif [ -f $map ]; then
-                   echo "$DAEMON --timeout $TIMEOUT $dir file $map $options"
-               else
-                   echo "$DAEMON --timeout $TIMEOUT $dir `basename $map` $options"
+if [ -f /etc/autofs/auto.master ]; then
+       cat /etc/autofs/auto.master | sed -e '/^#/d' -e '/^$/d'| (
+       while read dir map options; do
+               if [ ! -z "$dir" -a ! -z "$map" \
+                  -a x`echo "$map" | cut -c1` != 'x-' ]; then
+                       maptype=`echo $map | cut -f1 -d:`
+                       if [ "$maptype" = "$map" ]; then
+                       map=`echo "/etc/autofs/$map" | sed -e 's:^/etc\/autofs//:/:'`
+                       options=`echo "$options" | sed -e 's/\(^\|[ \t]\)-/\1/g'`
+                       if [ -x $map ]; then
+                               echo "$DAEMON --timeout $TIMEOUT $dir program $map $options"
+                       elif [ -f $map ]; then
+                               echo "$DAEMON --timeout $TIMEOUT $dir file $map $options"
+                       else
+                               echo "$DAEMON --timeout $TIMEOUT $dir `basename $map` $options"
+                       fi
+                       else
+                               map=`echo $map | cut -f2- -d:`
+                               if [ ! -z "$map" ]; then
+                                       if [ "$maptype" = "file" ]; then
+                                               map=`echo "/etc/autofs/$map" | sed -e 's:^/etc\/autofs//:/:'`
+                                       fi
+                                       echo "$DAEMON --timeout $TIMEOUT $dir $maptype $map $options"
+                               fi
+                       fi
                fi
-           fi
        done
-    )
+       )
 fi
 
 #
 # Check for YellowPage maps to be loaded
 #
-if [ -e /usr/bin/ypcat ] && [ `ypcat -k auto.master 2>/dev/null | wc -l` -gt 0 ]
-then
-    ypcat -k auto.master | (
-       while read dir map options
-       do
-           if [ ! -z "$dir" -a ! -z "$map" \
-                       -a x`echo "$map" | cut -c1` != 'x-' ]
-           then
-               map=`echo "$map" | sed -e 's/^auto_/auto./'`
-               if echo $options | grep -- '-t' >/dev/null 2>&1 ; then
-                   mountoptions="--timeout $(echo $options | \
-                     sed 's/^.*-t\(imeout\)*[ \t]*\([0-9][0-9]*\).*$/\2/g')"
-               fi
-                options=`echo "$options" | sed -e '
-                  s/--*t\(imeout\)*[ \t]*[0-9][0-9]*//g
-                  s/\(^\|[ \t]\)-/\1/g'`
-               echo "$DAEMON --timeout $TIMEOUT $mountoptions $dir yp $map $options"
-           fi
-       done
-    )
+if is_yes $USE_YP; then
+       if [ -e /usr/bin/ypcat ] && \
+          [ `ypcat -k auto.master 2>/dev/null | wc -l` -gt 0 ]; then
+               ypcat -k auto.master | (
+               while read dir map options; do
+                       if [ ! -z "$dir" -a ! -z "$map" \
+                          -a x`echo "$map" | cut -c1` != 'x-' ]; then
+                               map=`echo "$map" | sed -e 's/^auto_/auto./'`
+                               if echo $options | \
+                                  grep -- '-t' >/dev/null 2>&1; then
+                                       mountoptions="--timeout $(echo $options | \
+                                         sed 's/^.*-t\(imeout\)*[ \t]*\([0-9][0-9]*\).*$/\2/g')"
+                               fi
+                               options=`echo "$options" | sed -e '
+                                 s/--*t\(imeout\)*[ \t]*[0-9][0-9]*//g
+                                 s/\(^\|[ \t]\)-/\1/g'`
+                               echo "$DAEMON --timeout $TIMEOUT $mountoptions \
+                                 $dir yp $map $options"
+                       fi
+               done
+               )
+       fi
 fi
 }
 
-#
-#      See how we were called.
-#
+RETVAL=0
+# See how we were called.
 case "$1" in
   start)
        # Check if the service is already running?
-       if [ ! -f /var/lock/subsys/automount ]; then
-                msg_starting automounter
+       if [ ! -f /var/lock/subsys/autofs ]; then
+               msg_starting automounter
                busy
-               if getmounts | sh; then
-                   deltext;ok
-               else
-                   deltext;ok
-               fi
-                RETVAL=$?
-               [ $RETVAL -eq 0 ] && touch /var/lock/subsys/automount
+               getmounts | sh
+               RETVAL=$?
+               [ $RETVAL -eq 0 ] && ok || fail
+               [ $RETVAL -eq 0 ] && touch /var/lock/subsys/autofs
        else
-                msg_Already_Running automounter
-               exit 1
+               msg_already_running automounter
        fi
        ;;
   stop)
-        if [ -f /var/lock/subsys/automount ]; then
-                msg_stopping automount -TERM
-                killproc automount
-                rm -f /var/lock/subsys/automount >/dev/null 2>&1
-        else
-                msg_Not_Running automounter
-                exit 1
-        fi
+       if [ -f /var/lock/subsys/autofs ]; then
+               msg_stopping automounter
+               killproc automount
+               rm -f /var/lock/subsys/autofs >/dev/null 2>&1
+       else
+               msg_not_running automounter
+       fi
        ;;
-  restart)
+  restart|force-reload)
        $0 stop
        $0 start
+       exit $?
        ;;
   status)
-       echo "Configured Mount Points:"
+       nls "Configured Mount Points:"
        getmounts
        echo ""
-       echo "Active Mount Points:"
-       ps ax|grep "[0-9]:[0-9][0-9] /usr/sbin/automount " | (
+       nls "Active Mount Points:"
+       ps axw|grep "[0-9]:[0-9][0-9] /usr/sbin/automount " | (
                while read pid tt stat time command; do echo $command; done
        )
        ;;
   *)
-       msg_Usage: "$0 {start|stop|restart|status}"
-       exit 1
+       msg_usage "$0 {start|stop|restart|force-reload|status}"
+       exit 3
 esac
 
 exit $RETVAL
This page took 0.086709 seconds and 4 git commands to generate.