FS#23968 - add support for compression/decompression via lrzip to makepkg/pacman
Attached to Project:
Pacman
Opened by John (graysky) - Thursday, 28 April 2011, 07:07 GMT
Last edited by Allan McRae (Allan) - Wednesday, 13 February 2013, 04:02 GMT
Opened by John (graysky) - Thursday, 28 April 2011, 07:07 GMT
Last edited by Allan McRae (Allan) - Wednesday, 13 February 2013, 04:02 GMT
|
Details
Summary and Info: See the graphs CK put up on his blog:
http://ck-hack.blogspot.com/2011/04/lrzip-0603.html For compressing the kernel26 source tree (v2.6.38) on a quad core Intel, lrzip did it approx 3 times faster than tar/gzip and was more or less the same filesize (2 % difference). Why is this value-added/why should you spend your time doing it? With more and more desktop/laptops running multicore processors, the speed benefits of a compression/decompression program that can use them are obvious. |
This task depends upon
Closed by Allan McRae (Allan)
Wednesday, 13 February 2013, 04:02 GMT
Reason for closing: Implemented
Additional comments about closing: git commit 572b1a5d
Wednesday, 13 February 2013, 04:02 GMT
Reason for closing: Implemented
Additional comments about closing: git commit 572b1a5d
edit: There is no .so to link against, pacman would need a dirty dirty system() call to unextract.
"The major feature addition in this latest version is largely thanks to the work of Michael Blumenkrantz in the form of a liblrzip library! This means you can now link in lrzip compression and decompression into any other application. There is a range of APIs available to use this capability from the simplest gzip equivalent lrzip_compress and lrzip_decompress functions to ones that expose all the low level features knobs and dials in lrzip. There are also a couple of demo examples of using these functions included in the source code, but in their simplest form they should be very easy to use. I look forward to seeing package managers, archivers and maybe even git and so on having lrzip support in the future ;) "
https://aur.archlinux.org/packages.php?ID=7418
http://code.google.com/p/libarchive/issues/list is where you will need to go if you want us to think about supporting this.
http://repo-ck.com/bench/lrzip.pdf
https://github.com/libarchive/libarchive/pull/7
I think that finishes it up? Not sure.
To implement this we need the following patches for makepkg:
1) create_package() -> add lrzip to compression schemes
2) extract_sources() -> do we want to add a lrzip source type (non-tar)
3) create_srcpackage() -> add lrzip - does bsdtar have a flag to compress with lrzip?
pacman will handle lrzip packages automatically when linked against libarchive-4.1