This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 1 of 1] scripts/functions: extract: portable call for old and defective tars


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]