diff -ur lm_sensors-2.10.5.orig/prog/detect/sensors-detect lm_sensors-2.10.5/prog/detect/sensors-detect --- lm_sensors-2.10.5.orig/prog/detect/sensors-detect 2007-10-24 21:31:41.000000000 -0500 +++ lm_sensors-2.10.5/prog/detect/sensors-detect 2008-01-30 13:11:32.000000000 -0600 @@ -26,6 +26,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 +# + require 5.004; use strict; @@ -5845,8 +5848,11 @@ print "\n"; my ($modprobes, $configfile) = generate_modprobes 1; # 1 == prefer ISA if (defined $configfile) { + 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"; @@ -5866,22 +5872,33 @@ "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'); - $_ = ; - 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 = ; + + 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 = ; + } + 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 # # This program is free software; you can redistribute it and/or modify @@ -5909,12 +5926,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) { @@ -5923,10 +5949,8 @@ $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"; } }