summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/functions7
1 files changed, 4 insertions, 3 deletions
diff --git a/scripts/functions b/scripts/functions
index 0ccbbae..ffe5441 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