mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2025-01-18 18:56:31 +00:00
scripts/functions: always prefer the mirror
Currently, the mirror can be used either: - as a fallback in case upstream is unavailable (default behavior) - as the preferred source for downloads But the most common use-case seems to provide a truely-LAN mirror to speed up downloads in big corpos', and/or provide a 'trusted' source for the tarballs. So, make the following changes; - if a mirror is specified, always try that before trying upstream Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
This commit is contained in:
parent
cba6269810
commit
bb3519ad37
@ -37,17 +37,10 @@ config USE_MIRROR
|
||||
*not* on your LAN, for example on another subnet of your company's
|
||||
network, or a mirror on the Internet.
|
||||
|
||||
if USE_MIRROR
|
||||
|
||||
config PREFER_MIRROR
|
||||
bool
|
||||
prompt "Prefer the mirror"
|
||||
help
|
||||
Say 'Y' here if you prefer the LAN mirror over the upstream sources.
|
||||
|
||||
config MIRROR_BASE_URL
|
||||
string
|
||||
prompt "Base URL"
|
||||
depends on USE_MIRROR
|
||||
default "http://ymorin.is-a-geek.org/mirrors/"
|
||||
help
|
||||
This is the base URL searched in for tarballs.
|
||||
@ -63,8 +56,6 @@ config MIRROR_BASE_URL
|
||||
The mirror is available at:
|
||||
http://ymorin.is-a-geek.org/mirrors/
|
||||
|
||||
endif # USE_MIRROR
|
||||
|
||||
config CONNECT_TIMEOUT
|
||||
int
|
||||
prompt "Connection timeout"
|
||||
|
@ -513,7 +513,7 @@ CT_SaveLocal() {
|
||||
# Usage: CT_GetFile <basename> [.extension] <url> [url ...]
|
||||
CT_GetFile() {
|
||||
local ext
|
||||
local url URLS LAN_URLS
|
||||
local url URLS
|
||||
local file="$1"
|
||||
local first_ext
|
||||
shift
|
||||
@ -532,24 +532,14 @@ CT_GetFile() {
|
||||
# Try to retrieve the file
|
||||
CT_DoLog EXTRA "Retrieving '${file}'"
|
||||
|
||||
URLS="$@"
|
||||
|
||||
# Add URLs on the LAN mirror
|
||||
LAN_URLS=
|
||||
if [ "${CT_USE_MIRROR}" = "y" ]; then
|
||||
CT_TestOrAbort "Please set the mirror base URL" -n "${CT_MIRROR_BASE_URL}"
|
||||
LAN_URLS="${LAN_URLS} ${CT_MIRROR_BASE_URL}/${file%-*}"
|
||||
LAN_URLS="${LAN_URLS} ${CT_MIRROR_BASE_URL}"
|
||||
|
||||
if [ "${CT_PREFER_MIRROR}" = "y" ]; then
|
||||
CT_DoLog DEBUG "Pre-pending LAN mirror URLs"
|
||||
URLS="${LAN_URLS} ${URLS}"
|
||||
else
|
||||
CT_DoLog DEBUG "Appending LAN mirror URLs"
|
||||
URLS="${URLS} ${LAN_URLS}"
|
||||
fi
|
||||
URLS="${CT_MIRROR_BASE_URL}/${file%-*} ${CT_MIRROR_BASE_URL}"
|
||||
fi
|
||||
|
||||
URLS+="${URLS:+ }${*}"
|
||||
|
||||
# Scan all URLs in turn, and try to grab a tarball from there
|
||||
# Do *not* try git trees (ext=/.git), this is handled in a specific
|
||||
# wrapper, below
|
||||
|
Loading…
Reference in New Issue
Block a user