# HG changeset patch # User "Yann E. MORIN" # Date 1312319485 -7200 # Node ID 2472b2f24e3a6a375e123573bf3258048f756768 # Parent 4908eb2b6f178f03aeae54df5d358133d7545687 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 -r 4908eb2b6f17 -r 2472b2f24e3a config/global/download.in --- a/config/global/download.in Tue Aug 02 18:26:53 2011 +0200 +++ b/config/global/download.in Tue Aug 02 23:11:25 2011 +0200 @@ -37,17 +37,10 @@ *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 @@ The mirror is available at: http://ymorin.is-a-geek.org/mirrors/ -endif # USE_MIRROR - config CONNECT_TIMEOUT int prompt "Connection timeout" diff -r 4908eb2b6f17 -r 2472b2f24e3a scripts/functions --- a/scripts/functions Tue Aug 02 18:26:53 2011 +0200 +++ b/scripts/functions Tue Aug 02 23:11:25 2011 +0200 @@ -513,7 +513,7 @@ # 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,23 +532,13 @@ # 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}" + URLS="${CT_MIRROR_BASE_URL}/${file%-*} ${CT_MIRROR_BASE_URL}" + fi - 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 - 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