changeset 169:c531611414cb

update lm-sensors to 3.1.1
author holger
date Sat, 17 Oct 2009 17:18:33 +0200
parents 46e9ed96ea3e
children 87bc97b98ca0
files sys-apps/lm_sensors/Manifest sys-apps/lm_sensors/files/fancontrol-init.d sys-apps/lm_sensors/files/lm_sensors-3-init.d sys-apps/lm_sensors/files/lm_sensors-3.1.1-sensors-detect-gentoo.patch sys-apps/lm_sensors/files/sensord-conf.d sys-apps/lm_sensors/files/sensord-init.d sys-apps/lm_sensors/lm_sensors-3.1.1.ebuild
diffstat 7 files changed, 399 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sys-apps/lm_sensors/Manifest	Sat Oct 17 17:18:33 2009 +0200
@@ -0,0 +1,7 @@
+AUX fancontrol-init.d 726 RMD160 444eedc0044a61e0a79d79565e6399156b8f9b9c SHA1 aabcdaf530f6d49f3de01e9b6d78470c6538ff38 SHA256 b231b76d5b32bb303a8e42727f48a4405cec71eedfe392e837acba5e46532783
+AUX lm_sensors-3-init.d 2466 RMD160 54b58e00914e9c1f8b21e6a73cc215335d9dd647 SHA1 6250e4e28cd936efa6d05846b16175e85fe821c5 SHA256 9b018f9f7a0975988387858823fe59a5cd8af6413d8c3170db0e24aac6021ec3
+AUX lm_sensors-3.1.1-sensors-detect-gentoo.patch 4398 RMD160 3bafa465c410be328ffc1d78c81d80f21af328ec SHA1 ab1ddf27e2133d21f1955a722c68c37bc49e6d30 SHA256 911093670675df50c836e72d0eafd8af49a7837e8c0a4ec7f38305b61a7a9d49
+AUX sensord-conf.d 104 RMD160 c4a06a8492d6c0fd966dea64d92f798a9b716a92 SHA1 43090c58c918969caa359d3b6e89237585759f46 SHA256 02230edf5efbb0a4de3840cd76f9ebf431c57a246fa7388e9dbeb0fe26fe7b8d
+AUX sensord-init.d 708 RMD160 31e5a4ac844333bc9689346bb68c206ded13f1a3 SHA1 45dd30ba6d158022e8290ea9b09fd2a1053c5b58 SHA256 9f6d0e7bcdc1b4b3bc0835b40f246f7caf76e1b3bbfcf76a5d5b235eb8243d89
+DIST lm_sensors-3.1.1.tar.bz2 154551 RMD160 7a333f42f598ee8366f70157037c63ebb5b33387 SHA1 8be15806d229305491f11b77c67496074480faf4 SHA256 d95a3f2a6526f4da2ae145b7bbf45d16f0fb17bfe0d2017c7e02964199d059ef
+EBUILD lm_sensors-3.1.1.ebuild 3066 RMD160 0ec9c1b945569ba2e517ab42bcfc97b85afc6eab SHA1 a543107eb74b8bf39a54002e81795c6fea13772c SHA256 834cb0b4619328ef9470d5f543c9965cc1ac80d2f5cb57e7b017cbc22da0cd95
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sys-apps/lm_sensors/files/fancontrol-init.d	Sat Oct 17 17:18:33 2009 +0200
@@ -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 ${?}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sys-apps/lm_sensors/files/lm_sensors-3-init.d	Sat Oct 17 17:18:33 2009 +0200
@@ -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
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sys-apps/lm_sensors/files/lm_sensors-3.1.1-sensors-detect-gentoo.patch	Sat Oct 17 17:18:33 2009 +0200
@@ -0,0 +1,114 @@
+--- lm_sensors-3.1.1.orig/prog/detect/sensors-detect	2009-03-04 15:18:39.000000000 +0100
++++ lm_sensors-3.1.1/prog/detect/sensors-detect	2009-03-04 15:21:26.000000000 +0100
+@@ -20,6 +20,9 @@
+ #    MA 02110-1301 USA.
+ #
+ 
++# Gentoo specific modifications based on a patch from Rudo Thomas
++# <thomr9am@ss1000.ms.mff.cuni.cz>
++
+ require 5.004;
+ 
+ use strict;
+@@ -5274,26 +5277,33 @@
+ 			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".
+-			      "/etc/modprobe.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 ($!)";
++	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(local *SYSCONFIG, ">/etc/sysconfig/lm_sensors")
+-			or die "Sorry, can't create /etc/sysconfig/lm_sensors ($!)";
++		open(SYSCONFIG, ">".$filename)
++			 or die "Sorry, can't create $filename ($!).";
+ 		print SYSCONFIG "# Generated by sensors-detect on " . scalar localtime() . "\n";
+ 		print SYSCONFIG <<'EOT';
+ # This file is sourced by /etc/init.d/lm_sensors and defines the modules to
+@@ -5304,6 +5314,11 @@
+ # BUS_MODULES for any required bus driver module (for example for I2C or SPI).
+ 
+ EOT
++		print SYSCONFIG
++			"# Load modules at startup\n".
++			"LOADMODULES=yes\n\n".
++			"# Initialize sensors at startup\n".
++			"INITSENSORS=yes\n\n";
+ 		print SYSCONFIG "BUS_MODULES=\"", join(" ", @{$bus_modules}), "\"\n"
+ 			if @{$bus_modules};
+ 		print SYSCONFIG "HWMON_MODULES=\"", join(" ", @{$hwmon_modules}), "\"\n";
+@@ -5312,6 +5327,10 @@
+ 
+ # For compatibility reasons, modules are also listed individually as variables
+ #    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.
++#
+ # You should use BUS_MODULES and HWMON_MODULES instead if possible.
+ 
+ EOT
+@@ -5321,10 +5340,7 @@
+ 			$i++;
+ 		}
+ 		close(SYSCONFIG);
+-
+-		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";
++		print "Done.\n";
+ 
+ 		if (-x "/sbin/insserv" && -f "/etc/init.d/lm_sensors") {
+ 			system("/sbin/insserv", "/etc/init.d/lm_sensors");
+@@ -5338,20 +5354,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";
+-		if (@{$bus_modules}) {
+-			print "# Adapter drivers\n";
+-			print "modprobe $_\n" foreach (@{$bus_modules});
+-		}
+-		print "# Chip drivers\n";
+-		print "modprobe $_\n" foreach (@{$hwmon_modules});
+-		print((-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".
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sys-apps/lm_sensors/files/sensord-conf.d	Sat Oct 17 17:18:33 2009 +0200
@@ -0,0 +1,3 @@
+# Extra options to pass to the sensord daemon,
+# see sensord(8) for more information
+SENSORD_OPTIONS=""
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sys-apps/lm_sensors/files/sensord-init.d	Sat Oct 17 17:18:33 2009 +0200
@@ -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 ${?}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sys-apps/lm_sensors/lm_sensors-3.1.1.ebuild	Sat Oct 17 17:18:33 2009 +0200
@@ -0,0 +1,104 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/lm_sensors/lm_sensors-3.1.1.ebuild,v 1.2 2008/08/13 16:13:57 armin76 Exp $
+
+inherit eutils flag-o-matic linux-info toolchain-funcs multilib
+
+DESCRIPTION="Hardware Monitoring user-space utilities"
+
+HOMEPAGE="http://www.lm-sensors.org/"
+SRC_URI="http://dl.lm-sensors.org/lm-sensors/releases/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86"
+
+IUSE="sensord"
+
+COMMON="sensord? ( net-analyzer/rrdtool )"
+DEPEND="${COMMON}
+		sys-apps/sed"
+RDEPEND="${COMMON}
+		dev-lang/perl
+		virtual/logger"
+
+CONFIG_CHECK="~HWMON ~I2C_CHARDEV ~I2C"
+WARNING_HWMON="${PN} requires CONFIG_HWMON to be enabled for use."
+WARNING_I2C_CHARDEV="sensors-detect requires CONFIG_I2C_CHARDEV to be enabled."
+WARNING_I2C="${PN} requires CONFIG_I2C to be enabled for most sensors."
+
+src_unpack() {
+	unpack ${A}
+
+	cd "${S}"
+	epatch "${FILESDIR}"/${PN}-${PV}-sensors-detect-gentoo.patch
+
+	if use sensord; then
+		sed -i -e 's:^# \(PROG_EXTRA\):\1:' "${S}"/Makefile
+	fi
+
+	# Respect LDFLAGS
+	sed -i -e 's/\$(LIBDIR)$/\$(LIBDIR) \$(LDFLAGS)/g' Makefile
+	sed -i -e 's/\$(LIBSHSONAME) -o/$(LIBSHSONAME) \$(LDFLAGS) -o/g' lib/Module.mk
+}
+
+src_compile()  {
+	einfo
+	einfo "You may safely ignore any errors from compilation"
+	einfo "that contain \"No such file or directory\" references."
+	einfo
+
+	filter-flags -fstack-protector
+
+	emake CC=$(tc-getCC) \
+		|| die "emake failed"
+}
+
+src_install() {
+	emake DESTDIR="${D}" PREFIX=/usr MANDIR=/usr/share/man LIBDIR=/usr/$(get_libdir) \
+		install || die "emake install failed"
+
+	newinitd "${FILESDIR}"/lm_sensors-3-init.d lm_sensors
+	newinitd "${FILESDIR}"/fancontrol-init.d fancontrol
+
+	if use sensord; then
+		newconfd "${FILESDIR}"/sensord-conf.d sensord
+		newinitd "${FILESDIR}"/sensord-init.d sensord
+	fi
+
+	dodoc CHANGES CONTRIBUTORS INSTALL README*
+
+	dodoc doc/donations doc/fancontrol.txt doc/fan-divisors \
+		doc/progs doc/temperature-sensors doc/vid
+
+	dohtml doc/lm_sensors-FAQ.html doc/useful_addresses.html
+
+	docinto chips
+	dodoc doc/chips/*
+
+	docinto developers
+	dodoc doc/developers/applications
+}
+
+pkg_postinst() {
+	elog
+	elog "Please run \`/usr/sbin/sensors-detect' in order to setup"
+	elog "/etc/conf.d/lm_sensors."
+	elog
+	elog "/etc/conf.d/lm_sensors is vital to the init-script."
+	elog "Please make sure you also add lm_sensors to the desired"
+	elog "runlevel. Otherwise your I2C modules won't get loaded"
+	elog "on the next startup."
+	elog
+	elog "You will also need to run the above command if you're upgrading from"
+	elog "<=${PN}-2, as the needed entries in /etc/conf.d/lm_sensors has"
+	elog "changed."
+	elog
+	elog "Be warned, the probing of hardware in your system performed by"
+	elog "sensors-detect could freeze your system. Also make sure you read"
+	elog "the documentation before running lm_sensors on IBM ThinkPads."
+	elog
+	elog "Please refer to the lm_sensors documentation for more information."
+	elog "(http://www.lm-sensors.org/wiki/Documentation)"
+	elog
+}