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
signature.asc
Description: Digital signature

