Re: did tar(1) loose xz compression support in 11?

From: John-Mark Gurney <jmg_at_funkthat.com>
Date: Tue, 26 Aug 2014 17:35:14 -0700
Chris H wrote this message on Tue, Aug 26, 2014 at 16:32 -0700:
> > "Chris H" <bsd-lists_at_bsdforge.com> writes:
> >
> >>> On 8/26/14 11:05 AM, Chris H wrote:
> >>>> Greetings,
> >>>> I'm currently testing 11. My build / install is from about 2 days ago.
> >>>> I generally use xz compression, when creating archives. But when I
> >>>> attempt the following:
> >>>>
> >>>> tar -cvJ --options xz:9 -f ./archive-name.tar.xz ./file
> >>>>
> >>>> it returns the following:
> >>>>
> >>>> tar: Undefined option: `xz:9'
> >>>>
> >>>> This has always worked in previous versions. Has the syntax changed,
> >>>> and the man(1) pages just haven't caught up?
> >>>
> >>> I use:
> >>> tar -cJ --options xz:compression-level=1
> >>> .. on head. Are you using the right syntax?
> >> Apparently not. Using your example works as expected.
> >> RELENG_8, and RELENG_9 use short-hand;
> >> tar -cvJ --options xz:9
> >>
> >> Why/when the change to long-hand? Seems a shame. Now I
> >> get to modify all my scripts, and such. :P Altho I
> >> don't suppose it'd be a big deal to back out (revert) the
> >> changes made to tar(1). :)
> >
> > I can't find any changes that would make the syntax change.  At least,
> > not in quite a long while.  Therefore, this change may not be
> > intentional. However, I looked at the the manual page from 9.3, and its
> > description of the features looks the same as on the latest HEAD, and
> > *doesn't* look like leaving out a "key" (in this case,
> > "compression-level") is ever compliant.
> >
> > You might try the latest (or older) libarchive from the ports, and
> > compare its behaviour. Also, there are a number (amusingly many, in
> > fact) of other ways of specifying these parameters that may be more
> > convenient for you, so another look throught the tar(1) manual might
> > save you a few minutes.
> Thank you, Lowell. For your extremely informative reply.
> Curious. The man page I read from my freshly built 11-CURRENT indicates
> the following:
> 
> xz:compression-level
>      A decimal integer from 0 to 9 specifying the xz compres-
>      sion level.
> 
> As I have always read that (interpreted it). It meant:
> xz:<decimal-number> (0-9)
> Which is what I've always used. I haven't grepped ports||src
> yet. But if it makes any difference, it came from src -- build/install
> world.
> I'll do some poking around. But all my other boxes (RELENG_8 && RELENG_9)
> use xz:<decimal-number>.
> 
> Thanks again, Lowell. For taking the time to respond. Greatly appreciated.

Could it be that previous versions were ignoring the option and not
giving you an error?

It looks like that was the case on my 9.1-PR box:
$tar -cJf test.txz *.patch *.c testcrypt *.h; ls -l test.txz
-rw-------  1 jmg  wheel  38956 Aug 26 17:33 test.txz
$tar --options xz:9 -cJf test.txz *.patch *.c testcrypt *.h; ls -l test.txz
-rw-------  1 jmg  wheel  38956 Aug 26 17:33 test.txz
$tar --options xz:1 -cJf test.txz *.patch *.c testcrypt *.h; ls -l test.txz
-rw-------  1 jmg  wheel  38956 Aug 26 17:33 test.txz
$tar --options xz:compression-level=1 -cJf test.txz *.patch *.c testcrypt *.h; ls -l test.txz
-rw-------  1 jmg  wheel  41772 Aug 26 17:34 test.txz
$tar --options xz:compression-level=9 -cJf test.txz *.patch *.c testcrypt *.h; ls -l test.txz
-rw-------  1 jmg  wheel  38956 Aug 26 17:34 test.txz

-- 
  John-Mark Gurney				Voice: +1 415 225 5579

     "All that I will do, has been done, All that I have, has not."
Received on Tue Aug 26 2014 - 22:35:31 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:51 UTC