|
|
# each be put in a separate file, using modules and packages. That is beyond | # each be put in a separate file, using modules and packages. That is beyond |
# me. | # me. |
| |
|
# Gentoo specific modifications based on a patch from Rudo Thomas |
|
# <thomr9am@ss1000.ms.mff.cuni.cz> |
|
|
require 5.004; | require 5.004; |
| |
use strict; | use strict; |
|
|
print "\n"; | print "\n"; |
my ($modprobes, $configfile) = generate_modprobes 1; # 1 == prefer ISA | my ($modprobes, $configfile) = generate_modprobes 1; # 1 == prefer ISA |
if (defined $configfile) { | 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". | 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". | print "#----cut here----\n". |
$configfile. | $configfile. |
"#----cut here----\n\n"; | "#----cut here----\n\n"; |
|
|
"should try these commands right now to make sure everything is\n". | "should try these commands right now to make sure everything is\n". |
"working properly. Monitoring programs won't work until the needed\n". | "working properly. Monitoring programs won't work until the needed\n". |
"modules are loaded.\n\n"; | "modules are loaded.\n\n"; |
|
|
my $have_sysconfig = -d '/etc/sysconfig'; |
print "To load everything that is needed, execute the commands below..."; |
printf "Do you want to \%s /etc/sysconfig/lm_sensors? (\%s): ", |
|
(-e '/etc/sysconfig/lm_sensors' ? 'overwrite' : 'generate'), |
print "\n\n#----cut here----\n"; |
($have_sysconfig ? 'YES/no' : 'yes/NO'); |
print $modprobes; |
$_ = <STDIN>; |
print "# sleep 2 # optional\n", |
if (($have_sysconfig and not m/^\s*n/i) or m/^\s*y/i) { |
"/usr/bin/sensors -s # recommended\n"; |
unless ($have_sysconfig) { |
print "#----end cut here----\n"; |
mkdir '/etc/sysconfig', 0777 |
|
or die "Sorry, can't create /etc/sysconfig ($!)"; |
my $have_config = -f '/etc/conf.d/lm_sensors'; |
} |
print "\nDo you want to ".($have_config?"overwrite":"generate"). |
open(local *SYSCONFIG, ">/etc/sysconfig/lm_sensors") |
" /etc/conf.d/lm_sensors? Enter s to specify other file name?\n", |
or die "Sorry, can't create /etc/sysconfig/lm_sensors ($!)"; |
" (".($have_config?"yes/NO":"YES/no")."/s): "; |
print SYSCONFIG <<'EOT'; |
my $reply = <STDIN>; |
# /etc/sysconfig/lm_sensors - Defines modules loaded by |
|
# /etc/init.d/lm_sensors |
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> | # Copyright (c) 1998 - 2001 Frodo Looijaard <frodol@dds.nl> |
# | # |
# This program is free software; you can redistribute it and/or modify | # This program is free software; you can redistribute it and/or modify |
|
|
# in order as normal variables with the special names: | # in order as normal variables with the special names: |
# MODULE_0, MODULE_1, MODULE_2, etc. | # 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 | # List the modules that are to be loaded for your system |
# | # |
EOT | EOT |
print SYSCONFIG | 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; | 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 $i = 0; |
my $sysconfig = ""; | my $sysconfig = ""; |
foreach (@modules) { | foreach (@modules) { |
|
|
$i++; | $i++; |
} | } |
print SYSCONFIG $sysconfig; | 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"; |
|
} | } |
} | } |
| |