aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Ferrell <major@homeonderanged.org>2014-01-22 09:11:22 -0800
committerMark Ferrell <major@homeonderanged.org>2014-01-22 09:11:22 -0800
commit3b8e66b1511fb64e17965c07c84c0f62b202e8a9 (patch)
treebdf325f03ec59c8c3ec6a3272a4a39317ca78d74
parent6a96f2440b653da516324b863300700937626489 (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-xbuilder/build-fetch7
-rwxr-xr-xbuilder/build-package10
-rwxr-xr-xbuilder/build-source10
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;;