mirror_ubuntu-kernels/debian/scripts/file-downloader

35 lines
679 B
Bash
Executable File

#!/bin/sh
if [ "$#" -ne 1 ]; then
echo "Usage: $0 <url>" 1>&2
exit 1
fi
url="$1"
to=$(basename "$url")
count=0
what='fetching'
while :
do
if [ "$count" -eq 20 ]; then
echo "EE: excessive redirects" 1>&2
exit 1
fi
count=$(($count+1))
echo "II: $what $url"
curl --silent --fail --show-error "$url" -o "$to" -D "$to.hdr" || exit 1
redirect=$(awk '/^Location: / {gsub(/^[[:space:]]+|[[:space:]]+$/,"",$2); print $2;}' "$to.hdr")
[ -z "$redirect" ] && break
what=' following'
url=$(echo "$redirect" | sed -e 's@https://launchpadlibrarian.net/@http://launchpadlibrarian.net/@')
if [ "$redirect" != "$url" ]; then
echo "II: fixing $redirect"
fi
done
exit 0