summaryrefslogtreecommitdiffstats
path: root/perl-install/pkgs.pm
diff options
context:
space:
mode:
authorOlivier Blin <oblin@mandriva.com>2008-08-18 15:59:06 +0000
committerOlivier Blin <oblin@mandriva.com>2008-08-18 15:59:06 +0000
commite9ca401d4091b43245096a088043ef7e4ff50196 (patch)
tree3a49f2ca520fba445a58c5477b35c1eeedf39a57 /perl-install/pkgs.pm
parentaa6d841812e6e3ee6ac01b610db844cb0f6139b6 (diff)
downloaddrakx-e9ca401d4091b43245096a088043ef7e4ff50196.tar
drakx-e9ca401d4091b43245096a088043ef7e4ff50196.tar.gz
drakx-e9ca401d4091b43245096a088043ef7e4ff50196.tar.bz2
drakx-e9ca401d4091b43245096a088043ef7e4ff50196.tar.xz
drakx-e9ca401d4091b43245096a088043ef7e4ff50196.zip
move hardware packages detection code in pkgs
Diffstat (limited to 'perl-install/pkgs.pm')
-rw-r--r--perl-install/pkgs.pm23
1 files changed, 23 insertions, 0 deletions
diff --git a/perl-install/pkgs.pm b/perl-install/pkgs.pm
index 3d5ccecef..6d795f4e5 100644
--- a/perl-install/pkgs.pm
+++ b/perl-install/pkgs.pm
@@ -152,4 +152,27 @@ sub list_hardware_packages {
grep { !/openoffice/ } simple_read_rpmsrate($o_match_all_hardware);
}
+sub detect_hardware_packages {
+ my ($do_pkgs, $o_match_all_hardware) = @_;
+ my @l;
+ require Xconfig::card;
+ require Xconfig::proprietary;
+ my $cards = Xconfig::card::readCardsDB("$ENV{SHARE_PATH}/ldetect-lst/Cards+");
+ my @drivers = grep { $_ } uniq(map { $_->{Driver2} } values %$cards);
+ push @l, map { Xconfig::proprietary::pkgs_for_Driver2($_, $do_pkgs) } @drivers;
+
+ require network::connection;
+ require network::thirdparty;
+ foreach my $type (network::connection->get_types) {
+ $type->can('get_thirdparty_settings') or next;
+ foreach my $settings (@{$type->get_thirdparty_settings || []}) {
+ foreach (@network::thirdparty::thirdparty_types) {
+ my @packages = network::thirdparty::get_required_packages($_, $settings);
+ push @l, network::thirdparty::get_available_packages($_, $do_pkgs, @packages);
+ }
+ }
+ }
+ @l;
+}
+
1;