Linux From Scratch + pkgsrc 移行メモ4

pkgsrc

Linux From Scratch だけでは、Xもインストールされておらず、デスクトップとして常用はつらいモノがあります。
LFSと同様に、LFS構築後に様々なパッケージをインストールする Beyond Linux From Scratch(BLFS) が公開されているのですが、これ以上パッケージが増えても自分自身で管理できそうにないので、NetBSD のパッケージ管理システム pkgsrc を導入することにしました。
pkgsrc は、NetBSD で開発されたものですが、様々なUNIX系のOSでコンパイルできるように設計されており、Linux にも対応しています。

ダウンロード

pkgsrc の導入には、以下で公開されている pkgsrc.tar.bz2 をダウンロードします。
NetBSD: Mirror Sites

pkgsrc は四半期に一度安定版として出ています。
2007年度の安定版では、コンパイルができないパッケージがよくあったので、安定版ではない、 pkgsrc-current を使用するようになりました。

展開

pkgsrc.tar.bz2 をダウンロードしたら、ファイルを展開します。
僕の場合、/usr/src 配下に展開し、ファイル・ディレクトリの権限も root に直しました。

bootstrap

pkgsrc を NetBSD 以外で使用するためには、設定を行わなければなりません。
pkgsrc/bootstrap に移動し、必要なコマンドをインストールし、pkgsrcのインストール先を決定しなければなりません。
僕の場合、インストール先を /opt/pkgsrc としました。*1

cd /usr/src/pkgsrc/bootstrap/
./bootstrap --prefix=/opt/pkgsrc
./cleanup

/opt/pkgsrc/etc/mk.conf

bootstrap 完了後、パッケージをインストールする前に、パッケージのコンパイルの設定ファイル mk.conf の設定を行います。
以下に僕の mk.conf を掲載します。
いろいろコンパイルした結果、今の形になっています。*2

# Example /opt/pkgsrc/etc/mk.conf file produced by bootstrap-pkgsrc

.ifdef BSD_PKG_MK # begin pkgsrc settings


PKG_DBDIR= /opt/pkgsrc/var/db/pkg
LOCALBASE= /opt/pkgsrc
VARBASE= /opt/pkgsrc/var
PKG_TOOLS_BIN= /opt/pkgsrc/sbin
PKGMANDIR= man

TOOLS_PLATFORM.pax?= /opt/pkgsrc/bin/${NBPAX_PROGRAM_PREFIX}pax
TOOLS_PLATFORM.tar?= /opt/pkgsrc/bin/${NBPAX_PROGRAM_PREFIX}tar

TOOLS_PLATFORM.find= /bin/find
USE_NATIVE_GCC=YES
CC=/usr/bin/gcc
CXX=/usr/bin/c++
X11_TYPE=modular
MACHINE_GNU_PLATFORM=i686-pc-linux-gnu
CONFIGURE_ARG+= --build=i686-pc-linux-gnu
PKGSRCDIR=/usr/src/pkgsrc
PKG_OPTIONS.uim=-canna
PKG_OPTIONS.sudo=pam
PKG_OPTIONS.SDL=-aalib -arts -nas
PKG_OPTIONS.zsh=zsh-multibyte

ACCEPTABLE_LICENSES+=lame-license sun-jre6-license unrar-license

.sinclude "/opt/pkgsrc/share/mk/cpuflags.mk"
.sinclude "/opt/pkgsrc/share/mk/optimize_gcc.mk"

.endif # end pkgsrc settings

以上。

*1:今考えると、/opt/pkg にインストールすれば良かったと思っています。

*2:たぶん今後も変わっていくと思います。