2008-03-05

Nevada b83aにpkgsrcを導入する

Nevadaでのソフトウェアの管理の手間を省くために、NetBSDで主に利用されているパッケージシステムのpkgsrcを、Nevada b83a(以下b83a)に導入する。流れとしては次のようになる。

  1. 一番新しいpkgsrcのアーカイブをダウンロードする
  2. pkgsrcのアーカイブを展開する
  3. pkgsrcを最新の状態に更新する
  4. bootstrapスクリプトを実行する
  5. mk.confでpkgsrcの設定をする

以下詳細。まず、一番新しいpkgsrcのアーカイブを、NetBSDのFTPサーバからダウンロードする。gzipとbzip2の二種類あるが、b83aにはGNU tarもbzip2も標準で付いてくるので、どちらを選んでも構わない。

# cd /tmp
# curl ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc.tar.bz2 > pkgsrc.tar.bz2
# md5sum pkgsrc.tar.bz2
# curl ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc.tar.bz2.MD5

チェックサムの一致を確認したら、アーカイブを展開する。NetBSDでは、pkgsrcを/usr/pkgsrcに置くが、Solarisではユーザアプリケーションを/optにインストールする慣習があるようなので、/opt/pkgsrc/pkgsrcに展開する。/opt/pkgsrcにはpkgsrcで管理するソフトウェアをインストールし、/opt/pkgsrc/pkgsrcにはpkgsrc自体を置く。

# mkdir /opt/pkgsrc; cd /opt/pkgsrc
# bzcat /tmp/pkgsrc.tar.bz2 | tar xof -

次にpkgsrcの更新。ダウンロードしてきたアーカイブも、最新と言ってほぼ差し支えないが、pkgsrcは常に更新され続けているため、アーカイブと最新のバージョンの間には差がある場合が多い。できるだけ新しい方が都合が良いので、CVSでpkgsrcを更新する。b83aにCVSは収録されていないので、Solaris Operating System - Freewareからパッケージ化されたCVSをダウンロードし、インストールする。

# bzip2 -d SFWcvs.pkg.bz2
# pkgadd -d SFWcvs.pkg

CVSのインストールが済んだら、CVSでpkgsrcを更新する。

# CVSROOT=anoncvs@anoncvs.NetBSD.org:/cvsroot; export CVSROOT
# CVS_RSH=ssh; export CVS_RSH
# cd /etc/pkgsrc/pkgsrc; cvs update -dP

bootstrapスクリプトを実行し、pkgsrcに必要なツールをコンパイルする。gccは/usr/sfw/binにあるので、パスを通しておく。

# PATH=$PATH:/usr/sfw/bin
# cd bootstrap
# ./bootstrap --prefix=/opt/pkgsrc --sysconfdir=/opt/pkgsrc/etc --pkgdbdir=/var/opt/pkgsrc/db/pkg --varbase=/var/opt/pkgsrc

あとは、libtoolで/bin/kshがクラッシュする問題を避けるために、mk.confを編集して終わり。

CONFIG_SHELL=   /usr/bin/bash
WRAPPER_SHELL=  /usr/bin/bash

0 件のコメント: