diff options
Diffstat (limited to 'perl-install/modules/any_conf.pm')
-rw-r--r-- | perl-install/modules/any_conf.pm | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/perl-install/modules/any_conf.pm b/perl-install/modules/any_conf.pm index c7ce2a475..c235e84f4 100644 --- a/perl-install/modules/any_conf.pm +++ b/perl-install/modules/any_conf.pm @@ -1,17 +1,12 @@ -package modules::any_conf; # $Id$ +package modules::any_conf; use log; use common; sub vnew { - if (c::kernel_version() =~ /^\Q2.6/) { - require modules::modprobe_conf; - modules::modprobe_conf->new; - } else { - require modules::modules_conf; - modules::modules_conf->new; - } + require modules::modprobe_conf; + modules::modprobe_conf->new; } @@ -103,7 +98,14 @@ sub remove_alias_regexp_byname { sub remove_module { my ($conf, $module) = @_; + return if !$module; $module = $conf->mapping($module); + foreach my $file ("$::prefix/etc/modules", "$::prefix/etc/modprobe.preload") { + substInFile { + undef $_ if /^$module/; + } $file; + } + $conf->remove_alias($module); log::explanations("removing module $module"); delete $conf->{$module}; @@ -124,7 +126,7 @@ sub set_sound_slot { sub read { my (undef, $o_file) = @_; - my $conf = modules::any_conf::vnew(); + my $conf = vnew(); $conf->read($o_file); } @@ -137,10 +139,7 @@ sub write { #- Substitute new config (if config has changed) substInFile { my ($type, $module, $val) = split(' ', chomp_($_), 3); - if ($type eq 'post-install' && $module eq 'supermount') { - #- remove the post-install supermount stuff. - $_ = ''; - } elsif (member($type, $conf->handled_fields)) { + if (member($type, $conf->handled_fields)) { my $new_val = $conf->{$module}{$type}; if (!$new_val) { $_ = ''; @@ -164,14 +163,22 @@ sub write { modules::write_preload_conf($conf); } +sub merge_into { + my ($conf, $conf2) = @_; - + if (ref($conf) eq ref($conf2)) { + log::l("merging " . ref($conf)); + add2hash($conf, $conf2); + } else { + log::l("not merging modules_conf " . ref($conf2) . " into " . ref($conf)); + } +} ################################################################################ sub read_handled { my ($conf, $o_file) = @_; my $file = $o_file || $::prefix . $conf->file; - my $raw_conf = modules::any_conf::read_raw($file); + my $raw_conf = read_raw($file); foreach my $module (keys %$raw_conf) { my $raw = $raw_conf->{$module}; @@ -193,9 +200,6 @@ sub read_raw { s/#.*$//; s/\s+$//; - s/\b(snd-card-)/snd-/g; - s/\b(snd-via686|snd-via8233)\b/snd-via82xx/g; - my ($type, $module, $val) = split(' ', $_, 3) or next; $c{$module}{$type} = $val; |