diff options
Diffstat (limited to 'abs/extra-testing/lm_sensors/sensors.rc')
-rw-r--r-- | abs/extra-testing/lm_sensors/sensors.rc | 106 |
1 files changed, 49 insertions, 57 deletions
diff --git a/abs/extra-testing/lm_sensors/sensors.rc b/abs/extra-testing/lm_sensors/sensors.rc index aa086eb..4acde22 100644 --- a/abs/extra-testing/lm_sensors/sensors.rc +++ b/abs/extra-testing/lm_sensors/sensors.rc @@ -1,27 +1,12 @@ #!/bin/bash -# -# chkconfig: 2345 26 74 + # description: sensors is used for monitoring motherboard sensor values. -# config: /etc/sysconfig/sensors -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# config: /etc/conf.d/lm_sensors # See also the lm_sensors homepage at: # http://www2.lm-sensors.nu/~lm78/index.html -# It uses a config file /etc/sysconfig/sensors that contains the modules to +# It uses a config file /etc/conf.d/lm_sensors that contains the modules to # be loaded/unloaded. That file is sourced into this one. # The format of that file a shell script that simply defines the modules @@ -31,46 +16,52 @@ . /etc/rc.conf . /etc/rc.d/functions -if grep -q sysfs /proc/mounts; then +PSENSORS=/usr/bin/sensors + +if $(grep -q sysfs /proc/mounts); then WITHSYS=1 else WITHSYS=0 fi -CONFIG=/etc/conf.d/lm_sensors -PSENSORS=/usr/bin/sensors -if [ ! -x $PSENSORS ]; then - PSENSORS=/usr/bin/sensors +if [ $WITHSYS == "0" ]; then + # If sensors isn't supported by the kernel, try loading the module... + [ -e /proc/sys/dev/sensors ] || /sbin/modprobe i2c-proc &>/dev/null + + # Don't bother if /proc/sensors still doesn't exist, kernel doesn't have support for sensors. + if ! [ -e /proc/sys/dev/sensors ]; then + echo "lm_sensors: kernel does not have sensors support" + stat_fail + fi + + # If sensors was not already running, unload the module... + [ -e /var/run/daemons/sensors ] || /sbin/modprobe -r i2c-proc &>/dev/null +fi + +if [ -e /etc/conf.d/lm_sensors ]; then + CONFIG=/etc/conf.d/lm_sensors +elif [ -e /etc/sysconfig/lm_sensors ]; then + # Moving config to new Arch-specific location + mv /etc/sysconfig/lm_sensors /etc/conf.d/lm_sensors + CONFIG=/etc/conf.d/lm_sensors fi case "$1" in start) stat_busy "Starting Up Sensors" - if [ $WITHSYS == "0" ]; then - # If sensors isn't supported by the kernel, try loading the module... - [ -e /proc/sys/dev/sensors ] || /sbin/modprobe i2c-proc &>/dev/null - - # Don't bother if /proc/sensors still doesn't exist, kernel doesn't have - # support for sensors. - [ -e /proc/sys/dev/sensors ] || exit 0 - - # If sensors was not already running, unload the module... - [ -e /var/lock/subsys/lm_sensors ] || /sbin/modprobe -r i2c-proc &>/dev/null - fi - - if [ -r "$CONFIG" ]; then - . "$CONFIG" - modules=`grep \^MODULE_ $CONFIG | wc -l | tr -d ' '` - i=0 - while [ $i -lt $modules ] ; do - module=`eval echo '$'MODULE_$i` - #echo starting module __${module}__ #debug - /sbin/modprobe $module &>/dev/null - i=`expr $i + 1` - done + . "$CONFIG" + modules=$(grep \^MODULE_ $CONFIG | wc -l | tr -d ' ') + i=0 + while [ $i -lt $modules ] ; do + module=$(eval echo '$'MODULE_$i) + # echo starting module __${module}__ #debug + /sbin/modprobe $module &>/dev/null + i=$(expr $i + 1) + done fi + $PSENSORS -s if [ $? -gt 0 ]; then @@ -85,14 +76,15 @@ case "$1" in stat_busy "Shutting Down Sensors" if [ -r "$CONFIG" ]; then - . "$CONFIG" - modules=`grep \^MODULE_ $CONFIG | wc -l | tr -d ' '` - i=`expr $modules` - while [ $i -ge 0 ] ; do - module=`eval echo '$'MODULE_$i` - /sbin/modprobe -r $module &>/dev/null - i=`expr $i - 1` - done + . "$CONFIG" + modules=$(grep \^MODULE_ $CONFIG | wc -l | tr -d ' ') + i=$(expr $modules - 1) + while [ $i -ge 0 ] ; do + module=$(eval echo '$'MODULE_$i) + # echo stoping module __${module}__ #debug + /sbin/modprobe -r $module &>/dev/null + i=$(expr $i - 1) + done fi if [ $WITHSYS == "0" ]; then @@ -107,9 +99,8 @@ case "$1" in fi ;; - dostatus) + status) $PSENSORS - RETVAL=$? ;; restart) @@ -119,9 +110,10 @@ case "$1" in ;; condrestart) - [ -e /var/lock/subsys/lm_sensors ] && restart || : + [ -e /var/run/daemons/sensors ] && $0 restart || : ;; *) - echo "Usage: sensors.init {start|stop|status|restart|reload|condrestart}" + echo "Usage: $0 {start|stop|restart|status|condrestart}" esac +exit 0 |