From 045b5965c34ffc1e18d01297f351d8fdb3e72c67 Mon Sep 17 00:00:00 2001 From: Martin Whitaker Date: Sat, 2 Feb 2019 20:48:42 +0000 Subject: Don't install nonfree graphics drivers when not wanted (mga#24172) This fixes a bug introduced by commit c253952df2. That was only supposed to select GPU firmware packages, but actually selected driver packages as well. --- perl-install/install/NEWS | 1 + perl-install/install/any.pm | 2 +- perl-install/pkgs.pm | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) (limited to 'perl-install') diff --git a/perl-install/install/NEWS b/perl-install/install/NEWS index ddb6ae896..85bf6207c 100644 --- a/perl-install/install/NEWS +++ b/perl-install/install/NEWS @@ -1,3 +1,4 @@ +- don't install nonfree graphics drivers when not wanted (mga#24172) - don't select default bootloader when building Live ISOs - improve exitInstall message (mga#24046) diff --git a/perl-install/install/any.pm b/perl-install/install/any.pm index 8111d10f3..e8d905651 100644 --- a/perl-install/install/any.pm +++ b/perl-install/install/any.pm @@ -403,7 +403,7 @@ sub is_firmware_needed_ { log::l("the following driver(s) need nonfree firmware(s): " . join(', ', @need)) if @need; require pkgs; - my @xpkgs = pkgs::detect_graphical_drivers($o->do_pkgs); + my @xpkgs = pkgs::detect_graphical_drivers($o->do_pkgs, undef, 'firmware-only'); log::l("the following nonfree firmware(s) are needed for X.org: " . join(', ', @xpkgs)) if @xpkgs; my $need_microcode = detect_devices::hasCPUMicrocode(); diff --git a/perl-install/pkgs.pm b/perl-install/pkgs.pm index 9a63037ec..504e30705 100644 --- a/perl-install/pkgs.pm +++ b/perl-install/pkgs.pm @@ -172,7 +172,7 @@ sub detect_rpmsrate_hardware_packages { } sub detect_graphical_drivers { - my ($do_pkgs, $o_match_all_hardware) = @_; + my ($do_pkgs, $o_match_all_hardware, $o_firmware_only) = @_; require Xconfig::card; require Xconfig::proprietary; @@ -185,6 +185,7 @@ sub detect_graphical_drivers { } my @firmware_pkgs = grep { $_ } uniq(map { $_->{FIRMWARE} } @cards); + return @firmware_pkgs if $o_firmware_only; my @drivers = grep { $_ } uniq(map { $_->{Driver2} } @cards); my @proprietary_pkgs = map { Xconfig::proprietary::pkgs_for_Driver2($_, $do_pkgs) } @drivers; return @firmware_pkgs, @proprietary_pkgs; -- cgit v1.2.1