summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/any.pm27
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,...)