From 074de8adaf6e0d910899b7ee0f14066dcc050af7 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Mon, 29 Jul 2002 12:39:59 +0000 Subject: ensure choosing install-or-upgrade can't be done twice (since it's badly handled and hard to handle nicely) --- perl-install/install2.pm | 5 +---- perl-install/install_steps_gtk.pm | 2 +- perl-install/install_steps_interactive.pm | 14 ++++++++------ 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/perl-install/install2.pm b/perl-install/install2.pm index 3fa29a897..0fd32cb32 100644 --- a/perl-install/install2.pm +++ b/perl-install/install2.pm @@ -40,7 +40,7 @@ $o = $::o = { partitioning => { clearall => 0, eraseBadPartitions => 0, auto_allocate => 0 }, #-, readonly => 0 }, authentication => { md5 => 1, shadow => 1 }, lang => 'en_US', - isUpgrade => 0, +#- isUpgrade => 0, toRemove => [], toSave => [], #- simple_themes => 1, @@ -135,9 +135,6 @@ sub selectInstallClass { installStepsCall($o, $auto, 'selectInstallClass', $clicked); - if ($o->{steps}{choosePackages}{entered} >= 1 && !$o->{steps}{installPackages}{done}) { - installStepsCall($o, $auto, 'setPackages', $o->{isUpgrade} && $ent_number == 1); - } if ($o->{isUpgrade}) { @{$o->{orderedSteps}} = map { /setupSCSI/ ? ($_, "doPartitionDisks") : $_ } grep { !/doPartitionDisks/ } @{$o->{orderedSteps}}; diff --git a/perl-install/install_steps_gtk.pm b/perl-install/install_steps_gtk.pm index 1ad27b7fe..ccfe6a53c 100644 --- a/perl-install/install_steps_gtk.pm +++ b/perl-install/install_steps_gtk.pm @@ -155,7 +155,7 @@ press `F1' when booting on CDROM, then enter `text'.")) if $first_time && availa #------------------------------------------------------------------------------ sub selectInstallClass1 { my ($o, $verif, $l, $def, $l2, $def2) = @_; - $::live || @$l == 1 and return $o->SUPER::selectInstallClass1($verif, $l, $def, $l2, $def2); + $::live || @$l == 1 || !@$l2 and return $o->SUPER::selectInstallClass1($verif, $l, $def, $l2, $def2); my $w = my_gtk->new(_("Install Class")); my $focused; diff --git a/perl-install/install_steps_interactive.pm b/perl-install/install_steps_interactive.pm index 5e12e307b..a4882f294 100644 --- a/perl-install/install_steps_interactive.pm +++ b/perl-install/install_steps_interactive.pm @@ -231,6 +231,8 @@ sub selectInstallClass1 { my ($o, $verif, $l, $def, $l2, $def2) = @_; $verif->($o->ask_from_list(_("Install Class"), _("Which installation class do you want?"), $l, $def) || die 'already displayed'); + return if !@$l2; + $::live ? 'Update' : $o->ask_from_list_(_("Install/Update"), _("Is this an install or an update?"), $l2, $def2); } @@ -253,12 +255,12 @@ sub selectInstallClass { my $verifInstallClass = sub { $::expert = $c{$_[0]} eq "expert" }; my $installMode = $o->{isUpgrade} ? $o->{keepConfiguration} ? __("Upgrade packages only") : __("Upgrade") : __("Install"); - $installMode = $o->selectInstallClass1($verifInstallClass, - first(list2kv(@c)), ${{reverse %c}}{$::expert ? "expert" : "beginner"}, - [ __("Install"), __("Upgrade"), __("Upgrade packages only") ], $installMode); - - $o->{isUpgrade} = $installMode =~ /Upgrade/; - $o->{keepConfiguration} = $installMode =~ /packages only/; + if ($installMode = $o->selectInstallClass1($verifInstallClass, + first(list2kv(@c)), ${{reverse %c}}{$::expert ? "expert" : "beginner"}, + exists $o->{isUpgrade} ? [] : [ __("Install"), __("Upgrade"), __("Upgrade packages only") ], $installMode)) { + $o->{isUpgrade} = $installMode =~ /Upgrade/; + $o->{keepConfiguration} = $installMode =~ /packages only/; + } install_steps::selectInstallClass($o); } -- cgit v1.2.1