2004/10/07

websvnの導入

ViewCVSの出力がいまいち気に入らなかったのでwebsvnを導入してみることにした.
こいつ自体のインストールは問題ないのだがphpを入れなおす必要がありそこでちょっとはまる.

websvnのインストール

これは非常に簡単.
websvnのサイトからtar.gzをダウンロードしてきて、web公開しているディレクトリに解凍するだけでいい.

websvnの設定

設定ファイルは解凍してできたディレクトリの下のinclude/にconfig.incというファイル名で置く.
distconfig.incというファイルがあるので、そいつをコピーして後は適当に設定を書き換えていく.
もう少ししっかり設定したほうが良いのかも...やけど.

phpではまる

phpのデフォルト構成に含まれない、gzopen()という関数を使っているらしく、そのままでは落ちた.
もしかしたら設定の問題かもしれないけど...
で、phpを入れなおそうとしたのだが.../usr/ports/lang/php5に入ってmake してみると落ちてしまってうまくいかない...
どうやらXMLサポートがうまく入れられていないよう.
結局Makefileを開いて、--with-xmlの行を消したらうまくいった.
さらに--with-zlibも書き足して、make cleanでいったんさらにしてから make; make install.
apachectl restartして確認してみるとエラーが「パーミッションがないよー」というものに変わり、とりあえずgzopenが呼べることは確認. 
が、まだpreg_replase()が無いと怒っている...そいつは標準やぞ.何で入んないんだか.
別にwithoutしているわけではなさそうだが、とりあえずphp5のMakefileに--with-pcre-regexも追加してmake clean; make; make deinstall; make installしてみる.
で、再度apachectl restart.
ようやく動いた...けどログが変..(TT)
後は設定次第か.

apacheの設定修正

今はわざわざindex.phpまで書かないとみれない.DirectoryIndexにindex.phpも追加すべきだわな.
というわけで書き加えてapachectl restart.

どうすればログが合うの???

いろいろ調べてみるとsvnlook自体が文字化けを起こしているらしい...涙涙.
バージョンあがるまで待つしかないのか...?

2004/10/06

pkgsrcによるsubversionのインストール

pkgsrcを導入し終えたので、めあてのsubversion1.1.0のインストールを行ってみる.

bmakeに注意

portsと基本的な使い方は同じだろうとおもい、make -D WITH_MOD_DAV_SVNとしてみたらぜんぜんうまくいかない.
makeじゃなくbmakeを使う必要があるんですな.
で、みてみるとDAVとかpythonとか使うように設定されているようなので、単にbmakeとしてみる.
なんだかpython2.3.4とかapache2とか、実物があるはずなのにtgzを落としてきているのが気になる...
たんにビルドに必要ならわかる話なので、とりあえずこのまま進めてみる.
普通に終了したので、bmake install.
バイナリがどこにできるのかと思えば/usr/pkg/以下にできていた。

バイナリの移動

/usr/pkg/binとかのパスは今のところrootのみで当てているので,移す必要あり.
svn関係の生成ファイルを全部cpしてしまう.無茶だけど.
/usr/pkg/binでcp *svn /usr/local/bin,
/usr/pkg/libでcp libsvn* /usr/local/lib, /usr/pkg/lib/httpdでmv mod*,
/usr/local/libexec/apache2/.
これでapachectl restartしたらちゃんとsubversion1.1.0で動くようになった.

pkg-srcの導入

subversionのページのダウンロードからたどってみると、pkg_srcではsubversionが1.1.0になっている模様.
なので、subversionのためにpkg_srcを導入してみることにした.

入手

pkgsrcのトップページにダウンロード用リンクがある.
これをとってくる.

インストール

/でtar -xzfをすれば/usr/pkgが入る.この下のbinとsbinにパスを通して完了.

pkgsrcの取得

cvsで取得する. まず/usrに行き、
cvs -d :pserver:anoncvs@anoncvs.NetBSD.org:/cvsroot login
してNetBSDのcvsにログインした後、
cvs -d :pserver:anoncvs@anoncvs.NetBSD.org:/cvsroot co pkgsrc
とするとcvsがどんどん取得してくれる.
これで/usr/pkgsrcでcvs updateすればいつでも最新にできるようになる.

2004/10/05

ソースからsubversionを 1.1にアップグレード失敗記

注:インストールは結局失敗してます。 (多分apache2を探し損ねているせい)
いつの間にやら1.1が安定版らしい。
まだ良く読んでいないがDeltaVへの準拠が含まれているっぽいので 更新する.
ただし、portsにはまだきていないのでtar.gzを開いてのインストールになる.
portsができたらやり直してみようかと思っている.はまることもないだろうし.

ファイルの入手

subversionのダウンロードページからソースコードのディレクトリに入り、ダウンロードする.
こいつを/usr/local/srcでtar -xzf subversion-1.1.0.tar.gzして準備完了.

バックアップ

レポジトリを片っ端からsvnadmin dump /repos/path > repos.dmpみたいにバックアップしていく.
/repos/pathとかreposとかはもちろんレポジトリごとに変えていく.

1.0.8 の削除

/usr/ports/devel/subversion-python/にいってmake deinstall. 楽だ.
再起動するならapacheの設定を直さないといけないことに注意. viでhttp.confを開いて、/svnで片っ端から検索して#でコメントアウト、でいいはず.
Locationとかはちゃんと意味が通じるようにしないといけないけど.

インストール

まずは./configureでmakeファイルを作る.
単に./configureとすると、aprにリンクしたバークレイが古いからバークレイサポートは作らないよ、とのたまうので、aprを指定する必要がある模様.
./configure --help | less としてオプションを確認する. (先にしろよ)
--with-aprと--with-apr-utilが必要そう.それぞれのツリーかconfigファイルのパスをおしえてね、と言っているのでどちらも/usr/local/lib/apache2を指定する.
あと、with-swigもいりそうかな...とも思うが、勝手に見つけているようなので省略.
./configure --with-apr=/usr/local/lib/apache2 --with-apr-util=/usr/local/lib/apache2
ひとまず通るのでmakeといってみる
基本的にオプションはportsでのmakeの時と同じでいいはず...なので, -D WITH_MOD_DAV_SVN と -D WITH_PYTHON を入れてみる.
make -D WITH_MOD_DAV_SVN -D WITH_PYTHON 
これも通ったのでmake install.>ってmake checkくらいしろよ...

移行

古いレポジトリが残っていたのでsvn coしてみた. ラッキーにも問題なく取れたので、以降作業は必要なさそう.
別にrm; mkdir; svnadmin load /repos/path < repos.dmpくらいなんでもないけど.量が量だけにね.
ここで、mod_dav_svn.soができていないことに気づく.
2時間の格闘の後断念. unix系のインストールってうまくいけばめんどくさいだけだけどうまくいかないときは難しい.
まあ、portsに乗るまで我慢することにした.