Changes between Version 2 and Version 3 of TracUpgrade
- Timestamp:
- Jun 17, 2013, 1:35:49 PM (11 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TracUpgrade
v2 v3 1 1 = アップグレードの説明 = #UpgradeInstructions 2 2 [[TracGuideToc]] 3 [[PageOutline(2-4,,inline,unnumbered)]] 3 4 4 5 == 一般的な手順 == #Instructions 5 6 6 通常、 Trac を新しいバージョンにアップグレードするときに、 7 ステップを踏まなければなりません: 7 通常、 Trac を新しいバージョンにアップグレードするときに、 7 ステップを踏まなければなりません: 7 8 8 === 1. Trac のコードを更新する === #UpdatetheTracCode 9 === 1. サーバーをオフラインにする === #Bringyourserveroff-line 10 11 サーバー起動中にアップデートを行うのはやめてください。パッケージの一部をメモリにキャッシュしているかもしれませんし、コードのアップデートによって内部エラーを引き起こす可能性があります。 12 13 === 2. Trac のコードを更新する === #UpdatetheTracCode 9 14 10 15 TracInstall または、あなたの OS に合った方法で新しいバージョンの Trac を取得してください。 … … 16 21 }}} 17 22 18 手動で (OS 特有でない) アップグレードをするのであれば、インストールを実行する前に起動中の Trac サーバを停止してください。 "ホット" アップグレードは問題を生じることが多いです。特に Windows では出来ないと考えてください ([ http://trac.edgewall.org/ticket/7265 本家チケット 7265])。23 手動で (OS 特有でない) アップグレードをするのであれば、インストールを実行する前に起動中の Trac サーバを停止してください。 "ホット" アップグレードは問題を生じることが多いです。特に Windows では出来ないと考えてください ([trac:#7265 本家チケット 7265])。 19 24 20 25 すでに存在する Trac のコードを削除するには、 Python の `lib/site-packages` ディレクトリから `trac` ディレクトリか、 Trac の .egg の古いバージョンを削除します。 … … 28 33 このクリーンアップは必須ではありませんが、あとでトラブルシュートを行う場合の切り分けが容易になります。すでに使われていない前のリリースのコードやテンプレートを見るなどという時間の浪費をしたくないのであれば、削除しておく方が楽です。もちろん、ファイルを削除する前にバックアップを作成する方が良いでしょう。 29 34 30 === 2. TracEnvironment をアップグレードする === #UpgradetheTracEnvironment35 === 3. Trac Environment をアップグレードする === #UpgradetheTracEnvironment 31 36 32 Environment のアップグレードは、マイナーバージョンアップに特別な注意書きがない限り、不要です。 37 Environment のアップグレードは、マイナーバージョンアップに特別な注意書きがない限り、不要です。 33 38 34 39 アップグレードした Trac がロードされると、アップグレードする必要があるインスタンスが表示されます。アップグレードはオートメーションされたスクリプトを手で実行します。これらのスクリプトでは [TracAdmin trac-admin] を使用します。 … … 45 50 }}} 46 51 47 === 3. Trac ドキュメントを更新する === #UpdatetheTracDocumentation52 === 4. Trac ドキュメントを更新する === #UpdatetheTracDocumentation 48 53 49 54 すべての [TracEnvironment Trac Environment] で、インストールされたバージョンの Trac ドキュメントのコピーを含んでいます。新しくインストールした Trac のドキュメントと同期を取りたいでしょう。 [TracAdmin trac-admin] がドキュメントを更新するコマンドを提供しています: … … 54 59 このプロシージャはあなたの `WikiStart` ページ (訳注: `InterMapText` も) をまったく変更せず、そのままに残しておきます。 55 60 56 === 4. Trac Environment とソースコードリポジトリの再同期 === #a4.ResynchronizetheTracEnvironmentAgainsttheSourceCodeRepository57 58 Trac でソースコードをブラウズしているときに "[http://trac.edgewall.org/ticket/6120 リポジトリにチェンジセット ??? が存在しません]" のようなエラーが出る場合は、それぞれの [TracEnvironment Trac environment] のソースコードリポジトリと再同期をする必要があります。59 60 {{{61 trac-admin /path/to/projenv repository resync '*'62 }}}63 61 64 62 === 5. 静的リソースをリフレッシュする === #a5.Refreshstaticresources … … 70 68 このコマンドは、新しい Trac のバージョンとそのプラグインから `/deploy/path` に静的リソースと CGI スクリプト (`trac.wsgi`, など) を抽出します。 71 69 72 いくつかのウェブブラウザは、 CSS や Javascript ファイルをしつこくキャッシュしているので、ユーザにはこれらのブラウザのキャッシュの中身を手動で削除するように指示したほうがいいかもしれません。 70 いくつかのウェブブラウザ (IE, Opera) は、 CSS や Javascript ファイルを強引にキャッシュしてしまうので、ユーザにはこれらのブラウザのキャッシュの中身を手動で削除するために強制的に更新すること (`<F5>`) を十分行うように指示したほうがいいかもしれません。 71 {{{#!comment 72 Remove above note once #9936 is fixed. 73 }}} 73 74 74 === 6. 特定の Trac バージョンでの特記事項 === #a6.StepsspecifictoagivenTracversion 75 === 6. 特定の Trac バージョンでの特記事項 === #a6.StepsspecifictoagivenTracversion 76 ==== Trac 0.12 から Trac 1.0 にアップグレードする ==== #UpgradingfromTrac0.12toTrac1.0 77 78 サブバージョンサポートの Trac コンポーネントはデフォルト状態では有効にならなくなりました。サブバージョンのサポートを有効にするためには、 `tracopt.versioncontrol.svn` コンポーネントを有効にしてください。例えば、 TracIni に以下のように記述してください: 79 {{{ 80 [components] 81 tracopt.versioncontrol.svn.* = enabled 82 }}} 83 明示的にサブバージョンのコンポーネントを無効に設定していない場合は、この対応をとり、 TracIni を適切に変更してください。 84 85 今回の自動アップグレードで添付ファイルが格納される場所が変わります。心配性な人は、アップグレードの前に `attachments` ディレクトリのバックアップを取りたいと思うかもしれません(本当に心配性な人は、すでに environment のフルコピーを取っているでしょうね)。 `attachments` ディレクトリに添付ファイル //以外// のファイルが格納されていると、新しいレイアウトへの移行の最後のステップで失敗してしまいます:何かファイルやフォルダが格納されていると、今バージョンから使用しない `attachments` ディレクトリを削除することができません。このエラーは無視してもかまいませんが、environment をクリーンアップするために、ファイル内容を確認し、別の場所へ移動させ、 `attachments` ディレクトリを手動で削除したほうがよいでしょう。添付ファイルは今バージョンから environment 配下の `files/attachments` ディレクトリ内に格納されます。 86 87 75 88 ==== Trac 0.11 から Trac 0.12 にアップグレードする ==== #UpgradingfromTrac0.11toTrac0.12 89 76 90 ===== Python 2.3 サポート ===== #Python2.3nolongersupported 77 91 現在 Python 2.4 以降 をサポートします。 78 92 79 93 ===== SQLite v3.x ===== #SQLitev3.xrequired 80 SQLite v2.x のサポートは終了しました。もしいまだに Trac で SQLite v2.x のデータベースを使用しているようならば、まず最初に SQLite v3.x に変換する必要があります。詳細は [ http://trac.edgewall.org/wiki/PySqlite#UpgradingSQLitefrom2.xto3.x] を参照して下さい。94 SQLite v2.x のサポートは終了しました。もしいまだに Trac で SQLite v2.x のデータベースを使用しているようならば、まず最初に SQLite v3.x に変換する必要があります。詳細は [trac:PySqlite#UpgradingSQLitefrom2.xto3.x] を参照して下さい。 81 95 82 ===== [ http://trac.edgewall.org/wiki/PySqlite PySqlite] 2 ===== #PySqlite2required83 [ http://trac.edgewall.org/wiki/PySqlite PySqlite] 1.1.x のサポートは終了しました。可能であれば、バージョン 2.5.5 以降のバージョンをインストールして下さい。 (下記 [#Tracdatabaseupgrade Trac データベースのアップグレード] を参照して下さい。)96 ===== [trac:PySqlite PySqlite] 2 ===== #PySqlite2required 97 [trac:PySqlite PySqlite] 1.1.x のサポートは終了しました。可能であれば、バージョン 2.5.5 以降のバージョンをインストールして下さい。 (下記 [#Tracdatabaseupgrade Trac データベースのアップグレード] を参照して下さい) 84 98 85 99 ===== 複数のリポジトリのサポート===== #MultipleRepositorySupport … … 87 101 88 102 もし単一のリポジトリでの運用を行なっていたとしてもこの手順は興味深いものとなるかもしれません。なぜなら、この方法によってリクエスト毎に発生する潜在的に負荷の高い再同期のチェックを避けることができるからです。 103 104 ===== Trac Environment とソースコードリポジトリの再同期 ===== #ResynchronizetheTracEnvironmentAgainsttheSourceCodeRepository 105 106 Trac でソースコードをブラウズしているときに "[trac:#6120 リポジトリにチェンジセット ??? が存在しません]" のようなエラーが出る場合は、それぞれの [TracEnvironment Trac environment] のソースコードリポジトリと再同期をする必要があります: 107 108 {{{ 109 trac-admin /path/to/projenv repository resync '*' 110 }}} 89 111 90 112 ===== 向上したリポジトリの再同期 ===== #Improvedrepositorysynchronization … … 96 118 97 119 ===== Authz のパーミッションチェック ===== #Authzpermissionchecking 98 authz のパーミッションチェックが粒度の細かいパーミッションポリシーとしてマイグレートされました。もし authz パーミッションを使用しているならば、 ( `[trac] authz_file` や `authz_module_name` を参照)、 `[trac] permission_policies` で定義するパーミッションポリシーの先頭に、 `AuthzSourcePolicy` を追加しなければなりません。また、グローバルのパーミッション設定から `BROWSER_VIEW`, `CHANGESET_VIEW`, `FILE_VIEW`, `LOG_VIEW` を削除しなければなりません (`trac-admin $ENV permission remove` コマンドまたは、管理パネルの "権限" から削除されます 。)120 authz のパーミッションチェックが粒度の細かいパーミッションポリシーとしてマイグレートされました。もし authz パーミッションを使用しているならば、 ( `[trac] authz_file` や `authz_module_name` を参照)、 `[trac] permission_policies` で定義するパーミッションポリシーの先頭に、 `AuthzSourcePolicy` を追加しなければなりません。また、グローバルのパーミッション設定から `BROWSER_VIEW`, `CHANGESET_VIEW`, `FILE_VIEW`, `LOG_VIEW` を削除しなければなりません (`trac-admin $ENV permission remove` コマンドまたは、管理パネルの "権限" から削除されます)。 99 121 100 122 ==== マイクロ秒のタイムスタンプ ==== #Microsecondtimestamps … … 108 130 109 131 ===== Trac マクロプラグイン ===== #TracMacrosPlugins 110 [ http://trac.edgewall.org/wiki/ClearSilver ClearSilver] と HDF が使用されなくなったことで、古いスタイルの Wiki マクロ は使用できなくなります。そのため Trac マクロを適応させる必要があるでしょう;新しいスタイルのマクロに変更する必要があれば WikiMacros を参照してください。新しいスタイルにコンバートした後、配置するディレクトリは wiki-macros ではなく、 plugins を使用してください。 wiki-macros ディレクトリからマクロやプラグインを探すことはもうありません。132 [trac:ClearSilver] と HDF が使用されなくなったことで、古いスタイルの Wiki マクロ は使用できなくなります。そのため Trac マクロを適応させる必要があるでしょう。新しいスタイルのマクロに変更する必要があれば WikiMacros を参照してください。新しいスタイルにコンバートした後、配置するディレクトリは wiki-macros ではなく、 plugins を使用してください。 wiki-macros ディレクトリからマクロやプラグインを探すことはもうありません。 111 133 112 134 ===== FCGI/WSGI/CGI を使用する場合 ===== #ForFCGIWSGICGIusers … … 127 149 == 既知の問題 == #KnownIssues 128 150 129 === 複数プロジェクトのホストに関して === #parentdir 130 複数のプロジェクトをホストした場合に、配下のプロジェクトのうち一つのプロジェクトで、プラグインの一つが動作していないとき、配下のすべてのプロジェクトではそのプラグインは動作していません。 151 アップグレードの際、以下のことに留意してください。 131 152 132 === Wiki のアップグレード === 153 === カスタマイズされたテンプレート === #CustomizedTemplates 154 155 Trac は [TracEnvironment Environment] の `<env>/templates` フォルダ内、または [[TracIni#GlobalConfiguration| [inherit] templates_dir]] コンフィグに設定された共通のディレクトリ内にテンプレートのコピーを置くことによって、Genshi テンプレートのカスタマイズをサポートします。もしこの方法を採用している場合、テンプレートはおそらく今後も進化していくので、新しくリリースされた Trac (以前のバージョンでも) にアップグレードする際には、新しいテンプレートのコピーを手動で変更することが繰り返し必要になることに注意してください。diff は取っておいてください ;-) 156 157 TracInterfaceCustomization を行うには、適切な `ITemplateStreamFilter` 変換を行うカスタムプラグインを書く方法が望ましいでしょう。この場合、通常 id の修正や CSS の `class` の変更を行わないため、変更が生じても影響をうけません。もし必要になるのであれば、[trac:TracDev/ApiChanges TracDev/ApiChanges] ページにドキュメントが記載されるでしょう。 158 159 === !ZipImportError === #ZipImportError 160 161 zip形式で圧縮されたパッケージの内部キャッシングにより、ディスク上でパッケージの内容が変わるたびに、メモリ内のzip インデックスは一致せず、回復不能な !ZipImportError が出ます。アップグレードをする前にメンテナンスのために予めサーバーを停止してください。 162 詳細については、 [trac:#7014 本家チケット 7014] を参照して下さい。 163 164 === Wiki のアップグレード === #WikiUpgrade 133 165 `trac-admin` は新しいバージョンでは存在しない以前のバージョンの Wiki ページを削除や移動しません。 134 166 135 167 === Trac データベースのアップグレード === #Tracdatabaseupgrade 136 168 137 既知の問題として、 PySqlite のいくつかのバージョン (2.5.2-2.5.4) では、 trac-admin upgrade スクリプトを使用してデータベースを更新することができません。このエラーを避けるために、 sqlite の python バインディングのバージョンをより新しいものかより古いバージョンを使用することを推奨します。詳細については、 [http://trac.edgewall.org/ticket/9434 本家チケット 9434] を参照して下さい。169 既知の問題として、!PySqlite のいくつかのバージョン (2.5.2-2.5.4) では、 trac-admin upgrade スクリプトを使用してデータベースを更新することができません。このエラーを避けるために、 sqlite の python バインディングのバージョンをより新しいものかより古いバージョンを使用することを推奨します。詳細については、 [trac:#9434 本家チケット 9434] を参照して下さい。 138 170 139 == Python のアップグレード== #UpgradingPython 171 === 複数プロジェクトのホストに関して === #parentdir 172 複数のプロジェクトをホストした場合に、配下のプロジェクトのうち一つのプロジェクトで、プラグインの一つが動作していないとき、配下のすべてのプロジェクトではそのプラグインは動作していません。 173 174 == 関連するトピック == #Relatedtopics 175 176 === Python のアップグレード === #UpgradingPython 140 177 141 178 Python を新しいバージョンにアップグレードすると Python パッケージの再インストールが必要となります: Trac も例外ではないですし、 [http://pypi.python.org/pypi/setuptools easy_install] も然りです (もし使用しているならばですが)。 Subversion を使用しているならば、 Subversion の Python のバインディングもアップグレードする必要があります。 142 179 143 === Windows と Python 2.6=== #WindowsandPython2.6180 ==== Windows と Python 2.6 ==== #WindowsandPython2.6 144 181 145 もしあなたが、 !CollabNet の Subversion のパッケージを使用しているならばアンインストールする必要があるかもしれません。というのも、 [http://alagazam.net/ Al gazam] に気軽に使える Python バインディングがあるからです。 ([http://trac.edgewall.org/wiki/TracSubversion TracSubversion] 参照) いいニュースとして、調整なしに動作します。182 もしあなたが、 !CollabNet の Subversion のパッケージを使用しているならばアンインストールする必要があるかもしれません。というのも、 [http://alagazam.net/ Alagazam] に気軽に使える Python バインディングがあるからです。 ([trac:TracSubversion TracSubversion] 参照) いいニュースとして、調整なしに動作します。 146 183 147 == データベースの変更== #ChangingDatabaseBackend148 === SQLite から PostgreSQL へ=== #SQLitetoPostgreSQL184 === データベースの変更=== #ChangingDatabaseBackend 185 ==== SQLite から PostgresSQL へ ==== #SQLitetoPostgreSQL 149 186 150 [http://trac-hacks.org trac-hacks.org] の [http://trac-hacks.org/wiki/SqliteToPgScript sqlite2pg] は SQLite のデータベースを PostgreSQL に移行するためのサポートをするスクリプトです。 187 [http://trac-hacks.org trac-hacks.org] の [http://trac-hacks.org/wiki/SqliteToPgScript sqlite2pg] は SQLite のデータベースを PostgreSQL に移行するためのサポートをするスクリプトです。 151 188 152 == より古いバージョン== #OlderVersions189 === より古いバージョンからのアップグレード === #OlderVersions 153 190 154 191 さらに前のバージョンからのアップグレードについては [trac:wiki:0.10/TracUpgrade#SpecificVersions] を最初に参照してください。