PSARC/2007/617 p7zip 4.55
Danek Duvall
danek.duvall at sun.com
Fri Nov 2 15:15:48 PDT 2007
I'm sponsoring the following fast-track for myself. I'm setting the
time-out to one week from today: November 9, 2007. Release binding is
Patch due to the desire to include this in the S10 updates.
Thanks,
Danek
===========================================================================
1. Background
This project proposes to integrate p7zip[1,2], a freeware archiving
and compression utility. It is similar in usage to zip, as opposed
to gzip or tar, and compresses as well as archives. The compression
algorithm is LZMA[3], which, compared to bzip2, generally gives
higher compression ratios, and is generally more cpu and memory
friendly on decompression.
These factors are the primary motivators for inclusion in Solaris;
in particular, delivery of S10, Update 5 is at risk due to the size
of the CD1 image, and compressing the packages more than they are
currently is desired. In addition, it should provide some relief
to customers in terms of reduced CPU usage during installation and
upgrade.
This project requests a Patch binding due to its binding to the
updates. It intends to integrate into the SFW consolidation.
2. Architecture
The architecture, as relevant to integration in Solaris is simple.
There are three executables: 7z, 7za, and 7zr. The first is the
most general. It supports multiple archive and compression formats
through shared-object plugins. 7za does not use any plugins, and
hence supports fewer formats. 7zr is even further reduced,
supporting only the 7z archive and compression formats. Despite
the non-obvious utility of 7za and 7zr on modern systems, all three
executables are being delivered in order to meet expectations of
users of p7zip on other platforms, where all three are provided.
For the purposes of this ARC case, however, only the 7z archive
format and LZMA compression algorithms are supported. Bzip2, gzip,
zip, rar, tar, cpio, and its myriad other capabilities will likely
be present, but their presence will not be guaranteed on an ongoing
basis.
As a caution to anyone who uses 7z, it is not useful as a general
purpose archiver on unix systems, as it does not store user and
group permissions. This is thanks to its Windows heritage.
However, there is no issue with its usage for compression of
individual files.
For those interested in the actual archive format (and others
available), compression, commandline options, and other features,
the man pages are available in the materials directory of this
case, and more information yet may be found at [1].
All exported interfaces not mentioned in section 3 below are
considered Volatile.
3. Exported Interfaces
SUNWp7zip Uncommitted Package name
/usr/bin/7z Committed Executable location
/usr/bin/7za Uncommitted Executable location
/usr/bin/7zr Uncommitted Executable location
7z, 7za, 7zr Uncommitted Commandline syntax
/usr/lib/7z Project Private Plugin directory
4. References
[1] http://www.7-zip.org/
[2] http://p7zip.sourceforge.net/
[3] http://en.wikipedia.org/wiki/Lempel-Ziv-Markov_algorithm
More information about the opensolaris-arc
mailing list