aboutsummaryrefslogtreecommitdiff
path: root/sbosrcarch
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2018-07-17 16:49:50 -0400
committerB. Watson <yalhcru@gmail.com>2018-07-17 16:49:50 -0400
commit20ceb6d34f1aa0236cb94c054539ce8699dea49e (patch)
tree840d677b1f5a4c6b590c346a1060cc34c4ebe508 /sbosrcarch
parent6e85199a5b8dd9384f8a575d80e912c033ba0901 (diff)
downloadsbostuff-20ceb6d34f1aa0236cb94c054539ce8699dea49e.tar.gz
sbosrcarch: retry missing builds listed in STATUS
Diffstat (limited to 'sbosrcarch')
-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;
}