| --- lm_sensors-3.3.5/prog/detect/sensors-detect |
| +++ lm_sensors-3.3.5/prog/detect/sensors-detect |
| @@ -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; |
| @@ -6762,26 +6765,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'); |
| - $_ = read_answer(); |
| - 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_sysconfig = -f '/etc/conf.d/lm_sensors'; |
| + printf "Do you want to ".($have_sysconfig?"overwrite":"generate"). |
| + " /etc/conf.d/lm_sensors? Enter s to specify other file name?\n", |
| + " (".($have_sysconfig?"yes/NO":"YES/no")."/s): "; |
| + my $reply = read_answer(); |
| + |
| + if (($have_sysconfig and $reply =~ /^\s*[Yy]/) or |
| + (not $have_sysconfig 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 = read_answer(); |
| } |
| - open(local *SYSCONFIG, ">/etc/sysconfig/lm_sensors") |
| - or die "Sorry, can't create /etc/sysconfig/lm_sensors ($!)"; |
| + open(local *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 |
| @@ -6792,30 +6802,17 @@ |
| # 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"; |
| close(SYSCONFIG); |
| |
| - if (-x "/bin/systemctl" && -d "/lib/systemd/system" && |
| - ! -f "/lib/systemd/system/lm_sensors.service") { |
| - print "Copy prog/init/lm_sensors.service to /lib/systemd/system\n". |
| - "and run 'systemctl enable lm_sensors.service'\n". |
| - "for initialization at boot time.\n"; |
| - return; |
| - } |
| - |
| - if (-x "/bin/systemctl" && |
| - -f "/lib/systemd/system/lm_sensors.service") { |
| - system("/bin/systemctl", "enable", "lm_sensors.service"); |
| - system("/bin/systemctl", "start", "lm_sensors.service"); |
| - # All done, don't check for /etc/init.d/lm_sensors |
| - return; |
| - } |
| - |
| - 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"); |
| @@ -6828,24 +6825,6 @@ |
| print "You should now start the lm_sensors service to load the required\n". |
| "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 "You really should try these commands right now to make sure everything\n". |
| - "is working properly. Monitoring programs won't work until the needed\n". |
| - "modules are loaded.\n\n"; |
| } |
| } |
| |