autofs-openrc/autofs.initd

70 lines
1.5 KiB
Plaintext

#!/usr/bin/openrc-run
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
DAEMON=/usr/bin/automount
PIDFILE=/run/autofs.pid
DEVICE=autofs
depend() {
need localmount
use ypbind nfs slapd portmap net
}
extra_started_commands="reload"
start() {
ebegin "Starting automounter"
# Ensure autofs support is loaded
grep -q autofs /proc/filesystems || modprobe -q autofs4
if [ $? -ne 0 ]; then
eend 1 "No autofs support available in kernel"
return 1
fi
# Check misc device
if [ -n "${USE_MISC_DEVICE}" -a "${USE_MISC_DEVICE}" = "yes" ]; then
sleep 1
if [ -e "/proc/misc" ]; then
MINOR=$(awk "/${DEVICE}/ {print \$1}" /proc/misc)
if [ -n "${MINOR}" -a ! -c "/dev/${DEVICE}" ]; then
mknod -m 0600 "/dev/${DEVICE}" c 10 ${MINOR}
if [ $? -ne 0 ]; then
eend 1 "Could not create '/dev/${DEVICE}'"
return 1
fi
fi
fi
if [ -x /usr/bin/restorecon -a -c "/dev/${DEVICE}" ]; then
/usr/bin/restorecon "/dev/${DEVICE}"
if [ $? -ne 0 ]; then
eend 1 "Failed to execute '/usr/bin/restorecon \"/dev/${DEVICE}\"'"
return 1
fi
fi
else
[ -c "/dev/${DEVICE}" ] && rm -rf "/dev/${DEVICE}"
fi
start-stop-daemon --start --exec ${DAEMON} -- -p ${PIDFILE} ${OPTIONS}
eend $?
}
stop() {
ebegin "Stopping automounter"
start-stop-daemon --stop --quiet -R TERM/45 -p ${PIDFILE}
eend $?
}
reload() {
ebegin "Reloading automounter"
if [ ! -r "${PIDFILE}" ]; then
eend 1 "automount not running"
else
kill -s HUP $(cat "${PIDFILE}") 2> /dev/null
eend $?
fi
}