summaryrefslogtreecommitdiffstats
path: root/perl-install/modules/modules_conf.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/modules/modules_conf.pm')
-rw-r--r--perl-install/modules/modules_conf.pm25
1 files changed, 21 insertions, 4 deletions
diff --git a/perl-install/modules/modules_conf.pm b/perl-install/modules/modules_conf.pm
index fc9f92179..be4b8fca4 100644
--- a/perl-install/modules/modules_conf.pm
+++ b/perl-install/modules/modules_conf.pm
@@ -1,7 +1,8 @@
-package modules::modules_conf; # $Id$
+package modules::modules_conf;
use log;
use common;
+# perl_checker: require modules::any_conf
our @ISA = qw(modules::any_conf);
@@ -9,14 +10,25 @@ our @ISA = qw(modules::any_conf);
sub file { '/etc/modules.conf' }
sub handled_fields { qw(alias above options probeall) }
+sub mapping {
+ my ($_conf, @modules) = @_;
+ my @l = map { modules::mapping_26_24($_) } @modules;
+ wantarray() ? @l : $l[0];
+}
+
sub get_above {
my ($conf, $module) = @_;
- $conf->{$module} && $conf->{$module}{above};
+ $module = $conf->mapping($module);
+
+ $conf->{$module} && split(' ', $conf->{$module}{above});
}
sub set_above {
my ($conf, $module, $o_modules) = @_;
+ $module = $conf->mapping($module);
+
if ($o_modules) {
- $conf->{$module}{above} = $o_modules;
+ my $modules = join(' ', $conf->mapping(split(' ', $o_modules)));
+ $conf->{$module}{above} = $modules;
} else {
delete $conf->{$module}{above};
}
@@ -25,7 +37,7 @@ sub set_above {
sub read {
my ($type, $o_file) = @_;
- my $conf = modules::any_conf::read($type, $o_file);
+ my $conf = modules::any_conf::read_handled($type, $o_file);
#- convert old aliases to new probeall
foreach my $name ('scsi_hostadapter', 'usb-interface') {
@@ -49,6 +61,11 @@ sub write {
};
modules::any_conf::write($conf, $file);
+
+ if ($::isInstall) {
+ require modules::modprobe_conf;
+ modules::modprobe_conf::create_from_old();
+ }
}
1;