From f453a6803dac9bd312371a59d5a4ae42e2cad35e Mon Sep 17 00:00:00 2001 From: Francois Pons Date: Wed, 19 Apr 2000 20:34:08 +0000 Subject: *** empty log message *** --- perl-install/help.pm | 11 ++++++++--- perl-install/install_any.pm | 1 + perl-install/install_steps_interactive.pm | 15 +++++++++++---- perl-install/pkgs.pm | 7 +++++-- 4 files changed, 25 insertions(+), 9 deletions(-) diff --git a/perl-install/help.pm b/perl-install/help.pm index 4bc4b798b..6b96ecf5c 100644 --- a/perl-install/help.pm +++ b/perl-install/help.pm @@ -129,9 +129,14 @@ install or upgrade. DrakX will then check whether you have enough room to install them all. If not, it will warn you about it. If you want to go on anyway, it will proceed onto the installation of all selected groups but will drop some packages of lesser -interest. If you scroll down the bottom of the list and check the option -\"Select packages individually\", you will be able to do so, indeed, but you'll -have to browse through more than 1000 packages..."), +interest. At the bottom of the list you can select the option +\"Individual package selection\"; in this case you will have to browse +through more than 1000 packages..."), + +chooseCD => + __("If you have all the CDs in the list above, click Ok. +If you have none of those CDs, click Cancel. +If only some CDs are missing, unselect them, then click Ok."), doInstallStep => __("The packages selected are now being installed. This operation diff --git a/perl-install/install_any.pm b/perl-install/install_any.pm index 859348ac1..64101102b 100644 --- a/perl-install/install_any.pm +++ b/perl-install/install_any.pm @@ -259,6 +259,7 @@ sub setPackages($) { my @l = (); push @l, "kapm" if $o->{pcmcia}; + require pci_probing::main; push @l, "Device3Dfx", "Glide_V3" if pci_probing::main::matching_desc('Voodoo'); require timezone; require lang; diff --git a/perl-install/install_steps_interactive.pm b/perl-install/install_steps_interactive.pm index 969f7b853..9f6169556 100644 --- a/perl-install/install_steps_interactive.pm +++ b/perl-install/install_steps_interactive.pm @@ -335,15 +335,22 @@ sub chooseCD { my ($o, $packages) = @_; my @mediums = grep { $_ > 1 } pkgs::allMediums($packages); - #- if no other medium available or a poor beginner. + #- if no other medium available or a poor beginner, we are choosing for him! #- note first CD is always selected and should not be unselected! return if scalar(@mediums) == 0 || $::beginner; + $o->set_help('chooseCD'); $o->ask_many_from_list_ref('', - _("Choose other CD to install"), + _( +"If you have all the CDs in the list below, click Ok. +If you have none of those CDs, click Cancel. +If only some CDs are missing, unselect them, then click Ok."), [ map { _("Cd-Rom labeled \"%s\"", pkgs::mediumDescr($packages, $_)) } @mediums ], - [ map { \$packages->[2]{$_}{selected} } @mediums ] #- check for change! - ) or goto &chooseCD unless $::beginner; + [ map { \$packages->[2]{$_}{selected} } @mediums ] + ) or do { + map { $packages->[2]{$_}{selected} = 0 } @mediums; #- force unselection of other CDs. + }; + $o->set_help('choosePackages'); } #------------------------------------------------------------------------------ diff --git a/perl-install/pkgs.pm b/perl-install/pkgs.pm index 4744e924c..16ce2fe27 100644 --- a/perl-install/pkgs.pm +++ b/perl-install/pkgs.pm @@ -338,8 +338,9 @@ sub psUsingHdlists { my ($hdlist, $medium, $rpmsdir, $descr) = @$_; my $f = install_any::getFile($hdlist) or die "no $hdlist found"; - #- make sure the first medium is always selected! so select any less than 2. - psUsingHdlist($prefix, $method, \@packages, $f, $hdlist, $medium, $rpmsdir, $descr, ($medium < 2 || $method ne 'cdrom')); + #- make sure the first medium is always selected! + #- by default select all image. + psUsingHdlist($prefix, $method, \@packages, $f, $hdlist, $medium, $rpmsdir, $descr, 1); } log::l("psUsingHdlists read " . scalar keys(%{$packages[0]}) . " headers on " . scalar keys(%{$packages[2]}) . " hdlists"); @@ -911,6 +912,8 @@ sub install($$$;$$) { } while (scalar(@transToInstall) == 0); #- avoid null transaction, it a nop that cost a bit. } + #- reset file descriptor open too. + install_any::getFile('XXX'); #- reset ftp handlers before forking, otherwise well ;-( require ftp; ftp::rewindGetFile(); -- cgit v1.2.1