diff options
Diffstat (limited to 'perl-install/modules/modules_conf.pm')
| -rw-r--r-- | perl-install/modules/modules_conf.pm | 25 |
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; |
