From d6e3b8b2854f4b393ccdea80082af7441bd2e8fa Mon Sep 17 00:00:00 2001 From: "jake%bugzilla.org" <> Date: Mon, 13 Jan 2003 09:19:07 +0000 Subject: [PATCH] Bug 187566 - Update upgrade section in the 2.16 branch as was done on the tip --- docs/html/Bugzilla-Guide.html | 1714 ++++++++++++++++------ docs/html/administration.html | 4 +- docs/html/index.html | 35 +- docs/html/upgrading.html | 523 ++++++- docs/sgml/administration.sgml | 217 ++- docs/txt/Bugzilla-Guide.txt | 2580 ++++++++++++++++++--------------- docs/xml/administration.xml | 217 ++- 7 files changed, 3588 insertions(+), 1702 deletions(-) diff --git a/docs/html/Bugzilla-Guide.html b/docs/html/Bugzilla-Guide.html index 66bb333ec6..27bd77542b 100644 --- a/docs/html/Bugzilla-Guide.html +++ b/docs/html/Bugzilla-Guide.html @@ -34,25 +34,35 @@ ALINK="#0000FF" >

The Bugzilla Guide

The Bugzilla Guide

Matthew P. Barnson

Matthew P. Barnson

The Bugzilla Team

The Bugzilla Team

This is the documentation for Bugzilla, the mozilla.org @@ -370,21 +380,42 @@ HREF="#AEN1184" >Removing encrypt() for Windows NT Bugzilla version 2.12 or earlier

5-1. Upgrading using CVS
5-2. Upgrading using the tarball
5-3. Upgrading using patches

Chapter 1. About This Guide

Chapter 1. About This Guide

1.1. Copyright Information

1.1. Copyright Information

1.1.1. GNU Free Documentation License

1.1.1. GNU Free Documentation License

Version 1.1, March 2000

Copyright (C) 2000 Free Software Foundation, Inc. 59 Temple Place, @@ -453,7 +488,9 @@ CLASS="section" >


0. PREAMBLE

0. PREAMBLE

The purpose of this License is to make a manual, textbook, or other written document "free" in the sense of freedom: to assure everyone the @@ -481,7 +518,9 @@ CLASS="section" >


1. APPLICABILITY AND DEFINITIONS

1. APPLICABILITY AND DEFINITIONS

This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under @@ -544,7 +583,9 @@ CLASS="section" >


2. VERBATIM COPYING

2. VERBATIM COPYING

You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the @@ -564,7 +605,9 @@ CLASS="section" >


3. COPYING IN QUANTITY

3. COPYING IN QUANTITY

If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must @@ -606,7 +649,9 @@ CLASS="section" >


4. MODIFICATIONS

4. MODIFICATIONS

You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release @@ -742,7 +787,9 @@ CLASS="section" >


5. COMBINING DOCUMENTS

5. COMBINING DOCUMENTS

You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified @@ -771,7 +818,9 @@ CLASS="section" >


6. COLLECTIONS OF DOCUMENTS

6. COLLECTIONS OF DOCUMENTS

You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies @@ -790,7 +839,9 @@ CLASS="section" >


7. AGGREGATION WITH INDEPENDENT WORKS

7. AGGREGATION WITH INDEPENDENT WORKS

A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a @@ -812,7 +863,9 @@ CLASS="section" >


8. TRANSLATION

8. TRANSLATION

Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. @@ -830,7 +883,9 @@ CLASS="section" >


9. TERMINATION

9. TERMINATION

You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to @@ -845,7 +900,9 @@ CLASS="section" >


10. FUTURE REVISIONS OF THIS LICENSE

10. FUTURE REVISIONS OF THIS LICENSE

The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions @@ -873,13 +930,17 @@ CLASS="section" >


How to use this License for your documents

How to use this License for your documents

To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:

Copyright (c) YEAR YOUR NAME. Permission is granted to copy, @@ -908,7 +969,9 @@ CLASS="section" >


1.2. Disclaimer

1.2. Disclaimer

No liability for the contents of this document can be accepted. Use the concepts, examples, and other content at your own risk. @@ -956,7 +1019,9 @@ CLASS="section" >


1.3. New Versions

1.3. New Versions

This is the 2.16 version of The Bugzilla Guide. It is so named to match the current version of Bugzilla. If you are @@ -1022,7 +1087,9 @@ CLASS="section" >


1.4. Credits

1.4. Credits

The people listed below have made enormous contributions to the creation of this Guide, through their writing, dedicated hacking efforts, @@ -1097,13 +1164,17 @@ CLASS="section" >


1.5. Document Conventions

1.5. Document Conventions

This document uses the following conventions:


Chapter 2. Introduction

Chapter 2. Introduction

2.1. What is Bugzilla?

2.1. What is Bugzilla?

Bugzilla is a bug- or issue-tracking system. Bug-tracking systems allow individual or groups of developers effectively to keep track @@ -1526,7 +1601,9 @@ CLASS="section" >


2.2. Why Should We Use Bugzilla?

2.2. Why Should We Use Bugzilla?

For many years, defect-tracking software has remained principally the domain of large software development houses. Even then, most shops @@ -1598,13 +1675,17 @@ TARGET="_top" CLASS="chapter" >


Chapter 3. Using Bugzilla

Chapter 3. Using Bugzilla

3.1. How do I use Bugzilla?

3.1. How do I use Bugzilla?

This section contains information for end-users of Bugzilla. There is a Bugzilla test installation, called @@ -1623,7 +1704,9 @@ CLASS="section" >


3.1.1. Create a Bugzilla Account

3.1.1. Create a Bugzilla Account

If you want to use Bugzilla, first you need to create an account. Consult with the administrator responsible for your installation of @@ -1691,7 +1774,9 @@ CLASS="section" >


3.1.2. Anatomy of a Bug

3.1.2. Anatomy of a Bug

The core of Bugzilla is the screen which displays a particular bug. It's a good place to explain some Bugzilla concepts. @@ -1956,7 +2041,9 @@ CLASS="section" >


3.1.3. Searching for Bugs

3.1.3. Searching for Bugs

The Bugzilla Search page is is the interface where you can find any bug report, comment, or patch currently in the Bugzilla system. You @@ -1989,7 +2076,9 @@ CLASS="section" >


3.1.4. Bug Lists

3.1.4. Bug Lists

