diff options
Diffstat (limited to 'sys-apps')
8 files changed, 455 insertions, 1 deletions
diff --git a/sys-apps/lm_sensors/ChangeLog b/sys-apps/lm_sensors/ChangeLog index 93fd63780a80..79b69bd82242 100644 --- a/sys-apps/lm_sensors/ChangeLog +++ b/sys-apps/lm_sensors/ChangeLog @@ -1,6 +1,18 @@ # ChangeLog for sys-apps/lm_sensors # Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/lm_sensors/ChangeLog,v 1.57 2006/09/03 09:07:54 hansmi Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/lm_sensors/ChangeLog,v 1.58 2006/09/29 15:04:55 phreak Exp $ + +*lm_sensors-2.10.1 (29 Sep 2006) + + 29 Sep 2006; Christian Heim <phreak@gentoo.org> + +files/lm_sensors-2.10.1-fancontrol-init.d, + +files/lm_sensors-2.10.1-lm_sensors-init.d, + +files/lm_sensors-2.10.1-sensord-conf.d, + +files/lm_sensors-2.10.1-sensord-init.d, + +files/lm_sensors-2.10.1-sensors-detect-gentoo.patch, + +lm_sensors-2.10.1.ebuild: + Version bump, fixing #145164 (Abit uGuru support), #149204 (thanks to Gary + Young for reporting). 03 Sep 2006; Michael Hanselmann <hansmi@gentoo.org> lm_sensors-2.10.0.ebuild: diff --git a/sys-apps/lm_sensors/files/digest-lm_sensors-2.10.1 b/sys-apps/lm_sensors/files/digest-lm_sensors-2.10.1 new file mode 100644 index 000000000000..603d08c20e20 --- /dev/null +++ b/sys-apps/lm_sensors/files/digest-lm_sensors-2.10.1 @@ -0,0 +1,3 @@ +MD5 cdc857b78e813b88cbf8be92441aa299 lm_sensors-2.10.1.tar.gz 909117 +RMD160 46e13ed34cd658a894c2acbae31b436b293cfcda lm_sensors-2.10.1.tar.gz 909117 +SHA256 a332cacfa9d0eed6e9158c394db714e536f38c27451d7df08b9634952118fa1b lm_sensors-2.10.1.tar.gz 909117 diff --git a/sys-apps/lm_sensors/files/lm_sensors-2.10.1-fancontrol-init.d b/sys-apps/lm_sensors/files/lm_sensors-2.10.1-fancontrol-init.d new file mode 100644 index 000000000000..99b961681601 --- /dev/null +++ b/sys-apps/lm_sensors/files/lm_sensors-2.10.1-fancontrol-init.d @@ -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/lm_sensors-2.10.1-fancontrol-init.d,v 1.1 2006/09/29 15:04:55 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/sys-apps/lm_sensors/files/lm_sensors-2.10.1-lm_sensors-init.d b/sys-apps/lm_sensors/files/lm_sensors-2.10.1-lm_sensors-init.d new file mode 100644 index 000000000000..eb77c2abc250 --- /dev/null +++ b/sys-apps/lm_sensors/files/lm_sensors-2.10.1-lm_sensors-init.d @@ -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-2.10.1-lm_sensors-init.d,v 1.1 2006/09/29 15:04:55 phreak 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 + if [ ${?} == 0 ]; then + if ! ( [ -e /sys/i2c ] || [ -e /sys/bus/i2c ] ); then + ebegin " Loading i2c-core" + modprobe i2c-core &> /dev/null + 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 + 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 + eend $? + i=$((i+1)) + done + fi + + if [ "${INITSENSORS}" = "yes" ]; then + if ! [ -f /etc/sensors.conf ]; then + eerror "/etc/sensors.conf does not exist!" + return 1 + fi + + ebegin "Initializing sensors" + /usr/bin/sensors -s &> /dev/null + 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 + eend $? + done + + if [ -e /proc/sys/dev/sensors ] ; then + ebegin " Unloading i2c-proc" + rmmod i2c-proc &> /dev/null + eend $? + fi + fi +} diff --git a/sys-apps/lm_sensors/files/lm_sensors-2.10.1-sensord-conf.d b/sys-apps/lm_sensors/files/lm_sensors-2.10.1-sensord-conf.d new file mode 100644 index 000000000000..d82841aebd4a --- /dev/null +++ b/sys-apps/lm_sensors/files/lm_sensors-2.10.1-sensord-conf.d @@ -0,0 +1,3 @@ +# Extra options to pass to the sensord daemon, +# see sensord(8) for more information +SENSORD_OPTIONS="" diff --git a/sys-apps/lm_sensors/files/lm_sensors-2.10.1-sensord-init.d b/sys-apps/lm_sensors/files/lm_sensors-2.10.1-sensord-init.d new file mode 100644 index 000000000000..c224e5568b0e --- /dev/null +++ b/sys-apps/lm_sensors/files/lm_sensors-2.10.1-sensord-init.d @@ -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/lm_sensors-2.10.1-sensord-init.d,v 1.1 2006/09/29 15:04:55 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/sys-apps/lm_sensors/files/lm_sensors-2.10.1-sensors-detect-gentoo.patch b/sys-apps/lm_sensors/files/lm_sensors-2.10.1-sensors-detect-gentoo.patch new file mode 100644 index 000000000000..d75c36063691 --- /dev/null +++ b/sys-apps/lm_sensors/files/lm_sensors-2.10.1-sensors-detect-gentoo.patch @@ -0,0 +1,123 @@ +Index: lm_sensors-2.10.1/prog/detect/sensors-detect +=================================================================== +--- lm_sensors-2.10.1.orig/prog/detect/sensors-detect ++++ lm_sensors-2.10.1/prog/detect/sensors-detect +@@ -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; +@@ -5420,40 +5423,47 @@ sub main + + print "\n"; + my ($modprobes, $configfile) = generate_modprobes 1; # 1 == prefer ISA ++ 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"; + +- print "To load everything that is needed, add this to some /etc/rc* file:\n\n"; +- print "#----cut here----\n". +- $modprobes. +- "# sleep 2 # optional\n". +- "/usr/local/bin/sensors -s # recommended\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". + "working properly. Monitoring programs won't work until the needed\n". + "modules are loaded.\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 ++ ++ print "To load everything that is needed, execute the commands below..."; ++ ++ print "\n\n#----cut here----\n"; ++ print $modprobes; ++ print "# sleep 2 # optional\n", ++ "/usr/bin/sensors -s # recommended\n"; ++ print "#----end cut here----\n"; ++ ++ 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 +@@ -5481,13 +5491,22 @@ sub main + # 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"; + my @modules = grep /^modprobe /, split "\n", $modprobes; +- my $i = 0; ++ "# Generated by sensors-detect on " . scalar localtime() . "\n\n"; ++ 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) { + s/^modprobe //; +@@ -5495,10 +5514,8 @@ EOT + $i++; + } + print SYSCONFIG $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"; + } + } + diff --git a/sys-apps/lm_sensors/lm_sensors-2.10.1.ebuild b/sys-apps/lm_sensors/lm_sensors-2.10.1.ebuild new file mode 100644 index 000000000000..0f87bdde68ee --- /dev/null +++ b/sys-apps/lm_sensors/lm_sensors-2.10.1.ebuild @@ -0,0 +1,142 @@ +# 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/lm_sensors-2.10.1.ebuild,v 1.1 2006/09/29 15:04:55 phreak 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.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" + +IUSE="sensord" + +COMMON="sys-fs/sysfsutils + sensord? ( net-analyzer/rrdtool )" +DEPEND="${COMMON} + sys-apps/sed + ppc? ( >=virtual/linux-sources-2.5 ) + amd64? ( >=virtual/linux-sources-2.5 ) + x86? ( || ( >=virtual/linux-sources-2.5 sys-apps/lm_sensors-modules ) )" +RDEPEND="${COMMON} + dev-lang/perl" + +pkg_setup() { + linux-info_pkg_setup + + if kernel_is 2 4; then + if use ppc || use amd64; then + eerror + eerror "${P} does not support kernel 2.4.x under PPC and AMD64." + eerror + die "${P} does not support kernel 2.4.x under PPC and AMD64." + elif ! has_version =sys-apps/lm_sensors-modules-${PV}; then + eerror + eerror "${P} needs sys-apps/lm_sensors-modules-${PV} to be installed" + eerror "for kernel 2.4.x" + eerror + die "sys-apps/lm_sensors-modules-${PV} not installed" + fi + else + if kernel_is lt 2 6 14 && ! (linux_chkconfig_present I2C_SENSOR); then + eerror + eerror "${P} requires CONFIG_I2C_SENSOR to be enabled for non-2.4.x kernels." + eerror + die "CONFIG_I2C_SENSOR not detected" + elif kernel_is gt 2 6 13 && ! (linux_chkconfig_present HWMON); then + eerror + eerror "${P} requires CONFIG_HWMON to be enabled for 2.6.14+ kernels." + eerror + die "CONFIG_HWMON not detected" + fi + if ! (linux_chkconfig_present I2C_CHARDEV); then + ewarn + ewarn "sensors-detect requires CONFIG_I2C_CHARDEV to be enabled for non-2.4.x kernels." + ewarn + fi + if ! (linux_chkconfig_present I2C); then + eerror + eerror "${P} requires CONFIG_I2C to be enabled for non-2.4.x kernels." + eerror + die "CONFIG_I2C not detected" + fi + fi +} + +src_unpack() { + unpack ${A} + + cd "${S}" + epatch "${FILESDIR}"/${P}-sensors-detect-gentoo.patch + + if use sensord; then + sed -i -e 's:^# \(PROG_EXTRA\):\1:' "${S}"/Makefile + fi +} + +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) LINUX=${KV_DIR} I2C_HEADERS=${KV_DIR}/include user \ + || die "emake user failed" +} + +src_install() { + emake DESTDIR="${D}" PREFIX=/usr MANDIR=/usr/share/man LIBDIR=/usr/$(get_libdir) \ + KERNELINCLUDEFILES="" user_install || die "emake user_install failed" + + newinitd "${FILESDIR}"/${P}-lm_sensors-init.d lm_sensors + newinitd "${FILESDIR}"/${P}-fancontrol-init.d fancontrol + + if use sensord; then + newconfd "${FILESDIR}"/${P}-sensord-conf.d sensord + newinitd "${FILESDIR}"/${P}-sensord-init.d sensord + fi + + dodoc BACKGROUND BUGS CHANGES CONTRIBUTORS INSTALL QUICKSTART \ + README* TODO + + dodoc doc/cvs doc/donations doc/fancontrol.txt doc/fan-divisors doc/FAQ \ + doc/progs doc/temperature-sensors doc/vid + + dohtml doc/lm_sensors-FAQ.html doc/useful_addresses.html + + docinto busses + dodoc doc/busses/* + + docinto chips + dodoc doc/chips/* + + docinto developers + dodoc doc/developers/applications doc/developers/design \ + doc/developers/new_drivers doc/developers/proc \ + doc/developers/sysctl doc/developers/sysfs-interface +} + +pkg_postinst() { + einfo + einfo "Next you need to run:" + einfo " /usr/sbin/sensors-detect" + einfo "to detect the I2C hardware of your system and create the file:" + einfo " /etc/conf.d/lm_sensors" + einfo + einfo "You will also need to run the above command if you're upgrading from" + einfo "<=${PN}-2.9.0, as the needed entries in /etc/conf.d/lm_sensors has" + einfo "changed." + einfo + einfo "Be warned, the probing of hardware in your system performed by" + einfo "sensors-detect could freeze your system. Also make sure you read" + einfo "the documentation before running lm_sensors on IBM ThinkPads." + einfo + einfo "Please see the lm_sensors documentation and website for more information." + einfo +} |