diff options
author | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2007-05-18 15:54:42 +0000 |
---|---|---|
committer | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2007-05-18 15:54:42 +0000 |
commit | a5a431f8519b782dbb0c9d57cee7b306cea7191d (patch) | |
tree | 54b1ec37d2444e347eb92b3b996fd051797bf33f | |
parent | 4f4aa3cfb5a7b5bda13d1ec437291b657e7725cf (diff) | |
download | crosstool-ng-a5a431f8519b782dbb0c9d57cee7b306cea7191d.tar.gz crosstool-ng-a5a431f8519b782dbb0c9d57cee7b306cea7191d.tar.bz2 crosstool-ng-a5a431f8519b782dbb0c9d57cee7b306cea7191d.zip |
Really use local copy first in case it does not have the same extension as the downloadable tarball.
-rw-r--r-- | scripts/functions | 37 |
1 files changed, 18 insertions, 19 deletions
diff --git a/scripts/functions b/scripts/functions index e902f2b5..b905d320 100644 --- a/scripts/functions +++ b/scripts/functions @@ -299,30 +299,29 @@ CT_GetFile() { # File not yet downloaded, try to get it got_it=0 # We'd rather have a bzip2'ed tarball, then gzipped, and finally plain tar. + # Try local copy first, if it exists for ext in .tar.bz2 .tar.gz .tgz .tar; do - if [ ${got_it} -ne 1 ]; then - # Try local copy first, if it exists - if [ -r "${CT_LOCAL_TARBALLS_DIR}/${file}${ext}" -a \ - "${CT_FORCE_DOWNLOAD}" != "y" ]; then - cp -v "${CT_LOCAL_TARBALLS_DIR}/${file}${ext}" "${file}${ext}" |CT_DoLog DEBUG - got_it=1 - break 1 - else - # Try all urls in turn - for url in "$@"; do - case "${url}" in - *) CT_DoLog DEBUG "Trying \"${url}/${file}${ext}\"" - CT_DoGetFile "${url}/${file}${ext}" - ;; - esac - [ -f "${file}${ext}" ] && got_it=1 && break 2 || true - done - fi + if [ -r "${CT_LOCAL_TARBALLS_DIR}/${file}${ext}" -a \ + "${CT_FORCE_DOWNLOAD}" != "y" ]; then + cp -v "${CT_LOCAL_TARBALLS_DIR}/${file}${ext}" "${file}${ext}" |CT_DoLog DEBUG + return 0 fi done + # Try to download it + for ext in .tar.bz2 .tar.gz .tgz .tar; do + # Try all urls in turn + for url in "$@"; do + case "${url}" in + *) CT_DoLog DEBUG "Trying \"${url}/${file}${ext}\"" + CT_DoGetFile "${url}/${file}${ext}" + ;; + esac + [ -f "${file}${ext}" ] && return 0 || true + done + done CT_Popd - CT_TestAndAbort "Could not download \"${file}\", and not present in \"${CT_LOCAL_TARBALLS_DIR}\"" ${got_it} -eq 0 + CT_Abort "Could not download \"${file}\", and not present in \"${CT_LOCAL_TARBALLS_DIR}\"" } # Extract a tarball and patch the resulting sources if necessary. |