diff options
Diffstat (limited to 'docs/html/upgrading.html')
-rw-r--r-- | docs/html/upgrading.html | 517 |
1 files changed, 486 insertions, 31 deletions
diff --git a/docs/html/upgrading.html b/docs/html/upgrading.html index 8371afa31..2f58b007b 100644 --- a/docs/html/upgrading.html +++ b/docs/html/upgrading.html @@ -77,41 +77,496 @@ NAME="upgrading" ></A >5.9. Upgrading to New Releases</H1 ><P ->A plain Bugzilla is fairly easy to upgrade from one version to a - newer one. Always read the release notes to see if there are any issues - that you might need to take note of. It is recommended that you take a - backup of your database and your entire Bugzilla installation before attempting an - upgrade. You can upgrade a 'clean' installation by untarring a new - tarball over the old installation. If you are upgrading from 2.12 or - later, and have cvs installed, you can type <TT -CLASS="filename" ->cvs -z3 update</TT ->, - and resolve conflicts if there are any. +>Upgrading Bugzilla is something we all want to do from time to time, + be it to get new features or pick up the latest security fix. How easy + it is to update depends on a few factors. + </P +><P +></P +><UL +><LI +><P +>If the new version is a revision or a new point release</P +></LI +><LI +><P +>How many, if any, local changes have been made</P +></LI +></UL +><P +>There are also three different methods to upgrade your installation. + </P +><P +></P +><OL +TYPE="1" +><LI +><P +>Using CVS (<A +HREF="upgrading.html#upgrade-cvs" +>Example 5-1</A +>)</P +></LI +><LI +><P +>Downloading a new tarball (<A +HREF="upgrading.html#upgrade-tarball" +>Example 5-2</A +>)</P +></LI +><LI +><P +>Applying the relevant patches (<A +HREF="upgrading.html#upgrade-patches" +>Example 5-3</A +>)</P +></LI +></OL +><P +>Which options are available to you may depend on how large a jump + you are making and/or your network configuration. + </P +><P +>Revisions are normally released to fix security vulnerabilities + and are distinguished by an increase in the third number. For example, + when 2.16.2 was released, it was a revision to 2.16.1. + </P +><P +>Point releases are normally released when the Bugzilla team feels + that there has been a significant amount of progress made between the + last point release and the current time. These are often proceeded by a + stabilization period and release candidates, however the use of + development versions or release candidates is beyond the scope of this + document. Point releases can be distinguished by an increase in the + second number, or minor version. For example, 2.16.2 is a newer point + release than 2.14.5. + </P +><P +>The examples in this section are written as if you were updating + to version 2.16.2. The procedures are the same regardless if you are + updating to a new point release or a new revision. However, the chance + of running into trouble increases when upgrading to a new point release, + escpecially if you've made local changes. </P ><P ->However, things get a bit more complicated if you've made - changes to Bugzilla's code. In this case, you may have to re-make or - reapply those changes. One good method is to take a diff of your customized - version against the original, so you can survey all that you've changed. - Hopefully, templatization will reduce the need for - this in the future.</P -><P ->From version 2.8 onward, Bugzilla databases can be automatically - carried forward during an upgrade. However, because the developers of - Bugzilla are constantly adding new - tables, columns and fields, you'll probably get SQL errors if you just - update the code and attempt to use Bugzilla. Always run the +>These examples also assume that your Bugzilla installation is at <TT CLASS="filename" ->checksetup.pl</TT -> - script whenever you upgrade your installation.</P -><P ->If you are running Bugzilla version 2.8 or lower, and wish to - upgrade to the latest version, please consult the file, - "UPGRADING-pre-2.8" in the Bugzilla root directory after untarring the - archive.</P +>/var/www/html/bugzilla</TT +>. If that is not the case, + simply substitute the proper paths where appropriate. + </P +><DIV +CLASS="example" +><A +NAME="upgrade-cvs" +></A +><P +><B +>Example 5-1. Upgrading using CVS</B +></P +><P +>Every release of Bugzilla, whether it is a revision or a point + release, is tagged in CVS. Also, every tarball we have distributed + since version 2.12 has been primed for using CVS. This does, however, + require that you are able to access cvs-mirror.mozilla.org on port + 2401. + + <DIV +CLASS="tip" +><P +></P +><TABLE +CLASS="tip" +WIDTH="100%" +BORDER="0" +><TR +><TD +WIDTH="25" +ALIGN="CENTER" +VALIGN="TOP" +><IMG +SRC="../images/tip.gif" +HSPACE="5" +ALT="Tip"></TD +><TD +ALIGN="LEFT" +VALIGN="TOP" +><P +>If you can do this, updating using CVS is probably the most + painless method, especially if you have a lot of local changes. + </P +></TD +></TR +></TABLE +></DIV +> + </P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><FONT +COLOR="#000000" +><PRE +CLASS="programlisting" +> bash$ <B +CLASS="command" +>cd /var/www/html/bugzilla</B +> +bash$ <B +CLASS="command" +>cvs login</B +> +Logging in to :pserver:anonymous@cvs-mirror.mozilla.org:2401/cvsroot +CVS password: <B +CLASS="command" +>anonymous</B +> +bash$ <B +CLASS="command" +>cvs -q update -r BUGZILLA-2_16_2 -dP</B +> +P checksetup.pl +P collectstats.pl +P globals.pl +P docs/rel_notes.txt +P template/en/default/list/quips.html.tmpl + </PRE +></FONT +></TD +></TR +></TABLE +><P +> <DIV +CLASS="caution" +><P +></P +><TABLE +CLASS="caution" +WIDTH="100%" +BORDER="0" +><TR +><TD +WIDTH="25" +ALIGN="CENTER" +VALIGN="TOP" +><IMG +SRC="../images/caution.gif" +HSPACE="5" +ALT="Caution"></TD +><TD +ALIGN="LEFT" +VALIGN="TOP" +><P +>If a line in the output from <B +CLASS="command" +>cvs update</B +> + begins with a <TT +CLASS="computeroutput" +>C</TT +> that represents a + file with local changes that CVS was unable to properly merge. You + need to resolve these conflicts manually before Bugzilla (or at + least the portion using that file) will be usable. + </P +></TD +></TR +></TABLE +></DIV +> + + <DIV +CLASS="note" +><P +></P +><TABLE +CLASS="note" +WIDTH="100%" +BORDER="0" +><TR +><TD +WIDTH="25" +ALIGN="CENTER" +VALIGN="TOP" +><IMG +SRC="../images/note.gif" +HSPACE="5" +ALT="Note"></TD +><TD +ALIGN="LEFT" +VALIGN="TOP" +><P +>You also need to run <B +CLASS="command" +>./checksetup.pl</B +> + before your Bugzilla upgrade will be complete. + </P +></TD +></TR +></TABLE +></DIV +> + </P +></DIV +><DIV +CLASS="example" +><A +NAME="upgrade-tarball" +></A +><P +><B +>Example 5-2. Upgrading using the tarball</B +></P +><P +>If you are unable or unwilling to use CVS, another option that's + always available is to download the latest tarball. This is the most + difficult option to use, especially if you have local changes. + </P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><FONT +COLOR="#000000" +><PRE +CLASS="programlisting" +> bash$ <B +CLASS="command" +>cd /var/www/html</B +> +bash$ <B +CLASS="command" +>wget ftp://ftp.mozilla.org/pub/webtools/bugzilla-2.16.2.tar.gz</B +> +<EM +>Output omitted</EM +> +bash$ <B +CLASS="command" +>tar xzvf bugzilla-2.16.2.tar.gz</B +> +bugzilla-2.16.2/ +bugzilla-2.16.2/.cvsignore +bugzilla-2.16.2/1x1.gif +<EM +>Output truncated</EM +> +bash$ <B +CLASS="command" +>cd bugzilla-2.16.2</B +> +bash$ <B +CLASS="command" +>cp ../bugzilla/localconfig* .</B +> +bash$ <B +CLASS="command" +>cp -r ../bugzilla/data .</B +> +bash$ <B +CLASS="command" +>cd ..</B +> +bash$ <B +CLASS="command" +>mv bugzilla bugzilla.old</B +> +bash$ <B +CLASS="command" +>mv bugzilla-2.16.2 bugzilla</B +> +bash$ <B +CLASS="command" +>cd bugzilla</B +> +bash$ <B +CLASS="command" +>./checksetup.pl</B +> +<EM +>Output omitted</EM +> + </PRE +></FONT +></TD +></TR +></TABLE +><P +> <DIV +CLASS="warning" +><P +></P +><TABLE +CLASS="warning" +WIDTH="100%" +BORDER="0" +><TR +><TD +WIDTH="25" +ALIGN="CENTER" +VALIGN="TOP" +><IMG +SRC="../images/warning.gif" +HSPACE="5" +ALT="Warning"></TD +><TD +ALIGN="LEFT" +VALIGN="TOP" +><P +>The <B +CLASS="command" +>cp</B +> commands both end with periods which + is a very important detail, it tells the shell that the destination + directory is the current working directory. Also, the period at the + beginning of the <B +CLASS="command" +>./checksetup.pl</B +> is important and + can not be omitted. + </P +></TD +></TR +></TABLE +></DIV +> + + <DIV +CLASS="note" +><P +></P +><TABLE +CLASS="note" +WIDTH="100%" +BORDER="0" +><TR +><TD +WIDTH="25" +ALIGN="CENTER" +VALIGN="TOP" +><IMG +SRC="../images/note.gif" +HSPACE="5" +ALT="Note"></TD +><TD +ALIGN="LEFT" +VALIGN="TOP" +><P +>You will now have to reapply any changes you have made to your + local installation manually. + </P +></TD +></TR +></TABLE +></DIV +> + </P +></DIV +><DIV +CLASS="example" +><A +NAME="upgrade-patches" +></A +><P +><B +>Example 5-3. Upgrading using patches</B +></P +><P +>The Bugzilla team will normally make a patch file available for + revisions to go from the most recent revision to the new one. You could + also read the release notes and grab the patches attached to the + mentioned bug, but it is safer to use the released patch file as + sometimes patches get changed before they get checked in (for minor + spelling fixes and the like). It is also theorectically possible to + scour the fixed bug list and pick and choose which patches to apply + from a point release, but this is not recommended either as what you'll + end up with is a hodge podge Bugzilla that isn't really any version. + This would also make it more difficult to upgrade in the future. + </P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><FONT +COLOR="#000000" +><PRE +CLASS="programlisting" +> bash$ <B +CLASS="command" +>cd /var/www/html/bugzilla</B +> +bash$ <B +CLASS="command" +>wget ftp://ftp.mozilla.org/pub/webtools/bugzilla-2.16.1-to-2.16.2.diff.gz</B +> +<EM +>Output omitted</EM +> +bash$ <B +CLASS="command" +>gunzip bugzilla-2.16.1-to-2.16.2.diff.gz</B +> +bash$ <B +CLASS="command" +>patch -p1 < bugzilla-2.16.1-to-2.16.2.diff</B +> +patching file checksetup.pl +patching file collectstats.pl +patching file globals.pl + </PRE +></FONT +></TD +></TR +></TABLE +><P +> <DIV +CLASS="caution" +><P +></P +><TABLE +CLASS="caution" +WIDTH="100%" +BORDER="0" +><TR +><TD +WIDTH="25" +ALIGN="CENTER" +VALIGN="TOP" +><IMG +SRC="../images/caution.gif" +HSPACE="5" +ALT="Caution"></TD +><TD +ALIGN="LEFT" +VALIGN="TOP" +><P +>If you do this, beware that this doesn't change the entires in + your <TT +CLASS="filename" +>CVS</TT +> directory so it may make + updates using CVS (<A +HREF="upgrading.html#upgrade-cvs" +>Example 5-1</A +>) more difficult in the + future. + </P +></TD +></TR +></TABLE +></DIV +> + </P +></DIV ></DIV ><DIV CLASS="NAVFOOTER" |