summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <tv@mageia.org>2013-05-17 03:51:45 +0000
committerThierry Vignaud <tv@mageia.org>2013-05-17 03:51:45 +0000
commitb9ec191fc1c25468824e2ab6635e72f2d952e4f0 (patch)
tree15e3d096b1dd61972110da262bf2ea438dc13d14
parent1b1849c2179e043cbfcbf1bff4d05eba06a44921 (diff)
downloaddrakx-b9ec191fc1c25468824e2ab6635e72f2d952e4f0.tar
drakx-b9ec191fc1c25468824e2ab6635e72f2d952e4f0.tar.gz
drakx-b9ec191fc1c25468824e2ab6635e72f2d952e4f0.tar.bz2
drakx-b9ec191fc1c25468824e2ab6635e72f2d952e4f0.tar.xz
drakx-b9ec191fc1c25468824e2ab6635e72f2d952e4f0.zip
hint that nonfree is needed if a driver needs a nonfree firmware
-rw-r--r--perl-install/install/NEWS2
-rw-r--r--perl-install/install/any.pm7
2 files changed, 8 insertions, 1 deletions
diff --git a/perl-install/install/NEWS b/perl-install/install/NEWS
index 8d8ade1f0..03e283c5f 100644
--- a/perl-install/install/NEWS
+++ b/perl-install/install/NEWS
@@ -1,6 +1,8 @@
- do not enable legacy sysvinit scripts that no longer exist (mga#10084)
- do not enable to pick xguest (mga#9750)
- fix offering to install shorewall & shorewall-ipv6 when already installed
+- media step:
+ o hint that nonfree is needed if a driver needs a nonfree firmware
Version 15.52 - 15 May 2013
- fix displaying release notes while installing (mga#10087)
diff --git a/perl-install/install/any.pm b/perl-install/install/any.pm
index 3bae857ef..ed9ab1291 100644
--- a/perl-install/install/any.pm
+++ b/perl-install/install/any.pm
@@ -325,10 +325,15 @@ sub _nonfree_medium() { N("Nonfree Release") }
# FIXME: move me in ../any.pm or in harddrake::*, might be needed by rpmdrake/harddrake:
sub is_firmware_needed {
my ($o) = @_;
+ require list_firmwares;
+ my @l = map { $_->{driver} } detect_devices::probeall();
+ my @need = intersection(\@l, \@list_firmwares::modules_with_nonfree_firmware);
+ 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);
log::l("the following nonfree firmware(s) are needed for X.org: " . join(', ', @xpkgs)) if @xpkgs;
- @xpkgs;
+ @need || @xpkgs;
}
sub msg_if_firmware_needed {