diff options
-rw-r--r-- | scripts/functions | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/scripts/functions b/scripts/functions index 0ccbbae6..ffe54419 100644 --- a/scripts/functions +++ b/scripts/functions @@ -728,10 +728,11 @@ CT_Extract() { CT_Pushd "${nochdir}" CT_DoLog EXTRA "Extracting '${basename}'" + CT_DoExecLog FILE mkdir -p "${basename}" case "${ext}" in - .tar.bz2) CT_DoExecLog FILE tar xvjf "${full_file}";; - .tar.gz|.tgz) CT_DoExecLog FILE tar xvzf "${full_file}";; - .tar) CT_DoExecLog FILE tar xvf "${full_file}";; + .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}";; /.git) CT_ExtractGit "${basename}" "${@}";; *) CT_DoLog WARN "Don't know how to handle '${basename}${ext}': unknown extension" return 1 |