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