argius note

プログラミング関連

CVSサーバのセットアップ

CVSはclient/serverの両方の機能を使えるものが提供されている。cygwinUNIX系に共通する部分についてメモしておく。

ソースからビルドする場合

残念ながら成功していないので、確かなことは言えない。再試のことも考えて記しておく。

GCC GMAKE ZLIB が前提 (必ずしもこれらで無くて良いらしい)
以下コマンドを実行
./configure
make
make install

自分のところでは、ビルドが上手く行かないので、バイナリを使った。

ローカルで動作確認

スタンドアローンでの動作確認をする。環境変数CVSROOTがローカルパスの場合、リポジトリがローカルにあるものとして動作する。

export CVSROOT=/opt/cvs/test
cvs init
または
cvs -d /opt/cvs/test init

こうすると、/opt/cvs/test/CVSROOTというリポジトリ管理ディレクトリができる。
次に、モジュールをインポートするのは面倒なので、CVSROOTをチェックアウトしてみる。/tmpにでも移動して、以下のコマンドを実行。

(すでに export CVSROOT=/opt/cvs/test が実行されている状態)
cvs checkout CVSROOT

これでローカルでの動作は確認できた。

ネットワークデーモンに組み込む

inetdにpserverとしてcvsを組み込む。/etc/services*1と/etc/inetd.confに設定を追加する。

/etc/services
cvspserver       2401/tcp       # CVS pserver

/etc/inetd.conf
cvspserver stream tcp nowait root /bin/cvs --allow-root=/opt/cvs/test pserver2005.11.09修正
cvspserver stream tcp nowait root /bin/cvs cvs --allow-root=/opt/cvs/test pserver

これで、inetdにHUPシグナルを通知もしくは再起動すればCVSサーバのできあがり。
詳しくは、http://www.wakhok.ac.jp/~kanayama/summer/02/site/node44.htmlを参照。

*1:cygwinの場合は%SYSTEMROOT%/system32/drivers/etc/services