summaryrefslogtreecommitdiff
blob: 00b76b992b0d4867435f0c59aa6e08eaf80f6e57 (plain)
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";
   }
 }