aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsbosrcarch20
1 files changed, 20 insertions, 0 deletions
diff --git a/sbosrcarch b/sbosrcarch
index 7b9ab11..bc362d3 100755
--- a/sbosrcarch
+++ b/sbosrcarch
@@ -1213,6 +1213,26 @@ sub update_mode {
print "$_ was removed from repo\n", next unless -f;
handle_info_file();
}
+ close $fh;
+
+ # if the STATUS file exists, extract the list of builds with
+ # missing files, and retry them. most of the time the retries
+ # will fail, but it doesn't hurt to try.
+
+ if(open $fh, "<$archivedir/STATUS") {
+ print "STATUS file exists, retrying missing builds\n";
+ my $retries = 0;
+ while(<$fh>) {
+ chomp;
+ next unless /^ ([^\/]+)\/([^\/]+)$/;
+ $_ = "$1/$2/$2.info";
+ handle_info_file();
+ $retries++;
+ }
+ close $fh;
+ print "Retried $retries builds from STATUS file\n";
+ }
+
exit 0;
}