# Check that networking is up.
if is_yes "${NETWORKING}"; then
if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
- # nls "ERROR: Networking is down. %s can't be run." <service>
msg_network_down automounter
exit 1
fi
else
exit 0
fi
-
+
DAEMON=/usr/sbin/automount
#
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//:/:'`
+ if [ ! -z "$dir" -a ! -z "$map" -a x`echo "$map" | cut -c1` != 'x-' ]; then
+ :
+ else
+ continue
+ fi
+
+ maptype=${map%%:*}
+ 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"
+ echo "$DAEMON --timeout ${TIMEOUT} ${OPTIONS} $dir program $map $options"
elif [ -f $map ]; then
- echo "$DAEMON --timeout $TIMEOUT $dir file $map $options"
+ echo "$DAEMON --timeout ${TIMEOUT} ${OPTIONS} $dir file $map $options"
else
- echo "$DAEMON --timeout $TIMEOUT $dir `basename $map` $options"
+ echo "$DAEMON --timeout ${TIMEOUT} ${OPTIONS} $dir `basename $map` $options"
+ fi
+ else
+ map=${map#*/}
+ if [ "$map" ]; then
+ if [ "$maptype" = "file" ]; then
+ map=`echo "/etc/autofs/$map" | sed -e 's:^/etc/autofs//:/:'`
+ fi
+ echo "$DAEMON --timeout $TIMEOUT ${OPTIONS} $dir $maptype $map $options"
fi
fi
done
#
# Check for YellowPage maps to be loaded
#
-if is_yes $USE_YP; then
+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 | (
options=`echo "$options" | sed -e '
s/--*t\(imeout\)*[ \t]*[0-9][0-9]*//g
s/\(^\|[ \t]\)-/\1/g'`
- echo "$DAEMON --timeout $TIMEOUT $mountoptions \
+ echo "$DAEMON --timeout $TIMEOUT ${OPTIONS} $mountoptions \
$dir yp $map $options"
fi
done
fi
}
-RETVAL=0
-# See how we were called.
-case "$1" in
- start)
+start() {
# Check if the service is already running?
if [ ! -f /var/lock/subsys/autofs ]; then
msg_starting automounter
busy
- getmounts | sh
+# getmounts | sh
+ $DAEMON --timeout $TIMEOUT /etc/autofs/auto.master
RETVAL=$?
[ $RETVAL -eq 0 ] && ok || fail
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/autofs
else
msg_already_running automounter
fi
- ;;
- stop)
+}
+
+stop() {
if [ -f /var/lock/subsys/autofs ]; then
msg_stopping automounter
- automount -TERM
killproc automount
rm -f /var/lock/subsys/autofs >/dev/null 2>&1
else
msg_not_running automounter
fi
+}
+
+RETVAL=0
+# See how we were called.
+case "$1" in
+ start)
+ start
;;
- restart|force-reload)
- $0 stop
- $0 start
- exit $?
+ stop)
+ stop
;;
- status)
- nls "Configured Mount Points:"
- getmounts
- echo ""
- 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
- )
+ restart|force-reload)
+ stop
+ start
;;
+# status)
+# nls "Configured Mount Points:"
+# getmounts
+# echo ""
+# 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|force-reload|status}"
exit 3