summaryrefslogtreecommitdiffstats
path: root/perl-install/install_interactive.pm
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2002-07-29 12:52:06 +0000
committerPascal Rigaux <pixel@mandriva.com>2002-07-29 12:52:06 +0000
commit648f7debaf9a61fa344c86c49f4e7bb2b5ce5c64 (patch)
tree5e9568497b86df71971bd4d00a780e6a873a5048 /perl-install/install_interactive.pm
parent074de8adaf6e0d910899b7ee0f14066dcc050af7 (diff)
downloaddrakx-648f7debaf9a61fa344c86c49f4e7bb2b5ce5c64.tar
drakx-648f7debaf9a61fa344c86c49f4e7bb2b5ce5c64.tar.gz
drakx-648f7debaf9a61fa344c86c49f4e7bb2b5ce5c64.tar.bz2
drakx-648f7debaf9a61fa344c86c49f4e7bb2b5ce5c64.tar.xz
drakx-648f7debaf9a61fa344c86c49f4e7bb2b5ce5c64.zip
fix partition wizard choice updating after calling diskdrake
Diffstat (limited to 'perl-install/install_interactive.pm')
-rw-r--r--perl-install/install_interactive.pm27
1 files changed, 13 insertions, 14 deletions
diff --git a/perl-install/install_interactive.pm b/perl-install/install_interactive.pm
index 53c92d2ed..a9173f495 100644
--- a/perl-install/install_interactive.pm
+++ b/perl-install/install_interactive.pm
@@ -72,8 +72,9 @@ Then choose action ``Mount point'' and set it to `/'"), 1) or return;
}
sub partitionWizardSolutions {
- my ($o, $all_hds, $fstab, $readonly) = @_;
+ my ($o, $all_hds, $readonly) = @_;
my $hds = $all_hds->{hds};
+ my $fstab = [ fsedit::get_all_fstab($all_hds) ];
my @wizlog;
my (@solutions, %solutions);
@@ -218,12 +219,12 @@ sub partitionWizard {
$o->set_help('doPartitionDisks');
- my %solutions = partitionWizardSolutions($o, $o->{all_hds}, $o->{fstab}, $o->{partitioning}{readonly});
+ my %solutions = partitionWizardSolutions($o, $o->{all_hds}, $o->{partitioning}{readonly});
if ($o->{lnx4win}) {
if ($solutions{loopback}) {
%solutions = (loopback => $solutions{loopback});
} else {
- $o->ask_warn('', _("You don't have enough free space on your Windows partition")) if grep { isFat($_) } @{$o->{fstab}}
+ $o->ask_warn('', _("You don't have enough free space on your Windows partition")) if grep { isFat($_) } fsedit::get_all_fstab($o->{all_hds});
}
}
@@ -241,17 +242,15 @@ sub partitionWizard {
log::l("solutions: ", int @solutions);
@solutions or $o->ask_warn('', _("I can't find any room for installing")), die 'already displayed';
- my $ok; while (!$ok) {
- log::l('HERE: ', join(',', map { $_->[1] } @solutions));
- 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";
- }
+ log::l('HERE: ', join(',', map { $_->[1] } @solutions));
+ 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]");
+ my $ok = eval { $sol->[2]->() };
+ die if $@ =~ /setstep/;
+ $@ and $o->ask_warn('', _("Partitioning failed: %s", $@));
+ $ok or goto &partitionWizard;
+ } else {
+ $nodiskdrake ? return : die "setstep setupSCSI\n";
}
1;
}