summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2007-05-18 15:54:42 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2007-05-18 15:54:42 (GMT)
commita5a431f8519b782dbb0c9d57cee7b306cea7191d (patch)
tree54b1ec37d2444e347eb92b3b996fd051797bf33f
parent4f4aa3cfb5a7b5bda13d1ec437291b657e7725cf (diff)
Really use local copy first in case it does not have the same extension as the downloadable tarball.
-rw-r--r--scripts/functions37
1 files changed, 18 insertions, 19 deletions
diff --git a/scripts/functions b/scripts/functions
index e902f2b..b905d32 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.