summaryrefslogtreecommitdiffstats
path: root/extra
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2009-02-20 15:35:57 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2009-02-20 15:35:57 +0000
commit539d2f79a031faf43d48506271ed8c0967a54ae7 (patch)
treec551b850e448bb8f152a87ba0e4c75c0610cdc83 /extra
parent482c9f9d91ac15d0406b46d459c77d45c77b4940 (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/APKBUILD63
-rw-r--r--extra/lm_sensors/fancontrol.initd33
-rw-r--r--extra/lm_sensors/lm_sensors-3.0.3-sensors-detect-gentoo.patch116
-rw-r--r--extra/lm_sensors/lm_sensors.initd105
-rw-r--r--extra/lm_sensors/sensord.confd3
-rw-r--r--extra/lm_sensors/sensord.initd33
-rw-r--r--extra/lm_sensors/sensors.install12
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\""
+}