RPM Community Forums

Mailing List Message of <rpm-devel>

Re: [CVS] RPM: rpm/ CHANGES INSTALL rpm/rpmio/ LzmaDecode.c LzmaDecode.h L...

From: Ralf S. Engelschall <rse+rpm-devel@rpm5.org>
Date: Wed 02 Apr 2008 - 10:09:10 CEST
Message-ID: <20080402080910.GA61203@engelschall.com>
On Wed, Apr 02, 2008, Per Øyvind Karlsen wrote:

> [...]
>     update to latest lzma sdk (4.40)

Err... as I mentioned in INSTALL:

[4] lzma:      RPM has a copy of the LZMA SDK 4.32 (and which is identical to the version in
               LZMA SDK 4.57 except for portability adjustments) decompression routines bundled,
               but for compression the external command line interface lzma(1) is required.
               You need either LZMA Utils (recommended) or LZMA SDK and the lzmash wrapper.

And your copy over of the 4.40 code destroyed some cleanups we had
already applied:

> [...]
>   -      propsRes->DictionarySize += (UInt32)(propsData[1 + i]) << (i * 8U);
>   +      propsRes->DictionarySize += (UInt32)(propsData[1 + i]) << (i * 8);
>        if (propsRes->DictionarySize == 0)
>          propsRes->DictionarySize = 1;
>      }
>   @@ -170,7 +168,7 @@
>    {
>      CProb *p = vs->Probs;
>      SizeT nowPos = 0;
>   -  Byte previousByte = '\0';
>   +  Byte previousByte = 0;
>      UInt32 posStateMask = (1 << (vs->Properties.pb)) - 1;
>      UInt32 literalPosMask = (1 << (vs->Properties.lp)) - 1;
>      int lc = vs->Properties.lc;
>   @@ -224,7 +222,7 @@
>          globalPos = 0;
>          distanceLimit = 0;
>          dictionaryPos = 0;
>   -      dictionary[dictionarySize - 1] = (Byte)0;
>   +      dictionary[dictionarySize - 1] = 0;
> [...]

etc. Additionally, you broke the snapshots because LzmaTypes.h was
introduced (previously it was embedded in the code). Hmmm... IMHO this
was a NO-OP semantically and just broke many things? Can we backout and
keep the code we had before? As I mentioned in INSTALL, just a few days
ago I reviewed the code against 4.57 and it is identical except for our
already applied fixes. But with the now overwritten code we lost those
cleanups.
                                       Ralf S. Engelschall
                                       rse@engelschall.com
                                       www.engelschall.com
Received on Wed Apr 2 10:11:55 2008
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.