diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Iurt/Queue.pm | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/lib/Iurt/Queue.pm b/lib/Iurt/Queue.pm index 449a7bf..5d4dbc5 100644 --- a/lib/Iurt/Queue.pm +++ b/lib/Iurt/Queue.pm @@ -99,7 +99,16 @@ sub cleanup_failed_build { move($file, "$fail_dir/${prefix}_$rpm"); } - if (!$fatal_failure) { + if ($fatal_failure) { + foreach my $done_arch (keys %{$ent->{media}{$media}{done_arch}}) { + my $file = "$done_dir/${prefix}_${done_arch}.done"; + if (-f $file) { + plog('DEBUG', "deleting $file"); + unlink $file; + } + delete $ent->{media}{$media}{done_arch}{$done_arch}; + } + } else { # keep rpms for other architectures $ent->{rpms} = $kept_rpms; # but delete src.rpm if we are now done @@ -113,7 +122,6 @@ sub cleanup_failed_build { return; } - # abort all remaining builds delete $ent->{rpms}; foreach my $srpm (@{$ent->{srpms}}) { @@ -135,6 +143,8 @@ sub cleanup_failed_build { move($file, "$fail_dir/$prefix/"); } } + + # TODO: abort all builds in progress } sub get_upload_tree_state { |