summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlivier Blin <oblin@mandriva.com>2008-08-18 16:04:48 +0000
committerOlivier Blin <oblin@mandriva.com>2008-08-18 16:04:48 +0000
commit226f306fecbb604fd78917dc6d9ef595eba74b99 (patch)
tree572c449d23860cf8061b636966a8cdf45d79ebe3
parent578046a40cb7c3e739bf86081aa0bb03ba4c9260 (diff)
downloaddrakx-226f306fecbb604fd78917dc6d9ef595eba74b99.tar
drakx-226f306fecbb604fd78917dc6d9ef595eba74b99.tar.gz
drakx-226f306fecbb604fd78917dc6d9ef595eba74b99.tar.bz2
drakx-226f306fecbb604fd78917dc6d9ef595eba74b99.tar.xz
drakx-226f306fecbb604fd78917dc6d9ef595eba74b99.zip
allow to detect network drivers for running system (when not maching all hardware)
-rw-r--r--perl-install/pkgs.pm9
1 files changed, 8 insertions, 1 deletions
diff --git a/perl-install/pkgs.pm b/perl-install/pkgs.pm
index 02fbf8293..bd4648bc4 100644
--- a/perl-install/pkgs.pm
+++ b/perl-install/pkgs.pm
@@ -177,7 +177,14 @@ sub detect_network_drivers {
my @l;
foreach my $type (network::connection->get_types) {
$type->can('get_thirdparty_settings') or next;
- foreach my $settings (@{$type->get_thirdparty_settings || []}) {
+ my @network_settings;
+ if ($o_match_all_hardware) {
+ @network_settings = @{$type->get_thirdparty_settings || []};
+ } else {
+ my @connections = $type->get_connections(automatic_only => 1, fast_only => 1);
+ @network_settings = map { @{$_->get_thirdparty_settings || []} } @connections;
+ }
+ foreach my $settings (@network_settings) {
foreach (@network::thirdparty::thirdparty_types) {
my @packages = network::thirdparty::get_required_packages($_, $settings);
push @l, network::thirdparty::get_available_packages($_, $do_pkgs, @packages);