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