外向けにリポジトリを公開してからどうにも壊れやすい。
何が原因かはなんとなく理解できてはいるんだけど、まぁ、色々と頭を抱えつつもやったことを、つらつらと書き連ねて行きます。
まぁ、安直にバージョンをあげてみる。
apt-getして、SeedPlusからひっぱってくるも、swig-runtimeが必要って言われて、いれてみると、swig-runtimeとswig-develの間でライブラリ齟齬が発生していてinstallできない。
んじゃあ、develを作り直すかと思ってsrc.rpmを捜してみるけど見あたらず。
公式ページの一覧をみるとrpmはあるけど、src.rpmはないらしい。
rpm -eでsubversionとswigを、ざっくり消し去る。
もうね、コンパイルすりゃいいんでしょって勢いでsubversionの公式ページからtar玉をダウンロードして、展開してコンパイル。
難しいことは何も考えずにconfigureして、makeして、install。
あーうごいたー。
inetd.confとかstc/servicesに登録して、inetd経由で動くように設定。
telnet host 3690でやったら動いたので、動作自体は問題なさそう。
じゃあ、実際のwindowsから動くかと試してみたところ、svnスキーマでは動いた。
svn+sshが動かない。
これでは何も意味がないです。うんうんと唸りながら、前にかったlinux worldを捜してみても見つからず。
奥様にこんなイヌころが表紙の本は知らないですかと、聞いてみたところ、でてきましたよ。
これこれとばかりに色々と読み返してみる。
SSH経由だからトンネルモードで起動するんだよなー。
inetd.confにそういう設定が必要なのかと思って、よーくよーく読んでみると、SSH経由はログインして、そのユーザーローカルなsvnserveを立ち上げるらしくて、sshdさえ動いていれば、勝手に色々とやっちゃうらしい。
…なんも設定してないけど動いていた謎がとけました(ぉぃ
psしてもinetd.confにもsubversionの記述がなくて、どうやってうごいてるんだよ、君はと思っていたのだけど、そういうことだったのね。
記事を読み返していると、運用についての注意書きが書いてあったので色々と読んでみる。
複数ユーザーを同じグループには入れているけど、作られるファイルのパーミッションや所有者の問題について、うちが知りたかったことが書いてあるじゃないですか。
/usr/bin/local/以下のsubversionを消して、apt-getしなおしました。
何もしないのに、apt-getしたやつはsvn+sshで繋がります。
なんじゃらほい(・ω・)
フルパスでなんか書いてあるかと思ったけど、なんも書いてないのでよく分からず。
ひょっとしたらconfigureの時にSSHを有効にするとかあるのかと思ったけど、もう調べるのもめんどくさい(ぉ
結局、やったことは/dbフォルダにchmod s+gをやっただけです。
これで問題がでたら、umask 002の設定をするラッパスクリプト書きます。
はふん。
まぁ、リポジトリのパーミッションが0777じゃなくなっただけましか。