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