diff options
-rw-r--r-- | perl-install/install_any.pm | 7 | ||||
-rw-r--r-- | perl-install/install_steps.pm | 13 |
2 files changed, 8 insertions, 12 deletions
diff --git a/perl-install/install_any.pm b/perl-install/install_any.pm index 8b5c6dc25..e46428db5 100644 --- a/perl-install/install_any.pm +++ b/perl-install/install_any.pm @@ -56,11 +56,8 @@ sub kernelVersion { sub getNextStep { - my ($s, $old); - for ($s = $::o->{steps}{first}; $::o->{steps}{$s}{done}; $s = $::o->{steps}{$s}{next}) { - $::o->{steps}{$s}{reachable} or return $old; - $old = $s; - } + my ($s) = $::o->{steps}{first}; + $s = $::o->{steps}{$s}{next} while $::o->{steps}{$s}{done} || !$::o->{steps}{$s}{reachable}; $s; } diff --git a/perl-install/install_steps.pm b/perl-install/install_steps.pm index 3191e167a..a4bf25532 100644 --- a/perl-install/install_steps.pm +++ b/perl-install/install_steps.pm @@ -41,6 +41,12 @@ sub new($$) { sub enteringStep($$) { my ($o, $step) = @_; log::l("starting step `$step'"); +} +sub leavingStep($$) { + my ($o, $step) = @_; + log::l("step `$step' finished"); + + eval { commands::cp('-f', "/tmp/ddebug.log", "$o->{prefix}/root") } if -d "$o->{prefix}/root" && !$::testing; for (my $s = $o->{steps}{first}; $s; $s = $o->{steps}{$s}{next}) { @@ -54,13 +60,6 @@ sub enteringStep($$) { } $o->{steps}{$s}{reachable} = 1 if $reachable; } -} -sub leavingStep($$) { - my ($o, $step) = @_; - log::l("step `$step' finished"); - - eval { commands::cp('-f', "/tmp/ddebug.log", "$o->{prefix}/root") } if -d "$o->{prefix}/root" && !$::testing; - $o->{steps}{$step}{reachable} = $o->{steps}{$step}{redoable}; while (my $f = shift @{$o->{steps}{$step}{toBeDone} || []}) { |