]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - etc/rc.d/amd
Fix implementation of rc variables $amd_flags and $amd_map_program in
[FreeBSD/FreeBSD.git] / etc / rc.d / amd
1 #!/bin/sh
2 #
3 # $NetBSD: amd,v 1.10 2002/04/29 12:08:17 lukem Exp $
4 # $FreeBSD$
5 #
6
7 # PROVIDE: amd
8 # REQUIRE: rpcbind mountall ypbind nfsclient
9 # BEFORE: DAEMON
10 # KEYWORD: FreeBSD NetBSD
11
12 . /etc/rc.subr
13
14 name="amd"
15 rcvar=`set_rcvar`
16 command="/usr/sbin/${name}"
17
18 case ${OSTYPE} in
19 FreeBSD)
20         start_precmd="amd_precmd"
21         command_args="&"
22         ;;
23 NetBSD)
24         command_args='-p -a '$amd_dir' -F /etc/amd.conf >/var/run/amd.pid'
25         required_dirs="$amd_dir"
26         required_files="/etc/amd.conf"
27         required_vars="rpcbind"
28         ;;
29 esac
30
31 amd_precmd() 
32 {
33         case ${OSTYPE} in
34         FreeBSD)
35                 if ! checkyesno nfs_client_enable ; then
36                         force_depend nfsclient || return 1
37                 fi
38
39                 if ! checkyesno rpcbind_enable  && \
40                     ! /etc/rc.d/rpcbind forcestatus 1>/dev/null 2>&1
41                 then
42                         force_depend rpcbind || return 1
43                 fi
44
45                 case ${amd_map_program} in
46                 [Nn][Oo] | '')
47                         ;;
48                 *)
49                         rc_flags="${rc_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                         rc_flags="-p ${rc_flags} > /var/run/amd.pid 2> /dev/null" \
62                         ;;
63                 esac
64                 ;;
65         esac
66         return 0
67 }
68
69 load_rc_config $name
70 run_rc_command "$1"