index : builder | |
Archlinux32 build system | gitolite user |
summaryrefslogtreecommitdiff |
-rwxr-xr-x | lib/common-functions | 25 |
diff --git a/lib/common-functions b/lib/common-functions index da5ddc1..f13b1f2 100755 --- a/lib/common-functions +++ b/lib/common-functions @@ -476,14 +476,23 @@ extract_source_directory() { pkgbase_translated=$(gitlab_project_name_to_path "${pkgbase}") tmptarfile=$(mktemp "${tmp_dir}"'/tmp.upstream-package.XXXXXXXXXX') url="https://buildmaster.archlinux32.org/upstream-packages/${pkgbase_translated}-${revision}.tar.gz" - curl -o "$tmptarfile" -fLSs "${url}" - res=$? - if [ "$res" -ne 0 ]; then - >&2 printf 'Download upstream-package "%s" from upstream via buildmaster cache failed. Curl exit code was %s.' \ - "${url}" \ - "${res}" - return 1 - fi + for i in {1..4}; do + curl -o "$tmptarfile" -fLSs "${url}" + res=$? + if [ "$res" -ne 0 ]; then + >&2 printf 'Download upstream-package "%s" from upstream via buildmaster cache failed. Curl exit code was %s.' \ + "${url}" \ + "${res}" + return 1 + fi + + # If zero bytes, try again + if [ -s "${tmptarfile}" ]; then + break + fi + + sleep 5 + done if [ -f "${tmptarfile}" ]; then tar -xz -f "${tmptarfile}" --strip-components=1 -C "${output}" -- "${pkgbase_translated}-${revision}" printf '\n' >> \ |