close
Warning:
Can't synchronize with repository "keplertools" (/srv/svn/keplertools does not appear to be a Subversion repository.). Look in the Trac log for more information.
- Timestamp:
-
Aug 18, 2013, 5:03:59 PM (13 years ago)
- Author:
-
trac
- Comment:
-
--
Legend:
- Unmodified
- Added
- Removed
- Modified
-
|
v2
|
v3
|
|
| 1 | 1 | = Upgrade Instructions = |
| 2 | 2 | [[TracGuideToc]] |
| 3 | | [[PageOutline(2-3,,inline,unnumbered)]] |
| 4 | 3 | |
| 5 | 4 | == Instructions == |
| … |
… |
|
| 7 | 6 | Typically, there are seven steps involved in upgrading to a newer version of Trac: |
| 8 | 7 | |
| 9 | | === 1. Bring your server off-line |
| 10 | | |
| 11 | | It is not a good idea to update a running server: the server processes may have parts of the current packages cached in memory, and updating the code will likely trigger [#ZipImportError internal errors]. |
| 12 | | |
| 13 | | === 2. Update the Trac Code === #UpdatetheTracCode |
| | 8 | === 1. Update the Trac Code === #UpdatetheTracCode |
| 14 | 9 | |
| 15 | 10 | Get the new version as described in TracInstall, or your operating system specific procedure. |
| … |
… |
|
| 33 | 28 | This cleanup is not mandatory, but makes it easier to troubleshoot issues later on, as you won't waste your time looking at code or templates from a previous release that are not being used anymore... As usual, make a backup before actually deleting things. |
| 34 | 29 | |
| 35 | | === 3. Upgrade the Trac Environment === #UpgradetheTracEnvironment |
| | 30 | === 2. Upgrade the Trac Environment === #UpgradetheTracEnvironment |
| 36 | 31 | |
| 37 | 32 | Environment upgrades are not necessary for minor version releases unless otherwise noted. |
| … |
… |
|
| 50 | 45 | }}} |
| 51 | 46 | |
| 52 | | === 4. Update the Trac Documentation === #UpdatetheTracDocumentation |
| | 47 | === 3. Update the Trac Documentation === #UpdatetheTracDocumentation |
| 53 | 48 | |
| 54 | 49 | Every [TracEnvironment Trac environment] includes a copy of the Trac documentation for the installed version. As you probably want to keep the included documentation in sync with the installed version of Trac, [TracAdmin trac-admin] provides a command to upgrade the documentation: |
| … |
… |
|
| 59 | 54 | Note that this procedure will leave your `WikiStart` page intact. |
| 60 | 55 | |
| | 56 | === 4. Resynchronize the Trac Environment Against the Source Code Repository === |
| | 57 | |
| | 58 | Each [TracEnvironment Trac environment] must be resynchronized against the source code repository in order to avoid errors such as "[http://trac.edgewall.org/ticket/6120 No changeset ??? in the repository]" while browsing the source through the Trac interface: |
| | 59 | |
| | 60 | {{{ |
| | 61 | trac-admin /path/to/projenv repository resync '*' |
| | 62 | }}} |
| 61 | 63 | |
| 62 | 64 | === 5. Refresh static resources === |
| … |
… |
|
| 68 | 70 | this will extract static resources and CGI scripts (`trac.wsgi`, etc) from new Trac version and its plugins into `/deploy/path`. |
| 69 | 71 | |
| 70 | | Some web browsers (IE, Opera) cache CSS and Javascript files aggressively, so you may need to instruct your users to manually erase the contents of their browser's cache, a forced refreshed (`<F5>`) should be enough. |
| 71 | | {{{#!comment |
| 72 | | Remove above note once #9936 is fixed. |
| 73 | | }}} |
| | 72 | Some web browsers cache CSS and Javascript files persistently, so you may need to instruct your users to manually erase the contents of their browser's cache. |
| 74 | 73 | |
| 75 | 74 | === 6. Steps specific to a given Trac version === |
| 76 | 75 | ==== Upgrading from Trac 0.11 to Trac 0.12 ==== |
| 77 | | |
| 78 | 76 | ===== Python 2.3 no longer supported ===== |
| 79 | 77 | The minimum supported version of python is now 2.4 |
| … |
… |
|
| 89 | 87 | |
| 90 | 88 | This may be of interest to users with only one repository, since there's now a way to avoid the potentially costly resync check at every request. |
| 91 | | |
| 92 | | ===== Resynchronize the Trac Environment Against the Source Code Repository ===== |
| 93 | | |
| 94 | | Each [TracEnvironment Trac environment] must be resynchronized against the source code repository in order to avoid errors such as "[http://trac.edgewall.org/ticket/6120 No changeset ??? in the repository]" while browsing the source through the Trac interface: |
| 95 | | |
| 96 | | {{{ |
| 97 | | trac-admin /path/to/projenv repository resync '*' |
| 98 | | }}} |
| 99 | 89 | |
| 100 | 90 | ===== Improved repository synchronization ===== |
| … |
… |
|
| 137 | 127 | == Known Issues == |
| 138 | 128 | |
| 139 | | Things you should pay attention to, while upgrading. |
| 140 | | |
| 141 | | === Customized Templates |
| 142 | | |
| 143 | | Trac supports customization of its Genshi templates by placing copies of the templates in the `<env>/templates` folder of your [TracEnvironment environment] or in a common location specified in the [[TracIni#GlobalConfiguration| [inherit] templates_dir]] configuration setting. If you choose to do so, be wary that you will need to repeat your changes manually on a copy of the new templates when you upgrade to a new release of Trac (even a minor one), as the templates will likely evolve. So keep a diff around ;-) |
| 144 | | |
| 145 | | The preferred way to perform TracInterfaceCustomization is to write a custom plugin doing an appropriate `ITemplateStreamFilter` transformation, as this is more robust in case of changes: we usually won't modify element `id`s or change CSS `class`es, and if we have to do so, this will be documented in the TracDev/ApiChanges pages. |
| 146 | | |
| 147 | | === !ZipImportError === |
| 148 | | |
| 149 | | Due to internal caching of zipped packages, whenever the content of the packages change on disk, the in-memory zip index will no longer match and you'll get irrecoverable !ZipImportError errors. Better anticipate and bring your server down for maintenance before upgrading. |
| 150 | | See [trac:#7014] for details. |
| | 129 | === parent dir === |
| | 130 | If you use a trac parent env configuration and one of the plugins in one child does not work, none of the children work. |
| 151 | 131 | |
| 152 | 132 | === Wiki Upgrade === |
| … |
… |
|
| 157 | 137 | A known issue in some versions of PySqlite (2.5.2-2.5.4) prevents the trac-admin upgrade script from successfully upgrading the database format. It is advised to use either a newer or older version of the sqlite python bindings to avoid this error. For more details see ticket [trac:#9434]. |
| 158 | 138 | |
| 159 | | === parent dir === |
| 160 | | If you use a trac parent env configuration and one of the plugins in one child does not work, none of the children work. |
| 161 | | |
| 162 | | == Related topics |
| 163 | | |
| 164 | | === Upgrading Python === |
| | 139 | == Upgrading Python == |
| 165 | 140 | |
| 166 | 141 | Upgrading Python to a newer version will require reinstallation of Python packages: Trac of course; also [http://pypi.python.org/pypi/setuptools easy_install], if you've been using that. Assuming you're using Subversion, you'll also need to upgrade the Python bindings for svn. |
| 167 | 142 | |
| 168 | | ==== Windows and Python 2.6 ==== |
| | 143 | === Windows and Python 2.6 === |
| 169 | 144 | |
| 170 | | If you've been using !CollabNet's Subversion package, you may need to uninstall that in favor of [http://alagazam.net/ Alagazam], which has the Python bindings readily available (see TracSubversion). The good news is, that works with no tweaking. |
| | 145 | If you've been using !CollabNet's Subversion package, you may need to uninstall that in favor of [http://alagazam.net/ Algazam], which has the Python bindings readily available (see TracSubversion). The good news is, that works with no tweaking. |
| 171 | 146 | |
| 172 | | === Changing Database Backend === |
| 173 | | ==== SQLite to PostgreSQL ==== |
| | 147 | == Changing Database Backend == |
| | 148 | === SQLite to PostgreSQL === |
| 174 | 149 | |
| 175 | 150 | The [http://trac-hacks.org/wiki/SqliteToPgScript sqlite2pg] script on [http://trac-hacks.org trac-hacks.org] has been written to assist in migrating a SQLite database to a PostgreSQL database |
| 176 | 151 | |
| 177 | | === Upgrading from older versions of Trac === #OlderVersions |
| | 152 | == Older Versions == |
| 178 | 153 | |
| 179 | 154 | For upgrades from versions older than Trac 0.10, refer first to [trac:wiki:0.10/TracUpgrade#SpecificVersions]. |