Home | History | Annotate | Line # | Download | only in rc.d
rtadvd revision 1.6.50.2
      1       1.1    lukem #!/bin/sh
      2       1.1    lukem #
      3  1.6.50.2     yamt # $NetBSD: rtadvd,v 1.6.50.2 2014/05/22 11:27:20 yamt Exp $
      4       1.1    lukem #
      5       1.1    lukem 
      6       1.1    lukem # PROVIDE: rtadvd
      7       1.2    lukem # REQUIRE: DAEMON
      8       1.5  thorpej # BEFORE:  LOGIN
      9       1.1    lukem 
     10       1.6  mycroft $_rc_subr_loaded . /etc/rc.subr
     11       1.1    lukem 
     12  1.6.50.2     yamt name=rtadvd
     13       1.4    lukem rcvar=$name
     14  1.6.50.2     yamt command="/usr/sbin/$name"
     15  1.6.50.1     yamt pidfile="/var/run/$name.pid"
     16  1.6.50.2     yamt extra_commands=reload
     17  1.6.50.2     yamt start_precmd=rtadvd_prestart
     18  1.6.50.2     yamt reload_precmd=rtadvd_prereload
     19       1.1    lukem 
     20  1.6.50.2     yamt rtadvd_prereload()
     21       1.1    lukem {
     22  1.6.50.2     yamt 	local chdir="$(getent passwd _rtadvd | cut -d: -f6)"
     23  1.6.50.2     yamt 	local conf=/etc/rtadvd.conf myflags o confdir
     24  1.6.50.2     yamt 	
     25  1.6.50.2     yamt 	[ -z "$chdir" -o "$chdir" = / ] && return 0
     26  1.6.50.2     yamt 
     27  1.6.50.2     yamt 	if [ -n "$flags" ]; then
     28  1.6.50.2     yamt 		myflags=$flags
     29  1.6.50.2     yamt 	else
     30  1.6.50.2     yamt 		eval myflags=\$${name}_flags
     31  1.6.50.2     yamt 	fi
     32  1.6.50.2     yamt 	set -- ${myflags}
     33  1.6.50.2     yamt 	while getopts c:dDfM:Rs o; do
     34  1.6.50.2     yamt 		case "$1" in
     35  1.6.50.2     yamt 		-c)	conf="$OPTARG";;
     36  1.6.50.2     yamt 		esac
     37  1.6.50.2     yamt 		shift
     38  1.6.50.2     yamt 	done
     39  1.6.50.2     yamt 	confdir=$(dirname "$conf")
     40  1.6.50.2     yamt 	
     41  1.6.50.2     yamt 	echo "$name: copying $conf to $chdir$conf"
     42  1.6.50.2     yamt 	cp "$conf" "$chdir$conf"
     43  1.6.50.2     yamt 
     44  1.6.50.2     yamt 	# Provide a link to the chrooted dump file
     45  1.6.50.2     yamt 	ln -snf "$chdir/var/run/$name.dump" /var/run
     46  1.6.50.2     yamt }
     47  1.6.50.2     yamt 
     48  1.6.50.2     yamt rtadvd_prestart()
     49  1.6.50.2     yamt {
     50  1.6.50.2     yamt 	if [ "$ip6mode" != router ]; then
     51       1.1    lukem 		warn \
     52       1.1    lukem 	"${name} cannot be used on IPv6 host, only on an IPv6 router."
     53       1.1    lukem 		return 1
     54       1.1    lukem 	fi
     55  1.6.50.2     yamt 
     56  1.6.50.2     yamt 	rtadvd_prereload
     57       1.1    lukem }
     58       1.1    lukem 
     59       1.3    lukem load_rc_config $name
     60       1.1    lukem run_rc_command "$1"
     61