libtool-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] maint: ship .xz, not .lzma


From: Charles Wilson
Subject: Re: [PATCH] maint: ship .xz, not .lzma
Date: Tue, 14 Sep 2010 13:14:06 -0400
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.2.9) Gecko/20100825 Thunderbird/3.1.3

On 9/14/2010 11:02 AM, Bob Friesenhahn wrote:
> On Tue, 14 Sep 2010, Gary V. Vaughan wrote:
>>
>> No objections.
>>
>> I'm curious to know what the history of lzma and xz is that makes this
>> desirable though.
> 
> I am curious to know if XZ Utils has now achieved a proper stable
> release or if it will be perpetually in a prototype like state.

Well, the 4.999.9beta is supposedly the "final" beta.  However, it was
released 2009-08-27 (e.g. a year ago) -- so, in order to keep that
promise (!) the webpage now says:

> A snapshot from the git repository is available too, and is generally
> recommended over 4.999.9beta.
>
> xz-4.999.9beta-180-ge23e.tar.gz (1114 KiB)

How that differs from a new RC/beta I don't know, but there you go.
Anyway, if you check the git logs, you'll see that most of the recent
changes have been stabilization and documentation, so I think it is
asymptotically converging on an actual release. Of course you know the
problem with asymptotes...

> Its
> code is quite large and quite obtuse.

Meh.  Most of that is for the alternate compression schemes (e.g. there
are schemes tuned specifically for compressing mips binary code, and x86
binary code, etc).  The core LZMA compression and XZ file format
handling is maybe only 1.5x-2x bzip2.

Take a look at the xz-embedded repo; it includes only the XZ and core
LZMA stuff:
git clone http://git.tukaani.org/xz-embedded.git

> Also, I remain curious to know why 'lzip' has never been considered as a
> suitable replacement.  Lzip accomplishes the same thing with 10 times
> less code, and better fits the traditions previously established by gzip
> and bzip2. 

I'm not sure that last clause (...better fits...) is true. Surely, the
LZMA SDK code and utilities were...different.  But the LZMA Utils and
its successor XZ Utils were *specifically* written to follow the
gzip/bzip2 traditions.

When I added xz support to cygwin's setup.exe via liblzma, the glue code
to do so was VERY similar to the corresponding .gz and .bz2 glue code...
Ditto when similar glue was added to BSD's libarchive.

> Its only limitation is that it requires a C++ compiler.  The
> claim is made that it is not portable because it does not come with a
> megabyte-sized configure script, but it does not need such a huge
> configure script because it only uses portable ANSI interfaces, similar
> to the way gzip only requires ANSI C.  This sort of decision-making
> results in people feeling that GNU software is excessively complex
> bloatware.  Personal politics and status has become more important than
> proper technical analysis.

Err...I don't think I want to get into a religious war. (I will say
this, tho: requiring a 1MB C++ runtime library like libstdc++.so at
*runtime* is not _my_ usual approach when trying to create "non-bloated"
software, and hardly makes up for the "savings" of not having a 1MB
configure script at *build* time.  Sure, on "real" unix you'll already
have that runtime lib installed, but lzma/xz was pitched on unix as
usable on embedded systems and in-kernel too...the same can't be said
for lzip)

The fact is, whether we @ libtool like it or not, .lzma compression had
been adopted by most other GNU projects as "the next great compression
scheme" (whether it really WAS or not, is debatable as all such
assertions are).  When the two primary forces behind lzma-on-unix (Igor
Pavlov and Lasse Collin) got together to formulate the xz extension, the
early .lzma adopters -- e.g. many GNU projects -- followed along.

As one of those GNU projects, automake added support for dist-lzma --
and later dist-xz, not dist-lzip.

That's where we are.

If you want to start an xz-vs-lzip fight, propose the appropriate
support for dist-lzip on automake-patches and fight it there. :-)

--
Chuck



reply via email to

[Prev in Thread] Current Thread [Next in Thread]