If you run a search, a list of matching bugs will be returned. The default search is to return all open bugs on the system - don't try @@ -2061,7 +2150,9 @@ CLASS="section" >


3.1.5. Filing Bugs

3.1.5. Filing Bugs

Years of bug writing experience has been distilled for your reading pleasure into the @@ -2120,7 +2211,9 @@ CLASS="section" >


3.2. Hints and Tips

3.2. Hints and Tips

This section distills some Bugzilla tips and best practices that have been developed.


3.2.1. Autolinkification

3.2.1. Autolinkification

Bugzilla comments are plain text - so posting HTML will result in literal HTML tags rather than being interpreted by a browser. @@ -2192,7 +2287,9 @@ CLASS="section" >


3.2.2. Quicksearch

3.2.2. Quicksearch

Quicksearch is a single-text-box query tool which uses metacharacters to indicate what is to be searched. For example, typing @@ -2223,7 +2320,9 @@ CLASS="section" >


3.2.3. Comments

3.2.3. Comments

If you are changing the fields on a bug, only comment if either you have something pertinent to say, or Bugzilla requires it. @@ -2245,7 +2344,9 @@ CLASS="section" >


3.2.4. Attachments

3.2.4. Attachments

Use attachments, rather than comments, for large chunks of ASCII data, such as trace, debugging output files, or log files. That way, it doesn't @@ -2269,7 +2370,9 @@ CLASS="section" >


3.2.5. Filing Bugs

3.2.5. Filing Bugs

Try to make sure that everything said in the summary is also said in the first comment. Summaries are often updated and this will @@ -2293,7 +2396,9 @@ CLASS="section" >


3.3. User Preferences

3.3. User Preferences

Once you have logged in, you can customise various aspects of Bugzilla via the "Edit prefs" link in the page footer. @@ -2303,7 +2408,9 @@ CLASS="section" >


3.3.1. Account Settings

3.3.1. Account Settings

On this tab, you can change your basic account information, including your password, email address and real name. For security @@ -2326,7 +2433,9 @@ CLASS="section" >


3.3.2. Email Settings

3.3.2. Email Settings

On this tab you can reduce or increase the amount of email sent you from Bugzilla, opting in our out depending on your relationship to @@ -2373,7 +2482,9 @@ CLASS="section" >


3.3.3. Page Footer

3.3.3. Page Footer

On the Search page, you can store queries in Bugzilla, so if you regularly run a particular query it is just a drop-down menu away. @@ -2385,7 +2496,9 @@ CLASS="section" >


3.3.4. Permissions

3.3.4. Permissions

This is a purely informative page which outlines your current permissions on this installation of Bugzilla - what product groups you @@ -2398,19 +2511,25 @@ NAME="permissionsettings">3.3.4. Permissions


Chapter 4. Installation

Chapter 4. Installation

4.1. Step-by-step Install

4.1. Step-by-step Install

4.1.1. Introduction

4.1.1. Introduction

Bugzilla has been successfully installed under Solaris, Linux, and Win32. Win32 is not yet officially supported, but many people @@ -2428,7 +2547,9 @@ CLASS="section" >


4.1.2. Package List

4.1.2. Package List


4.1.3. MySQL

4.1.3. MySQL

Visit the MySQL homepage at


4.1.4. Perl

4.1.4. Perl

Any machine that doesn't have Perl on it is a sad machine indeed. Perl can be got in source form from @@ -2925,7 +3050,9 @@ TARGET="_top" >


4.1.5. Perl Modules

4.1.5. Perl Modules

All Perl modules can be found on the @@ -3153,7 +3282,9 @@ CLASS="section" >


4.1.5.1. DBI

4.1.5.1. DBI

The DBI module is a generic Perl module used the MySQL-related modules. As long as your Perl installation was done @@ -3166,7 +3297,9 @@ CLASS="section" >


4.1.5.2. Data::Dumper

4.1.5.2. Data::Dumper

