サーバを立ち上げて、checkoutするぞ!とやってみたら、
cvs server: cannot open /root/.cvsignore: Permission denied
cvs [server aborted]: can't chdir(/root): Permission denied
こんなエラーが出るときがある。
これを回避するには、cvsを立ち上げているソフト(inetd とか daemontools)の設定の cvs のデーモンの起動オプションで -f を付ける。
cvs -f --allow-root=/usr/cvsroot pserver
こんな感じ。
ちなみに daemontools で、cvsのpserverを立ち上げるには、/service/cvsd って掘って、
run と tcprules のファイル tcp.cvsd.cdb を作ればよい。
% cat /service/cvsd/run
#!/bin/sh
PATH=/usr/local/bin:/usr/bin:/bin
export PATH
sleep 10
_rule=/service/cvsd/tcp.cvsd.cdb
exec env - PATH=$PATH ?
tcpserver -HRDl0 -v -x $_rule 0 2401 ?
cvs --allow-root=/usr/local/share/CVS pserver
% cat tcp.cvsd
:allow,RELAYCLIENT=""
アクセス制御したけりゃ、tcp.cvsd に適当に書いて、cdb を再度生成。
あとは、CVSのリポジトリを作って、そこを初期化したあとデーモンを立ち上げればオッケイ。
# mkdir /usr/local/share/CVS
# cvs init -d /usr/local/share/CVS