<HTML
><HEAD
><TITLE
>Upgrading to New Releases</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="The Bugzilla Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="Administering Bugzilla"
HREF="administration.html"><LINK
REL="PREVIOUS"
TITLE="Change Permission Customization"
HREF="cust-change-permissions.html"><LINK
REL="NEXT"
TITLE="Integrating Bugzilla with Third-Party Tools"
HREF="integration.html"></HEAD
><BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Bugzilla Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="cust-change-permissions.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 5. Administering Bugzilla</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="integration.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="upgrading"
></A
>5.9. Upgrading to New Releases</H1
><P
>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
>These examples also assume that your Bugzilla installation is at
    <TT
CLASS="filename"
>/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"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="cust-change-permissions.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="integration.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Change Permission Customization</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="administration.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Integrating Bugzilla with Third-Party Tools</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>