diff options
-rw-r--r-- | perl-install/install_interactive.pm | 21 | ||||
-rw-r--r-- | perl-install/install_steps_gtk.pm | 2 | ||||
-rw-r--r-- | perl-install/install_steps_interactive.pm | 4 |
3 files changed, 17 insertions, 10 deletions
diff --git a/perl-install/install_interactive.pm b/perl-install/install_interactive.pm index 180c4b63e..ec50e51db 100644 --- a/perl-install/install_interactive.pm +++ b/perl-install/install_interactive.pm @@ -36,7 +36,10 @@ sub partition_with_diskdrake { local $::expert = $::expert; diskdrake_interactive::main($o, $all_hds, $nowizard); } - delete $o->{wizard} and return partitionWizard($o, 'nodiskdrake'); + if (delete $o->{wizard}) { + partitionWizard($o, 'nodiskdrake') or redo; + return 1; + } my @fstab = fsedit::get_all_fstab($all_hds); unless (fsedit::get_root_(\@fstab)) { @@ -228,13 +231,17 @@ sub partitionWizard { my $ok; while (!$ok) { log::l('HERE: ', join(',', map { $_->[1] } @solutions)); - my $sol = $o->ask_from_listf('', _("The DrakX Partitioning wizard found the following solutions:"), sub { $_[0][1] }, \@solutions) or redo; - log::l("partitionWizard calling solution $sol->[1]"); - eval { $ok = $sol->[2]->() }; - die if $@ =~ /setstep/; - $ok &&= !$@; - $@ and $o->ask_warn('', _("Partitioning failed: %s", $@)); + if (my $sol = $o->ask_from_listf('', _("The DrakX Partitioning wizard found the following solutions:"), sub { $_[0][1] }, \@solutions)) { + log::l("partitionWizard calling solution $sol->[1]"); + eval { $ok = $sol->[2]->() }; + die if $@ =~ /setstep/; + $ok &&= !$@; + $@ and $o->ask_warn('', _("Partitioning failed: %s", $@)); + } else { + $nodiskdrake ? return : die "setstep setupSCSI\n"; + } } + 1; } sub upNetwork { diff --git a/perl-install/install_steps_gtk.pm b/perl-install/install_steps_gtk.pm index f81486655..96977a540 100644 --- a/perl-install/install_steps_gtk.pm +++ b/perl-install/install_steps_gtk.pm @@ -661,7 +661,7 @@ _("There was an error installing packages:"), $1, _("Go on anyway?") ], 1) and r }; if ($pkgs::cancel_install) { $pkgs::cancel_install = 0; - die "setstep choosePackages\n"; + die 'already displayed'; } $w->destroy; $install_result; diff --git a/perl-install/install_steps_interactive.pm b/perl-install/install_steps_interactive.pm index 527bed9f9..912493870 100644 --- a/perl-install/install_steps_interactive.pm +++ b/perl-install/install_steps_interactive.pm @@ -670,7 +670,7 @@ sub chooseGroups { #- ask user for its choice. $type = $o->ask_from_list_(_("Type of install"), _("You do not have selected any group of packages -Please choose the minimal installation you want"), [ __("Base system only"), __("No X"), __("With X"), ], $type); +Please choose the minimal installation you want"), [ __("Base system only"), __("No X"), __("With X"), ], $type) or return &chooseGroups; #- reselect according to user selection. if ($type eq __("Base system only")) { @@ -952,7 +952,7 @@ sub configureTimezone { my ($o, $clicked) = @_; require timezone; - $o->{timezone}{timezone} = $o->ask_from_treelist('', _("Which is your timezone?"), '/', [ timezone::getTimeZones($::g_auto_install ? '' : $o->{prefix}) ], $o->{timezone}{timezone}); + $o->{timezone}{timezone} = $o->ask_from_treelist('', _("Which is your timezone?"), '/', [ timezone::getTimeZones($::g_auto_install ? '' : $o->{prefix}) ], $o->{timezone}{timezone}) || return; $o->set_help('configureTimezoneGMT'); my $ntp = to_bool($o->{timezone}{ntp}); |