diff options
author | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2009-11-30 00:05:45 +0100 |
---|---|---|
committer | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2009-11-30 00:05:45 +0100 |
commit | 01a58679df10cde9524e0f4170fed51363df1fb2 (patch) | |
tree | bdba684ae20c02658c9206548148fdfd2438ce61 /scripts/functions | |
parent | 135ea6486fc3f4edcc81c6fdf7b65a50a2a3ebdc (diff) | |
download | crosstool-ng-01a58679df10cde9524e0f4170fed51363df1fb2.tar.gz crosstool-ng-01a58679df10cde9524e0f4170fed51363df1fb2.tar.bz2 crosstool-ng-01a58679df10cde9524e0f4170fed51363df1fb2.zip |
scripts: handle custom or empty extension when extracting
Diffstat (limited to 'scripts/functions')
-rw-r--r-- | scripts/functions | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/scripts/functions b/scripts/functions index bc71ea17..b4d03752 100644 --- a/scripts/functions +++ b/scripts/functions @@ -297,8 +297,8 @@ CT_SetLibPath() { # Get the file name extension of a component # Usage: CT_GetFileExtension <component_name-component_version> [extension] -# If found, echoes the extension to stdout -# If not found, echoes nothing on stdout. +# If found, echoes the extension to stdout, and return 0 +# If not found, echoes nothing on stdout, and return !0. CT_GetFileExtension() { local ext local file="$1" @@ -311,11 +311,11 @@ CT_GetFileExtension() { for ext in ${first_ext} .tar.gz .tar.bz2 .tgz .tar ''; do if [ -f "${CT_TARBALLS_DIR}/${file}${ext}" ]; then echo "${ext}" - break + exit 0 fi done - return 0 + exit 1 } # Download an URL using wget @@ -389,8 +389,7 @@ CT_GetLocal() { local ext # Do we already have it in *our* tarballs dir? - ext=$(CT_GetFileExtension "${basename}" ${first_ext}) - if [ -n "${ext}" ]; then + if ext="$( CT_GetFileExtension "${basename}" ${first_ext} )"; then CT_DoLog DEBUG "Already have '${basename}'" return 0 fi @@ -571,8 +570,11 @@ CT_GetSVN() { CT_Extract() { local basename="$1" local nochdir="$2" - local ext=$(CT_GetFileExtension "${basename}") - CT_TestAndAbort "'${basename}' not found in '${CT_TARBALLS_DIR}'" -z "${ext}" + local ext + + if ! ext="$(CT_GetFileExtension "${basename}")"; then + CT_TestAndAbort "'${basename}' not found in '${CT_TARBALLS_DIR}'" -z "${ext}" + fi local full_file="${CT_TARBALLS_DIR}/${basename}${ext}" # Check if already extracted |