$DISTFILE_FETCHER configuration variable specifies what suite must be
used to download and verify integrity of distfiles.
By default, $DISTFILES/meta contains directories with various
metainformation about distfile: its size, hashes and URLs.
Initially Metalink4 XML files were used instead.
=> Metalink4
$DISTFILES/bin/meta4-to-metadir uses meta4ra utilities
to convert .meta4 file to "metadir".
$DISTFILES/bin/metadir-to-meta4 generates .meta4 back.
A [Index/Variables] JUSTDL
* $DISTFILE_FETCHER=justdl
* Get list or possible download URLs. It is sorted with
FETCHER_URLS_SORT function, which is by default:
FETCHER_URLS_SORT() {
$DISTFILES/lib/urls-sort "" rand
}
* For each URL, until we succeed, run $JUSTDL program to fetch it.
If JUSTDL is not set, then BASS will check for following programs
existence: fetch, wget, curl, meta4ra-dl.
* Check downloaded result with $BASS_ROOT/build/bin/hashes-check
utility against $metadir/hashes, if it exists. Otherwise check
only the size.
* $DISTFILE_FETCHER=wget-meta4
=> GNU Wget
Use wget compiled with --with-metalink option.
* $DISTFILE_FETCHER=aria2c
=> Aria2
Also uses generated .meta4 files.
Unfortunately it sometimes fails to deal with links on GitHub.com.