cvs pserver

ずっと前に設定してたんだけど、いかん、忘れちゃうなあ。

pserverでのanonymousアクセスを許可するには、リポジトリとなるディレク トリの CVSROOT/passwd ファイルに

anonymous:

などというエントリを書く。これを忘れてた−。あと、リポジトリの ルートとなるディレクトリを限定するために、cvs pserver の起動時オプション として、

cvs -R --allow-root=/foo --allow-root=/bar --allow-root=/baz pserver

などと書くが、公開したいリポジトリが殖えると、どんどんオプションが延 びていって気分悪い、というのと、どのリポジトリを公開しているかが ps のテーブルに出てしまってこれまた気分悪い。こんなときは cvs pserver を 起動するプロセスの $HOME/.cvsrc に書いておくとよい。chrootして、rootで動 かさず、allow-root を指定するような書き方 for daemontools、 /chrootdir/cvspsv が daemontools 用の管理ディレクトリだとする。

[/chrootdir/cvspsv/.cvsrc]
cvs -R --allow-root=/foo --allow-root=/bar --allow-root=/baz

で、runスクリプトがこんな感じ。

[/chrootdir/cvspsv/run]
#!/bin/sh
exec env - \
PATH=/bin:/usr/bin:/usr/sbin:/usr/local/bin \
HOME=/cvspsv \
chroot /chrootdir \
setuidgid anonymous \
softlimit -d5000000 \
tcpserver -vHR -c4 -x/cvspsv/cvs.cdb 0 2401 \
cvs pserver 2>&1

したら、ln -s /chrootdir/cvspsv /service しておしまい。

はい、このページの説明、daemontoolsを使っていて理解していて、なおかつ chrootの設定は分かってないと分かりまへんな。


Generated with mkdiary.rb
yuuji@example.org
Fingerprint16 = FF F9 FF CC E0 FE 5C F7 19 97 28 24 EC 5D 39 BA
HIROSE Yuuji - ASTROLOGY / BIKE / EPO / GUEST BOOK / YaTeX [Tweet]