summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/global.in9
-rw-r--r--scripts/build/tools/sstrip.sh2
-rw-r--r--scripts/functions23
3 files changed, 25 insertions, 9 deletions
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