On Sat, Nov 8, 2025 at 2:23 PM Collin Funk <[email protected]> wrote:
> Hi Bruno, > > Bruno Haible via "GNU gzip discussion and bug reports." > <[email protected]> writes: > > > Hi, > > > > For various compression formats there is a C library for compressing > > and decompressing: > > - libbz2 > > - liblz4 > > - liblzma > > - libzstd > > > > But there is no 'libgz'. It appears that in order to decompress a stream > > of gzipped data: > > 1) one needs the 'libz' library from zlib.net, > > 2) there are two APIs [1]: > > - gzopen() and gzread() for input from a file descriptor, > > - inflateInit2 (..., 16 + MAX_WBITS) and inflate() for input from a > > region of memory. > > > > It's unclear to me whether it can alternatively be achieved with > > libzip from libzip.org. > > > > How about documenting this in the GNU gzip manual? I find it strange > > to have to either read the source code of libarchive or some other > > package, or ask some LLM about it. gzipped data streams frequently > > occur as part of HTTP responses and surely also in many other areas. > > > > The GNU gzip manual references the two RFCs, that define the data > > format. But these references don't have the answer either. > > Seems reasonable to mention it in the documentation. > > zlib is the right one. Some distributions like Fedora default to > zlib-ng, a fork with optimizations at the expense of portability, when > installing it [1]. Not sure if that matters to you. > > libarchive is nice and has man pages [2], but based on your message is > probably excessive for your purpose. It would make more sense if you > were writing something like a package manager that supports different > archive formats (e.g. tar, zip, cpio) with multiple compression > algorithms. > > I don't know about libzip. Thanks for the suggestions. I think it's enough to SEE ALSO-refer to zlib (also mentioned pigz) in the manual and pushed this.
gzip-mention-zlib-pigz.diff
Description: Binary data
