{install} Subversion 1.5.0 with neon on NetBSD 3.1

うちのリポジトリーを svn:// ではなく http:// で公開することにした。svnserve(svn://)はログを取れないので。svnserve を改造するか tcpdump でがんばれば取れるかと思っていたけど,そんなところでがんばるよりはすでにあるものを素直に使ったほうがいい。

ところがうちのインストール済み Subversion クライアントは http:// にアクセスできないので,できるように再インストール。

Subversion が http:// のリポジトリーにアクセスするには neon か serf が必要。serf は experimental なので neon にする。neon を Subversion 用にビルドするには XML パーザーとして Expat ないし libxml が必要(configure の中身を見ると WebDAV をサポートするために XML パーザーが必要で,Subversion の http:// は WebDAV をベースにしているので)。

APR-util を入れたときにいっしょに Expat が入っていたのでこれを使うことにする。libxml のほうが広く使われていそうなんだけど(Expat は名前だけは知っていたけど XML パーザーだとは今回はじめて知った)。ちなみにライセンスはどちらも MIT ライセンス。

XML Benchmark
http://xmlbench.sourceforge.net/

neon 0.28.2

APR-util 同梱の Expat はヘッダーファイルが apr-1 というサブディレクトリーの下に押しこまれている(かつ当然 neon の configure は Expat を探すのに apu-1-config を使ってくれない)ので,configure 時に CPPFLAGS でヘッダーファイルの位置を指定せねばならない。
$ ./configure --prefix=/opt/pkg/neon-0.28.2 \
  --enable-shared \
  --disable-static \
  --disable-nls \
  --disable-debug \
  --with-ssl \
  CFLAGS='-pipe -Os' \
  CPPFLAGS=-I/opt/include/apr-1 \
  LDFLAGS=-L/opt/lib
$ make
$ make check
# make install

Subversion 1.5.0

neon-config にパスがとおっていれば以前とおなじ。しまった,--with-ssl は要らないようだから削ろうと思っていたのにうっかり削り忘れたままビルドしてしまった。まあいいや。

今回は make check に 31 時間 22 分かかった。

インストール後のとりあえずのたしかめ:
$ svn --version
(snip)
The following repository access (RA) modules are available:

* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
  - handles 'http' scheme
  - handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme

::2008-07-25 {dev}

update : 2008/07/25 (Fri) 03:47:36