summaryrefslogtreecommitdiffstats
path: root/docs/html/upgrading.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/html/upgrading.html')
-rw-r--r--docs/html/upgrading.html517
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"
+>&#13;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
+>&#13; <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"
+>&#13;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
+>&#13; <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"
+>&#13;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 &#60; 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
+>&#13; <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"