mirror of
https://gitlab.alpinelinux.org/alpine/abuild.git
synced 2024-12-29 02:12:06 +00:00
abuild: use curl by default. fallback to wget if curl is missing
fixes #871
This commit is contained in:
parent
ff53e77643
commit
df05d495b0
33
abuild.in
33
abuild.in
@ -236,11 +236,26 @@ sourcecheck() {
|
||||
return 0
|
||||
}
|
||||
|
||||
# convert curl options to wget options and call wget instead of curl
|
||||
wget_fallback() {
|
||||
local wget_opts= outfile= opt=
|
||||
while getopts "C:ko:s" opt; do
|
||||
case $opt in
|
||||
'C') wget_opts="$wget_opts -c";; # --continue-at
|
||||
's') wget_opts="$wget_opts -q";; # --silent
|
||||
'o') wget_opts="$wget_opts -O $OPTARG";; # --output
|
||||
'k') wget_opts="$wget_opts --no-check-certificate";; #gnu wget
|
||||
esac
|
||||
done
|
||||
shift $(( $OPTIND - 1 ))
|
||||
wget $wget_opts "$1"
|
||||
}
|
||||
|
||||
uri_fetch() {
|
||||
local uri="$1"
|
||||
local d="${uri##*/}" # $(basename $uri)
|
||||
local opts
|
||||
[ -n "$quiet" ] && opts="-q"
|
||||
[ -n "$quiet" ] && opts="-s"
|
||||
[ -f "$SRCDEST/$d" ] && return 0
|
||||
|
||||
# fix saveas-*://* URIs
|
||||
@ -250,18 +265,24 @@ uri_fetch() {
|
||||
saveas-*://*) uri="${uri:7:$(expr ${#uri} - 7 - ${#d} - 1)}";;
|
||||
esac
|
||||
|
||||
# we need GNU wget for this
|
||||
case "$uri" in
|
||||
https://*) opts="--no-check-certificate";;
|
||||
https://*) opts="-k";;
|
||||
esac
|
||||
|
||||
|
||||
mkdir -p "$SRCDEST"
|
||||
if [ -f "$SRCDEST/$d.part" ]; then
|
||||
msg "Partial download found. Trying to resume"
|
||||
opts="$opts -c"
|
||||
opts="$opts -C -"
|
||||
fi
|
||||
msg "Fetching $uri"
|
||||
wget $opts -O "$SRCDEST/$d.part" "$uri" \
|
||||
|
||||
# fallback to wget if curl is missing. useful for bootstrapping
|
||||
local fetcher=curl
|
||||
if ! [ -x "$(which curl)" ]; then
|
||||
fetcher=wget_fallback
|
||||
fi
|
||||
|
||||
$fetcher $opts -o "$SRCDEST/$d.part" "$uri" \
|
||||
&& mv "$SRCDEST/$d.part" "$SRCDEST/$d"
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user