From bb3519ad377c4c9abaf9322614c9f9f0fd2b201d Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Tue, 2 Aug 2011 23:11:25 +0200 Subject: 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" diff --git a/config/global/download.in b/config/global/download.in index b678374..801d06b 100644 --- a/config/global/download.in +++ b/config/global/download.in @@ -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" diff --git a/scripts/functions b/scripts/functions index 42c456c..d6dc6b0 100644 --- a/scripts/functions +++ b/scripts/functions @@ -513,7 +513,7 @@ CT_SaveLocal() { # Usage: CT_GetFile [.extension] [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 -- cgit v0.10.2-6-g49f6