summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2011-08-25 16:30:18 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2011-08-25 16:30:18 (GMT)
commit04250cc896d00b28ba518ece4e2eae7b9b0bb048 (patch)
treeab08e06b9b3dbada025a4668aef86c2b8077b06a
parent4bf42bfd02901694812054b3a78fd1518dbd5d63 (diff)
configure: check for lzma
Some packages are available as LZMA tarballs. LZMA is a relatively recent compression algorithm; it's slightly better than bzip2, but offers much faster decompression. LZMA is now deprecated in favor of XZ, but some packages switched to LZMA when XZ was not yet available, or still in its infancy. Latest XZ (which totaly obsoletes LZMA) offers a backward LZMA- compatible utility, so we can check for 'lzma' nonetheless. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
-rwxr-xr-xconfigure3
-rw-r--r--scripts/functions4
2 files changed, 7 insertions, 0 deletions
diff --git a/configure b/configure
index c645e18..f52af9e 100755
--- a/configure
+++ b/configure
@@ -504,6 +504,9 @@ has_or_abort prog=bzip2
has_or_warn prog=xz \
kconfig=has_xzutils \
err="xz-compressed tarballs will not be used"
+has_or_warn prog=lzma \
+ kconfig=has_lzma \
+ err="lzma-compressed tarballs will not be used"
has_or_abort prog=readlink
has_or_abort prog=objcopy var=objcopy
has_or_abort prog=objdump var=objdump
diff --git a/scripts/functions b/scripts/functions
index bb24264..d2b45cf 100644
--- a/scripts/functions
+++ b/scripts/functions
@@ -403,6 +403,9 @@ CT_DoListTarballExt() {
if [ "${CT_CONFIGURE_has_xzutils}" = "y" ]; then
printf ".tar.xz\n"
fi
+ if [ "${CT_CONFIGURE_has_lzma}" = "y" ]; then
+ printf ".tar.lzma\n"
+ fi
printf ".tar.bz2\n"
printf ".tar.gz\n.tgz\n"
printf ".tar\n"
@@ -757,6 +760,7 @@ CT_Extract() {
tar_opts+=( "-xv" )
case "${ext}" in
.tar.xz) CT_DoExecLog FILE tar "${tar_opts[@]}" --use-compress-program=xz -f "${full_file}";;
+ .tar.lzma) CT_DoExecLog FILE tar "${tar_opts[@]}" --use-compress-program=lzma -f "${full_file}";;
.tar.bz2) CT_DoExecLog FILE tar "${tar_opts[@]}" -j -f "${full_file}";;
.tar.gz|.tgz) CT_DoExecLog FILE tar "${tar_opts[@]}" -z -f "${full_file}";;
.tar) CT_DoExecLog FILE tar "${tar_opts[@]}" -f "${full_file}";;