scripts/functions
changeset 2605 09b546182d59
parent 2599 c096c896e745
child 2608 aa09a36c3d36
     1.1 --- a/scripts/functions	Wed Aug 10 23:09:06 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