c76ad7642f
"forced". If some pre-condition is not met, it should fail as it normally does and rc.subr(8) will make the appropriate decision. Incidentally, the previous behaviour had a bug where the "force" flag was respected only when checking rc.conf(5) knobs. The flag was ignored when verifying the rpcbind(8) dependency. MFC after: 2 weeks
64 lines
1.1 KiB
Bash
64 lines
1.1 KiB
Bash
#!/bin/sh
|
|
#
|
|
# $NetBSD: nfslocking,v 1.6 2002/03/24 15:52:41 lukem Exp $
|
|
# $FreeBSD$
|
|
#
|
|
|
|
# PROVIDE: nfslocking
|
|
# REQUIRE: nfsserver nfsclient nfsd rpcbind
|
|
# BEFORE: DAEMON
|
|
# KEYWORD: nojail
|
|
|
|
. /etc/rc.subr
|
|
|
|
# Save the (one) commandline argument in case it gets clobbered.
|
|
arg=$1
|
|
|
|
# Either NFS client or server must be enabled and rpcbind(8) must be started.
|
|
#
|
|
nfslocking_precmd()
|
|
{
|
|
local ret
|
|
ret=0
|
|
|
|
if ! checkyesno nfs_server_enable && ! checkyesno nfs_client_enable
|
|
then
|
|
ret=1
|
|
fi
|
|
if ! checkyesno rpcbind_enable && \
|
|
! /etc/rc.d/rpcbind forcestatus 1>/dev/null 2>&1
|
|
then
|
|
force_depend rpcbind || ret=1
|
|
fi
|
|
|
|
if [ $name = "statd" ]
|
|
then
|
|
rc_flags=${rpc_statd_flags}
|
|
elif [ $name = "lockd" ]
|
|
then
|
|
rc_flags=${rpc_lockd_flags}
|
|
fi
|
|
|
|
return ${ret}
|
|
}
|
|
|
|
start_precmd="nfslocking_precmd"
|
|
stop_precmd='checkyesno nfs_server_enable || checkyesno nfs_client_enable'
|
|
status_precmd=$stop_precmd
|
|
|
|
# rpc.statd
|
|
#
|
|
name="statd"
|
|
rcvar=rpc_statd_enable
|
|
command="/usr/sbin/rpc.${name}"
|
|
load_rc_config $name
|
|
run_rc_command "$arg"
|
|
|
|
# rpc.lockd
|
|
#
|
|
name="lockd"
|
|
rcvar=rpc_lockd_enable
|
|
command="/usr/sbin/rpc.${name}"
|
|
load_rc_config $name
|
|
run_rc_command "$arg"
|