The Data::Dumper module provides data structure persistence for Perl (similar to Java's serialization). It comes with later @@ -3178,7 +3311,9 @@ CLASS="section" >


4.1.5.3. MySQL-related modules

4.1.5.3. MySQL-related modules

The Perl/MySQL interface requires a few mutually-dependent Perl modules. These modules are grouped together into the the @@ -3202,7 +3337,9 @@ CLASS="section" >


4.1.5.4. TimeDate modules

4.1.5.4. TimeDate modules

Many of the more common date/time/calendar related Perl modules have been grouped into a bundle similar to the MySQL modules bundle. @@ -3216,7 +3353,9 @@ CLASS="section" >


4.1.5.5. GD (optional)

4.1.5.5. GD (optional)

The GD library was written by Thomas Boutell a long while ago to programatically generate images in C. Since then it's become the @@ -3269,7 +3408,9 @@ CLASS="section" >


4.1.5.6. Chart::Base (optional)

4.1.5.6. Chart::Base (optional)

The Chart module provides Bugzilla with on-the-fly charting abilities. It can be installed in the usual fashion after it has been @@ -3282,7 +3423,9 @@ CLASS="section" >


4.1.5.7. Template Toolkit

4.1.5.7. Template Toolkit

When you install Template Toolkit, you'll get asked various questions about features to enable. The defaults are fine, except @@ -3298,7 +3441,9 @@ CLASS="section" >


4.1.6. HTTP Server

4.1.6. HTTP Server

You have a freedom of choice here - Apache, Netscape or any other server on UNIX would do. You can run the web server on a @@ -3472,7 +3617,9 @@ CLASS="section" >


4.1.7. Bugzilla

4.1.7. Bugzilla

You should untar the Bugzilla files into a directory that you're willing to make writable by the default web server user (probably @@ -3583,7 +3730,9 @@ CLASS="section" >


4.1.8. Setting Up the MySQL Database

4.1.8. Setting Up the MySQL Database

After you've gotten all the software installed and working you're ready to start preparing the database for its life as the back end to @@ -3754,7 +3903,9 @@ CLASS="section" >


4.1.9. 4.1.9. checksetup.pl


4.1.10. Securing MySQL

4.1.10. Securing MySQL

If you followed the installation instructions for setting up your "bugs" and "root" user in MySQL, much of this should not apply to you. @@ -4181,7 +4334,9 @@ CLASS="section" >


4.1.11. Configuring Bugzilla

4.1.11. Configuring Bugzilla

You should run through the parameters on the Edit Parameters page (link in the footer) and set them all to appropriate values. @@ -4197,13 +4352,17 @@ CLASS="section" >


4.2. Optional Additional Configuration

4.2. Optional Additional Configuration

4.2.1. Dependency Charts

4.2.1. Dependency Charts

As well as the text-based dependency graphs, Bugzilla also supports dependency graphing, using a package called 'dot'. @@ -4265,7 +4424,9 @@ CLASS="section" >


4.2.2. Bug Graphs

4.2.2. Bug Graphs

As long as you installed the GD and Graph::Base Perl modules you might as well turn on the nifty Bugzilla bug reporting graphs.


4.2.3. The Whining Cron

4.2.3. The Whining Cron

By now you have a fully functional Bugzilla, but what good are bugs if they're not annoying? To help make those bugs more annoying you @@ -4408,7 +4571,9 @@ CLASS="section" >


4.2.4. LDAP Authentication

4.2.4. LDAP Authentication


4.2.5. Preventing untrusted Bugzilla content from executing malicious +NAME="content-type" +>4.2.5. Preventing untrusted Bugzilla content from executing malicious Javascript code

It is possible for a Bugzilla to execute malicious Javascript @@ -4569,7 +4736,9 @@ CLASS="section" >


4.2.6. 4.2.6. .htaccess @@ -4739,7 +4908,9 @@ CLASS="section" >

4.2.7. 4.2.7. mod_throttle @@ -4788,7 +4959,9 @@ CLASS="section" >

4.3. Win32 Installation Notes

4.3. Win32 Installation Notes

This section covers installation on Microsoft Windows. Bugzilla has been made to work on Win32 platforms, but the Bugzilla team @@ -4865,7 +5038,9 @@ CLASS="section" >


4.3.1. Win32 Installation: Step-by-step

4.3.1. Win32 Installation: Step-by-step

Example 4-1. Installing ActivePerl ppd Modules on Microsoft Windows

Example 4-2. Installing OpenInteract ppd Modules manually on Microsoft Windows


4.3.2. Additional Windows Tips

4.3.2. Additional Windows Tips

From Andrew Pearson:

You can make Bugzilla work with Personal Web Server for @@ -6379,7 +6562,9 @@ VALIGN="TOP"

Example 4-3. Removing encrypt() for Windows NT Bugzilla version 2.12 or earlier


4.4. Mac OS X Installation Notes

4.4. Mac OS X Installation Notes

There are a lot of common libraries and utilities out there that Apple did not include with Mac OS X, but which run perfectly well on it. @@ -6561,7 +6748,9 @@ CLASS="section" >


4.5. Troubleshooting

4.5. Troubleshooting

This section gives solutions to common Bugzilla installation problems. @@ -6571,7 +6760,9 @@ CLASS="section" >


4.5.1. Bundle::Bugzilla makes me upgrade to Perl 5.6.1

4.5.1. Bundle::Bugzilla makes me upgrade to Perl 5.6.1

Try executing


4.5.2. DBD::Sponge::db prepare failed

4.5.2. DBD::Sponge::db prepare failed

The following error message may appear due to a bug in DBD::mysql (over which the Bugzilla team have no control): @@ -6678,7 +6871,9 @@ CLASS="section" >


4.5.3. cannot chdir(/var/spool/mqueue)

4.5.3. cannot chdir(/var/spool/mqueue)

If you are installing Bugzilla on SuSE Linux, or some other distributions with @@ -6735,13 +6930,17 @@ CLASS="filename" CLASS="chapter" >


Chapter 5. Administering Bugzilla

Chapter 5. Administering Bugzilla

5.1. Bugzilla Configuration

5.1. Bugzilla Configuration

Bugzilla is configured by changing various parameters, accessed from the "Edit parameters" link in the page footer. Here are @@ -7041,13 +7240,17 @@ CLASS="section" >


5.2. User Administration

5.2. User Administration

5.2.1. Creating the Default User

5.2.1. Creating the Default User

When you first run checksetup.pl after installing Bugzilla, it will prompt you for the administrative username (email address) and @@ -7139,13 +7342,17 @@ CLASS="section" >


5.2.2. Managing Other Users

5.2.2. Managing Other Users

5.2.2.1. Creating new users

5.2.2.1. Creating new users

Your users can create their own user accounts by clicking the "New Account" link at the bottom of each page (assuming they @@ -7216,7 +7423,9 @@ CLASS="section" >


5.2.2.2. Modifying Users

5.2.2.2. Modifying Users

To see a specific user, search for their login name in the box provided on the "Edit Users" page. To see all users, @@ -7445,13 +7654,17 @@ CLASS="section" >


5.3. Product, Component, Milestone, and Version Administration

5.3. Product, Component, Milestone, and Version Administration

5.3.1. Products

5.3.1. Products


5.3.2. Components

5.3.2. Components

Components are subsections of a Product. E.g. the computer game you are designing may have a "UI" @@ -7558,7 +7773,9 @@ CLASS="section" >


5.3.3. Versions

5.3.3. Versions

Versions are the revisions of the product, such as "Flinders 3.1", "Flinders 95", and "Flinders 2000". Version is not a multi-select @@ -7592,7 +7809,9 @@ CLASS="section" >


5.3.4. Milestones

5.3.4. Milestones

Milestones are "targets" that you plan to get a bug fixed by. For example, you have a bug that you plan to fix for your 3.0 release, it @@ -7693,7 +7912,9 @@ CLASS="section" >


5.4. Voting

5.4. Voting

Voting allows users to be given a pot of votes which they can allocate to bugs, to indicate that they'd like them fixed. @@ -7753,7 +7974,9 @@ CLASS="section" >


5.5. Groups and Group Security

5.5. Groups and Group Security

Groups allow the administrator to isolate bugs or products that should only be seen by certain people. @@ -7894,7 +8117,9 @@ CLASS="section" >


5.6. Bugzilla Security

5.6. Bugzilla Security


5.7. Template Customisation

5.7. Template Customisation

One of the large changes for 2.16 was the templatisation of the entire user-facing UI, using the @@ -8201,7 +8428,9 @@ CLASS="section" >


5.7.1. What to Edit

5.7.1. What to Edit

There are two different ways of editing of Bugzilla's templates, and which you use depends mainly on how you upgrade Bugzilla. The @@ -8314,7 +8543,9 @@ CLASS="section" >


5.7.2. How To Edit Templates

5.7.2. How To Edit Templates

The syntax of the Template Toolkit language is beyond the scope of this guide. It's reasonably easy to pick up by looking at the current @@ -8394,7 +8625,9 @@ CLASS="section" >


5.7.3. Template Formats

5.7.3. Template Formats

Some CGIs have the ability to use more than one template. For example, buglist.cgi can output bug lists as RDF or two @@ -8454,7 +8687,9 @@ CLASS="section" >


5.7.4. Particular Templates

5.7.4. Particular Templates

There are a few templates you may be particularly interested in customising for your installation. @@ -8627,159 +8862,628 @@ CLASS="section" >


5.8. Upgrading to New Releases

5.8. Upgrading to New Releases

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 cvs -z3 update, - 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.

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 customised - version against the original, so you can survey all that you've changed. - Hopefully, templatisation will reduce the need for - this in the future.

From version 2.8 onwards, 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 - checksetup.pl - script whenever you upgrade your installation.

  • 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.


5.9. Integrating Bugzilla with Third-Party Tools

5.9.1. Bonsai

If the new version is a revision or a new point release

  • Bonsai is a web-based tool for managing - CVS, the Concurrent Versioning System - - . Using Bonsai, administrators can control open/closed status of trees, - query a fast relational database back-end for change, branch, and comment - information, and view changes made since the last time the tree was - closed. Bonsai - also integrates with - Tinderbox, the Mozilla automated build management system. +>How many, if any, local changes have been made

  • There are also three different methods to upgrade your installation.


    5.9.2. CVS

    CVS integration is best accomplished, at this point, using the - Bugzilla Email Gateway.

    1. Follow the instructions in this Guide for enabling Bugzilla e-mail - integration. Ensure that your check-in script sends an email to your - Bugzilla e-mail gateway with the subject of - "[Bug XXXX]", - and you can have CVS check-in comments append to your Bugzilla bug. If - you have your check-in script include an @resolution field, you can even - change the Bugzilla bug state.

      Using CVS (Example 5-1)

    2. There is also a CVSZilla project, based upon somewhat dated - Bugzilla code, to integrate CVS and Bugzilla through CVS' ability to - email. Check it out at: - http://homepages.kcbbs.gen.nz/~tonyg/. +>Downloading a new tarball (Example 5-2)

    3. Applying the relevant patches (Example 5-3)

    Which options are available to you may depend on how large a jump + you are making and/or your network configuration.


    5.9.3. Perforce SCM

    You can find the project page for Bugzilla and Teamtrack Perforce - integration (p4dti) at: - http://www.ravenbrook.com/project/p4dti - - . - "p4dti" - - is now an officially supported product from Perforce, and you can find - the "Perforce Public Depot" p4dti page at - http://public.perforce.com/public/perforce/p4dti/index.html - - .

    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. +

    Integration of Perforce with Bugzilla, once patches are applied, is - seamless. Perforce replication information will appear below the comments - of each bug. Be certain you have a matching set of patches for the - Bugzilla version you are installing. p4dti is designed to support - multiple defect trackers, and maintains its own documentation for it. - Please consult the pages linked above for further information.

    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. +

    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. +

    These examples also assume that your Bugzilla installation is at + /var/www/html/bugzilla. If that is not the case, + simply substitute the proper paths where appropriate. +


    5.9.4. Tinderbox/Tinderbox2

    We need Tinderbox integration information.

    Example 5-1. Upgrading using CVS

    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. + +

    If you can do this, updating using CVS is probably the most + painless method, especially if you have a lot of local changes. +

    +

    
bash$ cd /var/www/html/bugzilla
    +bash$ cvs login
    +Logging in to :pserver:anonymous@cvs-mirror.mozilla.org:2401/cvsroot
    +CVS password: anonymous
    +bash$ cvs -q update -r BUGZILLA-2_16_2 -dP
    +P checksetup.pl
    +P collectstats.pl
    +P globals.pl
    +P docs/rel_notes.txt
    +P template/en/default/list/quips.html.tmpl
    +      

    If a line in the output from cvs update + begins with a C 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. +

    + +

    You also need to run ./checksetup.pl + before your Bugzilla upgrade will be complete. +

    +

    Example 5-2. Upgrading using the tarball

    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. +

    
bash$ cd /var/www/html
    +bash$ wget ftp://ftp.mozilla.org/pub/webtools/bugzilla-2.16.2.tar.gz
    +Output omitted
    +bash$ tar xzvf bugzilla-2.16.2.tar.gz
    +bugzilla-2.16.2/
    +bugzilla-2.16.2/.cvsignore
    +bugzilla-2.16.2/1x1.gif
    +Output truncated
    +bash$ cd bugzilla-2.16.2
    +bash$ cp ../bugzilla/localconfig* .
    +bash$ cp -r ../bugzilla/data .
    +bash$ cd ..
    +bash$ mv bugzilla bugzilla.old
    +bash$ mv bugzilla-2.16.2 bugzilla
    +bash$ cd bugzilla
    +bash$ ./checksetup.pl
    +Output omitted
    +      

    The cp 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 ./checksetup.pl is important and + can not be omitted. +

    + +

    You will now have to reapply any changes you have made to your + local installation manually. +

    +

    Example 5-3. Upgrading using patches

    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. +

    
bash$ cd /var/www/html/bugzilla
    +bash$ wget ftp://ftp.mozilla.org/pub/webtools/bugzilla-2.16.1-to-2.16.2.diff.gz
    +Output omitted
    +bash$ gunzip bugzilla-2.16.1-to-2.16.2.diff.gz
    +bash$ patch -p1 < bugzilla-2.16.1-to-2.16.2.diff
    +patching file checksetup.pl
    +patching file collectstats.pl
    +patching file globals.pl
    +      

    If you do this, beware that this doesn't change the entires in + your CVS directory so it may make + updates using CVS (Example 5-1) more difficult in the + future. +

    +


    5.9. Integrating Bugzilla with Third-Party Tools

    5.9.1. Bonsai

    Bonsai is a web-based tool for managing + CVS, the Concurrent Versioning System + + . Using Bonsai, administrators can control open/closed status of trees, + query a fast relational database back-end for change, branch, and comment + information, and view changes made since the last time the tree was + closed. Bonsai + also integrates with + Tinderbox, the Mozilla automated build management system. +


    5.9.2. CVS

    CVS integration is best accomplished, at this point, using the + Bugzilla Email Gateway.

    Follow the instructions in this Guide for enabling Bugzilla e-mail + integration. Ensure that your check-in script sends an email to your + Bugzilla e-mail gateway with the subject of + "[Bug XXXX]", + and you can have CVS check-in comments append to your Bugzilla bug. If + you have your check-in script include an @resolution field, you can even + change the Bugzilla bug state.

    There is also a CVSZilla project, based upon somewhat dated + Bugzilla code, to integrate CVS and Bugzilla through CVS' ability to + email. Check it out at: + http://homepages.kcbbs.gen.nz/~tonyg/. +


    5.9.3. Perforce SCM

    You can find the project page for Bugzilla and Teamtrack Perforce + integration (p4dti) at: + http://www.ravenbrook.com/project/p4dti + + . + "p4dti" + + is now an officially supported product from Perforce, and you can find + the "Perforce Public Depot" p4dti page at + http://public.perforce.com/public/perforce/p4dti/index.html + + .

    Integration of Perforce with Bugzilla, once patches are applied, is + seamless. Perforce replication information will appear below the comments + of each bug. Be certain you have a matching set of patches for the + Bugzilla version you are installing. p4dti is designed to support + multiple defect trackers, and maintains its own documentation for it. + Please consult the pages linked above for further information.


    5.9.4. Tinderbox/Tinderbox2

    We need Tinderbox integration information.


    Appendix A. The Bugzilla FAQ

    Appendix A. The Bugzilla FAQ

    This FAQ includes questions not covered elsewhere in the Guide.

    A.1.1. Where can I find information about Bugzilla?
    A.1.2. What license is Bugzilla distributed under?
    A.1.3. How do I get commercial support for Bugzilla?
    A.1.4. What major companies or projects are currently using Bugzilla for bug-tracking?
    A.1.5. Who maintains Bugzilla?
    A.1.6. How does Bugzilla stack up against other bug-tracking databases?
    A.1.7. Why doesn't Bugzilla offer this or that feature or compatability with this other tracking software?
    A.1.8. Why MySQL? I'm interested in seeing Bugzilla run on Oracle/Sybase/Msql/PostgreSQL/MSSQL.
    A.1.9. Why do the scripts say "/usr/bonsaitools/bin/perl" instead of "/usr/bin/perl" or something else?
    A.1.10. Is there an easy way to change the Bugzilla cookie name?
    A.2.1. Is Bugzilla web-based, or do you have to have specific software or a specific operating system on your machine?
    A.2.2. Can Bugzilla integrate with Perforce (SCM software)?
    A.2.3. Does Bugzilla allow the user to track multiple projects?
    A.2.4. If I am on many projects, and search for all bugs assigned to me, will Bugzilla list them for me and allow me to sort by project, severity etc?
    A.2.5. Does Bugzilla allow attachments (text, screenshots, URLs etc)? If yes, are there any that are NOT allowed?
    A.2.6. Does Bugzilla allow us to define our own priorities and levels? Do we have complete freedom to change the labels of fields and format of them, and the choice of acceptable values? @@ -8909,35 +9613,35 @@ HREF="#AEN1758" >
    A.2.7. Does Bugzilla provide any reporting features, metrics, graphs, etc? You know, the type of stuff that management likes to see. :)
    A.2.8. Is there email notification and if so, what do you see when you get an email?
    A.2.9. Can email notification be set up to send to multiple people, some on the To List, CC List, BCC List etc?
    A.2.10. Do users have to have any particular type of email application?
    A.2.11. Does Bugzilla allow data to be imported and exported? If I had outsiders write up a bug report using a MS Word bug template, could that template be imported into "matching" fields? If I wanted to take the results of a query @@ -8946,28 +9650,28 @@ HREF="#AEN1789" >
    A.2.12. Has anyone converted Bugzilla to another language to be used in other countries? Is it localizable?
    A.2.13. Can a user create and save reports? Can they do this in Word format? Excel format?
    A.2.14. Does Bugzilla have the ability to search by word, phrase, compound search?
    A.2.15. Does Bugzilla provide record locking when there is simultaneous access to the same bug? Does the second person get a notice that the bug is in use or how are they notified? @@ -8975,19 +9679,19 @@ HREF="#AEN1812" >
    A.2.16. Are there any backup features provided?
    A.2.17. Can users be on the system while a backup is in progress?
    A.2.18. What type of human resources are needed to be on staff to install and maintain Bugzilla? Specifically, what type of skills does the person need to have? I need to find out if we were to go with Bugzilla, what types of @@ -8997,7 +9701,7 @@ HREF="#AEN1828" >
    A.2.19. What time frame are we looking at if we decide to hire people to install and maintain the Bugzilla? Is this something that takes hours or weeks to install and a couple of hours per week to maintain and customize or is this @@ -9007,7 +9711,7 @@ HREF="#AEN1834" >
    A.2.20. Is there any licensing fee or other fees for using Bugzilla? Any out-of-pocket cost other than the bodies needed as identified above?
    A.3.1. How do I completely disable MySQL security if it's giving me problems (I've followed the instructions in the installation section of this guide)?
    A.3.2. Are there any security problems with Bugzilla?
    A.3.3. I've implemented the security fixes mentioned in Chris Yeh's security advisory of 5/10/2000 advising not to run MySQL as root, and am running into problems with MySQL no longer working correctly. @@ -9053,48 +9757,48 @@ HREF="#faq-email" >
    A.4.1. I have a user who doesn't want to receive any more email from Bugzilla. How do I stop it entirely for this user?
    A.4.2. I'm evaluating/testing Bugzilla, and don't want it to send email to anyone but me. How do I do it?
    A.4.3. I want whineatnews.pl to whine at something more, or other than, only new bugs. How do I do it?
    A.4.4. I don't like/want to use Procmail to hand mail off to bug_email.pl. What alternatives do I have?
    A.4.5. How do I set up the email interface to submit/change bugs via email?
    A.4.6. Email takes FOREVER to reach me from Bugzilla -- it's extremely slow. What gives?
    A.4.7. How come email from Bugzilla changes never reaches me?
    A.5.1. I've heard Bugzilla can be used with Oracle?
    A.5.2. I think my database might be corrupted, or contain invalid entries. What do I do?
    A.5.3. I want to manually edit some entries in my database. How?
    A.5.4. I try to add myself as a user, but Bugzilla always tells me my password is wrong.
    A.5.5. I think I've set up MySQL permissions correctly, but Bugzilla still can't connect.
    A.5.6. How do I synchronize bug information among multiple different Bugzilla databases?
    A.6.1. What is the easiest way to run Bugzilla on Win32 (Win98+/NT/2K)?
    A.6.2. Is there a "Bundle::Bugzilla" equivalent for Win32?
    A.6.3. CGI's are failing with a "something.cgi is not a valid Windows NT application" error. Why?
    A.6.4. I'm having trouble with the perl modules for NT not being able to talk to to the database.
    A.7.1. How do I change my user name (email address) in Bugzilla?
    A.7.2. The query page is very confusing. Isn't there a simpler way to query?
    A.7.3. I'm confused by the behavior of the "accept" button in the Show Bug form. Why doesn't it assign the bug to me when I accept it?
    A.7.4. I can't upload anything into the database via the "Create Attachment" link. What am I doing wrong?
    A.7.5. Email submissions to Bugzilla that have attachments end up asking me to save it as a "cgi" file.
    A.7.6. How do I change a keyword in Bugzilla, once some bugs are using it?
    A.8.1. What bugs are in Bugzilla right now?
    A.8.2. How can I change the default priority to a null value? For instance, have the default priority be "---" instead of "P2"?
    A.8.3. What's the best way to submit patches? What guidelines should I follow?

    1. General Questions

    1. General Questions

    A.1.1. Where can I find information about Bugzilla?

    A.1.2. What license is Bugzilla distributed under? @@ -9324,7 +10034,9 @@ CLASS="qandaentry" CLASS="question" >

    A.1.3. How do I get commercial support for Bugzilla? @@ -9359,7 +10071,9 @@ CLASS="qandaentry" CLASS="question" >

    A.1.4. What major companies or projects are currently using Bugzilla @@ -9467,7 +10181,9 @@ CLASS="qandaentry" CLASS="question" >

    A.1.5. Who maintains Bugzilla? @@ -9495,7 +10211,9 @@ CLASS="qandaentry" CLASS="question" >

    A.1.6. How does Bugzilla stack up against other bug-tracking databases? @@ -9531,7 +10249,9 @@ CLASS="qandaentry" CLASS="question" >

    A.1.7. Why doesn't Bugzilla offer this or that feature or compatability @@ -9569,7 +10289,9 @@ CLASS="qandaentry" CLASS="question" >

    A.1.8. Why MySQL? I'm interested in seeing Bugzilla run on @@ -9593,7 +10315,9 @@ CLASS="qandaentry" CLASS="question" >

    A.1.9. Why do the scripts say "/usr/bonsaitools/bin/perl" instead of @@ -9624,7 +10348,9 @@ CLASS="qandaentry" CLASS="question" >

    A.1.10. Is there an easy way to change the Bugzilla cookie name? @@ -9645,7 +10371,9 @@ CLASS="answer" CLASS="qandadiv" >

    2. Managerial Questions

    2. Managerial Questions

    A.2.1. Is Bugzilla web-based, or do you have to have specific software or @@ -9706,7 +10436,9 @@ CLASS="qandaentry" CLASS="question" >

    A.2.2. Can Bugzilla integrate with @@ -9730,7 +10462,9 @@ CLASS="qandaentry" CLASS="question" >

    A.2.3. Does Bugzilla allow the user to track multiple projects? @@ -9755,7 +10489,9 @@ CLASS="qandaentry" CLASS="question" >

    A.2.4. If I am on many projects, and search for all bugs assigned to me, will @@ -9778,7 +10514,9 @@ CLASS="qandaentry" CLASS="question" >

    A.2.5. Does Bugzilla allow attachments (text, screenshots, URLs etc)? If yes, @@ -9805,7 +10543,9 @@ CLASS="qandaentry" CLASS="question" >

    A.2.6. Does Bugzilla allow us to define our own priorities and levels? Do we @@ -9840,7 +10580,9 @@ CLASS="qandaentry" CLASS="question" >

    A.2.7. Does Bugzilla provide any reporting features, metrics, graphs, etc? You @@ -9876,7 +10618,9 @@ CLASS="qandaentry" CLASS="question" >

    A.2.8. Is there email notification and if so, what do you see when you get an @@ -9901,7 +10645,9 @@ CLASS="qandaentry" CLASS="question" >

    A.2.9. Can email notification be set up to send to multiple @@ -9924,7 +10670,9 @@ CLASS="qandaentry" CLASS="question" >

    A.2.10. Do users have to have any particular @@ -9981,7 +10729,9 @@ CLASS="qandaentry" CLASS="question" >

    A.2.11. Does Bugzilla allow data to be imported and exported? If I had outsiders @@ -10026,7 +10776,9 @@ CLASS="qandaentry" CLASS="question" >

    A.2.12. Has anyone converted Bugzilla to another language to be used in other @@ -10052,7 +10804,9 @@ CLASS="qandaentry" CLASS="question" >

    A.2.13. Can a user create and save reports? Can they do this in Word format? @@ -10075,7 +10829,9 @@ CLASS="qandaentry" CLASS="question" >

    A.2.14. Does Bugzilla have the ability to search by word, phrase, compound @@ -10099,7 +10855,9 @@ CLASS="qandaentry" CLASS="question" >

    A.2.15. Does Bugzilla provide record locking when there is simultaneous access @@ -10124,7 +10882,9 @@ CLASS="qandaentry" CLASS="question" >

    A.2.16. Are there any backup features provided? @@ -10152,7 +10912,9 @@ CLASS="qandaentry" CLASS="question" >

    A.2.17. Can users be on the system while a backup is in progress? @@ -10176,7 +10938,9 @@ CLASS="qandaentry" CLASS="question" >

    A.2.18. What type of human resources are needed to be on staff to install and @@ -10209,7 +10973,9 @@ CLASS="qandaentry" CLASS="question" >

    A.2.19. What time frame are we looking at if we decide to hire people to install @@ -10240,7 +11006,9 @@ CLASS="qandaentry" CLASS="question" >

    A.2.20. Is there any licensing fee or other fees for using Bugzilla? Any @@ -10263,14 +11031,18 @@ CLASS="answer" CLASS="qandadiv" >

    3. Bugzilla Security

    3. Bugzilla Security

    A.3.1. How do I completely disable MySQL security if it's giving me problems @@ -10297,7 +11069,9 @@ CLASS="qandaentry" CLASS="question" >

    A.3.2. Are there any security problems with Bugzilla? @@ -10323,7 +11097,9 @@ CLASS="qandaentry" CLASS="question" >

    A.3.3. I've implemented the security fixes mentioned in Chris Yeh's security @@ -10348,14 +11124,18 @@ CLASS="answer" CLASS="qandadiv" >

    4. Bugzilla Email

    4. Bugzilla Email

    A.4.1. I have a user who doesn't want to receive any more email from Bugzilla. @@ -10379,7 +11159,9 @@ CLASS="qandaentry" CLASS="question" >

    A.4.2. I'm evaluating/testing Bugzilla, and don't want it to send email to @@ -10403,7 +11185,9 @@ CLASS="qandaentry" CLASS="question" >

    A.4.3. I want whineatnews.pl to whine at something more, or other than, only new @@ -10433,7 +11217,9 @@ CLASS="qandaentry" CLASS="question" >

    A.4.4. I don't like/want to use Procmail to hand mail off to bug_email.pl. @@ -10449,7 +11235,9 @@ CLASS="answer" You can call bug_email.pl directly from your aliases file, with an entry like this:

    bugzilla-daemon: "|/usr/local/bin/bugzilla/contrib/bug_email.pl" @@ -10468,7 +11256,9 @@ CLASS="qandaentry" CLASS="question" >

    A.4.5. How do I set up the email interface to submit/change bugs via email? @@ -10491,7 +11281,9 @@ CLASS="qandaentry" CLASS="question" >

    A.4.6. Email takes FOREVER to reach me from Bugzilla -- it's extremely slow. @@ -10524,7 +11316,9 @@ CLASS="qandaentry" CLASS="question" >

    A.4.7. How come email from Bugzilla changes never reaches me? @@ -10553,14 +11347,18 @@ CLASS="answer" CLASS="qandadiv" >

    5. Bugzilla Database

    5. Bugzilla Database

    A.5.1. I've heard Bugzilla can be used with Oracle? @@ -10585,7 +11383,9 @@ CLASS="qandaentry" CLASS="question" >

    A.5.2. I think my database might be corrupted, or contain invalid entries. What @@ -10630,7 +11430,9 @@ CLASS="qandaentry" CLASS="question" >

    A.5.3. I want to manually edit some entries in my database. How? @@ -10657,7 +11459,9 @@ CLASS="qandaentry" CLASS="question" >

    A.5.4. I try to add myself as a user, but Bugzilla always tells me my password is wrong. @@ -10681,7 +11485,9 @@ CLASS="qandaentry" CLASS="question" >

    A.5.5. I think I've set up MySQL permissions correctly, but Bugzilla still can't @@ -10708,7 +11514,9 @@ CLASS="qandaentry" CLASS="question" >

    A.5.6. How do I synchronize bug information among multiple different Bugzilla @@ -10743,14 +11551,18 @@ CLASS="answer" CLASS="qandadiv" >

    6. Bugzilla and Win32

    6. Bugzilla and Win32

    A.6.1. What is the easiest way to run Bugzilla on Win32 (Win98+/NT/2K)? @@ -10773,7 +11585,9 @@ CLASS="qandaentry" CLASS="question" >

    A.6.2. Is there a "Bundle::Bugzilla" equivalent for Win32? @@ -10797,7 +11611,9 @@ CLASS="qandaentry" CLASS="question" >

    A.6.3. CGI's are failing with a "something.cgi is not a valid Windows NT @@ -10818,7 +11634,9 @@ CLASS="answer" >

    Microsoft has some advice on this matter, as well:

    "Set application mappings. In the ISM, map the extension for the script @@ -10841,7 +11659,9 @@ CLASS="qandaentry" CLASS="question" >

    A.6.4. I'm having trouble with the perl modules for NT not being able to talk to @@ -10907,14 +11727,18 @@ TARGET="_top" CLASS="qandadiv" >

    7. Bugzilla Usage

    7. Bugzilla Usage

    A.7.1. How do I change my user name (email address) in Bugzilla? @@ -10937,7 +11761,9 @@ CLASS="qandaentry" CLASS="question" >

    A.7.2. The query page is very confusing. Isn't there a simpler way to query? @@ -10961,7 +11787,9 @@ CLASS="qandaentry" CLASS="question" >

    A.7.3. I'm confused by the behavior of the "accept" button in the Show Bug form. @@ -11014,7 +11842,9 @@ CLASS="qandaentry" CLASS="question" >

    A.7.4. I can't upload anything into the database via the "Create Attachment" @@ -11039,7 +11869,9 @@ CLASS="qandaentry" CLASS="question" >

    A.7.5. Email submissions to Bugzilla that have attachments end up asking me to @@ -11064,7 +11896,9 @@ CLASS="qandaentry" CLASS="question" >

    A.7.6. How do I change a keyword in Bugzilla, once some bugs are using it? @@ -11087,14 +11921,18 @@ CLASS="answer" CLASS="qandadiv" >

    8. Bugzilla Hacking

    8. Bugzilla Hacking

    A.8.1. What bugs are in Bugzilla right now? @@ -11138,7 +11976,9 @@ CLASS="qandaentry" CLASS="question" >

    A.8.2. How can I change the default priority to a null value? For instance, have the default @@ -11168,7 +12008,9 @@ CLASS="qandaentry" CLASS="question" >

    A.8.3. What's the best way to submit patches? What guidelines should I follow? @@ -11243,7 +12085,9 @@ TARGET="_top" CLASS="appendix" >


    Appendix B. The Bugzilla Database

    Appendix B. The Bugzilla Database


    B.1. Database Schema Chart

    B.1. Database Schema Chart


    B.2. MySQL Bugzilla Database Introduction

    B.2. MySQL Bugzilla Database Introduction

    This information comes straight from my life. I was forced to learn how Bugzilla organizes database because of nitpicky requests from users @@ -11358,7 +12206,9 @@ CLASS="section" >


    B.2.1. Bugzilla Database Basics

    B.2.1. Bugzilla Database Basics

    If you were like me, at this point you're totally clueless about the internals of MySQL, and if it weren't for this executive order from @@ -11472,7 +12322,9 @@ CLASS="section" >


    B.2.1.1. Bugzilla Database Tables

    B.2.1.1. Bugzilla Database Tables

    Imagine your MySQL database as a series of spreadsheets, and you won't be too far off. If you use this command:


    Appendix C. Useful Patches and Utilities for Bugzilla

    Appendix C. Useful Patches and Utilities for Bugzilla

    Are you looking for a way to put your Bugzilla into overdrive? Catch some of the niftiest tricks here in this section.


    C.1. Apache +NAME="rewrite" +>C.1. Apache mod_rewrite

    C.2. Command-line Bugzilla Queries

    C.2. Command-line Bugzilla Queries

    There are a suite of Unix utilities for querying Bugzilla from the command line. They live in the @@ -11870,7 +12728,9 @@ CLASS="command" CLASS="appendix" >


    Appendix D. Bugzilla Variants and Competitors

    Appendix D. Bugzilla Variants and Competitors

    I created this section to answer questions about Bugzilla competitors and variants, then found a wonderful site which covers an awful lot of what @@ -11887,7 +12747,9 @@ CLASS="section" >


    D.1. Red Hat Bugzilla

    D.1. Red Hat Bugzilla

    Red Hat Bugzilla is a fork of Bugzilla 2.8. One of its major benefits is the ability @@ -11909,7 +12771,9 @@ CLASS="section" >


    D.2. Loki Bugzilla (Fenris)

    D.2. Loki Bugzilla (Fenris)

    Fenris was a fork from Bugzilla made by Loki Games; when Loki went into receivership, it died. While Loki's other code lives on, @@ -11921,7 +12785,9 @@ CLASS="section" >


    D.3. Issuezilla

    D.3. Issuezilla

    Issuezilla was another fork from Bugzilla, made by collab.net and hosted at tigris.org. It is also dead; the primary focus of bug-tracking @@ -11936,7 +12802,9 @@ CLASS="section" >


    D.4. Scarab

    D.4. Scarab

    Scarab is a new open source bug-tracking system built using Java Serlet technology. It is currently at version 1.0 beta 8.


    D.5. Perforce SCM

    D.5. Perforce SCM

    Although Perforce isn't really a bug tracker, it can be used as such through the


    D.6. SourceForge

    D.6. SourceForge

    SourceForge is a way of coordinating geographically distributed free software and open source projects over the Internet. @@ -11996,13 +12868,17 @@ TARGET="_top" CLASS="GLOSSARY" >

    Glossary

    Glossary

    0-9, high ascii

    0-9, high ascii

    A

    A

    B

    B

    Component
    CPAN

    D

    D

    M

    M

    P

    P

    Q

    Q

    S

    S

    T

    T
    Target Milestone

    Z

    Z
    Zarro Boogs Found

    Chapter 5. Administering Bugzilla

    Chapter 5. Administering Bugzilla

    The Bugzilla Guide

    The Bugzilla Guide

    Matthew P. Barnson

    Matthew P. Barnson

    The Bugzilla Team

    The Bugzilla Team

    This is the documentation for Bugzilla, the mozilla.org @@ -373,6 +383,21 @@ HREF="win32.html#AEN1184" >Removing encrypt() for Windows NT Bugzilla version 2.12 or earlier

    5-1. Upgrading using CVS
    5-2. Upgrading using the tarball
    5-3. Upgrading using patches

    5.8. Upgrading to New Releases

    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 cvs -z3 update, - and resolve conflicts if there are any. +NAME="upgrading" +>5.8. Upgrading to New Releases

    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. +

    There are also three different methods to upgrade your installation. +

    1. Using CVS (Example 5-1)

    2. Downloading a new tarball (Example 5-2)

    3. Applying the relevant patches (Example 5-3)

    Which options are available to you may depend on how large a jump + you are making and/or your network configuration. +

    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. +

    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. +

    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.

    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 customised - version against the original, so you can survey all that you've changed. - Hopefully, templatisation will reduce the need for - this in the future.

    From version 2.8 onwards, 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 checksetup.pl - script whenever you upgrade your installation.

    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.

    /var/www/html/bugzilla. If that is not the case, + simply substitute the proper paths where appropriate. +

    Example 5-1. Upgrading using CVS

    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. + +

    If you can do this, updating using CVS is probably the most + painless method, especially if you have a lot of local changes. +

    +

    
