pkgsrcを使う

NetBSDでは、pkgsrcという仕組みを使って様々なsoftwareを用意できます。四 半期ごとに安定版が出ていますので、それを取ってきましょう。

取得した"pkgsrc-2007Q3.tar.bz2"を以下のようにして/usr以下に 展開します。

# ftp ftp://ftp7.jp.netbsd.org/pub/pkgsrc/pkgsrc-2007Q3/pkgsrc-2007Q3.tar.bz2
# cd /usr
# tar xfvjp somewhere/pkgsrc-2007Q3.tar.bz2
...

# cd /usr/pkgsrc
# cvs update -dP | tee update.log

なお、packageを作る場合は、数GBのdisk容量が必要となります。外付けHDDを USB経由で繋ぎ、chrootして作業するのが良いでしょう。

pkg_installの用意

必要なpackageを作る前にpkg_installを作成しましょう。pkg_installには、 packageを管理するための"pkg_add"や"pkg_info"、それ からsecurity updateが出ているpackageを探す"audit-packages"が 含まれます。

# cd /usr/pkgsrc/pkgtools/pkg_install
# make package install
...

Packageの作成

ここまで準備できたら、実際にpackageを作ってみましょう。Packageの作成は 簡単で、/usr/pkgsrc/*/* で、"make package"としてしばらく待つ だけです。makeが終わると、/usr/pkgsrc/packages/Allにpackage が出来上がっ ています。

実際の例として、apache-2.2を作成してみます。

apacheの作成

# cd /usr/pkgsrc/www/apache22
# make package
...

make packageすると、apache-2.2だけでなく、apache-2.2に必要なaprやperlと いったpackageも同時に作られます。makeが完了すると、 /usr/pkgsrc/packages/Allにapache22-2.2.6nb1.tgzなどができています。 installはpkg_addで行います。

# pkg_add /usr/pkgsrc/packages/All/apache22-2.2.6nb1.tgz
...

Build optionの変更

標準設定から設定を変更してbuildを行いたい場合、/etc/mk.confに設定を書き ます。書き方は、/usr/pkgsrc/mk/defaults/mk.confや The pkgsrc guide5章 Configuring pkgsrc あたりを参考にします。

Package毎にどんな設定を変更できるか調べるためには、"make show-options"を使います。

例として、subversionで設定を変更してみます。

# cd /usr/pkgsrc/devel/subversion
# make show-options
Any of the following general options may be selected:
        apache22
        apr1
        serf

These options are enabled by default:

These options are currently enabled:

You can select which build options to use by setting PKG_DEFAULT_OPTIONS
or PKG_OPTIONS.subversion.
#

最終行から、subversionの設定は"PKG_OPTIONS.subversion"を書け ば良いことが分かります。また、設定できる項目は、"apache22"、 "apr1"、"self"であることがわかります。
apache-2.2を使う場合は、"PKG_OPTIONS.subversion = apache22"を mk.confに書きます。

mk.confの例

MANZ                   = yes
USE_INET6              = no
PKG_DEFAULT_OPTIONS   += -inet6
CFLAGS                += -O2 -m4-nofpu
CXXFLAGS              += -O2 -m4-nofpu

PKG_SYSCONFBASE        = /etc
PKG_RCD_SCRIPTS        = yes


APACHE_MPM             = worker
APACHE_MODULES         = access alias auth autoindex cgi dav dav_lock
APACHE_MODULES        += deflate dir env include log_config mime mime_magic
APACHE_MODULES        += negotiation setenvif so ssl status

PKG_OPTIONS.bogofilter = db4
PKG_OPTIONS.subversion = apache22
PKG_OPTIONS.samba      = acl

MECAB_CHARSET          = utf8

ご意見、ご感想は、小本 真広 <m.komoto@nifty.ne.jp>まで。メールする前にtop pageの注意書を読んでください。