amd revision 98486
178344Sobrien#!/bin/sh
278344Sobrien#
3171881Smtm# $NetBSD: amd,v 1.10 2002/04/29 12:08:17 lukem Exp $
498184Sgordon# $FreeBSD: head/etc/rc.d/amd 98486 2002-06-20 08:49:44Z dougb $
578344Sobrien#
678344Sobrien
7171881Smtm# PROVIDE: amd
8223852Srmacklem# REQUIRE: rpcbind mountall ypbind nfsclient
998184Sgordon# BEFORE: DAEMON
10180564Sdougb# KEYWORD: FreeBSD NetBSD
1178344Sobrien
1278344Sobrien. /etc/rc.subr
1378344Sobrien
14171881Smtmname="amd"
15171881Smtmrcvar=`set_rcvar`
16171881Smtm
17171881Smtmcase `${CMD_OSTYPE}` in
18180070SmtmFreeBSD)
19171881Smtm	start_cmd="echo 'Starting amd.'; /usr/sbin/${name} &"
2078344Sobrien	start_precmd="amd_precmd"
21171881Smtm	;;
22171881SmtmNetBSD)
23125987Smtm	command_args='-p -a '$amd_dir' -F /etc/amd.conf >/var/run/amd.pid'
24171881Smtm	required_dirs="$amd_dir"
25168085Smtm	required_files="/etc/amd.conf"
26169653Smtm	required_vars="rpcbind"
27169653Smtm	command="/usr/sbin/${name}"
28169653Smtm	;;
29180070Smtmesac
30168085Smtm
31169653Smtmamd_precmd() 
32168085Smtm{
33168085Smtm	case `${CMD_OSTYPE}` in
34168085Smtm	FreeBSD)
35168085Smtm		if ! checkyesno nfs_client_enable ; then
36169653Smtm			force_depend nfsclient || return 1
37168085Smtm		fi
38171871Smtm
39169653Smtm		if ! checkyesno portmap_enable  && \
40168085Smtm		   [ -z "`check_process ${portmap_program}`" ]
41168085Smtm                then
4278344Sobrien			force_depend rpcbind || return 1
43171871Smtm		fi
44
45		case ${amd_map_program} in
46		[Nn][Oo] | '')
47			;;
48		*)
49			amd_flags="${amd_flags} `eval ${amd_map_program}`"
50			;;
51		esac
52
53		case "${amd_flags}" in
54		'')
55			if [ ! -r /etc/amd.conf ]; then
56				warn 'amd will not load without arguments'
57				return 1
58			fi
59			;;
60		*)
61			amd_flags="-p ${amd_flags} > /var/run/amd.pid 2> /dev/null" \
62			;;
63		esac
64		;;
65	esac
66	return 0
67}
68
69load_rc_config $name
70run_rc_command "$1"
71