[PATCH 1 of 1] scripts/functions: extract: portable call for old and defective tars
Yann E. MORIN
yann.morin.1998@anciens.enib.fr
Tue Nov 22 17:10:00 GMT 2011
Titus, All,
On Tuesday 22 November 2011 10:30:23 Titus von Boxberg wrote:
> # HG changeset patch
> # User Titus von Boxberg <titus@v9g.de>
> # Date 1321952890 -3600
> # Node ID ac30f53965908a4341a5cf21ba67d707a8f0d68e
> # Parent 3c1a3fc051cb46d1bad9cbe2a601c5c4aa48876c
> scripts/functions: extract: portable call for old and defective tars
>
> Instead of using -J, --lzma, --use-compress-program or the like
> use <compressor> -dc <file> | tar -f -
>
> Signed-off-by: titus@v9g.de
>
> diff -r 3c1a3fc051cb -r ac30f5396590 scripts/functions
> --- a/scripts/functions Thu Nov 17 14:18:44 2011 +0100
> +++ b/scripts/functions Tue Nov 22 10:08:10 2011 +0100
> @@ -761,15 +761,15 @@
> # - so, if we get an lzma tarball, and either 'xz' or 'lzma' is
> # missing, we can assume the other is available
> if [ "${CT_CONFIGURE_has_lzma}" = "y" ]; then
> - lzma_prog=lzma
> + lzma_prog="lzma -fdc"
> else
> - lzma_prog=xz
> + lzma_prog="xz -fdc"
> fi
> 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_prog}" -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.xz) xz -fdc "${full_file}" | CT_DoExecLog FILE tar "${tar_opts[@]}" -f -;;
> + .tar.lzma) ${lzma_prog} "${full_file}" | CT_DoExecLog FILE tar "${tar_opts[@]}" -f -;;
> + .tar.bz2) bzip2 -dc "${full_file}" | CT_DoExecLog FILE tar "${tar_opts[@]}" -f -;;
> + .tar.gz|.tgz) gzip -dc "${full_file}" | CT_DoExecLog FILE tar "${tar_opts[@]}" -f -;;
Why not use:
xz : xzcat
lzma : lzcat
bzip2 : bzcat
gzip : zcat
I believe that, if a specific compressor is available, the corresponding
'cat' counterpart is also available. At least, that has been my experience
with all the "standard" distro I've used.
Otherwise, OK.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
--
For unsubscribe information see http://sourceware.org/lists.html#faq
More information about the crossgcc
mailing list