wiki:TracUpgrade

Version 1 (modified by trac, 16 years ago) (diff)

--

アップグレードの説明

Trac Environment をアップグレードする前に Trac-0.11 が使用可能になっている必要があります。このドキュメントでは TracEnvironment をアップグレードするのに必要な手順を説明します。

特に指示がない限り、マイナーバージョンのリリース時には TracEnvironment のアップグレードは必要ありません。

一般的な手順

通常、 Trac を新しいバージョンにアップグレードするときに、 4 ステップを踏まなければなりません:

Trac のコードを更新する

TracInstall または、あなたの OS に合った方法で新しいバージョンの Trac を取得してください。

手で (OS 特有でない) アップグレードをするのであれば、インストールを実行する前に起動中の Trac サーバを停止してください。 "ホット" アップグレードは問題を生じることが多いです。特に Windows では出来ないと考えてください (#7265)。

すでに存在する Trac のコードを削除するには、 Python の lib/site-packages ディレクトリから trac ディレクトリか、 Trac の .egg の古いバージョンを削除します。 site-packages ディレクトリの位置は OS のシステム、および Python のインストールパスにより異なりますが、一般的には以下の位置にあります:

  • Linux を使用している場合: /usr/lib/python2.X/site-packages
  • Windows を使用している場合: C:\Python2.X\lib\site-packages
  • MacOSX を使用している場合: /Library/Python2.X/site-packages

また、 share/trac (正確な位置はプラットフォームに依存しますが一般的にはこの位置です。) ディレクトリ内の cgi-bin, htdocs, templates, wiki-default といったディレクトリを削除してもかまいません。 (訳注: 0.11 では、これらのディレクトリは site-packages/trac の配下に移動しています)

このクリーンアップは必須ではありませんが、あとでトラブルシュートを行う場合の切り分けが容易になります。すでに使われていない前のリリースのコードやテンプレートを見るなどという時間の浪費をしたくないのであれば、削除しておく方が楽です。もちろん、ファイルを削除する前にバックアップを作成する方が良いでしょう。

webadmin plugin をインストールしていた場合は、アンインストールしてください。今や webadmin plugin は Trac コードベースの一部です。

TracEnvironment をアップグレードする

アップグレードした Trac がロードされると、アップグレードする必要があるインスタンスが表示されます。アップグレードはオートメーションされたスクリプトを手で実行します。これらのスクリプトでは trac-admin を使用します。

trac-admin /path/to/projenv upgrade

このコマンドはもし TracEnvironment がすでに最新の状態になっているときは、何もしません。

Note: PostgreSQL データベース (訳注: MySQL も) を使用している場合、このコマンドは「 Environment のバックアップは SQLite を使っているときしか出来ない」というメッセージを出力して失敗します。リポジトリとデータベースのバックアップは手動で行う必要があります。その後、アップグレードを行うために次のコマンドを実行してください:

trac-admin /path/to/projenv upgrade --no-backup

カスタム CSS スタイルを使用していたり、 TracEnvironment の templates ディレクトリテンプレートを変更している場合、 Genshi のやり方にコンバートする必要があります。スタイルシートを使用し続けたい場合、 TracInterfaceCustomization#SiteAppearance の手順を読んでください。

Trac ドキュメントを更新する

すべての Trac Environment で、インストールされたバージョンの Trac ドキュメントのコピーを含んでいます。新しくインストールした Trac のドキュメントと同期を取りたいでしょう。 trac-admin がドキュメントを更新するコマンドを提供しています:

trac-admin /path/to/projenv wiki upgrade

当然このプロシージャはあなたの WikiStart ページ (訳注: InterMapText も) をまったく変更せず、そのままに残しておきます。

サイトテンプレート

0.11 でテンプレートエンジンが変更されました。 TracInterfaceCustomization を参照してください。

Trac マクロプラグイン

ClearSilver と HDF が使用されなくなったことで、古いスタイルの Wiki マクロ は使用できなくなります。そのため Trac マクロを適応させる必要があるでしょう; 新しいスタイルのマクロに変更する必要があれば WikiMacros を参照してください。新しいスタイルにコンバートした後、配置するディレクトリは wiki-macros ではなく、 plugins を使用してください。 wiki-macros ディレクトリからマクロやプラグインを探すことはもうありません。

CGI 利用者向けの注意

CGI で Trac を起動している場合、以下のコマンドを実行して trac.cgi ファイルを取得してください:

trac-admin /path/to/env deploy /deploy/directory/path

このコマンドでは、デプロイ用ディレクトリを作成します。デプロイ用ディレクトリには cgi-binhtdocs の二つのサブディレクトリが含まれています。これらのディレクトリを Environment のディレクトリに移動させ、 Apache の httpd.conf を新しい trac.cgi の場所に更新してください。

Web サーバを再起動する

CGI 以外で起動している場合は、 Web サーバを再起動して、新しい Trac コードをリロードしてください。

既知の問題

複数プロジェクトのホストに関して

複数のプロジェクトをホストした場合に、配下のプロジェクトのうち一つのプロジェクトで、プラグインの一つが動作していないとき、配下のすべてのプロジェクトではそのプラグインは動作していません。

コアモジュールがロードされない

Windows で Python 2.3 を使用している場合、最初にアンインストールを行わずにアップグレードすると時々発生します。 いくつかのモジュールは、以前はキャピタライズされていましたが、小文字のみに変更されました (例えば、 trac/About.py が trac/about.py に変更されるなど)。以下のようなメッセージが Trac のログに出てくる場合:

ERROR: Skipping "trac.about = trac.about": (can't import "No module named about")

Lib/site-packages/trac ディレクトリを削除してから、再インストールしてください。

Wiki Upgrade === WikiUpgrade?

trac-admin はページを削除しません。バージョン 0.10 では存在し、バージョン 0.11 では存在しないページはそのまま残ります。 (0.11 開発中に存在した TracWikiMacros など)

データベースの変更

SQLite から PostgreSQL へ

trac-hacks.orgsqlite2pg は SQLite のデータベースを PostgreSQL に移行するためのサポートをするスクリプトです。

より古いバージョン

さらに前のバージョンからのアップグレードについては 0.10/TracUpgrade をまずは参照してください。

Note: Trac 0.11 から Trac 0.10.4 や 0.10.5 にダウングレードするには、手作業が必要になります:

$ sqlite3 db/trac.db "update system set value=20 where name='database_version'"

(あとで再度、正常にアップグレードすることができます)


See also: TracGuide, TracInstall