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:
https://github.com/rpm-software-management/rpm/pull/117#issuecomment-271271065
_______________________________________________
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint

Reply via email to