Home | History | Annotate | Line # | Download | only in rc.d
envsys revision 1.2
      1 #!/bin/sh
      2 #
      3 # $NetBSD: envsys,v 1.2 2007/07/25 12:47:44 xtraeme Exp $
      4 #
      5 
      6 # PROVIDE: envsys
      7 # REQUIRE: LOGIN DAEMON
      8 
      9 $_rc_subr_loaded . /etc/rc.subr
     10 
     11 name="envsys"
     12 rcvar=${name}
     13 required_files="/etc/envsys.conf"
     14 start_cmd="do_envsys start"
     15 stop_cmd="do_envsys stop"
     16 envsys_bin="/usr/sbin/envstat"
     17 
     18 do_envsys()
     19 {
     20 	IFS=":"
     21 	if [ "$1" = "start" ]; then
     22 		TARGET="Starting"
     23 	else
     24 		TARGET="Stopping"
     25 	fi
     26 
     27 	while read -r device sensname target value; do
     28 		case "${device}" in
     29 		\#*|"")
     30 			continue
     31 			;;
     32 		esac
     33 
     34 		case "${value}" in
     35 		*degF)
     36 			add_arg="-f"
     37 			;;
     38 		esac
     39 
     40 		case "$1" in
     41 		start)
     42 			case "${target}" in
     43 			*desc)
     44 				continue
     45 				;;
     46 			esac
     47 			;;
     48 		stop)
     49 			case "${target}" in
     50 			*desc|*rfact)
     51 				continue
     52 				;;
     53 			esac
     54 			;;
     55 		esac
     56 
     57 		[ -z ${device} ] && err_msg="missing device"
     58 		[ -z ${target} ] && err_msg="missing target"
     59 		[ -z ${value} ] && err_msg="missing value"
     60 
     61 		if [ -n "${err_msg}" ]; then
     62 			echo "${name}: invalid entry (${err_msg})."
     63 			return 1
     64 		fi
     65 
     66 		if [ "$1" = "start" ]; then
     67 			${envsys_bin} \
     68 			    ${add_arg} \
     69 			    -d ${device} \
     70 			    -s "${sensname}" \
     71 			    -m ${target}=${value%%degF}
     72 		else
     73 			${envsys_bin} \
     74 			    ${add_arg} \
     75 			    -d ${device} \
     76 			    -s "${sensname}" \
     77 			    -m ${target}=remove
     78 		fi
     79 
     80 		# reinitialize the var
     81 		add_arg=
     82 	done < ${required_files}
     83 
     84 	echo "$TARGET sensors monitoring."
     85 }
     86 
     87 load_rc_config ${name}
     88 run_rc_command "$1"
     89