Jonathan Riddell wrote:
> openSUSE includes a patch to bzip2 to change a maxlength value back to
> the pre bzip2 1.0.3 setting.  This means upstream tars such as those
> made for KDE can not be used with pristine-tar.
> 
> Offending patch
> https://build.opensuse.org/package/view_file?file=bzip2-maxlen20.patch&package=bzip2&project=openSUSE%3AFactory&srcmd5=3ee4cf959e98e3ca50a881d1cdc13570

What a PITA. Why did they do this?

I've done some preliminary work toward supporting this using the
existing old-bzip2 code in zgz, plus the block sort code from the
current bzip2. Now zgz --old-bzip2 --quirk suse comes fairly close to
reproducing the file, with a binary delta of just a few KB. The
remaining difference, which I have not managed to eliminate, is in the
header. Looks like the CRC and maybe some further stuff differs.

I may just use xdelta to handle this case. Have not written the code for
that, which would be a little tricky since pristine-bz2 doesn't use
xdelta so far.

Of course I'd rather find a way to reproduce the bzip2 output directly,
but want to avoid putting all of bzip2 1.0.5 into zgz, which would be
especially complicated since it already had old-bzip2 in it. I have 
a cut-down version of bzip2 1.0.5 in the separate-suse git branch that
could be used toward this end, maybe by being built into a helper
program for zgz.

Either way adds thousands of lines of code here, which is, as mentioned,
a PITA. It would be much better if upstream bzip2 could just get a
switch to enable the 20 byte huffman table.

-- 
see shy jo

Attachment: signature.asc
Description: Digital signature

Reply via email to