CVSup でソースを新しくする

/usr/src 以下を最新のものにするために、CVSup を使います。 CVS とは Current Version System の略です。 デフォルトではインストールされていませんので、 インストールから始めましょう。

なお、詳細は cvsup のオンラインマニュアルや、 ハンドブックの A.6. CVSup を使う をご覧下さい。


CVSup のインストール

CVSup のインストールには、port を使うのが便利です。 /usr/ports/net/cvsup にありますので、cd して make install します。
# cd /usr/ports/net/cvsup
# make install
GUI がいらないならば、/usr/ports/net/cvsup-without-gui を使います。

このインストールには長い時間がかかりますが、 CVSup に必要な他のアプリケーションがインストールされるので便利です。

最新の CVSup のインストール

CVSup のバージョンが SNAP_16_1e より新しくないと、 1000000000 秒バグのために正常に動きません。 こんなときは、最新の CVSup をインストールしましょう。 CVSup のバージョンは -v オプションで見られます。
% cvsup -v

まず、 http://people.freebsd.org/~jdp/s1g/ に行って SNAP_16_1e のソースをとってきます。 とってきたソース(tar.gz形式)を適当なところに展開し、 cvsup-snap-16.1e に cd して make install すればOKです。
% tar zxvf cvsup-snap-16.1e.tar.gz
% cd cvsup-snap-16.1e
% su
Password:
# make install

supfile

CVSup の設定は、supfile というファイルで行います。 以下に一例を示します。

*default tag=RELENG_4_4_0_RELEASE
*default host=cvsup4.jp.FreeBSD.org
*default prefix=/usr
*default base=/usr/local/etc/cvsup
*default release cvs delete use-rel-suffix compress

src-all
ports-all

/usr/share/examples/cvsup/ に supfile のサンプルがありますから、 他の指定方法の参考にして下さい。

ソースの取得

いよいよ、CVSup でソースを取得します。
# cvsup supfile

ソースファイルを一つ一つチェックして、 足したり消したりしながら拾って来ますので かなりの時間がかかります。 いきなりソースツリーを変更するのが恐い場合は、 /usr/src のバックアップをとっておくなり、 supfile の prefix を違う場所に拾って来て感じを掴むなり してください。

トラブルシューティング

3.4-RELEASE から 4.4-RELEASE へのアップデートをするときに、 エラーが出て cvsup に失敗しました。3.4-RELEASE では /usr/src/usr.sbin/lpr/filters.ru/koi2alt というファイルが存在します。 一方、4.4-RELEASE では、 /usr/src/usr.sbin/lpr/filters.ru/koi2alt/ というディレクトリが存在します。 これが都合悪いらしく、ここで cvsup がエラーを出してストップします。 対処策は次の通りです。

# rm /usr/src/usr.sbin/lpr/filters.ru/koi2alt
# mkdir -p /usr/src/usr.sbin/lpr/filters.ru/koi2alt
# cvsup supfile
なお、supfile の src-all を src-usrsbin に変更しておくと、 usr.sbin に関係したところだけ変更されるので便利です。

ディレクトリの名前 filters.ru からして、 ロシア語関係のものらしいので、この結果 何か不都合があってもまあ気にしなくてもいいかな、と。


FreeBSD の部屋


Dec. 3, 2001