Xlunzip is a test tool for the lzip decompression code of my lzip patch for linux. Xlunzip is similar to lunzip, but it uses the lzip_decompress linux module as a backend. Xlunzip tests the module for stream, buffer-to-buffer and mixed decompression modes, including in-place decompression (using the same buffer for input and output). You can use xlunzip to verify that the module produces correct results when decompressing single member files, multimember files, or the concatenation of two or more compressed files. Xlunzip can be used with unzcrash to test the robustness of the module to the decompression of corrupted data.
Note that the in-place decompression of concatenated files can't be guaranteed to work because an arbitrarily low compression ratio of the last part of the data can be achieved by appending enough empty compressed members to a file, masking a high compression ratio at the beginning of the data.
The xlunzip tarball contains a copy of the lzip_decompress module and can be compiled and tested without downloading or applying the patch to the kernel.
The lzip_decompress module in lib/lzip_decompress.c provides a versatile lzip decompression function able to do buffer to buffer decompression or stream decompression with fill and flush callback functions. The usage of the function is documented in include/linux/lzip.h.
For decompressing the kernel image, initramfs, and initrd, there is a wrapper function in lib/decompress_lunzip.c providing the same common interface as the other decompress_*.c files, which is defined in include/linux/decompress/generic.h.
My lzip patch for linux can be found at http://download.savannah.gnu.org/releases/lzip/kernel/
Learn more about lzip in the Lzip Home Page.
Xlunzip only includes a man page and a README file. For information about the lzip file format see the online manual of lzip below.
The manual is available in the info system of the GNU Operating System. Use info to access the top level info page. Use info lzip to access the lzip section directly.
An online manual for lzip can be found here.
The latest released version of xlunzip can be found at http://download.savannah.gnu.org/releases/lzip/xlunzip/. You may also subscribe to lzip-bug and receive an email every time a new version is released.
Once xlunzip is installed, the files from archive "
can be extracted using the command
xlunzip -cd foo.tar.lz | tar -xf -".
For general discussion of bugs in xlunzip the mailing list firstname.lastname@example.org is the most appropriate forum. Please send messages as plain text. Please do not send messages encoded as HTML nor encoded as base64 MIME nor included as multiple formats. Please include a descriptive subject line. If all of the subject are "bug in xlunzip" it is impossible to differentiate them.
An archive of the bug report mailing list is available at http://lists.gnu.org/mailman/listinfo/lzip-bug.
To contact the author, either to report a bug or to contribute fixes or improvements, send mail to email@example.com. Please send messages as plain text. If posting patches they should be in unified diff format against the latest version. They should include a text description.
See also the lzip project page at Savannah.
Xlunzip is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.
Valid HTML 4.01 Strict
Copyright © 2020 Antonio Diaz Diaz
Lzip logo Copyright © 2013 Sonia Diaz Pacheco
You are free to copy, modify and distribute all or part of this article without limitation.