summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/install_interactive.pm21
-rw-r--r--perl-install/install_steps_gtk.pm2
-rw-r--r--perl-install/install_steps_interactive.pm4
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});