summaryrefslogtreecommitdiffstats
path: root/perl-install/network
diff options
context:
space:
mode:
authorDamien Chaumette <dchaumette@mandriva.com>2004-04-27 12:01:27 +0000
committerDamien Chaumette <dchaumette@mandriva.com>2004-04-27 12:01:27 +0000
commit4fcf93b385edeea55a5e40fa695bafdba9bdb040 (patch)
tree3757862da5e005c2ff37621a0f9c1b2d63dfa209 /perl-install/network
parentb96c84fc56a8dce8cc21a1613f999cb13e0bfbe3 (diff)
downloaddrakx-4fcf93b385edeea55a5e40fa695bafdba9bdb040.tar
drakx-4fcf93b385edeea55a5e40fa695bafdba9bdb040.tar.gz
drakx-4fcf93b385edeea55a5e40fa695bafdba9bdb040.tar.bz2
drakx-4fcf93b385edeea55a5e40fa695bafdba9bdb040.tar.xz
drakx-4fcf93b385edeea55a5e40fa695bafdba9bdb040.zip
try to fix #3793 or at least enhance firmware seeking on windows partition
(based upon titi's patch)
Diffstat (limited to 'perl-install/network')
-rw-r--r--perl-install/network/netconnect.pm3
-rw-r--r--perl-install/network/tools.pm5
2 files changed, 4 insertions, 4 deletions
diff --git a/perl-install/network/netconnect.pm b/perl-install/network/netconnect.pm
index 036f75784..925d51c50 100644
--- a/perl-install/network/netconnect.pm
+++ b/perl-install/network/netconnect.pm
@@ -717,8 +717,7 @@ or skip and do it later."),
$file = 'mgmt.o';
($source, $adsl_failed) = network::tools::use_floppy($in, $file);
} elsif ($adsl_answer eq N("Use my Windows partition")) {
- $file = 'alcaudsl.sys';
- ($source, $adsl_failed) = network::tools::use_windows();
+ ($source, $adsl_failed) = network::tools::use_windows($file = 'alcaudsl.sys');
}
return "adsl_no_firmawre" if $adsl_answer eq N("Do it later");
diff --git a/perl-install/network/tools.pm b/perl-install/network/tools.pm
index 082a6bda4..581732d7f 100644
--- a/perl-install/network/tools.pm
+++ b/perl-install/network/tools.pm
@@ -188,12 +188,13 @@ EOF
};
}
-sub use_windows() {
+sub use_windows {
+ my ($file) = @_;
my $all_hds = fsedit::get_hds({}, undef);
fs::get_info_from_fstab($all_hds, '');
my $part = find { $_->{device_windobe} eq 'C' } fsedit::get_fstab(@{$all_hds->{hds}});
$part or my $failed = N("No partition available");
- my $source = -d "$part->{mntpoint}/windows/" ? "$part->{mntpoint}/windows/system" : "$part->{mntpoint}/winnt/system";
+ my $source = find { -d $_ && -e "$_/$file" } map { "$part->{mntpoint}/$_" } qw(windows/system winnt/system windows/system32/drivers winnt/system32/drivers);
log::explanations($failed || "Seek in $source to find firmware");
return $source, $failed;