diff options
author | Mark Ferrell <major@homeonderanged.org> | 2014-01-22 09:11:22 -0800 |
---|---|---|
committer | Mark Ferrell <major@homeonderanged.org> | 2014-01-22 09:11:22 -0800 |
commit | 3b8e66b1511fb64e17965c07c84c0f62b202e8a9 (patch) | |
tree | bdf325f03ec59c8c3ec6a3272a4a39317ca78d74 | |
parent | 6a96f2440b653da516324b863300700937626489 (diff) |
Do not rely on 'tar -a'
* Not all variants of tar support the '-a' compression directive, so avoid
relying on it in the generic case.
* Technically not all variations of tar support compression directives at all,
so we should likely be doing all of this the old fashion way.
E.g.'tar c [path] | compress > [file]'
-rwxr-xr-x | builder/build-fetch | 7 | ||||
-rwxr-xr-x | builder/build-package | 10 | ||||
-rwxr-xr-x | builder/build-source | 10 |
3 files changed, 24 insertions, 3 deletions
diff --git a/builder/build-fetch b/builder/build-fetch index b9a3de4..64fe5a2 100755 --- a/builder/build-fetch +++ b/builder/build-fetch @@ -129,7 +129,12 @@ build_fetch_git() fi cd "${build_fetch_git_tmp}" - tar caf "${build_fetch_git_var}" "${build_fetch_git_dir}" + case "${build_fetch_git_var}" in + (*tar.Z|*tz) tar cZf "${build_fetch_git_var}" "${build_fetch_git_dir}";; + (*tgz|*tar.gz) tar czf "${build_fetch_git_var}" "${build_fetch_git_dir}";; + (*tar.bz2) tar cjf "${build_fetch_git_var}" "${build_fetch_git_dir}";; + (*) tar caf "${build_fetch_git_var}" "${build_fetch_git_dir}";; + esac if [ ! -d "${BUILDER_SRCDIR}" ]; then mkdir -p "${BUILDER_SRCDIR}" diff --git a/builder/build-package b/builder/build-package index 9a016e4..7be2932 100755 --- a/builder/build-package +++ b/builder/build-package @@ -89,7 +89,15 @@ else echo "prepping ${1} from source: '${BUILDER_SRCDIR}/${file}" case "${file}" in - (*.tar.bz2|*.tbz2|*.tar.xz|*.txz|*.tar.Z|*.tar.z|*.tz|*.tar.gz|*.tgz) + (*.tar.Z|*.tar.z|*.tz) + tar xZf "${BUILDER_SRCDIR}/${file}" -C "${W}" >> "${PKG_LOGFILE}" 2>&1;; + (*.tar.gz|*.tgz) + tar xzf "${BUILDER_SRCDIR}/${file}" -C "${W}" >> "${PKG_LOGFILE}" 2>&1;; + (*.tar.bz2|*.tbz2) + tar xjf "${BUILDER_SRCDIR}/${file}" -C "${W}" >> "${PKG_LOGFILE}" 2>&1;; + (*.tar.xz|*.txz) + tar xJf "${BUILDER_SRCDIR}/${file}" -C "${W}" >> "${PKG_LOGFILE}" 2>&1;; + (*.tar.*) tar xaf "${BUILDER_SRCDIR}/${file}" -C "${W}" >> "${PKG_LOGFILE}" 2>&1;; (*.zip) unzip "${BUILDER_SRCDIR}/${file}" -d "${W}" >> "${PKG_LOGFILE}" 2>&1;; diff --git a/builder/build-source b/builder/build-source index 5ca00b7..27910cd 100755 --- a/builder/build-source +++ b/builder/build-source @@ -41,7 +41,15 @@ build_source() fi case "${file}" in - (*.tar.bz2|*.tbz2|*.tar.xz|*.txz|*.tar.Z|*.tar.z|*.tz|*.tar.gz|*.tgz) + (*.tar.Z|*.tar.z|*.tz) + tar xZvf "${BUILDER_SRCDIR}/${file}" -C "${W}" >> "${PKG_LOGFILE}" 2>&1;; + (*.tar.gz|*.tgz) + tar xzvf "${BUILDER_SRCDIR}/${file}" -C "${W}" >> "${PKG_LOGFILE}" 2>&1;; + (*.tar.bz2|*.tbz2) + tar xjvf "${BUILDER_SRCDIR}/${file}" -C "${W}" >> "${PKG_LOGFILE}" 2>&1;; + (*.tar.xz|*.txz) + tar xJvf "${BUILDER_SRCDIR}/${file}" -C "${W}" >> "${PKG_LOGFILE}" 2>&1;; + (*.tar.*) tar xavf "${BUILDER_SRCDIR}/${file}" -C "${W}" >> "${PKG_LOGFILE}" 2>&1;; (*.zip) unzip "${BUILDER_SRCDIR}/${file}" -d "${W}" >> "${PKG_LOGFILE}" 2>&1;; |