1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
diff -ur lm_sensors-2.10.4.orig/prog/detect/sensors-detect lm_sensors-2.10.4/prog/detect/sensors-detect
--- lm_sensors-2.10.4.orig/prog/detect/sensors-detect 2007-07-31 00:41:52.000000000 +0200
+++ lm_sensors-2.10.4/prog/detect/sensors-detect 2007-07-31 00:45:12.000000000 +0200
@@ -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;
@@ -5708,8 +5711,11 @@
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";
@@ -5728,22 +5734,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');
- $_ = <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
@@ -5771,12 +5788,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) {
@@ -5785,10 +5811,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";
}
}
|