| #!/sbin/openrc-run |
| # Copyright 1999-2011 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| DAEMON=/usr/sbin/automount |
| PIDFILE=/var/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 /sbin/restorecon -a -c "/dev/${DEVICE}" ]; then |
| /sbin/restorecon "/dev/${DEVICE}" |
| if [ $? -ne 0 ]; then |
| eend 1 "Failed to execute '/sbin/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 |
| } |