[Rpm-maint] [rpm-software-management/rpm] Support pbzip command for multicore environment (#117)

Panu Matilainen notifications at github.com
Mon Jan 9 12:17:50 UTC 2017

Upstream pbzip2 states:
> PBZIP2 is a parallel implementation of the bzip2 block-sorting file compressor that uses pthreads and > achieves near-linear speedup on SMP machines. The output of this version is fully compatible with
> bzip2 v1.0.2 or newer (ie: anything compressed with pbzip2 can be decompressed with bzip2).

In other words, it's not a different compression format, it's merely an alternative implementation of bzip2 compression. Which means there are a number of problems with this patch:
- COMPRESSED_PBZIP2 doesn't make sense, anything that bzip2 can handle pbzip2 can handle and vice versa
- rpmlib(PayloadIsPBzip2) doesn't make sense either, for the same reason

I think the way go handle this is a configure switch to choose between traditional bzip2 and pbzip2... but. The rpmio code is ifdef'ed over HAVE_PBZLIB_H but there's no configure check for it, so it never gets built at all. Ignoring that, the code is just including bzlib.h which is the plain old bz2 library's header which doesn't have any of the symbols referred here like PBZFILE and PBZ2_pbzdopen() etc. Looking at the upstream pbzip2 code & makefile, it doesn't HAVE a library to link against.

What the heck?

FWIW, I'm looking at the pbzip2 at http://compression.ca/pbzip2/ and https://launchpad.net/pbzip2/. If there's another implementation in this that does provide a library around it, now would be a good time to point that out.

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20170109/8493769b/attachment.html>

More information about the Rpm-maint mailing list