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

Re: debdelta service back on track



On Tue, Jul 17, 2007 at 11:23:53AM +0200, A Mennucc wrote:

> The problem was due to a subtle change in zlib1g: in newer versions, the
> compressed output has 0x02 instead of 0x00 at the 10th byte (that is in
> the header). This change occurred somewhere between version 1.2.3-13 and
> 1.2.3.3.dfsg-5 .

Byte 10 is the XFL field which contains compression method specific
flags.  For deflate a value of two indicates that the compressor was
aiming for maximum compression and a value of zero indicates nothing in
particular.  The code was previously not bothering to provide any
information about how hard it was trying to compress things.

> (I am sending a CC to the upstream authors and to the Debian Mantainer,
> in case they are not aware of this change).

Not that it's likely to be important but you've only CCed me, not
upstream.

>  Since dpkg-deb uses zlib1g, this changed the .deb files. So a file
> reconstructed by "debpatch" would be different with the original in 2
> bytes.

Two bytes?

> I have added a workaround for that problem in 'debdelta' version 0.21 ,
> and I have installed it in the server that prepares deltas for
> 'debdelta-upgrade' . Now it should work again as expected. (If it does
> not, mail me, or send a bug in the BTS).

I'm not sure exactly what debdelta is doing here but it sounds like
it ought to have specific code for handing the reconstruction of this
header in order to be robust against reasonable upstream changes.  There
are several fields in there which are informational and could be varied
by the compressor pretty much at will.

-- 
"You grabbed my hand and we fell into it, like a daydream - or a fever."

Attachment: signature.asc
Description: Digital signature


Reply to: