summaryrefslogtreecommitdiff
path: root/abuild.in
diff options
context:
space:
mode:
Diffstat (limited to 'abuild.in')
-rw-r--r--abuild.in13
1 files changed, 12 insertions, 1 deletions
diff --git a/abuild.in b/abuild.in
index d52c0bf..8f2af25 100644
--- a/abuild.in
+++ b/abuild.in
@@ -332,9 +332,20 @@ sourcecheck() {
uri_fetch() {
local uri="$1"
+ local status=0
mkdir -p "$SRCDEST"
msg "Fetching $uri"
- abuild-fetch -d "$SRCDEST" "$uri"
+ abuild-fetch -d "$SRCDEST" "$uri" || status=$?
+
+ # try again when server does not support resume
+ if [ "$status" -eq 33 ] && command -v curl > /dev/null; then
+ local partfile="$SRCDEST/$(filename_from_uri $uri).part"
+ msg "Removing partial download and trying again: $partfile"
+ rm "$partfile"
+ uri_fetch "$uri"
+ else
+ return $status
+ fi
}
is_remote() {