diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2009-02-20 15:35:57 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2009-02-20 15:35:57 +0000 |
commit | 539d2f79a031faf43d48506271ed8c0967a54ae7 (patch) | |
tree | c551b850e448bb8f152a87ba0e4c75c0610cdc83 /extra | |
parent | 482c9f9d91ac15d0406b46d459c77d45c77b4940 (diff) |
extra/lm_sensors: new aport
Collection of user space tools for general SMBus access and hardware monitoring
http://www.lm-sensors.org/
Diffstat (limited to 'extra')
-rw-r--r-- | extra/lm_sensors/APKBUILD | 63 | ||||
-rw-r--r-- | extra/lm_sensors/fancontrol.initd | 33 | ||||
-rw-r--r-- | extra/lm_sensors/lm_sensors-3.0.3-sensors-detect-gentoo.patch | 116 | ||||
-rw-r--r-- | extra/lm_sensors/lm_sensors.initd | 105 | ||||
-rw-r--r-- | extra/lm_sensors/sensord.confd | 3 | ||||
-rw-r--r-- | extra/lm_sensors/sensord.initd | 33 | ||||
-rw-r--r-- | extra/lm_sensors/sensors.install | 12 |
7 files changed, 365 insertions, 0 deletions
diff --git a/extra/lm_sensors/APKBUILD b/extra/lm_sensors/APKBUILD new file mode 100644 index 00000000000..bdcb678b8bd --- /dev/null +++ b/extra/lm_sensors/APKBUILD @@ -0,0 +1,63 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=lm_sensors +pkgver=3.0.3 +pkgrel=0 +pkgdesc="Collection of user space tools for general SMBus access and hardware monitoring." +url="http://www.lm-sensors.org/" +license="GPL" +depends="uclibc sysfsutils rrdtool" +makedepends="perl rrdtool-dev" +subpackages="$pkgname-dev $pkgname-doc $pkgname-detect" +#install=sensors.install +source="http://dl.lm-sensors.org/lm-sensors/releases/$pkgname-$pkgver.tar.bz2 + lm_sensors-3.0.3-sensors-detect-gentoo.patch + fancontrol.initd + lm_sensors.initd + sensord.confd + sensord.initd + " + +build () +{ + cd "$srcdir"/$pkgname-$pkgver + + sed -i -e 's:^# \(PROG_EXTRA\):\1:' Makefile + # Respect LDFLAGS + sed -i -e 's/\$(LIBDIR)$/\$(LIBDIR) \$(LDFLAGS)/g' Makefile + sed -i -e 's/\$(LIBSHSONAME) -o/$(LIBSHSONAME) \$(LDFLAGS) -o/g' \ + lib/Module.mk + + export CFLAGS="$CFLAGS -fno-stack-protector" + + for i in ../*.patch; do + msg "Applying $i" + patch -p1 < $i || return 1 + done + make PREFIX=/usr user || return 1 + make user_install \ + PREFIX=/usr \ + MANDIR=/usr/share/man \ + DESTDIR="$pkgdir" || return 1 + + cd "$srcdir" + install -Dm755 fancontrol.initd "$pkgdir"/etc/init.d/fancontrol + install -Dm755 lm_sensors.initd "$pkgdir"/etc/init.d/lm_sensors + install -Dm755 sensord.initd "$pkgdir"/etc/init.d/sensord + install -Dm755 sensord.confd "$pkgdir"/etc/conf.d/sensord +} + +detect() { + depends="perl" + pkgdesc="Detection/migration scripts for lm_sensors" + mkdir -p "$subpkgdir"/usr/bin "$subpkgdir"/usr/sbin + cd "$pkgdir" + mv usr/bin/sensors-conf-convert "$subpkgdir"/usr/bin/ + mv usr/sbin/sensors-detect "$subpkgdir"/usr/bin/ +} + +md5sums="e88b236228ac2a50821217015b8fd0fa lm_sensors-3.0.3.tar.bz2 +495d9786dab6a9d0c1e54aa2fb6aeb96 lm_sensors-3.0.3-sensors-detect-gentoo.patch +58f4c9193a903711ace7fa0754693bd2 fancontrol.initd +2c7e97203da2c39bc9fbfc2a4849cfd4 lm_sensors.initd +82e075236a61334abb3adf46280380d3 sensord.confd +6f3a880988e7cdbcb20870e3c6d1e554 sensord.initd" diff --git a/extra/lm_sensors/fancontrol.initd b/extra/lm_sensors/fancontrol.initd new file mode 100644 index 00000000000..fb163abc23b --- /dev/null +++ b/extra/lm_sensors/fancontrol.initd @@ -0,0 +1,33 @@ +#!/sbin/runscript +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/lm_sensors/files/fancontrol-init.d,v 1.1 2007/05/17 07:31:41 phreak Exp $ + +CONFIG=/etc/fancontrol +PID=/var/run/fancontrol.pid + +depend() { + after lm_sensors +} + +checkconfig() { + if [ ! -f ${CONFIG} ]; then + eerror "Configuration file ${CONFIG} not found" + return 1 + fi +} + +start() { + checkconfig || return 1 + + ebegin "Starting fancontrol" + start-stop-daemon --start --quiet --background --pidfile ${PID} \ + --exec /usr/sbin/fancontrol -- ${CONFIG} + eend ${?} +} + +stop() { + ebegin "Stopping fancontrol" + start-stop-daemon --stop --pidfile ${PID} + eend ${?} +} diff --git a/extra/lm_sensors/lm_sensors-3.0.3-sensors-detect-gentoo.patch b/extra/lm_sensors/lm_sensors-3.0.3-sensors-detect-gentoo.patch new file mode 100644 index 00000000000..ff353f957b5 --- /dev/null +++ b/extra/lm_sensors/lm_sensors-3.0.3-sensors-detect-gentoo.patch @@ -0,0 +1,116 @@ +diff -urN lm_sensors-3.0.3.orig/prog/detect/sensors-detect lm_sensors-3.0.3/prog/detect/sensors-detect +--- lm_sensors-3.0.3.orig/prog/detect/sensors-detect 2008-09-19 17:05:28.000000000 +0200 ++++ lm_sensors-3.0.3/prog/detect/sensors-detect 2008-10-27 10:03:39.000000000 +0100 +@@ -27,6 +27,9 @@ + # each be put in a separate file, using modules and packages. That is beyond + # me. + ++# Gentoo specific modifications based on a patch from Rudo Thomas ++# <thomr9am@ss1000.ms.mff.cuni.cz> ++ + require 5.004; + + use strict; +@@ -6076,29 +6079,35 @@ + print MODPROBE_D $configfile; + close(MODPROBE_D); + } else { ++ print "\nIf you want to load the modules at startup, generate a config file\n", ++ "below and make sure lm_sensors gets started at boot time; e.g\n", ++ "\$ rc-update add lm_sensors default\n"; + print "To make the sensors modules behave correctly, add these lines to\n". +- "$modules_conf:\n\n"; ++ "/etc/modules.d/lm_sensors and run modules-update:\n\n"; + print "#----cut here----\n". + $configfile. + "#----cut here----\n\n"; + } + } + +- my $have_sysconfig = -d '/etc/sysconfig'; +- printf "Do you want to \%s /etc/sysconfig/lm_sensors? (\%s): ", +- (-e '/etc/sysconfig/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 ($!)"; +- } +- open(local *SYSCONFIG, ">/etc/sysconfig/lm_sensors") +- or die "Sorry, can't create /etc/sysconfig/lm_sensors ($!)"; +- print SYSCONFIG <<'EOT'; +-# /etc/sysconfig/lm_sensors - Defines modules loaded by +-# /etc/init.d/lm_sensors ++ my $have_config = -f '/etc/conf.d/lm_sensors'; ++ print "\nDo you want to ".($have_config?"overwrite":"generate"). ++ " /etc/conf.d/lm_sensors? Enter s to specify other file name?\n", ++ " (".($have_config?"yes/NO":"YES/no")."/s): "; ++ my $reply = <STDIN>; ++ ++ if (($have_config and $reply =~ /^\s*[Yy]/) or ++ (not $have_config and not $reply =~ /^\s*[Nn]/) or ++ $reply =~ /^\s*[Ss]/) { ++ my $filename = "/etc/conf.d/lm_sensors"; ++ if ($reply =~ /^\s*[Ss]/) { ++ print "Specify the file to store the configuration to: "; ++ $filename = <STDIN>; ++ } ++ open(SYSCONFIG, ">".$filename) ++ or die "Sorry, can't create $filename ($!)."; ++ print SYSCONFIG <<'EOT'; ++# /etc/conf.d/sensors - Defines modules loaded by /etc/init.d/lm_sensors + # Copyright (c) 1998 - 2001 Frodo Looijaard <frodol@dds.nl> + # + # This program is free software; you can redistribute it and/or modify +@@ -6127,12 +6136,21 @@ + # in order as normal variables with the special names: + # MODULE_0, MODULE_1, MODULE_2, etc. + # ++# Please note that the numbers in MODULE_X must start at 0 and increase in ++# steps of 1. Any number that is missing will make the init script skip the ++# rest of the modules. Use MODULE_X_ARGS for arguments. ++# + # List the modules that are to be loaded for your system + # + EOT + print SYSCONFIG +- "# Generated by sensors-detect on " . scalar localtime() . "\n"; ++ "# Generated by sensors-detect on " . scalar localtime() . "\n\n"; + my @modules = grep /^modprobe /, split "\n", $modprobes; ++ print SYSCONFIG ++ "# Load modules at startup\n". ++ "LOADMODULES=yes\n\n". ++ "# Initialize sensors at startup\n". ++ "INITSENSORS=yes\n\n"; + my $i = 0; + my $sysconfig = ""; + foreach (@modules) { +@@ -6142,10 +6160,8 @@ + } + print SYSCONFIG $sysconfig; + close(SYSCONFIG); ++ print "Done.\n"; + +- print "Copy prog/init/lm_sensors.init to /etc/init.d/lm_sensors\n". +- "for initialization at boot time.\n" +- unless -f "/etc/init.d/lm_sensors"; + + if (-x "/sbin/insserv" && -f "/etc/init.d/lm_sensors") { + system("/sbin/insserv", "/etc/init.d/lm_sensors"); +@@ -6159,15 +6175,6 @@ + "kernel modules.\n\n"; + } + } else { +- print "To load everything that is needed, add this to one of the system\n". +- "initialization scripts (e.g. /etc/rc.d/rc.local):\n\n"; +- print "#----cut here----\n". +- $modprobes. +- (-e '/usr/bin/sensors' ? +- "/usr/bin/sensors -s\n" : +- "/usr/local/bin/sensors -s\n") . +- "#----cut here----\n\n"; +- + print "If you have some drivers built into your kernel, the list above will\n". + "contain too many modules. Skip the appropriate ones! You really\n". + "should try these commands right now to make sure everything is\n". diff --git a/extra/lm_sensors/lm_sensors.initd b/extra/lm_sensors/lm_sensors.initd new file mode 100644 index 00000000000..18fb3537062 --- /dev/null +++ b/extra/lm_sensors/lm_sensors.initd @@ -0,0 +1,105 @@ +#!/sbin/runscript +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/lm_sensors/files/lm_sensors-3-init.d,v 1.1 2008/03/17 07:59:28 dberkholz Exp $ + +checkconfig() { + if [ ! -f /etc/conf.d/lm_sensors ]; then + eerror "/etc/conf.d/lm_sensors does not exist, try running sensors-detect" + return 1 + fi + + if [ "${LOADMODULES}" = "yes" -a -f /proc/modules ]; then + if [ -z "${MODULE_0}" ]; then + eerror "MODULE_0 is not set in /etc/conf.d/lm_sensors, try running sensors-detect" + return 1 + fi + fi +} + +start() { + checkconfig || return 1 + + if [ "${LOADMODULES}" = "yes" -a -f /proc/modules ]; then + einfo "Loading lm_sensors modules..." + + mount | grep sysfs >/dev/null 2>&1 + if [ ${?} = 0 ]; then + if ! ( [ -e /sys/i2c ] || [ -e /sys/bus/i2c ] ); then + ebegin " Loading i2c-core" + modprobe i2c-core >/dev/null 2>&1 + if [ ${?} != 0 ]; then + eerror " Could not load i2c-core!" + eend 1 + fi + ( [ -e /sys/i2c ] || [ -e /sys/bus/i2c ] ) || return 1 + eend 0 + fi + elif ! [ -e /proc/sys/dev/sensors ]; then + ebegin " Loading i2c-proc" + modprobe i2c-proc >/dev/null 2>&1 + if [ ${?} != 0 ]; then + eerror " Could not load i2c-proc!" + eend 1 + fi + [ -e /proc/sys/dev/sensors ] || return 1 + eend 0 + fi + + i=0 + while true; do + module=`eval echo '$'MODULE_${i}` + module_args=`eval echo '$'MODULE_${i}_ARGS` + if [ -z "${module}" ]; then + break + fi + ebegin " Loading ${module}" + modprobe ${module} ${module_args} >/dev/null 2>&1 + eend $? + i=$(($i+1)) + done + fi + + if [ "${INITSENSORS}" = "yes" ]; then + if ! [ -f /etc/sensors3.conf ]; then + eerror "/etc/sensors3.conf does not exist!" + return 1 + fi + + ebegin "Initializing sensors" + /usr/bin/sensors -s >/dev/null 2>&1 + eend ${?} + fi +} + +stop() { + checkconfig || return 1 + + if [ "${LOADMODULES}" = "yes" -a -f /proc/modules ]; then + einfo "Unloading lm_sensors modules..." + + # find the highest possible MODULE_ number + i=0 + while true; do + module=`eval echo '$'MODULE_${i}` + if [ -z "${module}" ] ; then + break + fi + i=$(($i+1)) + done + + while [ ${i} -gt 0 ]; do + i=$(($i-1)) + module=`eval echo '$'MODULE_${i}` + ebegin " Unloading ${module}" + rmmod ${module} >/dev/null 2>&1 + eend $? + done + + if [ -e /proc/sys/dev/sensors ] ; then + ebegin " Unloading i2c-proc" + rmmod i2c-proc >/dev/null 2>&1 + eend $? + fi + fi +} diff --git a/extra/lm_sensors/sensord.confd b/extra/lm_sensors/sensord.confd new file mode 100644 index 00000000000..d82841aebd4 --- /dev/null +++ b/extra/lm_sensors/sensord.confd @@ -0,0 +1,3 @@ +# Extra options to pass to the sensord daemon, +# see sensord(8) for more information +SENSORD_OPTIONS="" diff --git a/extra/lm_sensors/sensord.initd b/extra/lm_sensors/sensord.initd new file mode 100644 index 00000000000..cb99dce3f05 --- /dev/null +++ b/extra/lm_sensors/sensord.initd @@ -0,0 +1,33 @@ +#!/sbin/runscript +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/lm_sensors/files/sensord-init.d,v 1.1 2007/05/17 07:31:41 phreak Exp $ + +CONFIG=/etc/sensors.conf + +depend() { + need logger + use lm_sensors +} + +checkconfig() { + if [ ! -f ${CONFIG} ]; then + eerror "Configuration file ${CONFIG} not found" + return 1 + fi +} + +start() { + checkconfig || return 1 + + ebegin "Starting sensord" + start-stop-daemon --start --exec /usr/sbin/sensord \ + -- --config-file ${CONFIG} ${SENSORD_OPTIONS} + eend ${?} +} + +stop() { + ebegin "Stopping sensord" + start-stop-daemon --stop --pidfile /var/run/sensord.pid + eend ${?} +} diff --git a/extra/lm_sensors/sensors.install b/extra/lm_sensors/sensors.install new file mode 100644 index 00000000000..d593f841449 --- /dev/null +++ b/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\"" +} |