bash$ cd /var/www/html/bugzilla
    +bash$ cvs login
    +Logging in to :pserver:anonymous@cvs-mirror.mozilla.org:2401/cvsroot
    +CVS password: anonymous
    +bash$ cvs -q update -r BUGZILLA-2_16_2 -dP
    +P checksetup.pl
    +P collectstats.pl
    +P globals.pl
    +P docs/rel_notes.txt
    +P template/en/default/list/quips.html.tmpl
    +      

    If a line in the output from cvs update + begins with a C 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. +

    + +

    You also need to run ./checksetup.pl + before your Bugzilla upgrade will be complete. +

    +

    Example 5-2. Upgrading using the tarball

    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. +

    
bash$ cd /var/www/html
    +bash$ wget ftp://ftp.mozilla.org/pub/webtools/bugzilla-2.16.2.tar.gz
    +Output omitted
    +bash$ tar xzvf bugzilla-2.16.2.tar.gz
    +bugzilla-2.16.2/
    +bugzilla-2.16.2/.cvsignore
    +bugzilla-2.16.2/1x1.gif
    +Output truncated
    +bash$ cd bugzilla-2.16.2
    +bash$ cp ../bugzilla/localconfig* .
    +bash$ cp -r ../bugzilla/data .
    +bash$ cd ..
    +bash$ mv bugzilla bugzilla.old
    +bash$ mv bugzilla-2.16.2 bugzilla
    +bash$ cd bugzilla
    +bash$ ./checksetup.pl
    +Output omitted
    +      

    The cp 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 ./checksetup.pl is important and + can not be omitted. +

    + +

    You will now have to reapply any changes you have made to your + local installation manually. +

    +

    Example 5-3. Upgrading using patches

    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. +

    
bash$ cd /var/www/html/bugzilla
    +bash$ wget ftp://ftp.mozilla.org/pub/webtools/bugzilla-2.16.1-to-2.16.2.diff.gz
    +Output omitted
    +bash$ gunzip bugzilla-2.16.1-to-2.16.2.diff.gz
    +bash$ patch -p1 < bugzilla-2.16.1-to-2.16.2.diff
    +patching file checksetup.pl
    +patching file collectstats.pl
    +patching file globals.pl
    +      

    If you do this, beware that this doesn't change the entires in + your CVS directory so it may make + updates using CVS (Example 5-1) more difficult in the + future. +

    +