freebsd-skq/etc/rc.d/amd
Ralf S. Engelschall 25ade111dc Fix implementation of rc variables $amd_flags and $amd_map_program in
rcNG. The $amd_flags variable was already taken over into $rc_flags
by run_rc_command() when amd_precmd() is executed, so changing
$amd_flags there no longer effects the actual execution of amd.
Hence in amd_precmd() the $rc_flags have to be adjusted instead.
2002-09-18 08:49:50 +00:00

71 lines
1.2 KiB
Bash
Executable File

#!/bin/sh
#
# $NetBSD: amd,v 1.10 2002/04/29 12:08:17 lukem Exp $
# $FreeBSD$
#
# PROVIDE: amd
# REQUIRE: rpcbind mountall ypbind nfsclient
# BEFORE: DAEMON
# KEYWORD: FreeBSD NetBSD
. /etc/rc.subr
name="amd"
rcvar=`set_rcvar`
command="/usr/sbin/${name}"
case ${OSTYPE} in
FreeBSD)
start_precmd="amd_precmd"
command_args="&"
;;
NetBSD)
command_args='-p -a '$amd_dir' -F /etc/amd.conf >/var/run/amd.pid'
required_dirs="$amd_dir"
required_files="/etc/amd.conf"
required_vars="rpcbind"
;;
esac
amd_precmd()
{
case ${OSTYPE} in
FreeBSD)
if ! checkyesno nfs_client_enable ; then
force_depend nfsclient || return 1
fi
if ! checkyesno rpcbind_enable && \
! /etc/rc.d/rpcbind forcestatus 1>/dev/null 2>&1
then
force_depend rpcbind || return 1
fi
case ${amd_map_program} in
[Nn][Oo] | '')
;;
*)
rc_flags="${rc_flags} `eval ${amd_map_program}`"
;;
esac
case "${amd_flags}" in
'')
if [ ! -r /etc/amd.conf ]; then
warn 'amd will not load without arguments'
return 1
fi
;;
*)
rc_flags="-p ${rc_flags} > /var/run/amd.pid 2> /dev/null" \
;;
esac
;;
esac
return 0
}
load_rc_config $name
run_rc_command "$1"