summaryrefslogtreecommitdiffstats
path: root/perl-install/modules.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/modules.pm')
-rw-r--r--perl-install/modules.pm10
1 files changed, 8 insertions, 2 deletions
diff --git a/perl-install/modules.pm b/perl-install/modules.pm
index 0e1783250..4494e366c 100644
--- a/perl-install/modules.pm
+++ b/perl-install/modules.pm
@@ -544,7 +544,8 @@ sub read_conf($;$) {
sub mergein_conf {
my ($file) = @_;
- add2hash(\%conf, read_conf($file, \$scsi));
+ my $modconfref = read_conf ($file, \$scsi);
+ map { my ($key, $value) = $_; $conf{$key}{alias} ||= $value->{alias} } %$modconfref;
}
sub write_conf {
@@ -554,7 +555,12 @@ sub write_conf {
rename "$prefix/etc/conf.modules", $file; #- make the switch to new name if needed
#- remove the post-install supermount stuff. We now do it in /etc/modules
- substInFile { $_ = '' if /^post-install supermount/ } $file;
+ # Substitute new aliases in modules.conf (if config has changed)
+ substInFile {
+ $_ = '' if /^post-install supermount/;
+ my ($type,$alias,$module) = split /\s+/, $_;
+ $_ = "$type $alias $conf{$alias}{alias} \n" if ($type ne "loaded" && $conf{$alias}{alias} && $conf{$alias}{alias} !~ /$module/);
+ } $file;
my $written = read_conf($file);