p7zip は、高圧縮率を実現するファイルアーカイバー 7-Zip のコマンドラインポートです。 取り扱うのは 7z, ZIP, GZIP, Brotli, BZIP2, XZ, TAR, APM, ARJ, CAB, CHM, CPIO, CramFS, DEB, DMG, FAT, HFS, ISO, Lizard, LZ5, LZFSE, LZH, LZMA, LZMA2, MBR, MSI, MSLZ, NSIS, NTFS, RAR, RPM, SquashFS, UDF, VHD, WIM, XAR, Z, Zstd の各フォーマットです。
LFS や依存パッケージが本ブックに示す最新安定バージョンでなかった場合には、BLFS 開発版においては、パッケージのビルドや処理実行が適切に行われないことがあります。
ダウンロード (HTTP): https://github.com/p7zip-project/p7zip/archive/v17.04/p7zip-17.04.tar.gz
ダウンロード MD5 sum: 00acfd6be87848231722d2d53f89e4a5
ダウンロードサイズ: 6.5 MB
必要ディスク容量: 55 MB
%Estimatedbuildtime;: 2.3 SBU(テスト込み)
まずインストールにあたって、圧縮されたマニュアルページをインストールしないようにします。
sed '/^gzip/d' -i install.sh
次にセキュリティぜい弱性を修正します。
sed -i '160a if(_buffer == nullptr || _size == _pos) return E_FAIL;' CPP/7zip/Common/StreamObjects.cpp
以下のコマンドを実行して p7zip をビルドします。
make all3
ビルド結果をテストする場合は make test を実行します。
root
ユーザーになって以下を実行します。
make DEST_HOME=/usr \ DEST_MAN=/usr/share/man \ DEST_SHARE_DOC=/usr/share/doc/p7zip-17.04 install
DESTDIR 手法を利用する場合は DEST_DIR を用いてください。