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して作業するのが良いでしょう。
必要な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の作成は 簡単で、/usr/pkgsrc/*/* で、"make package"としてしばらく待つ だけです。makeが終わると、/usr/pkgsrc/packages/Allにpackage が出来上がっ ています。
実際の例として、apache-2.2を作成してみます。
# 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を行いたい場合、/etc/mk.confに設定を書き ます。書き方は、/usr/pkgsrc/mk/defaults/mk.confや The pkgsrc guideの 5章 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に書きます。
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