summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2011-08-14 15:28:35 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2011-08-14 15:28:35 (GMT)
commitac058b10420ff6f7c81a8f2dcdaa6e9db8d63df8 (patch)
treed88386b3bf866619a4c4c68bbc6f1e3c6a57e665
parent4144a003abc798b9bc80fbbb3e3a800ec9597274 (diff)
scripts/functions: commonalise tar options in CT_EXtract
This shortens command lines, so it's good! :-) Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
-rw-r--r--scripts/functions10
1 files changed, 7 insertions, 3 deletions
diff --git a/scripts/functions b/scripts/functions
index 298c75a..8c10958 100644
--- a/scripts/functions
+++ b/scripts/functions
@@ -703,6 +703,7 @@ CT_Extract() {
local nochdir="$1"
local basename
local ext
+ local -a tar_opts
if [ "${nochdir}" = "nochdir" ]; then
shift
@@ -740,10 +741,13 @@ CT_Extract() {
CT_DoLog EXTRA "Extracting '${basename}'"
CT_DoExecLog FILE mkdir -p "${basename}"
+ tar_opts=( "--strip-components=1" )
+ tar_opts+=( "-C" "${basename}" )
+ tar_opts+=( "-xv" )
case "${ext}" in
- .tar.bz2) CT_DoExecLog FILE tar --strip-components=1 -C "${basename}" -xvjf "${full_file}";;
- .tar.gz|.tgz) CT_DoExecLog FILE tar --strip-components=1 -C "${basename}" -xvzf "${full_file}";;
- .tar) CT_DoExecLog FILE tar --strip-components=1 -C "${basename}" -xvf "${full_file}";;
+ .tar.bz2) CT_DoExecLog FILE tar "${tar_opts[@]}" -j "${full_file}";;
+ .tar.gz|.tgz) CT_DoExecLog FILE tar "${tar_opts[@]}" -z "${full_file}";;
+ .tar) CT_DoExecLog FILE tar "${tar_opts[@]}" "${full_file}";;
/.git) CT_ExtractGit "${basename}" "${@}";;
*) CT_DoLog WARN "Don't know how to handle '${basename}${ext}': unknown extension"
return 1