From d995e22025f37fb013537ed6d722ab467aa5a2dc Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Sun, 15 Jul 2007 17:00:30 +0000 Subject: Add an option to save downloaded tarballs to local tarballs directory. Sanitise CT_GetFile. Change some messages (Copying -> Retrieving). diff --git a/config/global.in b/config/global.in index 2721963..ae7596e 100644 --- a/config/global.in +++ b/config/global.in @@ -147,6 +147,15 @@ config LOCAL_TARBALLS_DIR If you have previously downloaded the tarballs, enter the PATH where you stored them here. +config SAVE_TARBALLS + bool + prompt "Save new tarballs" + default n + depends on LOCAL_TARBALLS_DIR != "" + help + If you say 'y' here, new doanloaded tarballs will be saved in the + directory you entered above. + config PREFIX_DIR string prompt "Prefix directory" diff --git a/scripts/build/tools/sstrip.sh b/scripts/build/tools/sstrip.sh index 850ef25..7913f87 100644 --- a/scripts/build/tools/sstrip.sh +++ b/scripts/build/tools/sstrip.sh @@ -42,7 +42,7 @@ case "${CT_SSTRIP_FROM}" in return 0 fi if [ -f "${CT_LOCAL_TARBALLS_DIR}/sstrip.c" ]; then - CT_DoLog EXTRA "Copying \"sstrip.c\" from local copy" + CT_DoLog EXTRA "Retrieving \"sstrip.c\" from local copy" cp -v "${CT_LOCAL_TARBALLS_DIR}/sstrip.c" \ "${CT_TARBALLS_DIR}/sstrip.c" 2>&1 |CT_DoLog ALL return 0 diff --git a/scripts/functions b/scripts/functions index 60b8370..e74d874 100644 --- a/scripts/functions +++ b/scripts/functions @@ -334,24 +334,31 @@ CT_GetFile() { # or, as a failover, a file without extension. # Try local copy first, if it exists for ext in ${first_ext} .tar.bz2 .tar.gz .tgz .tar ''; do + CT_DoLog DEBUG "Trying \"${CT_LOCAL_TARBALLS_DIR}/${file}${ext}\"" if [ -r "${CT_LOCAL_TARBALLS_DIR}/${file}${ext}" -a \ "${CT_FORCE_DOWNLOAD}" != "y" ]; then - CT_DoLog EXTRA "Copying \"${file}\" from local copy" + CT_DoLog EXTRA "Retrieving \"${file}\" from local storage" cp -v "${CT_LOCAL_TARBALLS_DIR}/${file}${ext}" "${file}${ext}" |CT_DoLog ALL return 0 fi done # Try to download it - CT_DoLog EXTRA "Retrieving \"${file}\"" + CT_DoLog EXTRA "Retrieving \"${file}\" from network" for ext in ${first_ext} .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 + CT_DoLog DEBUG "Trying \"${url}/${file}${ext}\"" + CT_DoGetFile "${url}/${file}${ext}" + if [ -f "${file}${ext}" ]; then + # No need to test if the file already exists because + # it does NOT. If it did exist, we'd have been stopped + # above, when looking for local copies. + if [ "${CT_SAVE_TARBALLS}" = "y" ]; then + CT_DoLog EXTRA "Saving \"${file}\" to local storage" + cp -v "${file}${ext}" "${CT_LOCAL_TARBALLS_DIR}" |CT_DoLog ALL + fi + return 0 + fi done done CT_Popd -- cgit v0.10.2-6-g49f6