Add an option to save downloaded tarballs to local tarballs directory.

Sanitise CT_GetFile.
Change some messages (Copying -> Retrieving).
This commit is contained in:
Yann E. MORIN" 2007-07-15 17:00:30 +00:00
parent 51212ec0eb
commit d995e22025
3 changed files with 25 additions and 9 deletions

View File

@ -147,6 +147,15 @@ config LOCAL_TARBALLS_DIR
If you have previously downloaded the tarballs, enter the PATH where If you have previously downloaded the tarballs, enter the PATH where
you stored them here. 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 config PREFIX_DIR
string string
prompt "Prefix directory" prompt "Prefix directory"

View File

@ -42,7 +42,7 @@ case "${CT_SSTRIP_FROM}" in
return 0 return 0
fi fi
if [ -f "${CT_LOCAL_TARBALLS_DIR}/sstrip.c" ]; then 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" \ cp -v "${CT_LOCAL_TARBALLS_DIR}/sstrip.c" \
"${CT_TARBALLS_DIR}/sstrip.c" 2>&1 |CT_DoLog ALL "${CT_TARBALLS_DIR}/sstrip.c" 2>&1 |CT_DoLog ALL
return 0 return 0

View File

@ -334,24 +334,31 @@ CT_GetFile() {
# or, as a failover, a file without extension. # or, as a failover, a file without extension.
# Try local copy first, if it exists # Try local copy first, if it exists
for ext in ${first_ext} .tar.bz2 .tar.gz .tgz .tar ''; do 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 \ if [ -r "${CT_LOCAL_TARBALLS_DIR}/${file}${ext}" -a \
"${CT_FORCE_DOWNLOAD}" != "y" ]; then "${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 cp -v "${CT_LOCAL_TARBALLS_DIR}/${file}${ext}" "${file}${ext}" |CT_DoLog ALL
return 0 return 0
fi fi
done done
# Try to download it # 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 for ext in ${first_ext} .tar.bz2 .tar.gz .tgz .tar ''; do
# Try all urls in turn # Try all urls in turn
for url in "$@"; do for url in "$@"; do
case "${url}" in CT_DoLog DEBUG "Trying \"${url}/${file}${ext}\""
*) CT_DoLog DEBUG "Trying \"${url}/${file}${ext}\""
CT_DoGetFile "${url}/${file}${ext}" CT_DoGetFile "${url}/${file}${ext}"
;; if [ -f "${file}${ext}" ]; then
esac # No need to test if the file already exists because
[ -f "${file}${ext}" ] && return 0 || true # 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
done done
CT_Popd CT_Popd