CVSサーバ構築メモ

リポジトリは取り出せたので別のサーバにコピーして展開、cvs loginしてみる。

動かない。SElinux絡みのような気がする。「SELinux CVS」でぐぐる

SElinuxを無効にしたら動きました。ありがとうございました!」てページばかり引っかかって萎える。欲しいのはSElinuxを有効にしつつCVSを使う方法だ。

問題は二つ

  • cvs loginすると"No route to host"とエラーが出る CVSサーバで同じことをすると問題なし
  • cvs coするとpermission deniedになる

前者は pserverの指定をextに変更、CVS_RSH=sshにして解決。loginせずにcoするだけでおk?

$ export | grep CVS
declare -x CVSROOT=":ext:nunocky@cvsserver:/var/cvs"
declare -x CVS_RSH="ssh"

$ cvs co MyProject
nunocky@cvsserver's password:
cvs checkout: failed to create lock directory for `/var/cvs/CVSROOT' (/var/cvs/CVSROOT/#cvs.history.lock): Permission denied
cvs checkout: failed to obtain history lock in repository `/var/cvs'
cvs checkout: Updating MyProject
cvs checkout: failed to create lock directory for `/var/cvs/MyProject' (/var/cvs/MyProject/#cvs.lock): Permission denied
cvs checkout: failed to obtain dir lock in repository `/var/cvs/MyProject'
cvs [checkout aborted]: read lock failed - giving up

これはselinuxではなく、単にCVSにコピーしたときのパーミッションの問題か?そういえば過去にものすごい勢いでchmod g+wとか chmod g+sとかやっていた気がする