From 04250cc896d00b28ba518ece4e2eae7b9b0bb048 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Thu, 25 Aug 2011 18:30:18 +0200 Subject: [PATCH] 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" --- configure | 3 +++ scripts/functions | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/configure b/configure index c645e181..f52af9ef 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 bb24264e..d2b45cfd 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}";;