diff options
Diffstat (limited to 'perl-install/install_steps_interactive.pm')
-rw-r--r-- | perl-install/install_steps_interactive.pm | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/perl-install/install_steps_interactive.pm b/perl-install/install_steps_interactive.pm index a66f0d07f..cca487be1 100644 --- a/perl-install/install_steps_interactive.pm +++ b/perl-install/install_steps_interactive.pm @@ -232,17 +232,28 @@ sub selectPackagesToUpgrade { #------------------------------------------------------------------------------ sub choosePackages { my ($o, $packages, $compss, $compssUsers, $compssUsersSorted) = @_; + my $availableSpace = int(install_any::getAvailableSpace($o) / sqr(1024)); require pkgs; + + #- alas, it through away any tree selected packages + pkgs::unselect_all($o->{packages}); + pkgs::setSelectedFromCompssList($o->{compssListLevels}, $packages, $::expert ? 95 : 80, $availableSpace * 0.7, $o->{installClass}) unless $o->{isUpgrade}; + $o->ask_many_from_list_ref('', _("Package Group Selection"), [ @$compssUsersSorted ], [ map { \$o->{compssUsersChoice}{$_} } @$compssUsersSorted ] - ); + ) or goto &choosePackages; while (my ($k, $v) = each %{$o->{compssUsersChoice}}) { $v or next; pkgs::select($packages, $_) foreach @{$o->{compssUsers}{$k}}; } + my $current = pkgs::correctedSelectedSize($packages); + if ($availableSpace < $current) { + $o->ask_warn('', _("Too many packages chosen: %dMB doesn't fit in %dMB", $current, $availableSpace)); + goto &choosePackages; + } my $f = "$o->{prefix}/etc/sysconfig/desktop"; output($f, "KDE\n") if !-e $f && $o->{compssUsersChoice}{KDE}; @@ -280,7 +291,7 @@ sub afterInstallPackages($) { sub configureNetwork($) { my ($o, $first_time) = @_; local $_; - if ($o->{intf} && $o->{netc}{NETWORKING} ne 'false') { + if ($o->{intf}) { if (!$::beginner && $first_time || $::expert) { my @l = ( __("Keep the current IP configuration"), @@ -1014,8 +1025,12 @@ You may have to restart installation and give ``%s'' at the prompt", $ide)); #------------------------------------------------------------------------------ sub setup_thiskind { - my ($o, $type, $auto, $at_least_one) = @_; - my @l = $o->load_thiskind($type) unless $::expert && !$o->ask_yesorno('', _("Try to find PCI devices?"), 1); + my ($o, $type, $auto, $at_least_one) = @_; + + if (!exists $o->{auto_probe_pci}) { + $o->{auto_probe_pci} = !$::expert || $o->ask_yesorno('', _("Try to find PCI devices?"), 1); + } + my @l = $o->load_thiskind($type) if $o->{auto_probe_pci}; return if $auto && (@l || !$at_least_one); while (1) { my $msg = @l ? |