diff options
Diffstat (limited to 'abs/extra/lm_sensors')
-rw-r--r-- | abs/extra/lm_sensors/PKGBUILD | 41 | ||||
-rw-r--r-- | abs/extra/lm_sensors/fancontrol.rc | 34 | ||||
-rw-r--r-- | abs/extra/lm_sensors/sensors-detect.patch | 61 | ||||
-rw-r--r-- | abs/extra/lm_sensors/sensors.install | 12 | ||||
-rw-r--r-- | abs/extra/lm_sensors/sensors.rc | 127 |
5 files changed, 275 insertions, 0 deletions
diff --git a/abs/extra/lm_sensors/PKGBUILD b/abs/extra/lm_sensors/PKGBUILD new file mode 100644 index 0000000..487a6fe --- /dev/null +++ b/abs/extra/lm_sensors/PKGBUILD @@ -0,0 +1,41 @@ +# $Id: PKGBUILD 8687 2008-08-15 15:06:46Z andyrtr $ +# Maintainer: aurelien <aurelien@archlinux.org> +# Contributor: Aurelien Foret <orelien@chez.com> +pkgname=lm_sensors +pkgver=3.0.2 +pkgrel=2 +pkgdesc="Collection of user space tools for general SMBus access and hardware monitoring." +arch=('i686' 'x86_64') +license=('GPL') +depends=('perl' 'sysfsutils') +makedepends=('bison' 'flex' 'rrdtool') +optdepends=('rrdtool: for logging with sensord') +backup=(etc/sensors3.conf) +install=sensors.install +source=(http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-$pkgver.tar.bz2 + sensors.rc + fancontrol.rc + sensors-detect.patch) +url="http://www.lm-sensors.org/" +md5sums=('5b210ba9cc01f00161c438fd618484e5' + 'c9f7f38964963ae3ced4dff3f1f0b7b9' + 'f14e335a8eea27388892c36af8099782' + '6fd30ed1e5ac739b8a27f3913ba706f4') + +build() { + cd ${srcdir}/$pkgname-$pkgver + patch -Np0 -i ${srcdir}/sensors-detect.patch || return 1 + + make PREFIX=/usr PROG_EXTRA:=sensord user || return 1 + make user_install PREFIX=/usr DESTDIR=${pkgdir} + install -DT -m755 ${srcdir}/$pkgname-$pkgver/prog/sensord/sensord ${pkgdir}/usr/sbin/sensord + + install -DT -m755 ${srcdir}/sensors.rc ${pkgdir}/etc/rc.d/sensors + install -DT -m755 ${srcdir}/fancontrol.rc ${pkgdir}/etc/rc.d/fancontrol + + # remove the static lib + rm -rf ${pkgdir}/usr/lib/libsensors.a + + # FIXME: avoid conflicts with glibc headers + rm -rf ${pkgdir}/usr/include/linux +} diff --git a/abs/extra/lm_sensors/fancontrol.rc b/abs/extra/lm_sensors/fancontrol.rc new file mode 100644 index 0000000..7fc1bbf --- /dev/null +++ b/abs/extra/lm_sensors/fancontrol.rc @@ -0,0 +1,34 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + stat_busy "Starting fancontrol" + /usr/sbin/fancontrol >/dev/null 2>&1 & + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon fancontrol + stat_done + fi + ;; + stop) + stat_busy "Stopping fancontrol" + [ -f /var/run/fancontrol.pid ] && kill `cat /var/run/fancontrol.pid` + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon fancontrol + stat_done + fi + ;; + restart) + $0 stop + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/abs/extra/lm_sensors/sensors-detect.patch b/abs/extra/lm_sensors/sensors-detect.patch new file mode 100644 index 0000000..981ed3d --- /dev/null +++ b/abs/extra/lm_sensors/sensors-detect.patch @@ -0,0 +1,61 @@ +--- prog/detect/sensors-detect.orig 2008-02-07 20:59:25.125302226 +0100 ++++ prog/detect/sensors-detect 2008-02-07 21:06:53.821929489 +0100 +@@ -5879,21 +5879,21 @@ + } + } + +- my $have_sysconfig = -d '/etc/sysconfig'; +- printf "Do you want to \%s /etc/sysconfig/lm_sensors? (\%s): ", +- (-e '/etc/sysconfig/lm_sensors' ? 'overwrite' : 'generate'), ++ my $have_sysconfig = -d '/etc/conf.d'; ++ printf "Do you want to \%s /etc/conf.d/lm_sensors? (\%s): ", ++ (-e '/etc/conf.d/lm_sensors' ? 'overwrite' : 'generate'), + ($have_sysconfig ? 'YES/no' : 'yes/NO'); + $_ = <STDIN>; + if (($have_sysconfig and not m/^\s*n/i) or m/^\s*y/i) { + unless ($have_sysconfig) { +- mkdir '/etc/sysconfig', 0777 +- or die "Sorry, can't create /etc/sysconfig ($!)"; ++ mkdir '/etc/conf.d', 0777 ++ or die "Sorry, can't create /etc/conf.d ($!)"; + } +- open(local *SYSCONFIG, ">/etc/sysconfig/lm_sensors") +- or die "Sorry, can't create /etc/sysconfig/lm_sensors ($!)"; ++ open(local *SYSCONFIG, ">/etc/conf.d/lm_sensors") ++ or die "Sorry, can't create /etc/conf.d/lm_sensors ($!)"; + print SYSCONFIG <<'EOT'; +-# /etc/sysconfig/lm_sensors - Defines modules loaded by +-# /etc/init.d/lm_sensors ++# /etc/conf.d/lm_sensors - Defines modules loaded by ++# /etc/rc.d/sensors + # Copyright (c) 1998 - 2001 Frodo Looijaard <frodol@dds.nl> + # + # This program is free software; you can redistribute it and/or modify +@@ -5914,8 +5914,8 @@ + # See also the lm_sensors homepage at: + # http://www.lm-sensors.org/ + # +-# This file is used by /etc/init.d/lm_sensors and defines the modules to +-# be loaded/unloaded. This file is sourced into /etc/init.d/lm_sensors. ++# This file is used by /etc/rc.d/sensors and defines the modules to ++# be loaded/unloaded. This file is sourced into /etc/rc.d/sensors. + # + # The format of this file is a shell script that simply defines the modules + # in order as normal variables with the special names: +@@ -5952,12 +5952,12 @@ + print SYSCONFIG $sysconfig; + close(SYSCONFIG); + +- print "Copy prog/init/lm_sensors.init to /etc/init.d/lm_sensors\n". ++ print "Copy prog/init/lm_sensors.init to /etc/rc.d/sensors\n". + "for initialization at boot time.\n" +- unless -f "/etc/init.d/lm_sensors"; ++ unless -f "/etc/rc.d/sensors"; + +- if (-x "/sbin/insserv" && -f "/etc/init.d/lm_sensors") { +- system("/sbin/insserv", "/etc/init.d/lm_sensors"); ++ if (-x "/sbin/insserv" && -f "/etc/rc.d/sensors") { ++ system("/sbin/insserv", "/etc/rc.d/sensors"); + } elsif (-x "/sbin/chkconfig" && -f "/etc/init.d/lm_sensors") { + system("/sbin/chkconfig", "lm_sensors", "on"); + if (-x "/sbin/service") { diff --git a/abs/extra/lm_sensors/sensors.install b/abs/extra/lm_sensors/sensors.install new file mode 100644 index 0000000..d593f84 --- /dev/null +++ b/abs/extra/lm_sensors/sensors.install @@ -0,0 +1,12 @@ +post_install() { + echo ">>> to control the lm_sensors daemon type" + echo ">>> \"/etc/rc.d/sensors start|stop|restart\" " + echo ">>> --------------------------------------" + echo ">>> before you can use the fancontrol daemon" + echo ">>> first create a fancontrol config file, use \"pwmconfig\"" + echo ">>> then type \"/etc/rc.d/fancontrol start|stop|restart\" " + echo ">>> --------------------------------------" + echo ">>> to decode memory SPD timings modprobe eeprom module" + echo ">>> and get this perl script from" + echo ">>> \"http://www.lm-sensors.org/browser/lm-sensors/trunk/prog/eeprom/decode-dimms.pl\"" +} diff --git a/abs/extra/lm_sensors/sensors.rc b/abs/extra/lm_sensors/sensors.rc new file mode 100644 index 0000000..aa086eb --- /dev/null +++ b/abs/extra/lm_sensors/sensors.rc @@ -0,0 +1,127 @@ +#!/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. + +# 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 +# be loaded/unloaded. That file is sourced into this one. + +# The format of that file a shell script that simply defines the modules +# in order as normal shell variables with the special names: +# MODULE_1, MODULE_2, MODULE_3, etc. + +. /etc/rc.conf +. /etc/rc.d/functions + +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 +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 + fi + $PSENSORS -s + + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon sensors + stat_done + fi + ;; + + stop) + 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 + fi + + if [ $WITHSYS == "0" ]; then + /sbin/modprobe -r i2c-proc &>/dev/null + fi + + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon sensors + stat_done + fi + ;; + + dostatus) + $PSENSORS + RETVAL=$? + ;; + + restart) + $0 stop + sleep 1 + $0 start + ;; + + condrestart) + [ -e /var/lock/subsys/lm_sensors ] && restart || : + ;; + + *) + echo "Usage: sensors.init {start|stop|status|restart|reload|condrestart}" +esac |