summaryrefslogtreecommitdiffstats
path: root/perl-install/pkgs.pm
diff options
context:
space:
mode:
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;