diff options
Diffstat (limited to 'perl-install')
-rw-r--r-- | perl-install/any.pm | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/perl-install/any.pm b/perl-install/any.pm index 3e8e04daa..be1ff5e28 100644 --- a/perl-install/any.pm +++ b/perl-install/any.pm @@ -486,20 +486,13 @@ sub miscellaneousNetwork { setVarsInCsh("$prefix/etc/profile.d/proxy.csh", $::o->{miscellaneous}, qw(http_proxy ftp_proxy)); } -sub load_thiskind { - my ($in, $type) = @_; - my $w; - modules::load_thiskind($type, sub { $w = wait_load_module($in, $type, @_) }); -} - sub setup_thiskind { my ($in, $type, $auto, $at_least_one) = @_; return if arch() eq "ppc"; + my @l=setup_thiskind_backend ($type, $auto, $at_least_one, sub { my $w = wait_load_module($in, $type, @_) } ); - my @l; if (!$::noauto) { - @l = load_thiskind($in, $type); if (my @err = grep { $_ } map { $_->{error} } @l) { $in->ask_warn('', join("\n", @err)); } @@ -526,6 +519,24 @@ sub setup_thiskind { } } +# setup_thiskind_backend : setup the kind of hardware +# input : +# $type : typeof hardware to setup +# $auto : automatic behaviour +# $at_least_one : +# output: +# @l : list of loaded +sub setup_thiskind_backend { + my ($type, $auto, $at_least_one, $wait_function) = @_; + #- for example $wait_function=sub { $w = wait_load_module($in, $type, @_) } + + my @l; + if (!$::noauto) { + @l = modules::load_thiskind($type, $wait_function ); + return @l if $auto && (@l || !$at_least_one); + } +} + sub wait_load_module { my ($in, $type, $text, $module) = @_; #-PO: the first %s is the card type (scsi, network, sound,...) |