Subversion 1.4.4 + Trac 0.10.4の環境からSubversion 1.5.2 + Trac 0.11.1へアップデートを行った。
その他の関係する環境は以下の通り。
OS:FreeBSD 7.0
Webサーバ:Apache2.2系列
自分の環境では、アップグレードを行おうとしたところ以下のエラーが出てアップグレードができなかった。
===> Installing for neon28-0.28.3
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade.83960.0 env UPGRADETOOL=portupgrade UPGRADEPORT=subversion-1.4.41 UPGRADEPORTVER=1.4.41 make
** Fix the problem and try again.
** Listing the failed packages (-:ignored / *:skipped / !:failed)
! devel/subversion (subversion-1.4.4_1) (unknown build error)
原因としては、SubversionとTracがneonを使っているが、現状で入っているSubversionとTracに
依存しているのがneon26で、新しいバージョンに依存しているのがneon28であるため、
neon28をインストールしようとして衝突して途中でエラーが出る。
(実際にアップグレードの作業を行う前には、バックアップを取った状態で作業を行ってください)
そのため、まず、SubversionとTracをアンインストールした。
pkgdelete subversion-python-1.4.41
pkgdelete subversion-1.4.41
pkg_delete ja-trac-0.10.4
次に、neonをアンインストールする。
pkgdelete neon26-0.26.41
これでパッケージが削除されているので、次にインストールを行う。
cd /usr/ports/devel/subversion/
make WITHMODDAVSVN=YES WITHAPACHE2APR=YES WITHOUTBDB=YES
make install
cd /usr/ports/japanese/trac/
make
make install
Subversionに関しては、アップグレードに伴って、特に移行作業は必要なく、
本体のみのアップグレードで問題は起きなかった。
(FSFSのバージョンはあがっているので、それのバージョンを変更することは可能なはず。
ただ、以前のバージョンでも互換性が保たれているようなので、変更はしなかった。)
Tracは、アップグレードの作業が別途必要になる。
それぞれのTracのプロジェクトに対して、以下のコマンドを実行する。
trac-admin <プロジェクトのパス> upgrade
trac-admin <プロジェクトのパス> wiki upgrade
これを行わないと、Internal Server Error(500)が発生して、表示ができない。
(apacheのエラーログにも残っていないため、原因を特定するのに時間がかかった)