scripts/functions: commonalise tar options in CT_EXtract
author"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Aug 14 17:28:35 2011 +0200 (2011-08-14)
changeset 260509b546182d59
parent 2604 d35d7cdc0494
child 2606 b6bf20def07f
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>
scripts/functions
     1.1 --- a/scripts/functions	Sun Aug 14 16:07:03 2011 +0200
     1.2 +++ b/scripts/functions	Sun Aug 14 17:28:35 2011 +0200
     1.3 @@ -703,6 +703,7 @@
     1.4      local nochdir="$1"
     1.5      local basename
     1.6      local ext
     1.7 +    local -a tar_opts
     1.8  
     1.9      if [ "${nochdir}" = "nochdir" ]; then
    1.10          shift
    1.11 @@ -740,10 +741,13 @@
    1.12  
    1.13      CT_DoLog EXTRA "Extracting '${basename}'"
    1.14      CT_DoExecLog FILE mkdir -p "${basename}"
    1.15 +    tar_opts=( "--strip-components=1" )
    1.16 +    tar_opts+=( "-C" "${basename}" )
    1.17 +    tar_opts+=( "-xv" )
    1.18      case "${ext}" in
    1.19 -        .tar.bz2)     CT_DoExecLog FILE tar --strip-components=1 -C "${basename}" -xvjf "${full_file}";;
    1.20 -        .tar.gz|.tgz) CT_DoExecLog FILE tar --strip-components=1 -C "${basename}" -xvzf "${full_file}";;
    1.21 -        .tar)         CT_DoExecLog FILE tar --strip-components=1 -C "${basename}" -xvf "${full_file}";;
    1.22 +        .tar.bz2)     CT_DoExecLog FILE tar "${tar_opts[@]}" -j "${full_file}";;
    1.23 +        .tar.gz|.tgz) CT_DoExecLog FILE tar "${tar_opts[@]}" -z "${full_file}";;
    1.24 +        .tar)         CT_DoExecLog FILE tar "${tar_opts[@]}" "${full_file}";;
    1.25          /.git)        CT_ExtractGit "${basename}" "${@}";;
    1.26          *)            CT_DoLog WARN "Don't know how to handle '${basename}${ext}': unknown extension"
    1.27                        return 1