OpenBSDにgtarをインストールする

OpenBSDに付いてるtarがgtarでなかったので(?)たまに解凍できないファイルがあった。
gtarを自分でコンパイルしてインストールしてみる。
なお、現時点のgtar(最新バージョンで1.61)にはセキュリティホールがあるのでパッチを当てる。


OpenBSDのバージョンは3.9。


以下作業工程

準備

gtarのインストールに必要なものを入れる。

★gettext

下記通りにコマンドを入れる。

$ ftp ftp://ftp.riken.go.jp/GNU/gnu/gettext/gettext-0.16.tar.gz
$ tar xzvf gettext-0.16.tar.gz
$ cd gettext-0.16
$ ./configure && make
$ su
# make install
★libiconv

以前に入れた通り(http://d.hatena.ne.jp/SPR/20061120)にする。
これで日本語パッチが当たったlibiconvが入る。

$ ftp http://www2d.biglobe.ne.jp/~msyk/software/libiconv/libiconv-1.10-ja-1.patch.gz
$ ftp ftp://ftp.riken.go.jp/GNU/pub/gnu/libiconv/libiconv-1.10.tar.gz
$ tar -xzvf libiconv-1.10.tar.gz
$ cd libiconv-1.10
$ gzip -dc ../libiconv-1.10-ja-1.patch.gz | patch -p1
$ ./configure --enable-static \
--enable-extra-encodings
$ make
$ su
# make instal
★texinfo

makeinfoのバージョンが古いとgtarのコンパイル中にエラーが出るので新しいのを入れる。

$ ftp ftp://ftp.riken.go.jp/GNU/gnu/texinfo/texinfo-4.8.tar.gz
$ tar xzvf texinfo-4.8.tar.gz
$ cd texinfo-4.8
$ ./configure --prefix=/usr/local/texinfo-4.8 && make
$ su
# make install
# cd /usr/bin
# rm makeinfo
# ln -s /usr/local/texinfo-4.8/bin/makeinfo ./

gtarのインストール

gtarをダウンロードして展開し、FreeBSDPortsで使ってるセキュリティパッチを当てる。
内容が全く同じOpenBSDPorts用を使っても構わない。

$ ftp ftp://ftp.riken.go.jp/GNU/gnu/tar/tar-1.16.tar.gz
$ tar xzvf tar-1.16.tar.gz
$ cd tar-1.16/src
$ ftp -o extract.c.orig "http://www.freebsd.org/cgi/cvsweb.cgi/~checkout~/ports/archivers/gtar/files/patch-src_extract.c?rev=1.1&content-type=text/plain"
$ patch -p1 < extract.c.orig


コンパイルしてインストールする。
「--program-prefix」オプションで名前をgtarにする。

$ cd ..
$ ./configure --program-prefix=g && make
$ su
# make install