From edbb0a3a80e5c78ed0f1b144a2f798fbd07c4972 Mon Sep 17 00:00:00 2001 From: "jocuri%softhome.net" <> Date: Fri, 31 Oct 2003 05:23:59 +0000 Subject: Rebuilding documentation for Bugzilla 2.17.5. --- docs/txt/Bugzilla-Guide.txt | 1145 ++++++++++++++++++++++--------------------- 1 file changed, 598 insertions(+), 547 deletions(-) (limited to 'docs/txt') diff --git a/docs/txt/Bugzilla-Guide.txt b/docs/txt/Bugzilla-Guide.txt index ec54fe9ef..9d40525a6 100644 --- a/docs/txt/Bugzilla-Guide.txt +++ b/docs/txt/Bugzilla-Guide.txt @@ -1,5 +1,4 @@ - -The Bugzilla Guide - 2.17.4 Development Release +The Bugzilla Guide - 2.17.5 Development Release Matthew P. Barnson @@ -7,7 +6,7 @@ Jacob Steenhagen The Bugzilla Team - 2003-04-23 + 2003-10-31 This is the documentation for Bugzilla, the mozilla.org bug-tracking system. Bugzilla is an enterprise-class piece of software that powers @@ -120,13 +119,13 @@ Chapter 1. About This Guide - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.1 or - any later version published by the Free Software Foundation; with no - Invariant Sections, no Front-Cover Texts, and with no Back-Cover - Texts. A copy of the license is included in Appendix E. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.1 or + any later version published by the Free Software Foundation; with no + Invariant Sections, no Front-Cover Texts, and with no Back-Cover + Texts. A copy of the license is included in Appendix E. - --Copyright (c) 2000-2003 Matthew P. Barnson and The Bugzilla Team + --Copyright (c) 2000-2003 Matthew P. Barnson and The Bugzilla Team If you have any questions regarding this document, its copyright, or publishing this document in non-electronic form, please contact The @@ -172,7 +171,7 @@ Chapter 1. About This Guide 1.3. New Versions - This is the 2.17.4 version of The Bugzilla Guide. It is so named to + This is the 2.17.5 version of The Bugzilla Guide. It is so named to match the current version of Bugzilla. This version of the guide, like its associated Bugzilla version is a development version. Information is subject to change between now and when 2.18 is released. If you are @@ -246,24 +245,28 @@ Chapter 1. About This Guide Descriptions Appearance Warnings + Caution - Don't run with scissors! + Don't run with scissors! Hint + Tip - Would you like a breath mint? + Would you like a breath mint? Notes + Note - Dear John... + Dear John... Information requiring special attention + Warning - Read this or the cat gets it. + Read this or the cat gets it. File Names filename Directory Names directory Commands to be typed command @@ -275,9 +278,9 @@ Chapter 1. About This Guide Emphasized word word Term found in the glossary Bugzilla Code Example - -Beginning and end of paragraph - + + Beginning and end of paragraph + _________________________________________________________________ Chapter 2. Introduction @@ -409,22 +412,22 @@ Chapter 3. Using Bugzilla several Components: Administration: Administration of a Bugzilla installation. - Bugzilla-General: Anything that doesn't fit in the other components, - or spans multiple components. + Bugzilla-General: Anything that doesn't fit in the other components, + or spans multiple components. Creating/Changing Bugs: Creating, changing, and viewing bugs. - Documentation: The Bugzilla documentation, including The Bugzilla - Guide. + Documentation: The Bugzilla documentation, including The Bugzilla + Guide. Email: Anything to do with email sent by Bugzilla. Installation: The installation process of Bugzilla. - Query/Buglist: Anything to do with searching for bugs and viewing the - buglists. + Query/Buglist: Anything to do with searching for bugs and viewing the + buglists. Reporting/Charting: Getting reports from Bugzilla. - User Accounts: Anything about managing a user account from the user's - perspective. Saved queries, creating accounts, changing passwords, - logging in, etc. - User Interface: General issues having to do with the user interface - cosmetics (not functionality) including cosmetic issues, HTML - templates, etc. + User Accounts: Anything about managing a user account from the user's + perspective. Saved queries, creating accounts, changing passwords, + logging in, etc. + User Interface: General issues having to do with the user interface + cosmetics (not functionality) including cosmetic issues, HTML + templates, etc. 2. Status and Resolution: These define exactly what state the bug is in - from not even being confirmed as a bug, through to being fixed and the fix confirmed by Quality Assurance. The different @@ -478,12 +481,16 @@ Chapter 3. Using Bugzilla http://landfill.bugzilla.org/bugzilla-tip/query.cgi. The Search page has controls for selecting different possible values - for all of the fields in a bug, as described above. Once you've - defined a search, you can either run it, or save it as a Remembered - Query, which can optionally appear in the footer of your pages. + for all of the fields in a bug, as described above. For some fields, + multiple values can be selected. In those cases, Bugzilla returns bugs + where the content of the field matches one of the selected values. If + none is selected, then the field can take any value. - Highly advanced querying is done using Boolean Charts, which have - their own context-sensitive help . + Once you've defined a search, you can either run it, or save it as a + Remembered Query, which can optionally appear in the footer of your + pages. + + Highly advanced querying is done using Boolean Charts. _________________________________________________________________ 3.1.4. Bug Lists @@ -652,8 +659,8 @@ Chapter 3. Using Bugzilla Note - The ability to watch other users may not be available in all Bugzilla - installations. If you can't see it, ask your administrator. + The ability to watch other users may not be available in all Bugzilla + installations. If you can't see it, ask your administrator. _________________________________________________________________ 3.3.3. Page Footer @@ -685,18 +692,18 @@ Chapter 4. Installation Note - Windows is one of those operating systems that has many quirks and is - not yet officially supported by the Bugzilla team. If you wish to - install Bugzilla on Windows, be sure to see Section 4.3.1. + Windows is one of those operating systems that has many quirks and is + not yet officially supported by the Bugzilla team. If you wish to + install Bugzilla on Windows, be sure to see Section 4.3.1. - Warning + Warning - While installing Bugzilla, it is a good idea to ensure that there is - some kind of firewall between you and the rest of the Internet as your - machine may be insecure for periods during the install. Many - installation steps require an active Internet connection to complete, - but you must take care to ensure that at no point is your machine - vulnerable to an attack. + While installing Bugzilla, it is a good idea to ensure that there is + some kind of firewall between you and the rest of the Internet as your + machine may be insecure for periods during the install. Many + installation steps require an active Internet connection to complete, + but you must take care to ensure that at no point is your machine + vulnerable to an attack. This guide assumes that you already have your operating system installed, network configured, and have administrative access to the @@ -723,11 +730,11 @@ Chapter 4. Installation Note - Many of the binary versions of MySQL store their data files in /var. - On some Unix systems, this is part of a smaller root partition, and - may not have room for your bug database. You can set the data - directory as an option to configure if you build MySQL from source - yourself. + Many of the binary versions of MySQL store their data files in /var. + On some Unix systems, this is part of a smaller root partition, and + may not have room for your bug database. You can set the data + directory as an option to configure if you build MySQL from source + yourself. If you install from something other than a packaging/installation system (such as .rpm, .dep, .exe, or .msi) you will need to configure @@ -741,9 +748,9 @@ Chapter 4. Installation set this value to be slightly larger than that parameter. Figure 4-1. Set Max Packet Size in MySQL -[mysqld] -# Allow packets up to 1M -set-variable = max_allowed_packet=1M + [mysqld] + # Allow packets up to 1M + set-variable = max_allowed_packet=1M If you are running Bugzilla and MySQL on the same machine, you may also wish to utilize the skip-networking option as mentioned in @@ -773,34 +780,34 @@ set-variable = max_allowed_packet=1M Example 4-1. Installing perl modules with CPAN The easy way: -bash# perl -MCPAN -e 'install ""' + bash# perl -MCPAN -e 'install ""' Or the hard way: -bash# tar xzvf .tar.gz (1) -bash# cd (2) -bash# perl Makefile.PL -bash# make -bash# make test -bash# make install - - (1) + bash# tar xzvf .tar.gz (1) + bash# cd (2) + bash# perl Makefile.PL + bash# make + bash# make test + bash# make install + + (1) This assumes that you've already downloaded the .tar.gz to the current working directory. - (2) + (2) The process of untaring the module as defined in (1) will create the directory. Tip - Many people complain that Perl modules will not install for them. Most - times, the error messages complain that they are missing a file in - "@INC". Virtually every time, this error is due to permissions being - set too restrictively for you to compile Perl modules or not having - the necessary Perl development libraries installed on your system. - Consult your local UNIX systems administrator for help solving these - permissions issues; if you are the local UNIX sysadmin, please consult - the newsgroup/mailing list for further assistance or hire someone to - help you out. + Many people complain that Perl modules will not install for them. Most + times, the error messages complain that they are missing a file in + "@INC". Virtually every time, this error is due to permissions being + set too restrictively for you to compile Perl modules or not having + the necessary Perl development libraries installed on your system. + Consult your local UNIX systems administrator for help solving these + permissions issues; if you are the local UNIX sysadmin, please consult + the newsgroup/mailing list for further assistance or hire someone to + help you out. Perl Modules (minimum version): @@ -824,6 +831,7 @@ bash# make install 4. GD::Graph (any) for bug charting 5. GD::Text::Align (any) for bug charting 6. MIME::Parser (any) for the email interface + 7. PatchReader (0.9.1) for pretty HTML view of patches _________________________________________________________________ 4.1.3.1. Bundle::Bugzilla @@ -837,14 +845,14 @@ bash# make install Assuming your perl was installed with CPAN (most unix installations are), using Bundle::Bugzilla is really easy. Simply follow along with the commands below. -bash# perl -MCPAN -eshell (1) -cpan shell -- CPAN exploration and modules installation (v1.63) -ReadLine support enabled + bash# perl -MCPAN -eshell (1) + cpan shell -- CPAN exploration and modules installation (v1.63) + ReadLine support enabled -cpan> + cpan> - (1) + (1) At this point, unless you've used CPAN on this machine before, you'll have to go through a series of configuration steps. _________________________________________________________________ @@ -994,16 +1002,16 @@ cpan> Note - The Perl GD library requires some other libraries that may or may not - be installed on your system, including libpng and libgd. The full - requirements are listed in the Perl GD library README. If compiling GD - fails, it's probably because you're missing a required library. + The Perl GD library requires some other libraries that may or may not + be installed on your system, including libpng and libgd. The full + requirements are listed in the Perl GD library README. If compiling GD + fails, it's probably because you're missing a required library. Tip - The version of the GD perl module you need is very closely tied to the - libgd version installed on your system. If you have a version 1.x of - libgd the 2.x versions of the GD perl module won't work for you. + The version of the GD perl module you need is very closely tied to the + libgd version installed on your system. If you have a version 1.x of + libgd the 2.x versions of the GD perl module won't work for you. CPAN Download Page: http://search.cpan.org/dist/GD/ PPM Download Link: http://ppm.activestate.com/PPMPackages/zips @@ -1070,6 +1078,24 @@ cpan> /Parser.pm _________________________________________________________________ +4.1.3.18. PatchReader (0.9.1) [Optional] + + PatchReader is only needed if you want to use Patch Viewer, a Bugzilla + feature to format patches in a pretty HTML fashion. There are a number + of optional parameters you can configure Patch Viewer with as well, + including cvsroot, cvsroot_get, lxr_root, bonsai_url, lxr_url, and + lxr_root. Patch Viewer also optionally will use cvs, diff and + interdiff utilities if they exist on the system (interdiff can be + found in the patchutils package at + http://cyberelk.net/tim/patchutils/. These programs' locations can be + configured in localconfig. + + CPAN Download Page: http://search.cpan.org/author/JKEISER/Patc + hReader/ + Documentation: http://www.johnkeiser.com/mozilla/Patch_Viewer. + html + _________________________________________________________________ + 4.1.4. HTTP Server You have freedom of choice here, pretty much any web server that is @@ -1078,11 +1104,11 @@ cpan> Note - We strongly recommend Apache as the web server to use. The Bugzilla - Guide installation instructions, in general, assume you are using - Apache. If you have got Bugzilla working using another webserver, - please share your experiences with us by filing a bug in Bugzilla - Documentation. + We strongly recommend Apache as the web server to use. The Bugzilla + Guide installation instructions, in general, assume you are using + Apache. If you have got Bugzilla working using another webserver, + please share your experiences with us by filing a bug in Bugzilla + Documentation. _________________________________________________________________ 4.1.5. Bugzilla @@ -1095,22 +1121,22 @@ cpan> Tip - If you symlink the bugzilla directory into your Apache's HTML - hierarchy, you may receive Forbidden errors unless you add the - "FollowSymLinks" directive to the entry for the HTML root - in httpd.conf. + If you symlink the bugzilla directory into your Apache's HTML + hierarchy, you may receive Forbidden errors unless you add the + "FollowSymLinks" directive to the entry for the HTML root + in httpd.conf. Once all the files are in a web accessible directory, make that directory writable by your webserver's user. This is a temporary step until you run the post-install checksetup.pl script, which locks down your installation. - Caution + Caution - The default Bugzilla distribution is not designed to be placed in a - cgi-bin directory (this includes any directory which is configured - using the ScriptAlias directive of Apache). This will probably change - as part of bug 44659. + The default Bugzilla distribution is not designed to be placed in a + cgi-bin directory (this includes any directory which is configured + using the ScriptAlias directive of Apache). This will probably change + as part of bug 44659. _________________________________________________________________ 4.1.6. Setting Up the MySQL Database @@ -1128,7 +1154,7 @@ cpan> Note - Most people use "bugs" for both the user and database name. + Most people use "bugs" for both the user and database name. Next, we use an SQL GRANT command to create a "bugs_user" user, and grant sufficient permissions for checksetup.pl, which we'll use later, @@ -1136,15 +1162,15 @@ cpan> operations within a database called "bugs_db", and only allows the account to connect from "localhost". Modify it to reflect your setup if you will be connecting from another machine or as a different user. -mysql> GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE, - DROP,REFERENCES ON bugs_db.* TO bugs_user@localhost - IDENTIFIED BY 'bugs_password'; -mysql> FLUSH PRIVILEGES; + mysql> GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE, + DROP,REFERENCES ON bugs_db.* TO bugs_user@localhost + IDENTIFIED BY 'bugs_password'; + mysql> FLUSH PRIVILEGES; Note - If you are using MySQL 4, the bugs user also needs to be granted the - LOCK TABLES and CREATE TEMPORARY TABLES permissions. + If you are using MySQL 4, the bugs user also needs to be granted the + LOCK TABLES and CREATE TEMPORARY TABLES permissions. _________________________________________________________________ 4.1.7. checksetup.pl @@ -1156,7 +1182,7 @@ mysql> FLUSH PRIVILEGES; files. It will make sure Bugzilla files and directories have reasonable permissions, set up the data directory, and create all the MySQL tables. -bash# ./checksetup.pl + bash# ./checksetup.pl The first time you run it, it will create a file called localconfig. @@ -1180,9 +1206,9 @@ bash# ./checksetup.pl Note - The checksetup.pl script is designed so that you can run it at any - time without causing harm. You should run it after any upgrade to - Bugzilla. + The checksetup.pl script is designed so that you can run it at any + time without causing harm. You should run it after any upgrade to + Bugzilla. _________________________________________________________________ 4.1.8. Configuring Bugzilla @@ -1241,26 +1267,27 @@ bash# ./checksetup.pl cd ; ./whineatnews.pl - Tip + Tip + + Depending on your system, crontab may have several manpages. The + following command should lead you to the most useful page for this + purpose: - Depending on your system, crontab may have several manpages. The - following command should lead you to the most useful page for this - purpose: - man 5 crontab + man 5 crontab _________________________________________________________________ 4.2.4. LDAP Authentication Note - LDAP authentication has been rewritten for the 2.18 release of - Bugzilla. It no longer requires the Mozilla::LDAP module and now uses - Net::LDAP instead. This rewrite was part of a larger landing that - allowed for additional authentication schemes to be easily added (bug - 180642). + LDAP authentication has been rewritten for the 2.18 release of + Bugzilla. It no longer requires the Mozilla::LDAP module and now uses + Net::LDAP instead. This rewrite was part of a larger landing that + allowed for additional authentication schemes to be easily added (bug + 180642). - This patch originally landed in 21-Mar-2003 and was included in the - 2.17.4 development release. + This patch originally landed in 21-Mar-2003 and was included in the + 2.17.4 development release. The existing authentication scheme for Bugzilla uses email addresses as the primary user ID, and a password to authenticate that user. All @@ -1278,14 +1305,14 @@ bash# ./checksetup.pl tasks are still handled by email address, not LDAP username. You still assign bugs by email address, query on users by email address, etc. - Caution + Caution - Because the Bugzilla account is not created until the first time a - user logs in, a user who has not yet logged is unknown to Bugzilla. - This means they cannot be used as an assignee or QA contact (default - or otherwise), added to any cc list, or any other such operation. One - possible workaround is the bugzilla_ldapsync.rb script in the contrib - directory. Another possible solution is fixing bug 201069. + Because the Bugzilla account is not created until the first time a + user logs in, a user who has not yet logged is unknown to Bugzilla. + This means they cannot be used as an assignee or QA contact (default + or otherwise), added to any cc list, or any other such operation. One + possible workaround is the bugzilla_ldapsync.rb script in the contrib + directory. Another possible solution is fixing bug 201069. Parameters required to use LDAP Authentication: @@ -1342,28 +1369,28 @@ Javascript code Due to internationalization concerns, we are unable to incorporate the code changes necessary to fulfill the CERT advisory requirements mentioned in - http://www.cet.org/tech_tips/malicious_code_mitigation.html/#3. Making - the change below will fix the problem if your installation is for an - English speaking audience. + http://www.cert.org/tech_tips/malicious_code_mitigation.html/#3. + Making the change below will fix the problem if your installation is + for an English speaking audience. Telling Bugzilla to output a charset as part of the HTTP header is much easier in version 2.18 and higher (including any cvs pull after 4-May-2003 and development release after 2.17.5) than it was in previous versions. Simply locate the following line in Bugzilla/CGI.pm: - # Make sure that we don't send any charset headers - $self->charset(''); + # Make sure that we don't send any charset headers + $self->charset(''); and change it to: - # Send all data using the ISO-8859-1 charset - $self->charset('ISO-8859-1'); + # Send all data using the ISO-8859-1 charset + $self->charset('ISO-8859-1'); Note - Using tags to set the charset is not recommended, as there's a - bug in Netscape 4.x which causes pages marked up in this way to load - twice. See bug 126266 for more information including progress toward - making bugzilla charset aware by default. + Using tags to set the charset is not recommended, as there's a + bug in Netscape 4.x which causes pages marked up in this way to load + twice. See bug 126266 for more information including progress toward + making bugzilla charset aware by default. _________________________________________________________________ 4.2.6. directoryindex for the Bugzilla default page. @@ -1434,18 +1461,18 @@ Javascript code Bugzilla on Windows requires the same perl modules found in Section 4.1.3. The main difference is that windows uses PPM instead of CPAN. -C:\perl> ppm + C:\perl> ppm Note - The above syntax should work for all modules with the exception of - Template Toolkit. The Template Toolkit website suggests using the - instructions on OpenInteract's website. + The above syntax should work for all modules with the exception of + Template Toolkit. The Template Toolkit website suggests using the + instructions on OpenInteract's website. Tip - A complete list of modules that can be installed using ppm can be - found at http://www.activestate.com/PPMPackages/5.6plus. + A complete list of modules that can be installed using ppm can be + found at http://www.activestate.com/PPMPackages/5.6plus. _________________________________________________________________ 4.3.1.3. Code changes required to run on win32 @@ -1461,16 +1488,16 @@ C:\perl> ppm 4.3.1.3.1. Changes to checksetup.pl In checksetup.pl, the line reading: -my $mysql_binaries = `which mysql`; + my $mysql_binaries = `which mysql`; to -my $mysql_binaries = "D:\\mysql\\bin\\mysql"; + my $mysql_binaries = "D:\\mysql\\bin\\mysql"; And you'll also need to change: -my $webservergid = getgrnam($my_webservergroup) + my $webservergid = getgrnam($my_webservergroup) to -my $webservergid = '8' + my $webservergid = '8' _________________________________________________________________ 4.3.1.3.2. Changes to BugMail.pm @@ -1478,27 +1505,27 @@ my $webservergid = '8' To make bug e-mail work on Win32 (until bug 84876 lands), the simplest way is to have Net::SMTP installed and change this (in Bugzilla/BugMail.pm): -open(SENDMAIL, "|/usr/lib/sendmail $sendmailparam -t -i") || - die "Can't open sendmail"; + open(SENDMAIL, "|/usr/lib/sendmail $sendmailparam -t -i") || + die "Can't open sendmail"; -print SENDMAIL trim($msg) . "\n"; -close SENDMAIL; + print SENDMAIL trim($msg) . "\n"; + close SENDMAIL; to -use Net::SMTP; -my $smtp_server = 'smtp.mycompany.com'; # change this + use Net::SMTP; + my $smtp_server = 'smtp.mycompany.com'; # change this -# Use die on error, so that the mail will be in the 'unsent mails' and -# can be sent from the sanity check page. -my $smtp = Net::SMTP->new($smtp_server) || - die 'Cannot connect to server \'$smtp_server\''; + # Use die on error, so that the mail will be in the 'unsent mails' and + # can be sent from the sanity check page. + my $smtp = Net::SMTP->new($smtp_server) || + die 'Cannot connect to server \'$smtp_server\''; -$smtp->mail('bugzilla-daemon@mycompany.com'); # change this -$smtp->to($person); -$smtp->data(); -$smtp->datasend($msg); -$smtp->dataend(); -$smtp->quit; + $smtp->mail('bugzilla-daemon@mycompany.com'); # change this + $smtp->to($person); + $smtp->data(); + $smtp->datasend($msg); + $smtp->dataend(); + $smtp->quit; Don't forget to change the name of your SMTP server and the domain of the sending e-mail address (after the '@') in the above lines of code. @@ -1514,10 +1541,10 @@ $smtp->quit; Note - If using Apache on windows, you can set the ScriptInterpreterSource - directive in your Apache config, if you don't do this, you'll have to - modify the first line of every script to contain your path to perl - instead of /usr/bin/perl. + If using Apache on windows, you can set the ScriptInterpreterSource + directive in your Apache config, if you don't do this, you'll have to + modify the first line of every script to contain your path to perl + instead of /usr/bin/perl. _________________________________________________________________ 4.3.2. Mac OS X @@ -1540,28 +1567,28 @@ $smtp->quit; Note - To prevent creating conflicts with the software that Apple installs by - default, Fink creates its own directory tree at /sw where it installs - most of the software that it installs. This means your libraries and - headers be at /sw/lib and /sw/include instead of /usr/lib and - /usr/local/include. When the Perl module config script asks where your - libgd is, be sure to tell it /sw/lib. + To prevent creating conflicts with the software that Apple installs by + default, Fink creates its own directory tree at /sw where it installs + most of the software that it installs. This means your libraries and + headers be at /sw/lib and /sw/include instead of /usr/lib and + /usr/local/include. When the Perl module config script asks where your + libgd is, be sure to tell it /sw/lib. Also available via Fink is expat. Once running using fink to install the expat package you will be able to install XML::Parser using CPAN. There is one caveat. Unlike recent versions of the GD module, XML::Parser doesn't prompt for the location of the required libraries. When using CPAN, you will need to use the following command sequence: -# perl -MCPAN -e'look XML::Parser' (1) -# perl Makefile.PL EXPATLIBPATH=/sw/lib EXPATINCPATH=/sw/include -# make; make test; make install (2) -# exit (3) + # perl -MCPAN -e'look XML::Parser' (1) + # perl Makefile.PL EXPATLIBPATH=/sw/lib EXPATINCPATH=/sw/include + # make; make test; make install (2) + # exit (3) - (1) (3) + (1) (3) The look command will download the module and spawn a new shell with the extracted files as the current working directory. The exit command will return you to your original shell. - (2) + (2) You should watch the output from these make commands, especially "make test" as errors may prevent XML::Parser from functioning correctly with Bugzilla. @@ -1574,13 +1601,13 @@ $smtp->quit; utility. If you follow these commands, you should have everything you need for Bugzilla, and ./checksetup.pl should not complain about any missing libraries. You may already have some of these installed. -bash# urpmi perl-mysql -bash# urpmi perl-chart -bash# urpmi perl-gd -bash# urpmi perl-MailTools (1) -bash# urpmi apache-modules + bash# urpmi perl-mysql + bash# urpmi perl-chart + bash# urpmi perl-gd + bash# urpmi perl-MailTools (1) + bash# urpmi apache-modules - (1) + (1) for Bugzilla e-mail integration _________________________________________________________________ @@ -1615,39 +1642,39 @@ bash# urpmi apache-modules To allow files with a .cgi extension to be run, make sure the following line exists and is uncommented: -AddHandler cgi-script .cgi + AddHandler cgi-script .cgi To allow .htaccess files to override permissions and .cgi files to run in the Bugzilla directory, make sure the following two lines are in a Directory directive that applies to the Bugzilla directory on your system (either the Bugzilla directory or one of its parents). -Options +ExecCGI -AllowOverride Limit + Options +ExecCGI + AllowOverride Limit Note - For more information on Apache and its directives, see the glossary - entry on Apache. + For more information on Apache and its directives, see the glossary + entry on Apache. Example 4-2. .htaccess files for Apache $BUGZILLA_HOME/.htaccess -# don't allow people to retrieve non-cgi executable files or our private data - - deny from all - - - allow from all - + # don't allow people to retrieve non-cgi executable files or our private data + + deny from all + + + allow from all + $BUGZILLA_HOME/data/.htaccess -# nothing in this directory is retrievable unless overriden by an .htaccess -# in a subdirectory; the only exception is duplicates.rdf, which is used by -# duplicates.xul and must be loadable over the web -deny from all - - allow from all - + # nothing in this directory is retrievable unless overriden by an .htaccess + # in a subdirectory; the only exception is duplicates.rdf, which is used by + # duplicates.xul and must be loadable over the web + deny from all + + allow from all + $BUGZILLA_HOME/data/webdot # Restrict access to .dot files to the public webdot server at research.att.com @@ -1669,14 +1696,14 @@ deny from all Deny from all $BUGZILLA_HOME/Bugzilla/.htaccess -# nothing in this directory is retrievable unless overriden by an .htaccess -# in a subdirectory -deny from all + # nothing in this directory is retrievable unless overriden by an .htaccess + # in a subdirectory + deny from all $BUGZILLA_HOME/template/.htaccess -# nothing in this directory is retrievable unless overriden by an .htaccess -# in a subdirectory -deny from all + # nothing in this directory is retrievable unless overriden by an .htaccess + # in a subdirectory + deny from all _________________________________________________________________ 4.4.2. Microsoft Internet Information Services @@ -1706,36 +1733,36 @@ deny from all aolserver/modules/tcl/filter.tcl file (the filename shouldn't matter) with the following contents (change /bugzilla/ to the web-based path to your Bugzilla installation): -ns_register_filter preauth GET /bugzilla/localconfig filter_deny -ns_register_filter preauth GET /bugzilla/localconfig~ filter_deny -ns_register_filter preauth GET /bugzilla/\#localconfig\# filter_deny -ns_register_filter preauth GET /bugzilla/*.pl filter_deny -ns_register_filter preauth GET /bugzilla/syncshadowdb filter_deny -ns_register_filter preauth GET /bugzilla/runtests.sh filter_deny -ns_register_filter preauth GET /bugzilla/data/* filter_deny -ns_register_filter preauth GET /bugzilla/template/* filter_deny + ns_register_filter preauth GET /bugzilla/localconfig filter_deny + ns_register_filter preauth GET /bugzilla/localconfig~ filter_deny + ns_register_filter preauth GET /bugzilla/\#localconfig\# filter_deny + ns_register_filter preauth GET /bugzilla/*.pl filter_deny + ns_register_filter preauth GET /bugzilla/syncshadowdb filter_deny + ns_register_filter preauth GET /bugzilla/runtests.sh filter_deny + ns_register_filter preauth GET /bugzilla/data/* filter_deny + ns_register_filter preauth GET /bugzilla/template/* filter_deny -proc filter_deny { why } { - ns_log Notice "filter_deny" - return "filter_return" -} + proc filter_deny { why } { + ns_log Notice "filter_deny" + return "filter_return" + } - Warning + Warning - This probably doesn't account for all possible editor backup files so - you may wish to add some additional variations of localconfig. For - more information, see bug 186383 or Bugtraq ID 6501. + This probably doesn't account for all possible editor backup files so + you may wish to add some additional variations of localconfig. For + more information, see bug 186383 or Bugtraq ID 6501. Note - If you are using webdot from research.att.com (the default - configuration for the webdotbase paramater), you will need to allow - access to data/webdot/*.dot for the reasearch.att.com machine. + If you are using webdot from research.att.com (the default + configuration for the webdotbase paramater), you will need to allow + access to data/webdot/*.dot for the reasearch.att.com machine. - If you are using a local installation of GraphViz, you will need to - allow everybody to access *.png, *.gif, *.jpg, and *.map in the - data/webdot directory. + If you are using a local installation of GraphViz, you will need to + allow everybody to access *.png, *.gif, *.jpg, and *.map in the + data/webdot directory. _________________________________________________________________ 4.5. Troubleshooting @@ -1768,18 +1795,18 @@ proc filter_deny { why } { To fix this, go to /lib/DBD/sponge.pm in your Perl installation and replace - my $numFields; - if ($attribs->{'NUM_OF_FIELDS'}) { - $numFields = $attribs->{'NUM_OF_FIELDS'}; - } elsif ($attribs->{'NAME'}) { - $numFields = @{$attribs->{NAME}}; + my $numFields; + if ($attribs->{'NUM_OF_FIELDS'}) { + $numFields = $attribs->{'NUM_OF_FIELDS'}; + } elsif ($attribs->{'NAME'}) { + $numFields = @{$attribs->{NAME}}; by - my $numFields; - if ($attribs->{'NUM_OF_FIELDS'}) { - $numFields = $attribs->{'NUM_OF_FIELDS'}; - } elsif ($attribs->{'NAMES'}) { - $numFields = @{$attribs->{NAMES}}; + my $numFields; + if ($attribs->{'NUM_OF_FIELDS'}) { + $numFields = $attribs->{'NUM_OF_FIELDS'}; + } elsif ($attribs->{'NAMES'}) { + $numFields = @{$attribs->{NAMES}}; (note the S added to NAME.) _________________________________________________________________ @@ -1803,38 +1830,38 @@ proc filter_deny { why } { been reported. Examples can be found in Figure 4-2. Figure 4-2. Other File::Temp error messages -Your vendor has not defined Fcntl macro O_NOINHERIT, used -at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 208. + Your vendor has not defined Fcntl macro O_NOINHERIT, used + at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 208. -Your vendor has not defined Fcntl macro O_EXLOCK, used -at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 210. + Your vendor has not defined Fcntl macro O_EXLOCK, used + at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 210. -Your vendor has not defined Fcntl macro O_TEMPORARY, used -at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 233. + Your vendor has not defined Fcntl macro O_TEMPORARY, used + at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 233. Numerous people have reported that upgrading to version 5.6.1 or higher solved the problem for them. A less involved fix is to apply the patch in Figure 4-3. The patch is also available as a patch file. Figure 4-3. Patch for File::Temp in Perl 5.6.0 ---- File/Temp.pm.orig Thu Feb 6 16:26:00 2003 -+++ File/Temp.pm Thu Feb 6 16:26:23 2003 -@@ -205,6 +205,7 @@ - # eg CGI::Carp - local $SIG{__DIE__} = sub {}; - local $SIG{__WARN__} = sub {}; -+ local *CORE::GLOBAL::die = sub {}; - $bit = &$func(); - 1; - }; -@@ -226,6 +227,7 @@ - # eg CGI::Carp - local $SIG{__DIE__} = sub {}; - local $SIG{__WARN__} = sub {}; -+ local *CORE::GLOBAL::die = sub {}; - $bit = &$func(); - 1; - }; + --- File/Temp.pm.orig Thu Feb 6 16:26:00 2003 + +++ File/Temp.pm Thu Feb 6 16:26:23 2003 + @@ -205,6 +205,7 @@ + # eg CGI::Carp + local $SIG{__DIE__} = sub {}; + local $SIG{__WARN__} = sub {}; + + local *CORE::GLOBAL::die = sub {}; + $bit = &$func(); + 1; + }; + @@ -226,6 +227,7 @@ + # eg CGI::Carp + local $SIG{__DIE__} = sub {}; + local $SIG{__WARN__} = sub {}; + + local *CORE::GLOBAL::die = sub {}; + $bit = &$func(); + 1; + }; _________________________________________________________________ Chapter 5. Administering Bugzilla @@ -1930,12 +1957,12 @@ Chapter 5. Administering Bugzilla wise idea to require comments when users resolve, reassign, or reopen bugs at the very least. - Note + Note - It is generally far better to require a developer comment when - resolving bugs than not. Few things are more annoying to bug database - users than having a developer mark a bug "fixed" without any comment - as to what the fix was (or even that it was truly fixed!) + It is generally far better to require a developer comment when + resolving bugs than not. Few things are more annoying to bug database + users than having a developer mark a bug "fixed" without any comment + as to what the fix was (or even that it was truly fixed!) 13. supportwatchers: Turning on this option allows users to ask to receive copies of all a particular other user's bug email. This is, of course, subject to the groupset restrictions on the bug; if @@ -1958,10 +1985,10 @@ Chapter 5. Administering Bugzilla Tip - If you wish to add more administrative users, add them to the "admin" - group and, optionally, add edit the tweakparams, editusers, - creategroups, editcomponents, and editkeywords groups to add the - entire admin group to those groups. + If you wish to add more administrative users, add them to the "admin" + group and, optionally, add edit the tweakparams, editusers, + creategroups, editcomponents, and editkeywords groups to add the + entire admin group to those groups. _________________________________________________________________ 5.2.2. Managing Other Users @@ -1978,15 +2005,15 @@ Chapter 5. Administering Bugzilla 2. Fill out the form presented. This page is self-explanatory. When done, click "Submit". - Note + Note - Adding a user this way will not send an email informing them of their - username and password. While useful for creating dummy accounts - (watchers which shuttle mail to another system, for instance, or email - addresses which are a mailing list), in general it is preferable to - log out and use the "New Account" button to create users, as it will - pre-populate all the required fields and also notify the user of her - account name and password. + Adding a user this way will not send an email informing them of their + username and password. While useful for creating dummy accounts + (watchers which shuttle mail to another system, for instance, or email + addresses which are a mailing list), in general it is preferable to + log out and use the "New Account" button to create users, as it will + pre-populate all the required fields and also notify the user of her + account name and password. _________________________________________________________________ 5.2.2.2. Modifying Users @@ -2022,13 +2049,13 @@ Chapter 5. Administering Bugzilla Warning - Don't disable the administrator account! + Don't disable the administrator account! - Note + Note - The user can still submit bugs via the e-mail gateway, if you set it - up, even if the disabled text field is filled in. The e-mail gateway - should not be enabled for secure installations of Bugzilla. + The user can still submit bugs via the e-mail gateway, if you set it + up, even if the disabled text field is filled in. The e-mail gateway + should not be enabled for secure installations of Bugzilla. * : If you have created some groups, e.g. "securitysensitive", then checkboxes will appear here to allow you to add users to, or remove them from, these groups. @@ -2145,8 +2172,8 @@ Chapter 5. Administering Bugzilla Note - Milestone options will only appear for a Product if you turned on the - "usetargetmilestone" Param in the "Edit Parameters" screen. + Milestone options will only appear for a Product if you turned on the + "usetargetmilestone" Param in the "Edit Parameters" screen. To create new Milestones, set Default Milestones, and set Milestone URL: @@ -2162,12 +2189,12 @@ Chapter 5. Administering Bugzilla 4. From the Edit product screen, you can enter the URL of a page which gives information about your milestones and what they mean. - Tip + Tip - If you want your milestone document to be restricted so that it can - only be viewed by people in a particular Bugzilla group, the best way - is to attach the document to a bug in that group, and make the URL the - URL of that attachment. + If you want your milestone document to be restricted so that it can + only be viewed by people in a particular Bugzilla group, the best way + is to attach the document to a bug in that group, and make the URL the + URL of that attachment. _________________________________________________________________ 5.4. Voting @@ -2241,12 +2268,12 @@ Chapter 5. Administering Bugzilla fulfill the Regular Expression into the new group. When you have finished, click "Add". - Warning + Warning - The User Regexp is a perl regexp and, if not anchored, will match any - part of an address. So, if you do not want to grant access into - 'mycompany.com' to 'badperson@mycompany.com.hacker.net', use - '@mycompany\.com$' as the regexp. + The User Regexp is a perl regexp and, if not anchored, will match any + part of an address. So, if you do not want to grant access into + 'mycompany.com' to 'badperson@mycompany.com.hacker.net', use + '@mycompany\.com$' as the regexp. 4. After you add your new group, edit the new group. On the edit page, you can specify other groups that should be included in this group and which groups should be permitted to add and delete users @@ -2264,24 +2291,24 @@ Chapter 5. Administering Bugzilla Warning - Poorly-configured MySQL and Bugzilla installations have given - attackers full access to systems in the past. Please take these - guidelines seriously, even for Bugzilla machines hidden away behind - your firewall. 80% of all computer trespassers are insiders, not - anonymous crackers. + Poorly-configured MySQL and Bugzilla installations have given + attackers full access to systems in the past. Please take these + guidelines seriously, even for Bugzilla machines hidden away behind + your firewall. 80% of all computer trespassers are insiders, not + anonymous crackers. Note - These instructions must, of necessity, be somewhat vague since - Bugzilla runs on so many different platforms. If you have refinements - of these directions, please submit a bug to Bugzilla Documentation. + These instructions must, of necessity, be somewhat vague since + Bugzilla runs on so many different platforms. If you have refinements + of these directions, please submit a bug to Bugzilla Documentation. - Warning + Warning - This is not meant to be a comprehensive list of every possible - security issue regarding the tools mentioned in this section. There is - no subsitute for reading the information written by the authors of any - software running on your system. + This is not meant to be a comprehensive list of every possible + security issue regarding the tools mentioned in this section. There is + no subsitute for reading the information written by the authors of any + software running on your system. _________________________________________________________________ 5.6.1. TCP/IP Ports @@ -2320,9 +2347,9 @@ mysql> FLUSH PRIVILEGES; should consider disabling networking from within MySQL by adding the following to your /etc/my.conf: -[myslqd] -# Prevent network access to MySQL. -skip-networking + [myslqd] + # Prevent network access to MySQL. + skip-networking 4. You may also consider running MySQL, or even all of Bugzilla in a @@ -2342,10 +2369,10 @@ skip-networking Note - You will need to set the webservergroup to the group you created for - your webserver to run as in localconfig. This will allow - ./checksetup.pl to better adjust the file permissions on your Bugzilla - install so as to not require making anything world-writable. + You will need to set the webservergroup to the group you created for + your webserver to run as in localconfig. This will allow + ./checksetup.pl to better adjust the file permissions on your Bugzilla + install so as to not require making anything world-writable. _________________________________________________________________ 5.6.4. Web Server Access Controls @@ -2380,9 +2407,9 @@ skip-networking Tip - Bugzilla ships with the ability to generate .htaccess files - instructing Apache which files should and should not be accessible. - For more information, see Section 4.4.1. + Bugzilla ships with the ability to generate .htaccess files + instructing Apache which files should and should not be accessible. + For more information, see Section 4.4.1. You should test to make sure that the files mentioned above are not accessible from the Internet, especially your localconfig file which @@ -2391,16 +2418,16 @@ skip-networking we'd try to access http://bugzilla.mozilla.org/localconfig. You should get a 403 Forbidden error. - Caution + Caution - Not following the instructions in this section, including testing, may - result in sensitive information being globally accessible. + Not following the instructions in this section, including testing, may + result in sensitive information being globally accessible. Tip - You should check Section 4.4 to see if instructions have been included - for your web server. You should also compare those instructions with - this list to make sure everything is properly accounted for. + You should check Section 4.4 to see if instructions have been included + for your web server. You should also compare those instructions with + this list to make sure everything is properly accounted for. _________________________________________________________________ 5.7. Template Customization @@ -2412,9 +2439,9 @@ skip-networking upgrade to a newer version in the future. Templatization also makes localized versions of Bugzilla possible, for - the first time. In the future, a Bugzilla installation may have - templates installed for multiple localizations, and select which ones - to use based on the user's browser language setting. + the first time. As of version 2.17.4 which will soon become 2.18, it's + possible to have Bugzilla's language determined by the user's browser. + More information is available in Section 5.7.5. _________________________________________________________________ 5.7.1. What to Edit @@ -2459,8 +2486,14 @@ skip-networking Note - Don't directly edit the compiled templates in data/template/* - your - changes will be lost when Template Toolkit recompiles them. + Don't directly edit the compiled templates in data/template/* - your + changes will be lost when Template Toolkit recompiles them. + + Note + + It is recommended that you run ./checksetup.pl after any template + edits, especially if you've created a new file in the custom + directory. _________________________________________________________________ 5.7.2. How To Edit Templates @@ -2496,9 +2529,9 @@ skip-networking Note - If you are making template changes that you intend on submitting back - for inclusion in standard Bugzilla, you should read the relevant - sections of the Developers' Guide. + If you are making template changes that you intend on submitting back + for inclusion in standard Bugzilla, you should read the relevant + sections of the Developers' Guide. _________________________________________________________________ 5.7.3. Template Formats @@ -2605,15 +2638,33 @@ skip-networking would appear in the initial checkin comment. _________________________________________________________________ +5.7.5. Configuring Bugzilla to Detect the User's Language + + Begining in version 2.18 (first introduced in version 2.17.4), it's + now possible to have the users web browser tell Bugzilla which + language templates to use for each visitor (using the HTTP_ACCEPT + header). For this to work, Bugzilla needs to have the correct language + templates installed for the version of Bugzilla you are using. Many + language templates can be obtained from + http://www.bugzilla.org/download.html#localizations. Instructions for + submitting new languages are also available from that location. + + After untarring the localizations (or creating your own) in the + [Bugzilla_Root]/template directory, you must update the languages + parameter to contain any localizations you'd like to permit. You may + also wish to set the defaultlanguage parameter to something other than + "en" if you don't want Engish to be the default language. + _________________________________________________________________ + 5.8. Change Permission Customization - Warning + Warning - This feature should be considered experimental; the Bugzilla code you - will be changing is not stable, and could change or move between - versions. Be aware that if you make modifications to it, you may have - to re-make them or port them if Bugzilla changes internally between - versions. + This feature should be considered experimental; the Bugzilla code you + will be changing is not stable, and could change or move between + versions. Be aware that if you make modifications to it, you may have + to re-make them or port them if Bugzilla changes internally between + versions. Companies often have rules about which employees, or classes of employees, are allowed to change certain things in the bug system. For @@ -2634,10 +2685,10 @@ skip-networking Certain marked sections should not be changed - these are the "plumbing" which makes the rest of the function work. In between those sections, you'll find snippets of code like: - # Allow the owner to change anything. - if ($ownerid eq $whoid) { - return 1; - } + # Allow the owner to change anything. + if ($ownerid eq $whoid) { + return 1; + } It's fairly obvious what this piece of code does. @@ -2654,27 +2705,27 @@ skip-networking $ownerid has been obtained from the database. You can either add a positive check, which returns 1 (allow) if certain conditions are true, or a negative check, which returns 0 (deny.) E.g.: - if ($field eq "qacontact") { - if (Bugzilla->user->groups("quality_assurance")) { - return 1; - } - else { - return 0; - } - } + if ($field eq "qacontact") { + if (Bugzilla->user->groups("quality_assurance")) { + return 1; + } + else { + return 0; + } + } This says that only users in the group "quality_assurance" can change the QA Contact field of a bug. Getting more weird: - if (($field eq "priority") && - (Bugzilla->user->email =~ /.*\@example\.com$/)) - { - if ($oldvalue eq "P1") { - return 1; - } - else { - return 0; - } - } + if (($field eq "priority") && + (Bugzilla->user->email =~ /.*\@example\.com$/)) + { + if ($oldvalue eq "P1") { + return 1; + } + else { + return 0; + } + } This says that if the user is trying to change the priority field, and their email address is @example.com, they can only do so if the old @@ -2687,12 +2738,12 @@ skip-networking 5.9. Upgrading to New Releases - Warning + Warning - Upgrading is a one-way process. You should backup your database and - current Bugzilla directory before attempting the upgrade. If you wish - to revert to the old Bugzilla version for any reason, you will have to - restore from these backups. + Upgrading is a one-way process. You should backup your database and + current Bugzilla directory before attempting the upgrade. If you wish + to revert to the old Bugzilla version for any reason, you will have to + restore from these backups. 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 @@ -2743,65 +2794,65 @@ skip-networking Tip - 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 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 Caution - 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. + 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. Note - You also need to run ./checksetup.pl before your Bugzilla upgrade will - be complete. + 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 + 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 Warning - 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. + 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. Note - You will now have to reapply any changes you have made to your local - installation manually. + You will now have to reapply any changes you have made to your local + installation manually. Example 5-3. Upgrading using patches @@ -2827,9 +2878,9 @@ patching file globals.pl Caution - 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. + 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.10. Integrating Bugzilla with Third-Party Tools @@ -2889,185 +2940,185 @@ Appendix A. The Bugzilla FAQ 1. General Questions 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.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? + Bugzilla for bug-tracking? - A.1.5. Who maintains Bugzilla? + A.1.5. Who maintains Bugzilla? A.1.6. How does Bugzilla stack up against other bug-tracking - databases? + databases? A.1.7. Why doesn't Bugzilla offer this or that feature or - compatibility with this other tracking software? + compatibility with this other tracking software? A.1.8. Why MySQL? I'm interested in seeing Bugzilla run on - Oracle/Sybase/Msql/PostgreSQL/MSSQL. + Oracle/Sybase/Msql/PostgreSQL/MSSQL. - A.1.9. What is /usr/bonsaitools/bin/perl? + A.1.9. What is /usr/bonsaitools/bin/perl? A.1.10. My perl is not located at /usr/bin/perl, is there an easy - way to change it everywhere it needs to be changed? + way to change it everywhere it needs to be changed? - A.1.11. Is there an easy way to change the Bugzilla cookie name? + A.1.11. Is there an easy way to change the Bugzilla cookie name? 2. Managerial Questions A.2.1. Is Bugzilla web-based, or do you have to have specific - software or a specific operating system on your machine? + 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.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? + 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? + 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? + acceptable values? A.2.7. Does Bugzilla provide any reporting features, metrics, graphs, etc? You know, the type of stuff that management - likes to see. :) + likes to see. :) A.2.8. Is there email notification and if so, what do you see - when you get an email? + 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? + 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? + 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 and - export that data to MS Excel, could I do that? + export that data to MS Excel, could I do that? A.2.12. Has anyone converted Bugzilla to another language to be - used in other countries? Is it localizable? + 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? + Word format? Excel format? A.2.14. Does Bugzilla have the ability to search by word, phrase, - compound search? + 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? + they notified? - A.2.16. Are there any backup features provided? + 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 individuals would we need to hire and how much would that cost vs - buying an "Out-of-the-Box" solution. + buying an "Out-of-the-Box" solution. 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 a multi-week install process, plus a full time job - for 1 person, 2 people, etc? + for 1 person, 2 people, etc? 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? + needed as identified above? 3. Bugzilla Security 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)? + installation section of this guide)? - A.3.2. Are there any security problems with Bugzilla? + 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. + longer working correctly. 4. Bugzilla 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? + 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? + 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? + 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? + 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? + via email? A.4.6. Email takes FOREVER to reach me from Bugzilla -- it's - extremely slow. What gives? + extremely slow. What gives? - A.4.7. How come email from Bugzilla changes never reaches me? + A.4.7. How come email from Bugzilla changes never reaches me? 5. Bugzilla Database - A.5.1. I've heard Bugzilla can be used with Oracle? + 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? + entries. What do I do? - A.5.3. I want to manually edit some entries in my database. How? + A.5.3. I want to manually edit some entries in my database. How? A.5.4. I think I've set up MySQL permissions correctly, but - Bugzilla still can't connect. + Bugzilla still can't connect. A.5.5. How do I synchronize bug information among multiple - different Bugzilla databases? + different Bugzilla databases? 6. Bugzilla and Win32 A.6.1. What is the easiest way to run Bugzilla on Win32 - (Win98+/NT/2K)? + (Win98+/NT/2K)? - A.6.2. Is there a "Bundle::Bugzilla" equivalent for Win32? + 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? + 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. + able to talk to to the database. 7. Bugzilla Usage - A.7.1. How do I change my user name (email address) in Bugzilla? + 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? + 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? + accept it? A.7.4. I can't upload anything into the database via the "Create - Attachment" link. What am I doing wrong? + Attachment" link. What am I doing wrong? A.7.5. How do I change a keyword in Bugzilla, once some bugs are - using it? + using it? 8. Bugzilla Hacking - A.8.1. What kind of style should I use for templatization? - A.8.2. What bugs are in Bugzilla right now? + A.8.1. What kind of style should I use for templatization? + A.8.2. What bugs are in Bugzilla right now? A.8.3. How can I change the default priority to a null value? For instance, have the default priority be "---" instead of - "P2"? + "P2"? A.8.4. What's the best way to submit patches? What guidelines - should I follow? + should I follow? 1. General Questions @@ -3108,7 +3159,7 @@ Appendix A. The Bugzilla FAQ A.1.5. Who maintains Bugzilla? - A core team, led by Dave Miller (justdave@netscape.com). + A core team, led by Dave Miller (justdave@bugzilla.org). A.1.6. How does Bugzilla stack up against other bug-tracking databases? @@ -3173,7 +3224,7 @@ Appendix A. The Bugzilla FAQ Yes, the following bit of perl magic will change all the shebang lines. Be sure to change /usr/local/bin/perl to your path to the perl binary. -perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl + perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl A.1.11. Is there an easy way to change the Bugzilla cookie name? @@ -3183,7 +3234,7 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl Note - Questions likely to be asked by managers. :-) + Questions likely to be asked by managers. :-) A.2.1. Is Bugzilla web-based, or do you have to have specific software or a specific operating system on your machine? @@ -3260,12 +3311,12 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl Note - If you decide to use the bugzilla_email integration features to allow - Bugzilla to record responses to mail with the associated bug, you may - need to caution your users to set their mailer to "respond to messages - in the format in which they were sent". For security reasons Bugzilla - ignores HTML tags in comments, and if a user sends HTML-based email - into Bugzilla the resulting comment looks downright awful. + If you decide to use the bugzilla_email integration features to allow + Bugzilla to record responses to mail with the associated bug, you may + need to caution your users to set their mailer to "respond to messages + in the format in which they were sent". For security reasons Bugzilla + ignores HTML tags in comments, and if a user sends HTML-based email + into Bugzilla the resulting comment looks downright awful. 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 @@ -3497,9 +3548,9 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl Warning - Running MySQL with this command line option is very insecure and - should only be done when not connected to the external network as a - troubleshooting step. + Running MySQL with this command line option is very insecure and + should only be done when not connected to the external network as a + troubleshooting step. A.5.5. How do I synchronize bug information among multiple different Bugzilla databases? @@ -3614,18 +3665,18 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl Gerv and Myk suggest a 2-space indent, with embedded code sections on their own line, in line with outer tags. Like this: - -[% IF foo %] - - [% FOREACH x = barney %] - - - [% x %] - - - [% END %] -[% END %] - + + [% IF foo %] + + [% FOREACH x = barney %] + + + [% x %] + + + [% END %] + [% END %] + Myk also recommends you turn on PRE_CHOMP in the template initialization to prevent bloating of HTML with unnecessary @@ -3682,9 +3733,9 @@ Appendix B. The Bugzilla Database Note - This document really needs to be updated with more fleshed out - information about primary keys, interrelationships, and maybe some - nifty tables to document dependencies. Any takers? + This document really needs to be updated with more fleshed out + information about primary keys, interrelationships, and maybe some + nifty tables to document dependencies. Any takers? _________________________________________________________________ B.1. Modifying Your Running System @@ -3798,31 +3849,31 @@ B.2.1.1. Bugzilla Database Tables From the command issued above, ou should have some output that looks like this: -+-------------------+ -| Tables in bugs | -+-------------------+ -| attachments | -| bugs | -| bugs_activity | -| cc | -| components | -| dependencies | -| fielddefs | -| groups | -| keyworddefs | -| keywords | -| logincookies | -| longdescs | -| milestones | -| namedqueries | -| products | -| profiles | -| profiles_activity | -| tokens | -| versions | -| votes | -| watch | -+-------------------+ + +-------------------+ + | Tables in bugs | + +-------------------+ + | attachments | + | bugs | + | bugs_activity | + | cc | + | components | + | dependencies | + | fielddefs | + | groups | + | keyworddefs | + | keywords | + | logincookies | + | longdescs | + | milestones | + | namedqueries | + | products | + | profiles | + | profiles_activity | + | tokens | + | versions | + | votes | + | watch | + +-------------------+ Here's an overview of what each table does. Most columns in each tab le have @@ -4023,10 +4074,10 @@ C.1. Apache mod_rewrite magic spits back http://www.foo.com/show_bug.cgi?id=12345. Try setting up your VirtualHost section for Bugzilla with a rule like this: - -RewriteEngine On -RewriteRule ^/([0-9]+)$ http://foo.bar.com/show_bug.cgi?id=$1 [L,R] - + + RewriteEngine On + RewriteRule ^/([0-9]+)$ http://foo.bar.com/show_bug.cgi?id=$1 [L,R] + 2. There are many, many more things you can do with mod_rewrite. Please refer to the mod_rewrite documentation at @@ -4596,10 +4647,10 @@ C perl, there may be additional modules or other requirements than those of the offical distribution. - Note + Note - Scripts in the contrib directory are not offically supported by the - Bugzilla team and may break in between versions. + Scripts in the contrib directory are not offically supported by the + Bugzilla team and may break in between versions. D @@ -4690,7 +4741,7 @@ R S - SGML + SGML SGML stands for "Standard Generalized Markup Language". Created in the 1980's to provide an extensible means to maintain documentation based upon content instead of presentation, SGML @@ -4726,16 +4777,16 @@ Z - I've been asked to explain this ... way back when, when Netscape - released version 4.0 of its browser, we had a release party. - Naturally, there had been a big push to try and fix every known bug - before the release. Naturally, that hadn't actually happened. (This is - not unique to Netscape or to 4.0; the same thing has happened with - every software project I've ever seen.) Anyway, at the release party, - T-shirts were handed out that said something like "Netscape 4.0: Zarro - Boogs". Just like the software, the T-shirt had no known bugs. Uh-huh. - So, when you query for a list of bugs, and it gets no results, you can - think of this as a friendly reminder. Of *course* there are bugs - matching your query, they just aren't in the bugsystem yet... + I've been asked to explain this ... way back when, when Netscape + released version 4.0 of its browser, we had a release party. + Naturally, there had been a big push to try and fix every known bug + before the release. Naturally, that hadn't actually happened. (This is + not unique to Netscape or to 4.0; the same thing has happened with + every software project I've ever seen.) Anyway, at the release party, + T-shirts were handed out that said something like "Netscape 4.0: Zarro + Boogs". Just like the software, the T-shirt had no known bugs. Uh-huh. + So, when you query for a list of bugs, and it gets no results, you can + think of this as a friendly reminder. Of *course* there are bugs + matching your query, they just aren't in the bugsystem yet... - --Terry Weissman + --Terry Weissman -- cgit v1.2.3-24-g4f1b