Commit 1252fe4e authored by jake%bugzilla.org's avatar jake%bugzilla.org

Recompile docs so (hopefully) I can get some feedback on the installation chapter changes.

parent dda1abb9
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -180,22 +180,22 @@ HREF="cust-templates.html"
><DL
><DT
>5.7.1. <A
HREF="cust-templates.html#AEN1425"
HREF="cust-templates.html#AEN1524"
>What to Edit</A
></DT
><DT
>5.7.2. <A
HREF="cust-templates.html#AEN1444"
HREF="cust-templates.html#AEN1543"
>How To Edit Templates</A
></DT
><DT
>5.7.3. <A
HREF="cust-templates.html#AEN1454"
HREF="cust-templates.html#AEN1553"
>Template Formats</A
></DT
><DT
>5.7.4. <A
HREF="cust-templates.html#AEN1467"
HREF="cust-templates.html#AEN1566"
>Particular Templates</A
></DT
></DL
......
......@@ -81,7 +81,7 @@ NAME="conventions"
><DIV
CLASS="informaltable"
><A
NAME="AEN110"
NAME="AEN111"
></A
><P
></P
......
......@@ -96,9 +96,9 @@ VALIGN="TOP"
><P
>&#13; 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
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
Front-Cover Texts, and with no Back-Cover Texts. A copy of
the license is included in <A
HREF="gfdl.html"
>Appendix E</A
......
......@@ -184,13 +184,13 @@ HREF="news://news.mozilla.org/netscape/public/mozilla/webtools"
TARGET="_top"
>news://news.mozilla.org/netscape/public/mozilla/webtools</A
>
newsgroup. Without your discussions, insight, suggestions, and patches,
newsgroup. Without your discussions, insight, suggestions, and patches,
this could never have happened.
</P
><P
>&#13; Thanks also go to the following people for significant contributions
to this documentation (in alphabetical order):
Andrew Pearson, Ben FrantzDale, Eric Hanson, Gervase Markham, Joe Robins, Kevin Brannen, Ron Teitelbaum, Spencer Smith, Zach Liption
Andrew Pearson, Ben FrantzDale, Eric Hanson, Gervase Markham, Joe Robins, Kevin Brannen, Martin Wulffeld, Ron Teitelbaum, Spencer Smith, Zach Liption
.
</P
></DIV
......
......@@ -99,7 +99,7 @@ CLASS="section"
><H2
CLASS="section"
><A
NAME="AEN1425"
NAME="AEN1524"
></A
>5.7.1. What to Edit</H2
><P
......@@ -214,7 +214,7 @@ CLASS="section"
><H2
CLASS="section"
><A
NAME="AEN1444"
NAME="AEN1543"
></A
>5.7.2. How To Edit Templates</H2
><P
......@@ -296,7 +296,7 @@ CLASS="section"
><H2
CLASS="section"
><A
NAME="AEN1454"
NAME="AEN1553"
></A
>5.7.3. Template Formats</H2
><P
......@@ -358,7 +358,7 @@ CLASS="section"
><H2
CLASS="section"
><A
NAME="AEN1467"
NAME="AEN1566"
></A
>5.7.4. Particular Templates</H2
><P
......
......@@ -108,7 +108,7 @@ NAME="dbdoc"
><P
>But Certain Death speaks up -- a tiny voice, from the dark corners
of the conference room. "I have a concern," the voice hisses from the
darkness, "about the use of the word 'verified'.</P
darkness, "about the use of the word 'verified'."</P
><P
>The room, previously filled with happy chatter, lapses into
reverential silence as Certain Death (better known as the Vice President
......@@ -135,7 +135,7 @@ CLASS="section"
><H2
CLASS="section"
><A
NAME="AEN2091"
NAME="AEN2190"
></A
>B.2.1. Bugzilla Database Basics</H2
><P
......@@ -154,14 +154,12 @@ CLASS="QUOTE"
>"tinyint"</SPAN
>
entry in MySQL. I recommend you refer to the MySQL documentation,
available at
entry in MySQL. I recommend you refer to the
<A
HREF="http://www.mysql.com/doc.html"
HREF="http://www.mysql.com/documentation/"
TARGET="_top"
>MySQL.com</A
>MySQL documentation</A
>
. Below are the basics you need to know about the Bugzilla database.
Check the chart above for more details.</P
><P
......@@ -205,7 +203,7 @@ HREF="http://www.mysql.com/php/manual.php3?section=Privilege_system"
TARGET="_top"
>MySQL
searchable documentation</A
>.
>.
</P
></LI
><LI
......@@ -251,7 +249,7 @@ CLASS="section"
><H3
CLASS="section"
><A
NAME="AEN2118"
NAME="AEN2217"
></A
>B.2.1.1. Bugzilla Database Tables</H3
><P
......@@ -322,14 +320,14 @@ CLASS="programlisting"
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;Here's&nbsp;an&nbsp;overview&nbsp;of&nbsp;what&nbsp;each&nbsp;table&nbsp;does.&nbsp;&nbsp;Most&nbsp;columns&nbsp;in&nbsp;each&nbsp;table&nbsp;have<br>
&nbsp;&nbsp;Here's&nbsp;an&nbsp;overview&nbsp;of&nbsp;what&nbsp;each&nbsp;table&nbsp;does.&nbsp;Most&nbsp;columns&nbsp;in&nbsp;each&nbsp;table&nbsp;have<br>
descriptive&nbsp;names&nbsp;that&nbsp;make&nbsp;it&nbsp;fairly&nbsp;trivial&nbsp;to&nbsp;figure&nbsp;out&nbsp;their&nbsp;jobs.<br>
<br>
attachments:&nbsp;This&nbsp;table&nbsp;stores&nbsp;all&nbsp;attachments&nbsp;to&nbsp;bugs.&nbsp;&nbsp;It&nbsp;tends&nbsp;to&nbsp;be&nbsp;your<br>
attachments:&nbsp;This&nbsp;table&nbsp;stores&nbsp;all&nbsp;attachments&nbsp;to&nbsp;bugs.&nbsp;It&nbsp;tends&nbsp;to&nbsp;be&nbsp;your<br>
largest&nbsp;table,&nbsp;yet&nbsp;also&nbsp;generally&nbsp;has&nbsp;the&nbsp;fewest&nbsp;entries&nbsp;because&nbsp;file<br>
attachments&nbsp;are&nbsp;so&nbsp;(relatively)&nbsp;large.<br>
<br>
bugs:&nbsp;&nbsp;This&nbsp;is&nbsp;the&nbsp;core&nbsp;of&nbsp;your&nbsp;system.&nbsp;&nbsp;The&nbsp;bugs&nbsp;table&nbsp;stores&nbsp;most&nbsp;of&nbsp;the<br>
bugs:&nbsp;&nbsp;This&nbsp;is&nbsp;the&nbsp;core&nbsp;of&nbsp;your&nbsp;system.&nbsp;The&nbsp;bugs&nbsp;table&nbsp;stores&nbsp;most&nbsp;of&nbsp;the<br>
current&nbsp;information&nbsp;about&nbsp;a&nbsp;bug,&nbsp;with&nbsp;the&nbsp;exception&nbsp;of&nbsp;the&nbsp;info&nbsp;stored&nbsp;in&nbsp;the<br>
other&nbsp;tables.<br>
<br>
......@@ -337,26 +335,26 @@ bugs_activity:&nbsp;&nbsp;This&nbsp;stores&nbsp;information&nbsp;regarding&nbsp;
when&nbsp;--&nbsp;a&nbsp;history&nbsp;file.<br>
<br>
cc:&nbsp;&nbsp;This&nbsp;tiny&nbsp;table&nbsp;simply&nbsp;stores&nbsp;all&nbsp;the&nbsp;CC&nbsp;information&nbsp;for&nbsp;any&nbsp;bug&nbsp;which&nbsp;has<br>
any&nbsp;entries&nbsp;in&nbsp;the&nbsp;CC&nbsp;field&nbsp;of&nbsp;the&nbsp;bug.&nbsp;&nbsp;Note&nbsp;that,&nbsp;like&nbsp;most&nbsp;other&nbsp;tables&nbsp;in<br>
any&nbsp;entries&nbsp;in&nbsp;the&nbsp;CC&nbsp;field&nbsp;of&nbsp;the&nbsp;bug.&nbsp;Note&nbsp;that,&nbsp;like&nbsp;most&nbsp;other&nbsp;tables&nbsp;in<br>
Bugzilla,&nbsp;it&nbsp;does&nbsp;not&nbsp;refer&nbsp;to&nbsp;users&nbsp;by&nbsp;their&nbsp;user&nbsp;names,&nbsp;but&nbsp;by&nbsp;their&nbsp;unique<br>
userid,&nbsp;stored&nbsp;as&nbsp;a&nbsp;primary&nbsp;key&nbsp;in&nbsp;the&nbsp;profiles&nbsp;table.<br>
<br>
components:&nbsp;This&nbsp;stores&nbsp;the&nbsp;programs&nbsp;and&nbsp;components&nbsp;(or&nbsp;products&nbsp;and<br>
components,&nbsp;in&nbsp;newer&nbsp;Bugzilla&nbsp;parlance)&nbsp;for&nbsp;Bugzilla.&nbsp;&nbsp;Curiously,&nbsp;the&nbsp;"program"<br>
components,&nbsp;in&nbsp;newer&nbsp;Bugzilla&nbsp;parlance)&nbsp;for&nbsp;Bugzilla.&nbsp;Curiously,&nbsp;the&nbsp;"program"<br>
(product)&nbsp;field&nbsp;is&nbsp;the&nbsp;full&nbsp;name&nbsp;of&nbsp;the&nbsp;product,&nbsp;rather&nbsp;than&nbsp;some&nbsp;other&nbsp;unique<br>
identifier,&nbsp;like&nbsp;bug_id&nbsp;and&nbsp;user_id&nbsp;are&nbsp;elsewhere&nbsp;in&nbsp;the&nbsp;database.<br>
<br>
dependencies:&nbsp;Stores&nbsp;data&nbsp;about&nbsp;those&nbsp;cool&nbsp;dependency&nbsp;trees.<br>
<br>
fielddefs:&nbsp;&nbsp;A&nbsp;nifty&nbsp;table&nbsp;that&nbsp;defines&nbsp;other&nbsp;tables.&nbsp;&nbsp;For&nbsp;instance,&nbsp;when&nbsp;you<br>
fielddefs:&nbsp;&nbsp;A&nbsp;nifty&nbsp;table&nbsp;that&nbsp;defines&nbsp;other&nbsp;tables.&nbsp;For&nbsp;instance,&nbsp;when&nbsp;you<br>
submit&nbsp;a&nbsp;form&nbsp;that&nbsp;changes&nbsp;the&nbsp;value&nbsp;of&nbsp;"AssignedTo"&nbsp;this&nbsp;table&nbsp;allows<br>
translation&nbsp;to&nbsp;the&nbsp;actual&nbsp;field&nbsp;name&nbsp;"assigned_to"&nbsp;for&nbsp;entry&nbsp;into&nbsp;MySQL.<br>
<br>
groups:&nbsp;&nbsp;defines&nbsp;bitmasks&nbsp;for&nbsp;groups.&nbsp;&nbsp;A&nbsp;bitmask&nbsp;is&nbsp;a&nbsp;number&nbsp;that&nbsp;can&nbsp;uniquely<br>
identify&nbsp;group&nbsp;memberships.&nbsp;&nbsp;For&nbsp;instance,&nbsp;say&nbsp;the&nbsp;group&nbsp;that&nbsp;is&nbsp;allowed&nbsp;to<br>
groups:&nbsp;&nbsp;defines&nbsp;bitmasks&nbsp;for&nbsp;groups.&nbsp;A&nbsp;bitmask&nbsp;is&nbsp;a&nbsp;number&nbsp;that&nbsp;can&nbsp;uniquely<br>
identify&nbsp;group&nbsp;memberships.&nbsp;For&nbsp;instance,&nbsp;say&nbsp;the&nbsp;group&nbsp;that&nbsp;is&nbsp;allowed&nbsp;to<br>
tweak&nbsp;parameters&nbsp;is&nbsp;assigned&nbsp;a&nbsp;value&nbsp;of&nbsp;"1",&nbsp;the&nbsp;group&nbsp;that&nbsp;is&nbsp;allowed&nbsp;to&nbsp;edit<br>
users&nbsp;is&nbsp;assigned&nbsp;a&nbsp;"2",&nbsp;and&nbsp;the&nbsp;group&nbsp;that&nbsp;is&nbsp;allowed&nbsp;to&nbsp;create&nbsp;new&nbsp;groups&nbsp;is<br>
assigned&nbsp;the&nbsp;bitmask&nbsp;of&nbsp;"4".&nbsp;&nbsp;By&nbsp;uniquely&nbsp;combining&nbsp;the&nbsp;group&nbsp;bitmasks&nbsp;(much<br>
assigned&nbsp;the&nbsp;bitmask&nbsp;of&nbsp;"4".&nbsp;By&nbsp;uniquely&nbsp;combining&nbsp;the&nbsp;group&nbsp;bitmasks&nbsp;(much<br>
like&nbsp;the&nbsp;chmod&nbsp;command&nbsp;in&nbsp;UNIX,)&nbsp;you&nbsp;can&nbsp;identify&nbsp;a&nbsp;user&nbsp;is&nbsp;allowed&nbsp;to&nbsp;tweak<br>
parameters&nbsp;and&nbsp;create&nbsp;groups,&nbsp;but&nbsp;not&nbsp;edit&nbsp;users,&nbsp;by&nbsp;giving&nbsp;him&nbsp;a&nbsp;bitmask&nbsp;of<br>
"5",&nbsp;or&nbsp;a&nbsp;user&nbsp;allowed&nbsp;to&nbsp;edit&nbsp;users&nbsp;and&nbsp;create&nbsp;groups,&nbsp;but&nbsp;not&nbsp;tweak<br>
......@@ -371,15 +369,15 @@ keywords:&nbsp;Unlike&nbsp;what&nbsp;you'd&nbsp;think,&nbsp;this&nbsp;table&nbsp
associated&nbsp;with&nbsp;which&nbsp;bug&nbsp;id's.<br>
<br>
logincookies:&nbsp;This&nbsp;stores&nbsp;every&nbsp;login&nbsp;cookie&nbsp;ever&nbsp;assigned&nbsp;to&nbsp;you&nbsp;for&nbsp;every<br>
machine&nbsp;you've&nbsp;ever&nbsp;logged&nbsp;into&nbsp;Bugzilla&nbsp;from.&nbsp;&nbsp;Curiously,&nbsp;it&nbsp;never&nbsp;does&nbsp;any<br>
housecleaning&nbsp;--&nbsp;I&nbsp;see&nbsp;cookies&nbsp;in&nbsp;this&nbsp;file&nbsp;I've&nbsp;not&nbsp;used&nbsp;for&nbsp;months.&nbsp;&nbsp;However,<br>
machine&nbsp;you've&nbsp;ever&nbsp;logged&nbsp;into&nbsp;Bugzilla&nbsp;from.&nbsp;Curiously,&nbsp;it&nbsp;never&nbsp;does&nbsp;any<br>
housecleaning&nbsp;--&nbsp;I&nbsp;see&nbsp;cookies&nbsp;in&nbsp;this&nbsp;file&nbsp;I've&nbsp;not&nbsp;used&nbsp;for&nbsp;months.&nbsp;However,<br>
since&nbsp;Bugzilla&nbsp;never&nbsp;expires&nbsp;your&nbsp;cookie&nbsp;(for&nbsp;convenience'&nbsp;sake),&nbsp;it&nbsp;makes<br>
sense.<br>
<br>
longdescs:&nbsp;&nbsp;The&nbsp;meat&nbsp;of&nbsp;bugzilla&nbsp;--&nbsp;here&nbsp;is&nbsp;where&nbsp;all&nbsp;user&nbsp;comments&nbsp;are&nbsp;stored!<br>
You've&nbsp;only&nbsp;got&nbsp;2^24&nbsp;bytes&nbsp;per&nbsp;comment&nbsp;(it's&nbsp;a&nbsp;mediumtext&nbsp;field),&nbsp;so&nbsp;speak<br>
sparingly&nbsp;--&nbsp;that's&nbsp;only&nbsp;the&nbsp;amount&nbsp;of&nbsp;space&nbsp;the&nbsp;Old&nbsp;Testament&nbsp;from&nbsp;the&nbsp;Bible<br>
would&nbsp;take&nbsp;(uncompressed,&nbsp;16&nbsp;megabytes).&nbsp;&nbsp;Each&nbsp;comment&nbsp;is&nbsp;keyed&nbsp;to&nbsp;the<br>
would&nbsp;take&nbsp;(uncompressed,&nbsp;16&nbsp;megabytes).&nbsp;Each&nbsp;comment&nbsp;is&nbsp;keyed&nbsp;to&nbsp;the<br>
bug_id&nbsp;to&nbsp;which&nbsp;it's&nbsp;attached,&nbsp;so&nbsp;the&nbsp;order&nbsp;is&nbsp;necessarily&nbsp;chronological,&nbsp;for<br>
comments&nbsp;are&nbsp;played&nbsp;back&nbsp;in&nbsp;the&nbsp;order&nbsp;in&nbsp;which&nbsp;they&nbsp;are&nbsp;received.<br>
<br>
......@@ -387,12 +385,12 @@ milestones:&nbsp;&nbsp;Interesting&nbsp;that&nbsp;milestones&nbsp;are&nbsp;assoc
in&nbsp;this&nbsp;table,&nbsp;but&nbsp;Bugzilla&nbsp;does&nbsp;not&nbsp;yet&nbsp;support&nbsp;differing&nbsp;milestones&nbsp;by<br>
product&nbsp;through&nbsp;the&nbsp;standard&nbsp;configuration&nbsp;interfaces.<br>
<br>
namedqueries:&nbsp;&nbsp;This&nbsp;is&nbsp;where&nbsp;everybody&nbsp;stores&nbsp;their&nbsp;"custom&nbsp;queries".&nbsp;&nbsp;Very<br>
namedqueries:&nbsp;&nbsp;This&nbsp;is&nbsp;where&nbsp;everybody&nbsp;stores&nbsp;their&nbsp;"custom&nbsp;queries".&nbsp;Very<br>
cool&nbsp;feature;&nbsp;it&nbsp;beats&nbsp;the&nbsp;tar&nbsp;out&nbsp;of&nbsp;having&nbsp;to&nbsp;bookmark&nbsp;each&nbsp;cool&nbsp;query&nbsp;you<br>
construct.<br>
<br>
products:&nbsp;&nbsp;What&nbsp;products&nbsp;you&nbsp;have,&nbsp;whether&nbsp;new&nbsp;bug&nbsp;entries&nbsp;are&nbsp;allowed&nbsp;for&nbsp;the<br>
product,&nbsp;what&nbsp;milestone&nbsp;you're&nbsp;working&nbsp;toward&nbsp;on&nbsp;that&nbsp;product,&nbsp;votes,&nbsp;etc.&nbsp;&nbsp;It<br>
product,&nbsp;what&nbsp;milestone&nbsp;you're&nbsp;working&nbsp;toward&nbsp;on&nbsp;that&nbsp;product,&nbsp;votes,&nbsp;etc.&nbsp;It<br>
will&nbsp;be&nbsp;nice&nbsp;when&nbsp;the&nbsp;components&nbsp;table&nbsp;supports&nbsp;these&nbsp;same&nbsp;features,&nbsp;so&nbsp;you<br>
could&nbsp;close&nbsp;a&nbsp;particular&nbsp;component&nbsp;for&nbsp;bug&nbsp;entry&nbsp;without&nbsp;having&nbsp;to&nbsp;close&nbsp;an<br>
entire&nbsp;product...<br>
......@@ -427,7 +425,7 @@ mysql&#62;&nbsp;show&nbsp;columns&nbsp;from&nbsp;table;<br>
mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;table;<br>
<br>
&nbsp;&nbsp;--&nbsp;note:&nbsp;this&nbsp;is&nbsp;a&nbsp;very&nbsp;bad&nbsp;idea&nbsp;to&nbsp;do&nbsp;on,&nbsp;for&nbsp;instance,&nbsp;the&nbsp;"bugs"&nbsp;table&nbsp;if<br>
you&nbsp;have&nbsp;50,000&nbsp;bugs.&nbsp;&nbsp;You'll&nbsp;be&nbsp;sitting&nbsp;there&nbsp;a&nbsp;while&nbsp;until&nbsp;you&nbsp;ctrl-c&nbsp;or<br>
you&nbsp;have&nbsp;50,000&nbsp;bugs.&nbsp;You'll&nbsp;be&nbsp;sitting&nbsp;there&nbsp;a&nbsp;while&nbsp;until&nbsp;you&nbsp;ctrl-c&nbsp;or<br>
50,000&nbsp;bugs&nbsp;play&nbsp;across&nbsp;your&nbsp;screen.<br>
<br>
&nbsp;&nbsp;You&nbsp;can&nbsp;limit&nbsp;the&nbsp;display&nbsp;from&nbsp;above&nbsp;a&nbsp;little&nbsp;with&nbsp;the&nbsp;command,&nbsp;where<br>
......@@ -440,7 +438,7 @@ mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;table&nbsp;where&nbsp;(column&nbsp;
mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;table&nbsp;where&nbsp;(column&nbsp;!=&nbsp;"some&nbsp;info");<br>
<br>
&nbsp;&nbsp;Let's&nbsp;take&nbsp;our&nbsp;example&nbsp;from&nbsp;the&nbsp;introduction,&nbsp;and&nbsp;assume&nbsp;you&nbsp;need&nbsp;to&nbsp;change<br>
the&nbsp;word&nbsp;"verified"&nbsp;to&nbsp;"approved"&nbsp;in&nbsp;the&nbsp;resolution&nbsp;field.&nbsp;&nbsp;We&nbsp;know&nbsp;from&nbsp;the<br>
the&nbsp;word&nbsp;"verified"&nbsp;to&nbsp;"approved"&nbsp;in&nbsp;the&nbsp;resolution&nbsp;field.&nbsp;We&nbsp;know&nbsp;from&nbsp;the<br>
above&nbsp;information&nbsp;that&nbsp;the&nbsp;resolution&nbsp;is&nbsp;likely&nbsp;to&nbsp;be&nbsp;stored&nbsp;in&nbsp;the&nbsp;"bugs"<br>
table.&nbsp;Note&nbsp;we'll&nbsp;need&nbsp;to&nbsp;change&nbsp;a&nbsp;little&nbsp;perl&nbsp;code&nbsp;as&nbsp;well&nbsp;as&nbsp;this&nbsp;database<br>
change,&nbsp;but&nbsp;I&nbsp;won't&nbsp;plunge&nbsp;into&nbsp;that&nbsp;in&nbsp;this&nbsp;document.&nbsp;Let's&nbsp;verify&nbsp;the<br>
......@@ -451,10 +449,10 @@ mysql&#62;&nbsp;show&nbsp;columns&nbsp;from&nbsp;bugs<br>
&nbsp;&nbsp;(exceedingly&nbsp;long&nbsp;output&nbsp;truncated&nbsp;here)<br>
|&nbsp;bug_status|&nbsp;enum('UNCONFIRMED','NEW','ASSIGNED','REOPENED','RESOLVED','VERIFIED','CLOSED')||MUL&nbsp;|&nbsp;UNCONFIRMED||<br>
<br>
&nbsp;&nbsp;Sorry&nbsp;about&nbsp;that&nbsp;long&nbsp;line.&nbsp;&nbsp;We&nbsp;see&nbsp;from&nbsp;this&nbsp;that&nbsp;the&nbsp;"bug&nbsp;status"&nbsp;column&nbsp;is<br>
&nbsp;&nbsp;Sorry&nbsp;about&nbsp;that&nbsp;long&nbsp;line.&nbsp;We&nbsp;see&nbsp;from&nbsp;this&nbsp;that&nbsp;the&nbsp;"bug&nbsp;status"&nbsp;column&nbsp;is<br>
an&nbsp;"enum&nbsp;field",&nbsp;which&nbsp;is&nbsp;a&nbsp;MySQL&nbsp;peculiarity&nbsp;where&nbsp;a&nbsp;string&nbsp;type&nbsp;field&nbsp;can<br>
only&nbsp;have&nbsp;certain&nbsp;types&nbsp;of&nbsp;entries.&nbsp;&nbsp;While&nbsp;I&nbsp;think&nbsp;this&nbsp;is&nbsp;very&nbsp;cool,&nbsp;it's&nbsp;not<br>
standard&nbsp;SQL.&nbsp;&nbsp;Anyway,&nbsp;we&nbsp;need&nbsp;to&nbsp;add&nbsp;the&nbsp;possible&nbsp;enum&nbsp;field&nbsp;entry<br>
only&nbsp;have&nbsp;certain&nbsp;types&nbsp;of&nbsp;entries.&nbsp;While&nbsp;I&nbsp;think&nbsp;this&nbsp;is&nbsp;very&nbsp;cool,&nbsp;it's&nbsp;not<br>
standard&nbsp;SQL.&nbsp;Anyway,&nbsp;we&nbsp;need&nbsp;to&nbsp;add&nbsp;the&nbsp;possible&nbsp;enum&nbsp;field&nbsp;entry<br>
'APPROVED'&nbsp;by&nbsp;altering&nbsp;the&nbsp;"bugs"&nbsp;table.<br>
<br>
mysql&#62;&nbsp;ALTER&nbsp;table&nbsp;bugs&nbsp;CHANGE&nbsp;bug_status&nbsp;bug_status<br>
......@@ -470,15 +468,15 @@ mysql&#62;&nbsp;show&nbsp;columns&nbsp;from&nbsp;bugs;<br>
<br>
&nbsp;&nbsp;you'll&nbsp;see&nbsp;that&nbsp;the&nbsp;bug_status&nbsp;field&nbsp;has&nbsp;an&nbsp;extra&nbsp;"APPROVED"&nbsp;enum&nbsp;that's<br>
available!&nbsp;&nbsp;Cool&nbsp;thing,&nbsp;too,&nbsp;is&nbsp;that&nbsp;this&nbsp;is&nbsp;reflected&nbsp;on&nbsp;your&nbsp;query&nbsp;page&nbsp;as<br>
well&nbsp;--&nbsp;you&nbsp;can&nbsp;query&nbsp;by&nbsp;the&nbsp;new&nbsp;status.&nbsp;&nbsp;But&nbsp;how's&nbsp;it&nbsp;fit&nbsp;into&nbsp;the&nbsp;existing<br>
well&nbsp;--&nbsp;you&nbsp;can&nbsp;query&nbsp;by&nbsp;the&nbsp;new&nbsp;status.&nbsp;But&nbsp;how's&nbsp;it&nbsp;fit&nbsp;into&nbsp;the&nbsp;existing<br>
scheme&nbsp;of&nbsp;things?<br>
&nbsp;&nbsp;Looks&nbsp;like&nbsp;you&nbsp;need&nbsp;to&nbsp;go&nbsp;back&nbsp;and&nbsp;look&nbsp;for&nbsp;instances&nbsp;of&nbsp;the&nbsp;word&nbsp;"verified"<br>
in&nbsp;the&nbsp;perl&nbsp;code&nbsp;for&nbsp;Bugzilla&nbsp;--&nbsp;wherever&nbsp;you&nbsp;find&nbsp;"verified",&nbsp;change&nbsp;it&nbsp;to<br>
"approved"&nbsp;and&nbsp;you're&nbsp;in&nbsp;business&nbsp;(make&nbsp;sure&nbsp;that's&nbsp;a&nbsp;case-insensitive&nbsp;search).<br>
Although&nbsp;you&nbsp;can&nbsp;query&nbsp;by&nbsp;the&nbsp;enum&nbsp;field,&nbsp;you&nbsp;can't&nbsp;give&nbsp;something&nbsp;a&nbsp;status<br>
of&nbsp;"APPROVED"&nbsp;until&nbsp;you&nbsp;make&nbsp;the&nbsp;perl&nbsp;changes.&nbsp;&nbsp;&nbsp;Note&nbsp;that&nbsp;this&nbsp;change&nbsp;I<br>
of&nbsp;"APPROVED"&nbsp;until&nbsp;you&nbsp;make&nbsp;the&nbsp;perl&nbsp;changes.&nbsp;Note&nbsp;that&nbsp;this&nbsp;change&nbsp;I<br>
mentioned&nbsp;can&nbsp;also&nbsp;be&nbsp;done&nbsp;by&nbsp;editing&nbsp;checksetup.pl,&nbsp;which&nbsp;automates&nbsp;a&nbsp;lot&nbsp;of<br>
this.&nbsp;&nbsp;But&nbsp;you&nbsp;need&nbsp;to&nbsp;know&nbsp;this&nbsp;stuff&nbsp;anyway,&nbsp;right?<br>
this.&nbsp;But&nbsp;you&nbsp;need&nbsp;to&nbsp;know&nbsp;this&nbsp;stuff&nbsp;anyway,&nbsp;right?<br>
</P
></DIV
></DIV
......
......@@ -87,15 +87,15 @@ NAME="disclaimer"
</P
><P
>&#13; All copyrights are held by their respective owners, unless
specifically noted otherwise. Use of a term in this document
specifically noted otherwise. Use of a term in this document
should not be regarded as affecting the validity of any
trademark or service mark.
</P
><P
>&#13; Naming of particular products or brands should not be seen as
endorsements, with the exception of the term "GNU/Linux". We
endorsements, with the exception of the term "GNU/Linux". We
wholeheartedly endorse the use of GNU/Linux in every situation
where it is appropriate. It is an extremely versatile, stable,
where it is appropriate. It is an extremely versatile, stable,
and robust operating system that offers an ideal operating
environment for Bugzilla.
</P
......@@ -110,10 +110,10 @@ NAME="disclaimer"
documented or fixed in the code, security holes surely exist.
Great care should be taken both in the installation and usage of
this software. Carefully consider the implications of installing
other network services with Bugzilla. The Bugzilla development
other network services with Bugzilla. The Bugzilla development
team members, Netscape Communications, America Online Inc., and
any affiliated developers or sponsors assume no liability for
your use of this product. You have the source code to this
your use of this product. You have the source code to this
product, and are responsible for auditing it yourself to ensure
your security needs are met.
</P
......
......@@ -81,7 +81,7 @@ CLASS="section"
><H2
CLASS="section"
><A
NAME="AEN687"
NAME="AEN786"
></A
>4.2.1. Dependency Charts</H2
><P
......@@ -145,7 +145,7 @@ CLASS="section"
><H2
CLASS="section"
><A
NAME="AEN702"
NAME="AEN801"
></A
>4.2.2. Bug Graphs</H2
><P
......@@ -204,7 +204,7 @@ CLASS="section"
><H2
CLASS="section"
><A
NAME="AEN715"
NAME="AEN814"
></A
>4.2.3. The Whining Cron</H2
><P
......@@ -386,13 +386,13 @@ HREF="http://www.openldap.org/"
TARGET="_top"
>&#13; OpenLDAP</A
> with Bugzilla, using any of a number of administration
tools. You should apply the patch attached this bug:
tools. You should apply the patch attached to
<A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=158630"
TARGET="_top"
>&#13; http://bugzilla.mozilla.org/show_bug.cgi?id=158630</A
>, then set
the following object classes for your users:
>bug 158630</A
>
, then set the following object classes for your users:
<P
></P
......@@ -450,7 +450,7 @@ NAME="content-type"
<A
HREF="http://www.cet.org/tech_tips/malicious_code_mitigation.html/#3"
TARGET="_top"
>&#13; http://www.cet.org/tech_tips/malicious_code_mitigation.html/#3</A
>http://www.cet.org/tech_tips/malicious_code_mitigation.html/#3</A
>.
Executing the following code snippet from a UNIX command shell will
rectify the problem if your Bugzilla installation is intended for an
......@@ -523,13 +523,13 @@ VALIGN="TOP"
><P
>Using &#60;meta&#62; 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
marked up in this way to load twice. See
<A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=126266"
TARGET="_top"
>bug
126266</A
> for more information including progress toward making
>bug 126266</A
>
for more information including progress toward making
bugzilla charset aware by default.
</P
></TD
......@@ -610,7 +610,7 @@ CLASS="filename"
HREF="http://www.snert.com/Software/mod_throttle/"
TARGET="_top"
>http://www.snert.com/Software/mod_throttle/</A
>
>.
Follow the instructions to install into your Apache install.
<EM
>This module only functions with the Apache web
......
......@@ -497,7 +497,7 @@ HREF="faq.html#faq-use-changeaddress"
><DT
>A.7.2. <A
HREF="faq.html#faq-use-query"
>&#13; The query page is very confusing. Isn't there a simpler way to query?
>&#13; The query page is very confusing. Isn't there a simpler way to query?
</A
></DT
><DT
......@@ -511,7 +511,7 @@ HREF="faq.html#faq-use-accept"
>A.7.4. <A
HREF="faq.html#faq-use-attachment"
>&#13; I can't upload anything into the database via the "Create Attachment"
link. What am I doing wrong?
link. What am I doing wrong?
</A
></DT
><DT
......@@ -587,8 +587,8 @@ CLASS="answer"
information at <A
HREF="http://www.bugzilla.org/"
TARGET="_top"
>&#13; http://www.bugzilla.org/</A
>
>http://www.bugzilla.org/</A
>.
</P
></DIV
></DIV
......@@ -616,8 +616,8 @@ CLASS="answer"
See details at <A
HREF="http://www.mozilla.org/MPL/"
TARGET="_top"
>&#13; http://www.mozilla.org/MPL/</A
>
>http://www.mozilla.org/MPL/</A
>.
</P
></DIV
></DIV
......@@ -653,7 +653,7 @@ TARGET="_top"
>&#13; <A
HREF="http://www.collab.net/"
TARGET="_top"
>www.collab.net</A
>http://www.collab.net/</A
> offers
Bugzilla as part of their standard offering to large projects.
They do have some minimum fees that are pretty hefty, and generally
......@@ -691,7 +691,7 @@ CLASS="answer"
There are <EM
>dozens</EM
> of major companies with public
Bugzilla sites to track bugs in their products. A few include:
Bugzilla sites to track bugs in their products. A few include:
<P
></P
><TABLE
......@@ -799,7 +799,7 @@ HREF="http://www.bugzilla.org/who_we_are.html"
TARGET="_top"
>core team</A
>,
led by Dave Miller (justdave@netscape.com).
led by Dave Miller (justdave@netscape.com).
</P
></DIV
></DIV
......@@ -863,8 +863,8 @@ CLASS="answer"
> </B
>
It may be that the support has not been built yet, or that you
have not yet found it. Bugzilla is making tremendous strides in
usability, customizability, scalability, and user interface. It
have not yet found it. Bugzilla is making tremendous strides in
usability, customizability, scalability, and user interface. It
is widely considered the most complete and popular open-source
bug-tracking software in existence.
</P
......@@ -907,16 +907,16 @@ CLASS="answer"
</P
><P
>&#13; There is currently work in progress to make Bugzilla work on
PostgreSQL and Sybase in the default distribution. You can track
the progress of these initiatives in bugs <A
PostgreSQL and Sybase in the default distribution. You can track
the progress of these initiatives in <A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=98304"
TARGET="_top"
>98304</A
>bug 98304</A
>
and <A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=173130"
TARGET="_top"
>173130</A
>bug 173130</A
>
respectively.
</P
......@@ -956,11 +956,11 @@ CLASS="filename"
> because when
Terry first started writing the code for mozilla.org he needed a
version of Perl and other tools that were completely under his
control. This location was abandoned for the 2.18 release in favor
control. This location was abandoned for the 2.18 release in favor
of the more sensible <TT
CLASS="filename"
>/usr/bin/perl</TT
>. If you
>. If you
installed an older verion of Bugzilla and created the symlink we
suggested, you can remove it now (provided that you don't have
anything else, such as Bonsai, using it and you don't intend to
......@@ -993,7 +993,7 @@ CLASS="answer"
> </B
>
Yes, the following bit of perl magic will change all the shebang
lines. Be sure to change <TT
lines. Be sure to change <TT
CLASS="filename"
>/usr/local/bin/perl</TT
>
......@@ -1100,7 +1100,7 @@ CLASS="answer"
><B
> </B
>
It is web and e-mail based. You can edit bugs by sending specially
It is web and e-mail based. You can edit bugs by sending specially
formatted email to a properly configured Bugzilla, or control via the web.
</P
></DIV
......@@ -1203,7 +1203,7 @@ CLASS="answer"
> </B
>
Yes - any sort of attachment is allowed, although administrators can
configure a maximum size.
configure a maximum size.
Bugzilla gives the user the option of either using the MIME-type
supplied by the browser, choosing from a pre-defined list or
manually typing any arbitrary MIME-type.
......@@ -1232,17 +1232,17 @@ CLASS="answer"
><B
> </B
>
Yes. However, modifying some fields, notably those related to bug
Yes. However, modifying some fields, notably those related to bug
progression states, also require adjusting the program logic to
compensate for the change.
</P
><P
>&#13; There is no GUI for adding fields to Bugzilla at this
time. You can follow development of this feature at
time. You can follow development of this feature in
<A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=91037"
TARGET="_top"
>http://bugzilla.mozilla.org/show_bug.cgi?id=91037</A
>bug 91037</A
>
</P
></DIV
......@@ -1268,12 +1268,12 @@ CLASS="answer"
><B
> </B
>
Yes. Look at <A
Yes. Look at <A
HREF="http://bugzilla.mozilla.org/report.cgi"
TARGET="_top"
>&#13; http://bugzilla.mozilla.org/report.cgi</A
> for samples of what
Bugzilla can do in reporting and graphing.
>http://bugzilla.mozilla.org/report.cgi</A
>
for samples of what Bugzilla can do in reporting and graphing.
</P
><P
>&#13; If you can not get the reports you want from the included reporting
......@@ -1306,7 +1306,7 @@ CLASS="answer"
><B
> </B
>
Email notification is user-configurable. By default, the bug id and
Email notification is user-configurable. By default, the bug id and
Summary of the bug report accompany each email notification, along with
a list of the changes made.
</P
......@@ -1384,7 +1384,7 @@ VALIGN="TOP"
>&#13; 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
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.
</P
......@@ -1421,7 +1421,7 @@ CLASS="answer"
>
Bugzilla can output buglists as HTML (the default), CSV or RDF.
The link for CSV can be found at the bottom of the buglist in HTML
format. This CSV format can easily be imported into MS Excel or
format. This CSV format can easily be imported into MS Excel or
other spread-sheet applications.
</P
><P
......@@ -1429,7 +1429,7 @@ CLASS="answer"
<TT
CLASS="computeroutput"
>&#38;ctype=rdf</TT
> to the URL. RDF
> to the URL. RDF
is meant to be machine readable and thus it is assumed that the
URL would be generated progmatically so there is no user visible
link to this format.
......@@ -1479,15 +1479,15 @@ CLASS="answer"
><B
> </B
>
Yes. For more information including available translated templates,
Yes. For more information including available translated templates,
see <A
HREF="http://www.bugzilla.org/download.html#localizations"
TARGET="_top"
>http://www.bugzilla.org/download.html#localizations</A
>.
The admin interfaces are still not included in these translated
templates and is therefore still English only. Also, there may be
issues with the charset not being declared. See <A
templates and is therefore still English only. Also, there may be
issues with the charset not being declared. See <A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=126266"
TARGET="_top"
>bug 126226</A
......@@ -1517,7 +1517,7 @@ CLASS="answer"
><B
> </B
>
Yes. No. Yes (using the CSV format).
Yes. No. Yes (using the CSV format).
</P
></DIV
></DIV
......@@ -1542,7 +1542,7 @@ CLASS="answer"
><B
> </B
>
You have no idea. Bugzilla's query interface, particularly with the
You have no idea. Bugzilla's query interface, particularly with the
advanced Boolean operators, is incredibly versatile.
</P
></DIV
......@@ -1569,7 +1569,7 @@ CLASS="answer"
><B
> </B
>
Bugzilla does not lock records. It provides mid-air collision detection,
Bugzilla does not lock records. It provides mid-air collision detection,
and offers the offending user a choice of options to deal with the conflict.
</P
></DIV
......@@ -1599,8 +1599,8 @@ CLASS="answer"
at <A
HREF="http://www.mysql.com/doc/B/a/Backup.html"
TARGET="_top"
>&#13; http://www.mysql.com/doc/B/a/Backup.html</A
>
>http://www.mysql.com/doc/B/a/Backup.html</A
>.
</P
></DIV
></DIV
......@@ -1624,8 +1624,8 @@ CLASS="answer"
><B
> </B
>
Yes. However, commits to the database must wait
until the tables are unlocked. Bugzilla databases are typically
Yes. However, commits to the database must wait
until the tables are unlocked. Bugzilla databases are typically
very small, and backups routinely take less than a minute.
</P
></DIV
......@@ -1659,7 +1659,7 @@ CLASS="answer"
</P
><P
>&#13; Commercial Bug-tracking software typically costs somewhere upwards
of $20,000 or more for 5-10 floating licenses. Bugzilla consultation
of $20,000 or more for 5-10 floating licenses. Bugzilla consultation
is available from skilled members of the newsgroup. Simple questions
are answered there and then.
</P
......@@ -1689,9 +1689,9 @@ CLASS="answer"
><B
> </B
>
It all depends on your level of commitment. Someone with much Bugzilla
It all depends on your level of commitment. Someone with much Bugzilla
experience can get you up and running in less than a day, and
your Bugzilla install can run untended for years. If your
your Bugzilla install can run untended for years. If your
Bugzilla strategy is critical to your business workflow, hire somebody
with reasonable UNIX or Perl skills to handle your process management and
bug-tracking maintenance &#38; customization.
......@@ -1719,7 +1719,7 @@ CLASS="answer"
><B
> </B
>
No. MySQL asks, if you find their product valuable, that you purchase
No. MySQL asks, if you find their product valuable, that you purchase
a support contract from them that suits your needs.
</P
></DIV
......@@ -1753,7 +1753,7 @@ CLASS="answer"
><B
> </B
>
Run MySQL like this: "mysqld --skip-grant-tables". Please remember <EM
Run MySQL like this: "mysqld --skip-grant-tables". Please remember <EM
>this
makes MySQL as secure as taping a $100 to the floor of a football stadium
bathroom for safekeeping.</EM
......@@ -1902,11 +1902,11 @@ CLASS="answer"
><B
> </B
>
Try Klaas Freitag's excellent patch for "whineatassigned" functionality.
You can find it at <A
Try Klaas Freitag's excellent patch for "whineatassigned"
functionality. You can find it in <A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=6679"
TARGET="_top"
>http://bugzilla.mozilla.org/show_bug.cgi?id=6679</A
>bug 6679</A
>. This
patch is against an older version of Bugzilla, so you must apply
the diffs manually.
......@@ -1938,7 +1938,7 @@ CLASS="answer"
You can call bug_email.pl directly from your aliases file, with
an entry like this:
<A
NAME="AEN1886"
NAME="AEN1985"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
......@@ -1949,7 +1949,7 @@ CLASS="BLOCKQUOTE"
>
However, this is fairly nasty and subject to problems; you also
need to set up your smrsh (sendmail restricted shell) to allow
it. In a pinch, though, it can work.
it. In a pinch, though, it can work.
</P
></DIV
></DIV
......@@ -2066,7 +2066,7 @@ CLASS="answer"
</P
><P
>&#13; If you never receive mail from Bugzilla, chances you do not have
sendmail in "/usr/lib/sendmail". Ensure sendmail lives in, or is symlinked
sendmail in "/usr/lib/sendmail". Ensure sendmail lives in, or is symlinked
to, "/usr/lib/sendmail".
</P
></DIV
......@@ -2101,7 +2101,7 @@ CLASS="answer"
>
Red Hat's old version of Bugzilla (based on 2.8) worked on Oracle.
Red Hat's newer version (based on 2.17.1 and soon to be merged into
the main distribution) runs on PostgreSQL. At this time we know of
the main distribution) runs on PostgreSQL. At this time we know of
no recent ports of Bugzilla to Oracle but do intend to support it
in the future (possibly the 2.20 time-frame).
</P
......@@ -2140,15 +2140,15 @@ CLASS="filename"
it finishes without errors, you're
<EM
>probably</EM
> OK. If it doesn't come back
> OK. If it doesn't come back
OK (i.e. any red letters), there are certain things
Bugzilla can recover from and certain things it can't. If
Bugzilla can recover from and certain things it can't. If
it can't auto-recover, I hope you're familiar with
mysqladmin commands or have installed another way to
manage your database. Sanity Check, although it is a good
manage your database. Sanity Check, although it is a good
basic check on your database integrity, by no means is a
substitute for competent database administration and
avoiding deletion of data. It is not exhaustive, and was
avoiding deletion of data. It is not exhaustive, and was
created to do a basic check for the most common problems
in Bugzilla databases.
</P
......@@ -2181,7 +2181,7 @@ CLASS="command"
>mysql</B
>
command line utility to manually insert, delete and modify table
information. There are also more intuitive GUI clients available.
information. There are also more intuitive GUI clients available.
Personal favorites of the Bugzilla team are <A
HREF="http://www.phpmyadmin.net/"
TARGET="_top"
......@@ -2277,7 +2277,7 @@ CLASS="answer"
><B
> </B
>
Well, you can synchronize or you can move bugs. Synchronization will
Well, you can synchronize or you can move bugs. Synchronization will
only work one way -- you can create a read-only copy of the database
at one site, and have it regularly updated at intervals from the main
database.
......@@ -2347,8 +2347,8 @@ CLASS="answer"
><B
> </B
>
Not currently. Bundle::Bugzilla enormously simplifies Bugzilla
installation on UNIX systems. If someone can volunteer to
Not currently. Bundle::Bugzilla enormously simplifies Bugzilla
installation on UNIX systems. If someone can volunteer to
create a suitable PPM bundle for Win32, it would be appreciated.
</P
></DIV
......@@ -2382,7 +2382,7 @@ CLASS="answer"
><P
>&#13; Microsoft has some advice on this matter, as well:
<A
NAME="AEN1969"
NAME="AEN2068"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
......@@ -2463,10 +2463,10 @@ CLASS="command"
I reckon TimeDate and Data::Dumper come with the activeperl. You can check
the ActiveState site for packages for installation through PPM.
<A
HREF=" http://www.activestate.com/Packages/"
HREF="http://www.activestate.com/Packages/"
TARGET="_top"
>&#13; http://www.activestate.com/Packages/</A
>
>http://www.activestate.com/Packages/</A
>.
</P
></DIV
></DIV
......@@ -2514,7 +2514,7 @@ NAME="faq-use-query"
><B
>A.7.2. </B
>
The query page is very confusing. Isn't there a simpler way to query?
The query page is very confusing. Isn't there a simpler way to query?
</P
></DIV
><DIV
......@@ -2551,8 +2551,7 @@ CLASS="answer"
> </B
>
The current behavior is acceptable to bugzilla.mozilla.org and most
users. You have your choice of patches
to change this behavior, however.
users. You have your choice of patches to change this behavior, however.
<P
></P
><TABLE
......@@ -2579,8 +2578,8 @@ TARGET="_top"
><P
></P
>
Note that these patches are somewhat dated. You will need to apply
them manually.
Note that these patches are somewhat dated. You will need to apply
them manually.
</P
></DIV
></DIV
......@@ -2596,7 +2595,7 @@ NAME="faq-use-attachment"
>A.7.4. </B
>
I can't upload anything into the database via the "Create Attachment"
link. What am I doing wrong?
link. What am I doing wrong?
</P
></DIV
><DIV
......@@ -2606,7 +2605,7 @@ CLASS="answer"
> </B
>
The most likely cause is a very old browser or a browser that is
incompatible with file upload via POST. Download the latest Netscape,
incompatible with file upload via POST. Download the latest Netscape,
Microsoft, or Mozilla browser to handle uploads correctly.
</P
></DIV
......@@ -2632,8 +2631,8 @@ CLASS="answer"
> </B
>
In the Bugzilla administrator UI, edit the keyword and it will let you
replace the old keyword name with a new one. This will cause a problem
with the keyword cache. Run sanitycheck.cgi to fix it.
replace the old keyword name with a new one. This will cause a problem
with the keyword cache. Run sanitycheck.cgi to fix it.
</P
></DIV
></DIV
......@@ -2666,7 +2665,7 @@ CLASS="answer"
> </B
>
Gerv and Myk suggest a 2-space indent, with embedded code sections on
their own line, in line with outer tags. Like this:</P
their own line, in line with outer tags. Like this:</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
......@@ -2701,7 +2700,7 @@ CLASS="programlisting"
><P
>Please note that many have differing opinions on this subject,
and the existing templates in Bugzilla espouse both this and a 4-space
style. Either is acceptable; the above is preferred.</P
style. Either is acceptable; the above is preferred.</P
></DIV
></DIV
><DIV
......@@ -2739,7 +2738,7 @@ TARGET="_top"
>here</A
>.
This list includes bugs for the 2.18 release that have already
been fixed and checked into CVS. Please consult the
been fixed and checked into CVS. Please consult the
<A
HREF="http://www.bugzilla.org/"
TARGET="_top"
......@@ -2771,14 +2770,13 @@ CLASS="answer"
><B
> </B
>
This is well-documented here: <A
This is well-documented in <A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=49862"
TARGET="_top"
>&#13; http://bugzilla.mozilla.org/show_bug.cgi?id=49862</A
>. Ultimately, it's as easy
as adding the "---" priority field to your localconfig file in the appropriate area,
re-running checksetup.pl, and then changing the default priority in your browser using
"editparams.cgi".
>&#13; bug 49862</A
>. Ultimately, it's as easy as adding the "---" priority field to your
localconfig file in the appropriate area, re-running checksetup.pl, and then changing the
default priority in your browser using "editparams.cgi".
</P
></DIV
></DIV
......@@ -2827,7 +2825,7 @@ TARGET="_top"
or new source file by clicking
"Create a new attachment" link on the bug page you've just created, and
include any descriptions of database changes you may make, into the bug
ID you submitted in step #1. Be sure and click the "Patch" checkbox
ID you submitted in step #1. Be sure and click the "Patch" checkbox
to indicate the text you are sending is a patch!
</P
></LI
......@@ -2835,7 +2833,7 @@ TARGET="_top"
><P
>&#13; Announce your patch and the associated URL
(http://bugzilla.mozilla.org/show_bug.cgi?id=XXXXXX) for discussion in
the newsgroup (netscape.public.mozilla.webtools). You'll get a really
the newsgroup (netscape.public.mozilla.webtools). You'll get a really
good, fairly immediate reaction to the implications of your patch,
which will also give us an idea how well-received the change would
be.
......
......@@ -84,10 +84,8 @@ NAME="gfdl-10"
<A
HREF="http://www.gnu.org/copyleft/"
TARGET="_top"
>&#13; http://www.gnu.org/copyleft/</A
>
.</P
>http://www.gnu.org/copyleft/</A
>.</P
><P
>Each version of the License is given a distinguishing version
number. If the Document specifies that a particular numbered version of
......
......@@ -81,7 +81,7 @@ NAME="gfdl-howto"
of the License in the document and put the following copyright and
license notices just after the title page:</P
><A
NAME="AEN2296"
NAME="AEN2395"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
......
......@@ -144,7 +144,7 @@ HREF="gfdl-howto.html"
><P
>Version 1.1, March 2000</P
><A
NAME="AEN2206"
NAME="AEN2305"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
......
......@@ -70,7 +70,7 @@ CLASS="glossdiv"
><H1
CLASS="glossdiv"
><A
NAME="AEN2301"
NAME="AEN2400"
></A
>0-9, high ascii</H1
><DL
......@@ -353,13 +353,9 @@ NAME="gloss-component"
NAME="gloss-cpan"
></A
><B
>&#13; <SPAN
CLASS="acronym"
>CPAN</SPAN
>
</B
>Comprehensive Perl Archive Network</B
></DT
><DD
> (CPAN)<DD
><P
>&#13; <SPAN
CLASS="acronym"
......@@ -600,6 +596,22 @@ NAME="gloss-p"
>P</H1
><DL
><DT
><A
NAME="gloss-ppm"
></A
><B
>Perl Package Manager</B
></DT
> (PPM)<DD
><P
><A
HREF="http://aspn.activestate.com/ASPN/Downloads/ActivePerl/PPM/"
TARGET="_top"
>http://aspn.activestate.com/ASPN/Downloads/ActivePerl/PPM/</A
>
</P
></DD
><DT
><B
>Product</B
></DT
......@@ -866,7 +878,7 @@ NAME="gloss-zarro"
Terry had the following to say:
</P
><A
NAME="AEN2521"
NAME="AEN2626"
></A
><TABLE
BORDER="0"
......
......@@ -84,7 +84,7 @@ CLASS="section"
><H2
CLASS="section"
><A
NAME="AEN370"
NAME="AEN371"
></A
>3.2.1. Autolinkification</H2
><P
......@@ -232,7 +232,7 @@ CLASS="section"
><H2
CLASS="section"
><A
NAME="AEN399"
NAME="AEN400"
></A
>3.2.5. Filing Bugs</H2
><P
......
......@@ -105,8 +105,8 @@ NAME="myaccount"
<A
HREF="http://landfill.bugzilla.org/bugzilla-tip/"
TARGET="_top"
>&#13; http://landfill.bugzilla.org/bugzilla-tip/</A
>
>http://landfill.bugzilla.org/bugzilla-tip/</A
>.
</P
><P
></P
......@@ -441,10 +441,8 @@ NAME="query"
<A
HREF="http://landfill.bugzilla.org/bugzilla-tip/query.cgi"
TARGET="_top"
>&#13; landfill.bugzilla.org/bugzilla-tip/query.cgi</A
>
.</P
>http://landfill.bugzilla.org/bugzilla-tip/query.cgi</A
>.</P
><P
>The Search page has controls for selecting different possible
values for all of the fields in a bug, as described above. Once you've
......
......@@ -120,7 +120,7 @@ CLASS="command"
>./checksetup.pl</B
> (shown in <A
HREF="http.html#http-apache-htaccess"
>Example 4-1</A
>Example 4-2</A
>
for the curious) are allowed to override Apache's normal access
permissions or else important password information may be exposed to the
......@@ -241,7 +241,7 @@ NAME="http-apache-htaccess"
></A
><P
><B
>Example 4-1. <TT
>Example 4-2. <TT
CLASS="filename"
>.htaccess</TT
> files for Apache</B
......@@ -420,7 +420,7 @@ CLASS="productname"
<A
HREF="http://support.microsoft.com/support/kb/articles/Q245/2/25.asp"
TARGET="_top"
>Q245225 </A
>Q245225</A
>
for <SPAN
CLASS="productname"
......@@ -552,12 +552,11 @@ VALIGN="TOP"
<TT
CLASS="filename"
>localconfig</TT
>. For more information, see
>. For more information, see
<A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=186383"
TARGET="_top"
>bug
186383</A
>&#13; bug 186383</A
> or <A
HREF="http://online.securityfocus.com/bid/6501"
TARGET="_top"
......
......@@ -451,11 +451,16 @@ CLASS="LOT"
></DT
><DT
>4-1. <A
HREF="stepbystep.html#install-mysql-packets"
>Set Max Packet Size in MySQL</A
></DT
><DT
>4-2. <A
HREF="troubleshooting.html#trouble-filetemp-errors"
>Other File::Temp error messages</A
></DT
><DT
>4-2. <A
>4-3. <A
HREF="troubleshooting.html#trouble-filetemp-patch"
>Patch for File::Temp in Perl 5.6.0</A
></DT
......@@ -471,6 +476,11 @@ CLASS="LOT"
></DT
><DT
>4-1. <A
HREF="stepbystep.html#install-perlmodules-cpan"
>Installing perl modules with CPAN</A
></DT
><DT
>4-2. <A
HREF="http.html#http-apache-htaccess"
><TT
CLASS="filename"
......
......@@ -88,55 +88,45 @@ HREF="stepbystep.html"
><DL
><DT
>4.1.1. <A
HREF="stepbystep.html#intstall-into"
>Introduction</A
></DT
><DT
>4.1.2. <A
HREF="stepbystep.html#install-package-list"
>Package List</A
></DT
><DT
>4.1.3. <A
HREF="stepbystep.html#install-mysql"
>MySQL</A
></DT
><DT
>4.1.4. <A
>4.1.2. <A
HREF="stepbystep.html#install-perl"
>Perl</A
></DT
><DT
>4.1.5. <A
HREF="stepbystep.html#perl-modules"
>4.1.3. <A
HREF="stepbystep.html#install-perlmodules"
>Perl Modules</A
></DT
><DT
>4.1.6. <A
HREF="stepbystep.html#sbs-http"
>4.1.4. <A
HREF="stepbystep.html#install-webserver"
>HTTP Server</A
></DT
><DT
>4.1.7. <A
HREF="stepbystep.html#AEN600"
>4.1.5. <A
HREF="stepbystep.html#install-bzfiles"
>Bugzilla</A
></DT
><DT
>4.1.8. <A
HREF="stepbystep.html#AEN611"
>4.1.6. <A
HREF="stepbystep.html#install-setupdatabase"
>Setting Up the MySQL Database</A
></DT
><DT
>4.1.9. <A
HREF="stepbystep.html#AEN649"
>4.1.7. <A
HREF="stepbystep.html#AEN749"
><TT
CLASS="filename"
>checksetup.pl</TT
></A
></DT
><DT
>4.1.10. <A
HREF="stepbystep.html#AEN681"
>4.1.8. <A
HREF="stepbystep.html#AEN780"
>Configuring Bugzilla</A
></DT
></DL
......@@ -150,17 +140,17 @@ HREF="extraconfig.html"
><DL
><DT
>4.2.1. <A
HREF="extraconfig.html#AEN687"
HREF="extraconfig.html#AEN786"
>Dependency Charts</A
></DT
><DT
>4.2.2. <A
HREF="extraconfig.html#AEN702"
HREF="extraconfig.html#AEN801"
>Bug Graphs</A
></DT
><DT
>4.2.3. <A
HREF="extraconfig.html#AEN715"
HREF="extraconfig.html#AEN814"
>The Whining Cron</A
></DT
><DT
......@@ -268,12 +258,12 @@ HREF="troubleshooting.html"
><DL
><DT
>4.5.1. <A
HREF="troubleshooting.html#AEN977"
HREF="troubleshooting.html#AEN1076"
>Bundle::Bugzilla makes me upgrade to Perl 5.6.1</A
></DT
><DT
>4.5.2. <A
HREF="troubleshooting.html#AEN982"
HREF="troubleshooting.html#AEN1081"
>DBD::Sponge::db prepare failed</A
></DT
><DT
......
......@@ -131,11 +131,10 @@ CLASS="filename"
><P
>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:
<A
email. Check it out at: <A
HREF="http://homepages.kcbbs.gen.nz/~tonyg/"
TARGET="_top"
>&#13; http://homepages.kcbbs.gen.nz/~tonyg/</A
>http://homepages.kcbbs.gen.nz/~tonyg/</A
>.
</P
></DIV
......@@ -153,7 +152,7 @@ NAME="scm"
<A
HREF="http://www.ravenbrook.com/project/p4dti/"
TARGET="_top"
>&#13; http://www.ravenbrook.com/project/p4dti</A
>http://www.ravenbrook.com/project/p4dti/</A
>
.
......@@ -167,7 +166,7 @@ CLASS="QUOTE"
<A
HREF="http://public.perforce.com/public/perforce/p4dti/index.html"
TARGET="_top"
>&#13; http://public.perforce.com/public/perforce/p4dti/index.html</A
>http://public.perforce.com/public/perforce/p4dti/index.html</A
>
.</P
......
......@@ -93,7 +93,7 @@ NAME="newversions"
>&#13; The newest version of this guide can always be found at <A
HREF="http://www.bugzilla.org"
TARGET="_top"
>bugzilla.org</A
>http://www.bugzilla.org</A
>; including
documentation for past releases and the current development version.
</P
......@@ -108,13 +108,12 @@ TARGET="_top"
</P
><P
>&#13; The latest version of this document can always be checked out via CVS.
Please follow the instructions available at
<A
Please follow the <A
HREF="http://www.mozilla.org/cvs.html"
TARGET="_top"
>the Mozilla CVS page</A
>,
and check out the <TT
>Mozilla CVS</A
>
instructions and check out the <TT
CLASS="filename"
>mozilla/webtools/bugzilla/docs/</TT
>
......
......@@ -143,19 +143,23 @@ CLASS="section"
><H3
CLASS="section"
><A
NAME="win32-perl-modules"
NAME="win32-perlmodules"
></A
>4.3.1.2. Perl Modules on Win32</H3
><P
>Bugzilla on Windows requires the same perl modules found in
<A
HREF="stepbystep.html#install-package-list"
>Section 4.1.2</A
HREF="stepbystep.html#install-perlmodules"
>Section 4.1.3</A
>. The main difference is that
windows uses <B
CLASS="command"
>ppm</B
> instead of CPAN.
windows uses <A
HREF="glossary.html#gloss-ppm"
><I
CLASS="glossterm"
>PPM</I
></A
> instead of
CPAN.
</P
><TABLE
BORDER="0"
......@@ -606,7 +610,7 @@ CLASS="prompt"
> <B
CLASS="command"
>urpmi perl-MailTools</B
> <A
> <A
NAME="test-mailtools"
><IMG
SRC="../images/callouts/1.gif"
......
......@@ -406,12 +406,11 @@ NAME="security-access"
not be accessible is rather complicated. A new installation method
is currently in the works which should solve this by allowing files
that shouldn't be accessible from the web to be placed in directory
outside the webroot. See
outside the webroot. See
<A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=44659"
TARGET="_top"
>bug
44659</A
>&#13; bug 44659</A
> for more information.
</P
><P
......
......@@ -76,34 +76,21 @@ CLASS="section"
NAME="stepbystep"
></A
>4.1. Step-by-step Install</H1
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="intstall-into"
></A
>4.1.1. Introduction</H2
><P
>Bugzilla has been successfully installed under Solaris, Linux,
and Win32. Win32 is not yet officially supported, but many people
have got it working fine.
Please see
>Bugzilla has been successfully installed under many different
operating systems including almost all Unix clones and
<SPAN
CLASS="productname"
>Microsoft Windows</SPAN
>. Many
operating systems have utilities that make installation easier or quirks
that make it harder. We have tried to collect that information in
<A
HREF="os-specific.html#os-win32"
>Section 4.3.1</A
>
for further advice on getting Bugzilla to work on Microsoft
Windows.</P
></DIV
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="install-package-list"
></A
>4.1.2. Package List</H2
HREF="os-specific.html"
>Section 4.3</A
>, so be sure to check out that section before
you start your installation.
</P
><DIV
CLASS="note"
><P
......@@ -125,265 +112,117 @@ ALT="Note"></TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> If you are running the very most recent
version of Perl and MySQL (both the executables and development
libraries) on your system, you can skip these manual installation
steps for the Perl modules by using Bundle::Bugzilla; see
>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
<A
HREF="stepbystep.html#bundlebugzilla"
>Using Bundle::Bugzilla instead of manually installing Perl modules</A
HREF="os-specific.html#os-win32"
>Section 4.3.1</A
>.
</P
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="warning"
><P
>The software packages necessary for the proper running of
Bugzilla (with download links) are:
<P
></P
><OL
TYPE="1"
><LI
><TABLE
CLASS="warning"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="../images/warning.gif"
HSPACE="5"
ALT="Warning"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>&#13; <A
HREF="http://www.mysql.com/"
TARGET="_top"
>MySQL database server</A
>
(3.23.41 or greater)
</P
></LI
><LI
>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.</P
></TD
></TR
></TABLE
></DIV
><P
>&#13; <A
HREF="http://www.perl.org"
TARGET="_top"
>Perl</A
>
(5.6, 5.6.1 is recommended if you wish to
use Bundle::Bugzilla)
</P
></LI
><LI
>This guide assumes that you already have your operating system
installed, network configured, and have administrative access to the
shell on the machine you are installing Bugzilla onto. It is possible to
install and run Bugzilla without administrative access, but you have to
either make sure all the required software is installed or get somebody
with administrative access to install it for you.
</P
><P
>Perl Modules (minimum version):
<P
></P
>The listing below is a basic step-by-step list. More information
can be found in the sections below. Minimum versions will be
included in parenthesis where appropriate.
</P
><DIV
CLASS="procedure"
><OL
TYPE="a"
TYPE="1"
><LI
><P
>&#13; <A
HREF="http://www.template-toolkit.org"
TARGET="_top"
>Template</A
><A
HREF="stepbystep.html#install-mysql"
>Install MySQL</A
>
(v2.08)
</P
(3.23.41)
</P
></LI
><LI
><P
>&#13; <A
HREF="http://www.perldoc.com/perl5.6/lib/File/Temp.html"
TARGET="_top"
>&#13; File::Temp</A
><A
HREF="stepbystep.html#install-perl"
>Install Perl</A
>
(1.804) (Prerequisite for Template)
</P
(5.6)
</P
></LI
><LI
><P
>&#13; <A
HREF="http://www.cpan.org/modules/by-module/AppConfig/"
TARGET="_top"
>AppConfig
</A
><A
HREF="stepbystep.html#install-perlmodules"
>Install Perl Modules</A
>
(1.52)
</P
></LI
><LI
><P
>&#13; <A
HREF="http://www.cpan.org/authors/id/MUIR/modules/Text-Tabs%2BWrap-2001.0131.tar.gz"
TARGET="_top"
>Text::Wrap</A
>
(2001.0131)
</P
</P
></LI
><LI
><P
>&#13; <A
HREF="http://search.cpan.org/search?dist=File-Spec"
TARGET="_top"
>File::Spec
</A
><A
HREF="stepbystep.html#install-webserver"
>Install a Webserver</A
>
(0.82)
</P
></LI
><LI
><P
>&#13; <A
HREF="http://www.cpan.org/modules/by-module/Data/"
TARGET="_top"
>Data::Dumper
</A
>
(any)
</P
></LI
><LI
><P
>&#13; <A
HREF="http://www.cpan.org/modules/by-module/Mysql/"
TARGET="_top"
>DBD::mysql
</A
>
(2.1010)
</P
></LI
><LI
><P
>&#13; <A
HREF="http://www.cpan.org/modules/by-module/DBI/"
TARGET="_top"
>DBI</A
>
(1.32)
</P
></LI
><LI
><P
>&#13; <A
HREF="http://www.cpan.org/modules/by-module/Date/"
TARGET="_top"
>Date::Parse
</A
>
(2.21)
</P
></LI
><LI
><P
>&#13; <A
HREF="http://www.cpan.org/modules/by-module/CGI/"
TARGET="_top"
>CGI
</A
>
(2.88)
</P
</P
></LI
></OL
>
and, optionally:
<P
></P
><OL
TYPE="a"
><LI
><P
>&#13; <A
HREF="http://www.cpan.org/modules/by-module/GD/"
TARGET="_top"
>GD</A
><A
HREF="stepbystep.html#install-bzfiles"
>Put Bugzilla in the Webspace</A
>
(1.20) for bug charting
</P
></LI
><LI
><P
>&#13; GD::Graph
(any) for bug charting
</P
></LI
><LI
><P
>&#13; GD::Text::Align
(any) for bug charting
</P
</P
></LI
><LI
><P
>&#13; <A
HREF="http://www.cpan.org/modules/by-module/Chart/"
TARGET="_top"
>Chart::Base
</A
><A
HREF="stepbystep.html#install-setupdatabase"
>Setup the MySQL Database</A
>
(0.99c) for bug charting
</P
></LI
><LI
><P
>&#13; XML::Parser
(any) for the XML interface
</P
></LI
><LI
><P
>&#13; MIME::Parser
(any) for the email interface
</P
></LI
></OL
>
</P
></LI
><LI
><P
>&#13; The web server of your choice.
<A
HREF="http://www.apache.org/"
TARGET="_top"
>Apache</A
>
is highly recommended.
</P
</P
></LI
></OL
>
<DIV
CLASS="warning"
><P
></P
><TABLE
CLASS="warning"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="../images/warning.gif"
HSPACE="5"
ALT="Warning"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>It is a good idea, while installing Bugzilla, to ensure that there
is some kind of firewall between you and the rest of the Internet,
because 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.</P
></TD
></TR
></TABLE
></DIV
>
</P
></DIV
><DIV
CLASS="section"
......@@ -392,13 +231,13 @@ CLASS="section"
><A
NAME="install-mysql"
></A
>4.1.3. MySQL</H2
>4.1.1. MySQL</H2
><P
>Visit the MySQL homepage at
<A
HREF="http://www.mysql.com"
TARGET="_top"
>www.mysql.com</A
>http://www.mysql.com</A
>
to grab and install the latest stable release of the server.
</P
......@@ -441,53 +280,65 @@ CLASS="filename"
></TABLE
></DIV
><P
>If you install from something other than an RPM or Debian
package, you will need to add <TT
CLASS="filename"
>mysqld</TT
>
to your init scripts so the server daemon will come back up whenever
your machine reboots. Further discussion of UNIX init sequences are
beyond the scope of this guide.
>If you install from something other than a packaging/installation
system (such as .rpm, .dep, .exe, or .msi) you will need to configure
your system so the MySQL server daemon will come back up whenever
your machine reboots.
</P
><P
>Change your init script to start
<TT
CLASS="filename"
>mysqld</TT
>
with the ability to accept large packets. By default,
<TT
CLASS="filename"
>mysqld</TT
>
only accepts packets up to 64K long. This limits the size of
attachments you may put on bugs. If you add
>If you wish to have attachments larger than 64K, you will have to
configure MySQL to accept large packets. This is done by adding the text
in <A
HREF="stepbystep.html#install-mysql-packets"
>Figure 4-1</A
> to your
<TT
CLASS="option"
>-O max_allowed_packet=1M</TT
>
to the command that starts
<TT
CLASS="filename"
>mysqld</TT
>
(or <TT
CLASS="filename"
>safe_mysqld</TT
>),
then you will be able to have attachments up to about 1 megabyte.
There is a Bugzilla parameter for maximum attachment size;
you should configure it to match the value you choose here.</P
><P
>If you plan on running Bugzilla and MySQL on the same machine,
consider using the
<TT
>my.conf</TT
> file. There is also a parameter in Bugzilla
for setting the maximum allowable attachment size.
You should set this value to be slightly larger than that parameter.
</P
><DIV
CLASS="figure"
><A
NAME="install-mysql-packets"
></A
><P
><B
>Figure 4-1. Set Max Packet Size in MySQL</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="programlisting"
>&#13;[mysqld]
# Allow packets up to 1M
set-variable = max_allowed_packet=1M
</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><P
>If you are running Bugzilla and MySQL on the same machine, you may
also wish to utilize the <TT
CLASS="option"
>--skip-networking</TT
>
option in the init script. This enhances security by preventing
network access to MySQL.</P
>skip-networking</TT
> option as
mentioned in <A
HREF="security.html#security-mysql"
>Section 5.6.2</A
> for the added security.
</P
></DIV
><DIV
CLASS="section"
......@@ -496,26 +347,208 @@ CLASS="section"
><A
NAME="install-perl"
></A
>4.1.4. Perl</H2
>4.1.2. Perl</H2
><P
>Any machine that doesn't have Perl on it is a sad machine indeed.
Perl can be got in source form from
<A
Perl can be got in source form from <A
HREF="http://www.perl.com"
TARGET="_top"
>perl.com</A
> for the rare
*nix systems which don't have it.
>http://www.perl.com</A
>.
There are also binary versions available for many platforms, most of which
are linked to from perl.com.
Although Bugzilla runs with perl 5.6,
it's a good idea to be up to the very latest version
if you can when running Bugzilla. As of this writing, that is Perl
version 5.8.</P
></DIV
><DIV
CLASS="tip"
CLASS="section"
><H2
CLASS="section"
><A
NAME="install-perlmodules"
></A
>4.1.3. Perl Modules</H2
><P
>Perl modules can be found using
<A
HREF="glossary.html#gloss-cpan"
><I
CLASS="glossterm"
>CPAN</I
></A
> on Unix based systems or
<A
HREF="glossary.html#gloss-ppm"
><I
CLASS="glossterm"
>PPM</I
></A
> on Win32. The root servers
have a real tendency to bog down, so please use mirrors.
</P
><P
>Good instuctions can be found for using each of these services on
their respective websites. The basics can be found in
<A
HREF="stepbystep.html#install-perlmodules-cpan"
>Example 4-1</A
> for CPAN and
<A
HREF="os-specific.html#win32-perlmodules"
>Section 4.3.1.2</A
> for PPM.
</P
><DIV
CLASS="example"
><A
NAME="bundlebugzilla"
NAME="install-perlmodules-cpan"
></A
><P
><B
>Example 4-1. Installing perl modules with CPAN</B
></P
><P
>The easy way:
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;<TT
CLASS="prompt"
>bash#</TT
> perl -MCPAN -e 'install "&#60;modulename&#62;"'
</PRE
></FONT
></TD
></TR
></TABLE
>
</P
><P
>Or the hard way:
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;<TT
CLASS="prompt"
>bash#</TT
> tar xzvf &#60;module&#62;.tar.gz <A
NAME="cpan-moduletar"
><IMG
SRC="../images/callouts/1.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(1)"></A
>
<TT
CLASS="prompt"
>bash#</TT
> cd &#60;module&#62; <A
NAME="cpan-moduledir"
><IMG
SRC="../images/callouts/2.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(2)"></A
>
<TT
CLASS="prompt"
>bash#</TT
> perl Makefile.PL
<TT
CLASS="prompt"
>bash#</TT
> make
<TT
CLASS="prompt"
>bash#</TT
> make test
<TT
CLASS="prompt"
>bash#</TT
> make install
</PRE
></FONT
></TD
></TR
></TABLE
>
<DIV
CLASS="calloutlist"
><DL
COMPACT="COMPACT"
><DT
><A
HREF="stepbystep.html#cpan-moduletar"
><IMG
SRC="../images/callouts/1.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(1)"></A
></DT
><DD
>This assumes that you've already downloaded the
<TT
CLASS="filename"
>&#60;module&#62;.tar.gz</TT
> to the current working
directory.
</DD
><DT
><A
HREF="stepbystep.html#cpan-moduledir"
><IMG
SRC="../images/callouts/2.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(2)"></A
></DT
><DD
>The process of untaring the module as defined in
<A
HREF="stepbystep.html#cpan-moduletar"
><A
HREF="stepbystep.html#cpan-moduletar"
><IMG
SRC="../images/callouts/1.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(1)"></A
></A
> will create the
<TT
CLASS="filename"
>&#60;module&#62;</TT
> directory.
</DD
></DL
></DIV
>
</P
></DIV
><DIV
CLASS="tip"
><P
></P
><TABLE
CLASS="tip"
......@@ -534,249 +567,433 @@ ALT="Tip"></TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>You can skip the following Perl module installation steps by
installing
>Many people complain that Perl modules will not install for
them. Most times, the error messages complain that they are missing a
file in
<SPAN
CLASS="productname"
>Bundle::Bugzilla</SPAN
>
from
<A
HREF="glossary.html#gloss-cpan"
><I
CLASS="glossterm"
>CPAN</I
></A
>,
which installs all required modules for you.</P
><P
>&#13; <TT
CLASS="computeroutput"
>&#13; <TT
CLASS="prompt"
>bash#</TT
>
<B
CLASS="command"
>perl -MCPAN -e 'install "Bundle::Bugzilla"'</B
>
</TT
CLASS="QUOTE"
>"@INC"</SPAN
>.
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
<EM
>are</EM
>
</P
><P
>Bundle::Bugzilla doesn't include GD, Chart::Base, or
MIME::Parser, which are not essential to a basic Bugzilla install. If
installing this bundle fails, you should install each module
individually to isolate the problem.</P
the local UNIX sysadmin, please consult the newsgroup/mailing list
for further assistance or hire someone to help you out.</P
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="perl-modules"
></A
>4.1.5. Perl Modules</H2
><P
>
All Perl modules can be found on the
<A
HREF="http://www.cpan.org"
TARGET="_top"
>Comprehensive Perl
Archive Network</A
> (CPAN). The
CPAN servers have a real tendency to bog down, so please use mirrors.
</P
><P
>Quality, general Perl module installation instructions can be
found on the CPAN website, but the easy thing to do is to just use the
CPAN shell which does all the hard work for you.
To use the CPAN shell to install a module:
</P
>Perl Modules (minimum version):
<P
></P
><OL
TYPE="1"
><LI
><P
>&#13; <TT
CLASS="computeroutput"
>&#13; <TT
CLASS="prompt"
>bash#</TT
>
<B
CLASS="command"
>perl -MCPAN -e 'install "&#60;modulename&#62;"'</B
>
</TT
>&#13; <A
HREF="stepbystep.html#install-modules-bundle-bugzilla"
>Bundle::Bugzilla</A
>
(Will allow you to skip the rest)
</P
></LI
><LI
><P
>&#13; To do it the hard way:
>&#13; <A
HREF="stepbystep.html#install-modules-appconfig"
>AppConfig</A
>
(1.52)
</P
></LI
><LI
><P
>Untar the module tarball -- it should create its own
directory</P
>&#13; <A
HREF="stepbystep.html#install-modules-cgi"
>CGI</A
>
(2.88)
</P
></LI
><LI
><P
>CD to the directory just created, and enter the following
commands:
<P
></P
><OL
TYPE="1"
>&#13; <A
HREF="stepbystep.html#install-modules-data-dumper"
>Data::Dumper</A
>
(any)
</P
></LI
><LI
><P
>&#13; <TT
CLASS="computeroutput"
>&#13; <TT
CLASS="prompt"
>bash#</TT
>
<B
CLASS="command"
>perl Makefile.PL</B
>&#13; <A
HREF="stepbystep.html#install-modules-date-format"
>Date::Format</A
>
</TT
(2.21)
</P
></LI
><LI
><P
>&#13; <A
HREF="stepbystep.html#install-modules-dbi"
>DBI</A
>
(1.32)
</P
></LI
><LI
><P
>&#13; <A
HREF="stepbystep.html#install-modules-dbd-mysql"
>DBD::mysql</A
>
</P
(2.1010)
</P
></LI
><LI
><P
>&#13; <TT
CLASS="computeroutput"
>&#13; <TT
CLASS="prompt"
>bash#</TT
>&#13; <A
HREF="stepbystep.html#install-file-spec"
>File::Spec</A
>
<B
CLASS="command"
>make</B
(0.82)
</P
></LI
><LI
><P
>&#13; <A
HREF="stepbystep.html#install-modules-file-temp"
>File::Temp</A
>
</TT
(any)
</P
></LI
><LI
><P
>&#13; <A
HREF="stepbystep.html#install-modules-template"
>Template Toolkit</A
>
</P
(2.08)
</P
></LI
><LI
><P
>&#13; <TT
CLASS="computeroutput"
>&#13; <TT
CLASS="prompt"
>bash#</TT
>&#13; <A
HREF="stepbystep.html#install-modules-text-wrap"
>Text::Wrap</A
>
(2001.0131)
</P
></LI
></OL
>
<B
CLASS="command"
>make test</B
and, optionally:
<P
></P
><OL
TYPE="1"
><LI
><P
>&#13; <A
HREF="stepbystep.html#install-modules-gd"
>GD</A
>
</TT
(1.20) for bug charting
</P
></LI
><LI
><P
>&#13; <A
HREF="stepbystep.html#install-modules-chart-base"
>Chart::Base</A
>
</P
(0.99c) for bug charting
</P
></LI
><LI
><P
>&#13; <TT
CLASS="computeroutput"
>&#13; <TT
CLASS="prompt"
>bash#</TT
>&#13; <A
HREF="stepbystep.html#install-modules-xml-parser"
>XML::Parser</A
>
<B
CLASS="command"
>make install</B
(any) for the XML interface
</P
></LI
><LI
><P
>&#13; <A
HREF="stepbystep.html#install-modules-gd-graph"
>GD::Graph</A
>
</TT
(any) for bug charting
</P
></LI
><LI
><P
>&#13; <A
HREF="stepbystep.html#install-modules-gd-text-align"
>GD::Text::Align</A
>
</P
(any) for bug charting
</P
></LI
></OL
><LI
><P
>&#13; <A
HREF="stepbystep.html#install-modules-mime-parser"
>MIME::Parser</A
>
(any) for the email interface
</P
></LI
></OL
>
</P
><DIV
CLASS="warning"
CLASS="section"
><H3
CLASS="section"
><A
NAME="install-modules-bundle-bugzilla"
></A
>4.1.3.1. Bundle::Bugzilla</H3
><P
></P
>If you are running at least perl 5.6.1, you can save yourself a lot
of time by using Bundle::Bugzilla. This bundle contains every module
required to get Bugzilla running. It does not include GD and friends, but
these are not required for a base install and can always be added later
if the need arises.
</P
><P
>Assuming your perl was installed with CPAN (most unix installations
are), using Bundle::Bugzilla is really easy. Simply follow along with the
commands below.
</P
><TABLE
CLASS="warning"
WIDTH="100%"
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;<TT
CLASS="prompt"
>bash#</TT
> <B
CLASS="command"
>perl -MCPAN -eshell</B
> <A
NAME="bundle-cpanconfig"
><IMG
SRC="../images/warning.gif"
HSPACE="5"
ALT="Warning"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>Many people complain that Perl modules will not install for
them. Most times, the error messages complain that they are missing a
file in
<SPAN
CLASS="QUOTE"
>"@INC"</SPAN
>.
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
<EM
>are</EM
SRC="../images/callouts/1.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(1)"></A
>
the local UNIX sysadmin, please consult the newsgroup/mailing list
for further assistance or hire someone to help you out.</P
cpan shell -- CPAN exploration and modules installation (v1.63)
ReadLine support enabled
<TT
CLASS="prompt"
>cpan&#62;</TT
>
</PRE
></FONT
></TD
></TR
></TABLE
><DIV
CLASS="calloutlist"
><DL
COMPACT="COMPACT"
><DT
><A
HREF="stepbystep.html#bundle-cpanconfig"
><IMG
SRC="../images/callouts/1.gif"
HSPACE="0"
VSPACE="0"
BORDER="0"
ALT="(1)"></A
></DT
><DD
>At this point, unless you've used CPAN on this machine before,
you'll have to go through a series of configuration steps.
</DD
></DL
></DIV
></DIV
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="AEN566"
NAME="install-modules-appconfig"
></A
>4.1.5.1. DBI</H3
>4.1.3.2. AppConfig (1.52)</H3
><P
>The DBI module is a generic Perl module used the
MySQL-related modules. As long as your Perl installation was done
correctly the DBI module should be a breeze. It's a mixed Perl/C
module, but Perl's MakeMaker system simplifies the C compilation
greatly.</P
>Dependency for Template Toolkit. We probably don't need to
specifically check for it anymore.
</P
></DIV
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="AEN569"
NAME="install-modules-cgi"
></A
>4.1.5.2. Data::Dumper</H3
>4.1.3.3. CGI (2.88)</H3
><P
>The CGI module parses form elements and cookies and does many
other usefule things. It come as a part of recent perl distributions, but
Bugzilla needs a fairly new version.
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/CGI.pm/"
TARGET="_top"
>http://search.cpan.org/dist/CGI.pm/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/CGI.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/CGI.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://www.perldoc.com/perl5.8.0/lib/CGI.html"
TARGET="_top"
>http://www.perldoc.com/perl5.8.0/lib/CGI.html</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="install-modules-data-dumper"
></A
>4.1.3.4. Data::Dumper (any)</H3
><P
>The Data::Dumper module provides data structure persistence for
Perl (similar to Java's serialization). It comes with later
sub-releases of Perl 5.004, but a re-installation just to be sure it's
available won't hurt anything.</P
available won't hurt anything.
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/Data-Dumper/"
TARGET="_top"
>http://search.cpan.org/dist/Data-Dumper/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/Data-Dumper.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/Data-Dumper.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://www.perldoc.com/perl5.8.0/lib/Data/Dumper.html"
TARGET="_top"
>http://www.perldoc.com/perl5.8.0/lib/Data/Dumper.html</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="install-modules-date-format"
></A
>4.1.3.5. TimeDate modules (2.21)</H3
><P
>Many of the more common date/time/calendar related Perl modules
have been grouped into a bundle similar to the MySQL modules bundle.
This bundle is stored on the CPAN under the name TimeDate.
The component module we're most interested in is the Date::Format
module, but installing all of them is probably a good idea anyway.
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/TimeDate/"
TARGET="_top"
>http://search.cpan.org/dist/TimeDate/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/TimeDate.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/TimeDate.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://search.cpan.org/dist/TimeDate/lib/Date/Format.pm"
TARGET="_top"
>http://search.cpan.org/dist/TimeDate/lib/Date/Format.pm</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="AEN572"
NAME="install-modules-dbi"
></A
>4.1.5.3. MySQL-related modules</H3
>4.1.3.6. DBI (1.32)</H3
><P
>The DBI module is a generic Perl module used the
MySQL-related modules. As long as your Perl installation was done
correctly the DBI module should be a breeze. It's a mixed Perl/C
module, but Perl's MakeMaker system simplifies the C compilation
greatly.</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/DBI/"
TARGET="_top"
>http://search.cpan.org/dist/DBI/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/DBI.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/DBI.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://dbi.perl.org/doc/"
TARGET="_top"
>http://dbi.perl.org/doc/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="install-modules-dbd-mysql"
></A
>4.1.3.7. MySQL-related modules</H3
><P
>The Perl/MySQL interface requires a few mutually-dependent Perl
modules. These modules are grouped together into the the
......@@ -790,38 +1007,165 @@ NAME="AEN572"
provide backwards compatibility with the older MySQL packages; you
should answer YES to this question. The default is NO.</P
><P
>A host of 'localhost' should be fine and a testing user of 'test'
with a null password should find itself with sufficient access to run
tests on the 'test' database which MySQL created upon installation.
>A host of 'localhost' should be fine and a testing user of 'test'
with a null password should find itself with sufficient access to run
tests on the 'test' database which MySQL created upon installation.
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/DBD-mysql/"
TARGET="_top"
>http://search.cpan.org/dist/DBD-mysql/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/DBD-Mysql.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/DBD-Mysql.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://search.cpan.org/dist/DBD-mysql/lib/DBD/mysql.pod"
TARGET="_top"
>http://search.cpan.org/dist/DBD-mysql/lib/DBD/mysql.pod</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="install-file-spec"
></A
>4.1.3.8. File::Spec (0.82)</H3
><P
>File::Spec is a perl module that allows file operations, such as
generating full path names, to work cross platform.
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/File-Spec/"
TARGET="_top"
>http://search.cpan.org/dist/File-Spec/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/File-Spec.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/File-Spec.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://www.perldoc.com/perl5.8.0/lib/File/Spec.html"
TARGET="_top"
>http://www.perldoc.com/perl5.8.0/lib/File/Spec.html</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="install-modules-file-temp"
></A
>4.1.3.9. File::Temp (any)</H3
><P
>File::Temp is used to generate a temporary filename that is
guaranteed to be unique. It comes as a standard part of perl
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/File-Spec/"
TARGET="_top"
>http://search.cpan.org/dist/File-Spec/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/File-Spec.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/File-Spec.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://www.perldoc.com/perl5.8.0/lib/File/Temp.html"
TARGET="_top"
>http://www.perldoc.com/perl5.8.0/lib/File/Temp.html</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="install-modules-template"
></A
>4.1.3.10. Template Toolkit (2.08)</H3
><P
>When you install Template Toolkit, you'll get asked various
questions about features to enable. The defaults are fine, except
that it is recommended you use the high speed XS Stash of the Template
Toolkit, in order to achieve best performance.
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/Template-Toolkit/"
TARGET="_top"
>http://search.cpan.org/dist/Template-Toolkit/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://openinteract.sourceforge.net/ppmpackages/5.6/Template-Toolkit.tar.gz"
TARGET="_top"
>http://openinteract.sourceforge.net/ppmpackages/5.6/Template-Toolkit.tar.gz</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://www.template-toolkit.org/docs.html"
TARGET="_top"
>http://www.template-toolkit.org/docs.html</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="AEN577"
NAME="install-modules-text-wrap"
></A
>4.1.5.4. TimeDate modules</H3
>4.1.3.11. Text::Wrap (2001.0131)</H3
><P
>Many of the more common date/time/calendar related Perl modules
have been grouped into a bundle similar to the MySQL modules bundle.
This bundle is stored on the CPAN under the name TimeDate.
The component module we're most interested in is the Date::Format
module, but installing all of them is probably a good idea anyway.
>Text::Wrap is designed to proved intelligent text wrapping.
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/Text-Tabs+Wrap/"
TARGET="_top"
>http://search.cpan.org/dist/Text-Tabs+Wrap/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://www.perldoc.com/perl5.8.0/lib/Text/Wrap.html"
TARGET="_top"
>http://www.perldoc.com/perl5.8.0/lib/Text/Wrap.html</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="AEN580"
NAME="install-modules-gd"
></A
>4.1.5.5. GD (optional)</H3
>4.1.3.12. GD (1.20) [optional]</H3
><P
>The GD library was written by Thomas Boutell a long while ago to
programatically generate images in C. Since then it's become the
programmatically generate images in C. Since then it's become the
defacto standard for programmatic image construction. The Perl bindings
to it found in the GD library are used on millions of web pages to
generate graphs on the fly. That's what Bugzilla will be using it for
......@@ -865,36 +1209,224 @@ CLASS="classname"
></TR
></TABLE
></DIV
><DIV
CLASS="tip"
><P
></P
><TABLE
CLASS="tip"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="../images/tip.gif"
HSPACE="5"
ALT="Tip"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>The version of the GD perl module you need is very closely tied
to the <TT
CLASS="classname"
>libgd</TT
> version installed on your system.
If you have a version 1.x of <TT
CLASS="classname"
>libgd</TT
> the 2.x
versions of the GD perl module won't work for you.
</P
></TD
></TR
></TABLE
></DIV
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/GD/"
TARGET="_top"
>http://search.cpan.org/dist/GD/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GD.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GD.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://stein.cshl.org/WWW/software/GD/"
TARGET="_top"
>http://stein.cshl.org/WWW/software/GD/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="AEN587"
NAME="install-modules-chart-base"
></A
>4.1.5.6. Chart::Base (optional)</H3
>4.1.3.13. Chart::Base (0.99c) [optional]</H3
><P
>The Chart module provides Bugzilla with on-the-fly charting
abilities. It can be installed in the usual fashion after it has been
fetched from CPAN.
Note that earlier versions that 0.99c used GIFs, which are no longer
supported by the latest versions of GD.</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/Chart/"
TARGET="_top"
>http://search.cpan.org/dist/Chart/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/Chart.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/Chart.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="AEN590"
NAME="install-modules-xml-parser"
></A
>4.1.5.7. Template Toolkit</H3
>4.1.3.14. XML::Parser (any) [Optional]</H3
><P
>When you install Template Toolkit, you'll get asked various
questions about features to enable. The defaults are fine, except
that it is recommended you use the high speed XS Stash of the Template
Toolkit, in order to achieve best performance.
>XML::Parser is used by the <TT
CLASS="filename"
>importxml.pl</TT
>
script. You only need it if you are going to be importing bugs (such as
for bug moving). XML::Parser requires that the
<TT
CLASS="classname"
>expat</TT
> library is already installed on your machine.
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/XML-Parser/"
TARGET="_top"
>http://search.cpan.org/dist/XML-Parser/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://www.perldoc.com/perl5.6.1/lib/XML/Parser.html"
TARGET="_top"
>http://www.perldoc.com/perl5.6.1/lib/XML/Parser.html</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="install-modules-gd-graph"
></A
>4.1.3.15. GD::Graph (any) [Optional]</H3
><P
>In addition to GD listed above, the reporting interface of Bugzilla
needs to have the GD::Graph module installed.
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/GDGraph/"
TARGET="_top"
>http://search.cpan.org/dist/GDGraph/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GDGraph.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GDGraph.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://search.cpan.org/dist/GDGraph/Graph.pm"
TARGET="_top"
>http://search.cpan.org/dist/GDGraph/Graph.pm</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="install-modules-gd-text-align"
></A
>4.1.3.16. GD::Text::Align (any) [Optional]</H3
><P
>GD::Text::Align, as the name implies, is used to draw aligned
strings of text. It is needed by the reporting interface.
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/GDTextUtil/"
TARGET="_top"
>http://search.cpan.org/dist/GDTextUtil/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GDTextUtil.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GDTextUtil.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://search.cpan.org/dist/GDTextUtil/Text/Align.pm"
TARGET="_top"
>http://search.cpan.org/dist/GDTextUtil/Text/Align.pm</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
><DIV
CLASS="section"
><H3
CLASS="section"
><A
NAME="install-modules-mime-parser"
></A
>4.1.3.17. MIME::Parser (any) [Optional]</H3
><P
>MIME::Parser is only needed if you want to use the e-mail interface
located in the <TT
CLASS="filename"
>contrib</TT
> directory.
</P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
HREF="http://search.cpan.org/dist/MIME-tools/"
TARGET="_top"
>http://search.cpan.org/dist/MIME-tools/</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/MIME-tools.zip"
TARGET="_top"
>http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/MIME-tools.zip</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
HREF="http://search.cpan.org/dist/MIME-tools/lib/MIME/Parser.pm"
TARGET="_top"
>http://search.cpan.org/dist/MIME-tools/lib/MIME/Parser.pm</A
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
></DIV
><DIV
......@@ -902,9 +1434,9 @@ CLASS="section"
><H2
CLASS="section"
><A
NAME="sbs-http"
NAME="install-webserver"
></A
>4.1.6. HTTP Server</H2
>4.1.4. HTTP Server</H2
><P
>You have freedom of choice here, pretty much any web server that
is capable of running <A
......@@ -944,7 +1476,12 @@ VALIGN="TOP"
>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.</P
please share your experiences with us by filing a bug in <A
HREF="http://bugzilla.mozilla.org/enter_bug.cgi?product=Bugzilla&component=Documentation"
TARGET="_top"
>Bugzilla Documentation</A
>.
</P
></TD
></TR
></TABLE
......@@ -955,9 +1492,9 @@ CLASS="section"
><H2
CLASS="section"
><A
NAME="AEN600"
NAME="install-bzfiles"
></A
>4.1.7. Bugzilla</H2
>4.1.5. Bugzilla</H2
><P
>You should untar the Bugzilla files into a directory that you're
willing to make writable by the default web server user (probably
......@@ -1020,103 +1557,120 @@ CLASS="filename"
>checksetup.pl</TT
>
script, which locks down your installation.</P
><DIV
CLASS="caution"
><P
></P
><TABLE
CLASS="caution"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="../images/caution.gif"
HSPACE="5"
ALT="Caution"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>The default Bugzilla distribution is not designed to be placed
in a <TT
CLASS="filename"
>cgi-bin</TT
> directory (this
includes any directory which is configured using the
<TT
CLASS="option"
>ScriptAlias</TT
> directive of Apache). This will probably
change as part of
<A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=44659"
TARGET="_top"
>bug
44659</A
>.
</P
></TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="section"
><H2
CLASS="section"
><A
NAME="AEN611"
NAME="install-setupdatabase"
></A
>4.1.8. Setting Up the MySQL Database</H2
>4.1.6. Setting Up the MySQL Database</H2
><P
>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
a high quality bug tracker.</P
><P
>First, you'll want to fix MySQL permissions to allow access from
Bugzilla. For the purpose of this Installation section, the Bugzilla
username will be
>This first thing you'll want to do is make sure you've given the
<SPAN
CLASS="QUOTE"
>"bugs"</SPAN
>, and will have minimal permissions.
>"root"</SPAN
> user a password as suggested in
<A
HREF="security.html#security-mysql"
>Section 5.6.2</A
>. For clarity, these instructions will
assume that your MySQL user for Bugzilla will be <SPAN
CLASS="QUOTE"
>"bugs_user"</SPAN
>,
the database will be called <SPAN
CLASS="QUOTE"
>"bugs_db"</SPAN
> and the password for
the <SPAN
CLASS="QUOTE"
>"bugs_user"</SPAN
> user is <SPAN
CLASS="QUOTE"
>"bugs_password"</SPAN
>. You
should, of course, substitute the values you intend to use for your site.
</P
><DIV
CLASS="note"
><P
>Begin by giving the MySQL root user a password. MySQL passwords are limited
to 16 characters.
<P
></P
><TABLE
CLASS="note"
WIDTH="100%"
BORDER="0"
><TBODY
><TR
><TD
>&#13; <TT
CLASS="computeroutput"
>&#13; <TT
CLASS="prompt"
>bash#</TT
>
<B
CLASS="command"
>mysql -u root mysql</B
>
</TT
>
</TD
></TR
><TR
><TD
>&#13; <TT
CLASS="computeroutput"
>&#13; <TT
CLASS="prompt"
>mysql&#62;</TT
>
<B
CLASS="command"
>UPDATE user SET Password=PASSWORD('&#60;new_password&#62;')
WHERE user='root';</B
>
</TT
>
</TD
></TR
><TR
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="../images/note.gif"
HSPACE="5"
ALT="Note"></TD
><TD
>&#13; <TT
CLASS="computeroutput"
>&#13; <TT
CLASS="prompt"
>mysql&#62;</TT
>
<B
CLASS="command"
>FLUSH PRIVILEGES;</B
>
</TT
>
</TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>Most people use <SPAN
CLASS="QUOTE"
>"bugs"</SPAN
> for both the user and
database name.
</P
></TD
></TR
></TBODY
></TABLE
><P
></P
>
From this point on, if you need to access MySQL as the MySQL root user,
you will need to use
<B
CLASS="command"
>mysql -u root -p</B
>
and enter &#60;new_password&#62;. Remember that MySQL user names have
nothing to do with Unix user names (login names).</P
></DIV
><P
>Next, we use an SQL <B
CLASS="command"
......@@ -1124,19 +1678,18 @@ CLASS="command"
> command to create a
<SPAN
CLASS="QUOTE"
>"bugs"</SPAN
>"bugs_user"</SPAN
>
user, and grant sufficient permissions for checksetup.pl, which we'll
use later, to work its magic. This also restricts the
<SPAN
CLASS="QUOTE"
>"bugs"</SPAN
>"bugs_user"</SPAN
>
user to operations within a database called
<SPAN
CLASS="QUOTE"
>"bugs"</SPAN
>"bugs_db"</SPAN
>, and only allows the account to connect from
<SPAN
CLASS="QUOTE"
......@@ -1144,55 +1697,31 @@ CLASS="QUOTE"
>.
Modify it to reflect your setup if you will be connecting from
another machine or as a different user.</P
><P
>Remember to set &#60;bugs_password&#62; to some unique password.
<P
></P
><TABLE
BORDER="0"
><TBODY
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
>&#13; <TT
CLASS="computeroutput"
>&#13; <TT
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;<TT
CLASS="prompt"
>mysql&#62;</TT
>
<B
CLASS="command"
>GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,
ALTER,CREATE,DROP,REFERENCES ON bugs.* TO bugs@localhost
IDENTIFIED BY '&#60;bugs_password&#62;';</B
>
</TT
>
</TD
></TR
><TR
><TD
>&#13; <TT
CLASS="computeroutput"
>&#13; <TT
> GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE,
DROP,REFERENCES ON bugs_db.* TO bugs_user@localhost
IDENTIFIED BY 'bugs_password';
<TT
CLASS="prompt"
>mysql&#62;</TT
>
<B
CLASS="command"
>FLUSH PRIVILEGES;</B
>
</TT
>
</TD
> FLUSH PRIVILEGES;
</PRE
></FONT
></TD
></TR
></TBODY
></TABLE
><P
></P
>
</P
><DIV
CLASS="note"
><P
......@@ -1215,7 +1744,14 @@ ALIGN="LEFT"
VALIGN="TOP"
><P
>If you are using MySQL 4, the bugs user also needs to be granted
the LOCK TABLES and CREATE TEMPORARY TABLES permissions.
the <TT
CLASS="computeroutput"
>LOCK TABLES</TT
> and
<TT
CLASS="computeroutput"
>CREATE TEMPORARY TABLES</TT
> permissions.
</P
></TD
></TR
......@@ -1227,9 +1763,9 @@ CLASS="section"
><H2
CLASS="section"
><A
NAME="AEN649"
NAME="AEN749"
></A
>4.1.9. <TT
>4.1.7. <TT
CLASS="filename"
>checksetup.pl</TT
></H2
......@@ -1238,10 +1774,11 @@ CLASS="filename"
<A
HREF="mailto:holgerschurig@nikocity.de"
TARGET="_top"
>Holger Schurig </A
>Holger Schurig</A
>
for writing this script!)
This script is designed to make sure your MySQL database and other
This script is designed to make sure your perl modules are the correct
version and your MySQL database and other
configuration options are consistent with the Bugzilla CGI files.
It will make sure Bugzilla files and directories have reasonable
permissions, set up the
......@@ -1250,35 +1787,28 @@ CLASS="filename"
>data</TT
>
directory, and create all the MySQL tables.
<P
></P
</P
><TABLE
BORDER="0"
><TBODY
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
>&#13; <TT
CLASS="computeroutput"
>&#13; <TT
><FONT
COLOR="#000000"
><PRE
CLASS="screen"
>&#13;<TT
CLASS="prompt"
>bash#</TT
>
<B
CLASS="command"
>./checksetup.pl</B
>
</TT
>
</TD
> ./checksetup.pl
</PRE
></FONT
></TD
></TR
></TBODY
></TABLE
><P
></P
>
The first time you run it, it will create a file called
>&#13; The first time you run it, it will create a file called
<TT
CLASS="filename"
>localconfig</TT
......@@ -1306,7 +1836,7 @@ CLASS="QUOTE"
>database name:
<SPAN
CLASS="QUOTE"
>"bugs"</SPAN
>"bugs_db"</SPAN
>
if you're following these directions</P
></LI
......@@ -1315,7 +1845,7 @@ CLASS="QUOTE"
>MySQL username:
<SPAN
CLASS="QUOTE"
>"bugs"</SPAN
>"bugs_user"</SPAN
>
if you're following these directions</P
></LI
......@@ -1324,9 +1854,12 @@ CLASS="QUOTE"
>Password for the
<SPAN
CLASS="QUOTE"
>"bugs"</SPAN
>"bugs_user"</SPAN
>
MySQL account; (&#60;bugs_password&#62;) above</P
MySQL account; (<SPAN
CLASS="QUOTE"
>"bugs_password"</SPAN
> above)</P
></LI
></OL
>
......@@ -1380,9 +1913,9 @@ CLASS="section"
><H2
CLASS="section"
><A
NAME="AEN681"
NAME="AEN780"
></A
>4.1.10. Configuring Bugzilla</H2
>4.1.8. Configuring Bugzilla</H2
><P
>&#13; You should run through the parameters on the Edit Parameters page
(link in the footer) and set them all to appropriate values.
......
......@@ -85,7 +85,7 @@ CLASS="section"
><H2
CLASS="section"
><A
NAME="AEN977"
NAME="AEN1076"
></A
>4.5.1. Bundle::Bugzilla makes me upgrade to Perl 5.6.1</H2
><P
......@@ -110,7 +110,7 @@ CLASS="section"
><H2
CLASS="section"
><A
NAME="AEN982"
NAME="AEN1081"
></A
>4.5.2. DBD::Sponge::db prepare failed</H2
><P
......@@ -266,7 +266,7 @@ CLASS="productname"
5.6.0. Many minor variations of this error have been reported. Examples
can be found in <A
HREF="troubleshooting.html#trouble-filetemp-errors"
>Figure 4-1</A
>Figure 4-2</A
>.
</P
><DIV
......@@ -276,7 +276,7 @@ NAME="trouble-filetemp-errors"
></A
><P
><B
>Figure 4-1. Other File::Temp error messages</B
>Figure 4-2. Other File::Temp error messages</B
></P
><TABLE
BORDER="0"
......@@ -307,7 +307,7 @@ at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 233.
or higher solved the problem for them. A less involved fix is to apply
the patch in <A
HREF="troubleshooting.html#trouble-filetemp-patch"
>Figure 4-2</A
>Figure 4-3</A
>. The patch is also
available as a <A
HREF="../xml/filetemp.patch"
......@@ -322,7 +322,7 @@ NAME="trouble-filetemp-patch"
></A
><P
><B
>Figure 4-2. Patch for File::Temp in Perl 5.6.0</B
>Figure 4-3. Patch for File::Temp in Perl 5.6.0</B
></P
><TABLE
BORDER="0"
......
......@@ -122,7 +122,7 @@ HREF="hintsandtips.html"
><DL
><DT
>3.2.1. <A
HREF="hintsandtips.html#AEN370"
HREF="hintsandtips.html#AEN371"
>Autolinkification</A
></DT
><DT
......@@ -142,7 +142,7 @@ HREF="hintsandtips.html#attachments"
></DT
><DT
>3.2.5. <A
HREF="hintsandtips.html#AEN399"
HREF="hintsandtips.html#AEN400"
>Filing Bugs</A
></DT
></DL
......
......@@ -84,12 +84,10 @@ CLASS="QUOTE"
>
functionality.</P
><P
>URL:
<A
>URL: <A
HREF="http://www.perforce.com/perforce/technotes/note052.html"
TARGET="_top"
>&#13; http://www.perforce.com/perforce/technotes/note052.html
</A
>http://www.perforce.com/perforce/technotes/note052.html</A
>
</P
><P
......
......@@ -78,26 +78,25 @@ NAME="variant-redhat"
>D.1. Red Hat Bugzilla</H1
><P
>Red Hat's old fork of Bugzilla which was based on version 2.8 is now
obsolete. The newest version in use is based on version 2.17.1 and is in
the process of being integrated into the main Bugzilla source tree. The
obsolete. The newest version in use is based on version 2.17.1 and is in
the process of being integrated into the main Bugzilla source tree. The
back-end is modified to work with PostgreSQL instead of MySQL and they have
custom templates to get their desired look and feel, but other than that it
is Bugzilla 2.17.1. Dave Lawrence of Red Hat put forth a great deal of
is Bugzilla 2.17.1. Dave Lawrence of Red Hat put forth a great deal of
effort to make sure that the changes he made could be integrated back into
the main tree.
<A
HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=98304"
TARGET="_top"
>Bug
98304</A
> exists to track this integration.
>Bug 98304</A
>
exists to track this integration.
</P
><P
>URL:
<A
>URL: <A
HREF="http://bugzilla.redhat.com/bugzilla/"
TARGET="_top"
>&#13; http://bugzilla.redhat.com/bugzilla/</A
>http://bugzilla.redhat.com/bugzilla/</A
>
</P
><P
......
......@@ -80,11 +80,10 @@ NAME="variant-scarab"
>Scarab is a new open source bug-tracking system built using Java
Servlet technology. It is currently at version 1.0 beta 13.</P
><P
>URL:
<A
>URL: <A
HREF="http://scarab.tigris.org/"
TARGET="_top"
>http://scarab.tigris.org</A
>http://scarab.tigris.org/</A
>
</P
><P
......
......@@ -81,11 +81,10 @@ NAME="variant-sourceforge"
distributed free software and open source projects over the Internet.
It has a built-in bug tracker, but it's not highly thought of.</P
><P
>URL:
<A
>URL: <A
HREF="http://www.sourceforge.net"
TARGET="_top"
>&#13; http://www.sourceforge.net</A
>http://www.sourceforge.net</A
>
</P
><P
......
......@@ -119,8 +119,8 @@ HREF="variant-sourceforge.html"
<A
HREF="http://linas.org/linux/pm.html"
TARGET="_top"
>&#13; http://linas.org/linux/pm.html</A
>
>http://linas.org/linux/pm.html</A
>.
</P
></DIV
><DIV
......
......@@ -106,7 +106,7 @@ TYPE="1"
><P
><EM
>Maximum Votes a person can put on a single
bug"</EM
bug</EM
>:
It should probably be some number lower than the
"Maximum votes per person". Don't set this field to "0" if
......
......@@ -102,11 +102,13 @@ The Bugzilla Team
Glossary
List of Figures
4-1. Other File::Temp error messages
4-2. Patch for File::Temp in Perl 5.6.0
4-1. Set Max Packet Size in MySQL
4-2. Other File::Temp error messages
4-3. Patch for File::Temp in Perl 5.6.0
List of Examples
4-1. .htaccess files for Apache
4-1. Installing perl modules with CPAN
4-2. .htaccess files for Apache
5-1. Upgrading using CVS
5-2. Upgrading using the tarball
5-3. Upgrading using patches
......@@ -178,16 +180,16 @@ Chapter 1. About This Guide
of these mirrors to make sure you are reading an up-to-date version of
the Guide.
The newest version of this guide can always be found at bugzilla.org;
including documentation for past releases and the current development
version.
The newest version of this guide can always be found at
http://www.bugzilla.org; including documentation for past releases and
the current development version.
The documentation for the most recent stable release of Bugzilla can
also be found at The Linux Documentation Project.
The latest version of this document can always be checked out via CVS.
Please follow the instructions available at the Mozilla CVS page, and
check out the mozilla/webtools/bugzilla/docs/ subtree.
Please follow the Mozilla CVS instructions and check out the
mozilla/webtools/bugzilla/docs/ subtree.
The Bugzilla Guide is currently only available in English. If you
would like to volunteer to translate it, please contact Dave Miller.
......@@ -234,7 +236,7 @@ Chapter 1. About This Guide
Thanks also go to the following people for significant contributions
to this documentation (in alphabetical order): Andrew Pearson, Ben
FrantzDale, Eric Hanson, Gervase Markham, Joe Robins, Kevin Brannen,
Ron Teitelbaum, Spencer Smith, Zach Liption .
Martin Wulffeld, Ron Teitelbaum, Spencer Smith, Zach Liption .
_________________________________________________________________
1.5. Document Conventions
......@@ -374,7 +376,7 @@ Chapter 3. Using Bugzilla
Consult with the administrator responsible for your installation of
Bugzilla for the URL you should use to access it. If you're
test-driving Bugzilla, use this URL:
http://landfill.bugzilla.org/bugzilla-tip/
http://landfill.bugzilla.org/bugzilla-tip/.
1. Click the "Open a new Bugzilla account" link, enter your email
address and, optionally, your name in the spaces provided, then
......@@ -472,7 +474,8 @@ Chapter 3. Using Bugzilla
The Bugzilla Search page is is the interface where you can find any
bug report, comment, or patch currently in the Bugzilla system. You
can play with it here: landfill.bugzilla.org/bugzilla-tip/query.cgi .
can play with it here:
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
......@@ -673,64 +676,50 @@ Chapter 4. Installation
4.1. Step-by-step Install
4.1.1. Introduction
Bugzilla has been successfully installed under Solaris, Linux, and
Win32. Win32 is not yet officially supported, but many people have got
it working fine. Please see Section 4.3.1 for further advice on
getting Bugzilla to work on Microsoft Windows.
_________________________________________________________________
4.1.2. Package List
Bugzilla has been successfully installed under many different
operating systems including almost all Unix clones and Microsoft
Windows. Many operating systems have utilities that make installation
easier or quirks that make it harder. We have tried to collect that
information in Section 4.3, so be sure to check out that section
before you start your installation.
Note
If you are running the very most recent version of Perl and MySQL
(both the executables and development libraries) on your system, you
can skip these manual installation steps for the Perl modules by using
Bundle::Bugzilla; see Using Bundle::Bugzilla instead of manually
installing Perl modules.
The software packages necessary for the proper running of Bugzilla
(with download links) are:
1. MySQL database server (3.23.41 or greater)
2. Perl (5.6, 5.6.1 is recommended if you wish to use
Bundle::Bugzilla)
3. Perl Modules (minimum version):
a. Template (v2.08)
b. File::Temp (1.804) (Prerequisite for Template)
c. AppConfig (1.52)
d. Text::Wrap (2001.0131)
e. File::Spec (0.82)
f. Data::Dumper (any)
g. DBD::mysql (2.1010)
h. DBI (1.32)
i. Date::Parse (2.21)
j. CGI (2.88)
and, optionally:
a. GD (1.20) for bug charting
b. GD::Graph (any) for bug charting
c. GD::Text::Align (any) for bug charting
d. Chart::Base (0.99c) for bug charting
e. XML::Parser (any) for the XML interface
f. MIME::Parser (any) for the email interface
4. The web server of your choice. Apache is highly recommended.
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
It is a good idea, while installing Bugzilla, to ensure that there is
some kind of firewall between you and the rest of the Internet,
because 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
shell on the machine you are installing Bugzilla onto. It is possible
to install and run Bugzilla without administrative access, but you
have to either make sure all the required software is installed or get
somebody with administrative access to install it for you.
The listing below is a basic step-by-step list. More information can
be found in the sections below. Minimum versions will be included in
parenthesis where appropriate.
1. Install MySQL (3.23.41)
2. Install Perl (5.6)
3. Install Perl Modules
4. Install a Webserver
5. Put Bugzilla in the Webspace
6. Setup the MySQL Database
_________________________________________________________________
4.1.3. MySQL
4.1.1. MySQL
Visit the MySQL homepage at www.mysql.com to grab and install the
latest stable release of the server.
Visit the MySQL homepage at http://www.mysql.com to grab and install
the latest stable release of the server.
Note
......@@ -740,71 +729,68 @@ Chapter 4. Installation
directory as an option to configure if you build MySQL from source
yourself.
If you install from something other than an RPM or Debian package, you
will need to add mysqld to your init scripts so the server daemon will
come back up whenever your machine reboots. Further discussion of UNIX
init sequences are beyond the scope of this guide.
Change your init script to start mysqld with the ability to accept
large packets. By default, mysqld only accepts packets up to 64K long.
This limits the size of attachments you may put on bugs. If you add -O
max_allowed_packet=1M to the command that starts mysqld (or
safe_mysqld), then you will be able to have attachments up to about 1
megabyte. There is a Bugzilla parameter for maximum attachment size;
you should configure it to match the value you choose here.
If you plan on running Bugzilla and MySQL on the same machine,
consider using the --skip-networking option in the init script. This
enhances security by preventing network access to MySQL.
If you install from something other than a packaging/installation
system (such as .rpm, .dep, .exe, or .msi) you will need to configure
your system so the MySQL server daemon will come back up whenever your
machine reboots.
If you wish to have attachments larger than 64K, you will have to
configure MySQL to accept large packets. This is done by adding the
text in Figure 4-1 to your my.conf file. There is also a parameter in
Bugzilla for setting the maximum allowable attachment size. You should
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
If you are running Bugzilla and MySQL on the same machine, you may
also wish to utilize the skip-networking option as mentioned in
Section 5.6.2 for the added security.
_________________________________________________________________
4.1.4. Perl
4.1.2. Perl
Any machine that doesn't have Perl on it is a sad machine indeed. Perl
can be got in source form from perl.com for the rare *nix systems
which don't have it. Although Bugzilla runs with perl 5.6, it's a good
can be got in source form from http://www.perl.com. There are also
binary versions available for many platforms, most of which are linked
to from perl.com. Although Bugzilla runs with perl 5.6, it's a good
idea to be up to the very latest version if you can when running
Bugzilla. As of this writing, that is Perl version 5.8.
Tip
You can skip the following Perl module installation steps by
installing Bundle::Bugzilla from CPAN, which installs all required
modules for you.
bash# perl -MCPAN -e 'install "Bundle::Bugzilla"'
Bundle::Bugzilla doesn't include GD, Chart::Base, or MIME::Parser,
which are not essential to a basic Bugzilla install. If installing
this bundle fails, you should install each module individually to
isolate the problem.
_________________________________________________________________
4.1.5. Perl Modules
All Perl modules can be found on the Comprehensive Perl Archive
Network (CPAN). The CPAN servers have a real tendency to bog down, so
please use mirrors.
4.1.3. Perl Modules
Quality, general Perl module installation instructions can be found on
the CPAN website, but the easy thing to do is to just use the CPAN
shell which does all the hard work for you. To use the CPAN shell to
install a module:
Perl modules can be found using CPAN on Unix based systems or PPM on
Win32. The root servers have a real tendency to bog down, so please
use mirrors.
bash# perl -MCPAN -e 'install "<modulename>"'
Good instuctions can be found for using each of these services on
their respective websites. The basics can be found in Example 4-1 for
CPAN and Section 4.3.1.2 for PPM.
To do it the hard way:
Example 4-1. Installing perl modules with CPAN
Untar the module tarball -- it should create its own directory
The easy way:
bash# perl -MCPAN -e 'install "<modulename>"'
CD to the directory just created, and enter the following commands:
Or the hard way:
bash# tar xzvf <module>.tar.gz (1)
bash# cd <module> (2)
bash# perl Makefile.PL
bash# make
bash# make test
bash# make install
1. bash# perl Makefile.PL
2. bash# make
3. bash# make test
4. bash# make install
(1)
This assumes that you've already downloaded the <module>.tar.gz
to the current working directory.
(2)
The process of untaring the module as defined in (1) will
create the <module> directory.
Warning
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
......@@ -815,25 +801,115 @@ Chapter 4. Installation
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):
1. Bundle::Bugzilla (Will allow you to skip the rest)
2. AppConfig (1.52)
3. CGI (2.88)
4. Data::Dumper (any)
5. Date::Format (2.21)
6. DBI (1.32)
7. DBD::mysql (2.1010)
8. File::Spec (0.82)
9. File::Temp (any)
10. Template Toolkit (2.08)
11. Text::Wrap (2001.0131)
and, optionally:
1. GD (1.20) for bug charting
2. Chart::Base (0.99c) for bug charting
3. XML::Parser (any) for the XML interface
4. GD::Graph (any) for bug charting
5. GD::Text::Align (any) for bug charting
6. MIME::Parser (any) for the email interface
_________________________________________________________________
4.1.5.1. DBI
4.1.3.1. Bundle::Bugzilla
The DBI module is a generic Perl module used the MySQL-related
modules. As long as your Perl installation was done correctly the DBI
module should be a breeze. It's a mixed Perl/C module, but Perl's
MakeMaker system simplifies the C compilation greatly.
If you are running at least perl 5.6.1, you can save yourself a lot of
time by using Bundle::Bugzilla. This bundle contains every module
required to get Bugzilla running. It does not include GD and friends,
but these are not required for a base install and can always be added
later if the need arises.
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
cpan>
(1)
At this point, unless you've used CPAN on this machine before,
you'll have to go through a series of configuration steps.
_________________________________________________________________
4.1.3.2. AppConfig (1.52)
Dependency for Template Toolkit. We probably don't need to
specifically check for it anymore.
_________________________________________________________________
4.1.5.2. Data::Dumper
4.1.3.3. CGI (2.88)
The CGI module parses form elements and cookies and does many other
usefule things. It come as a part of recent perl distributions, but
Bugzilla needs a fairly new version.
CPAN Download Page: http://search.cpan.org/dist/CGI.pm/
PPM Download Link: http://ppm.activestate.com/PPMPackages/zips
/6xx-builds-only/CGI.zip
Documentation: http://www.perldoc.com/perl5.8.0/lib/CGI.html
_________________________________________________________________
4.1.3.4. Data::Dumper (any)
The Data::Dumper module provides data structure persistence for Perl
(similar to Java's serialization). It comes with later sub-releases of
Perl 5.004, but a re-installation just to be sure it's available won't
hurt anything.
CPAN Download Page: http://search.cpan.org/dist/Data-Dumper/
PPM Download Link: http://ppm.activestate.com/PPMPackages/zips
/6xx-builds-only/Data-Dumper.zip
Documentation: http://www.perldoc.com/perl5.8.0/lib/Data/Dumpe
r.html
_________________________________________________________________
4.1.3.5. TimeDate modules (2.21)
Many of the more common date/time/calendar related Perl modules have
been grouped into a bundle similar to the MySQL modules bundle. This
bundle is stored on the CPAN under the name TimeDate. The component
module we're most interested in is the Date::Format module, but
installing all of them is probably a good idea anyway.
CPAN Download Page: http://search.cpan.org/dist/TimeDate/
PPM Download Link: http://ppm.activestate.com/PPMPackages/zips
/6xx-builds-only/TimeDate.zip
Documentation: http://search.cpan.org/dist/TimeDate/lib/Date/F
ormat.pm
_________________________________________________________________
4.1.5.3. MySQL-related modules
4.1.3.6. DBI (1.32)
The DBI module is a generic Perl module used the MySQL-related
modules. As long as your Perl installation was done correctly the DBI
module should be a breeze. It's a mixed Perl/C module, but Perl's
MakeMaker system simplifies the C compilation greatly.
CPAN Download Page: http://search.cpan.org/dist/DBI/
PPM Download Link: http://ppm.activestate.com/PPMPackages/zips
/6xx-builds-only/DBI.zip
Documentation: http://dbi.perl.org/doc/
_________________________________________________________________
4.1.3.7. MySQL-related modules
The Perl/MySQL interface requires a few mutually-dependent Perl
modules. These modules are grouped together into the the
......@@ -850,21 +926,66 @@ Chapter 4. Installation
A host of 'localhost' should be fine and a testing user of 'test' with
a null password should find itself with sufficient access to run tests
on the 'test' database which MySQL created upon installation.
CPAN Download Page: http://search.cpan.org/dist/DBD-mysql/
PPM Download Link: http://ppm.activestate.com/PPMPackages/zips
/6xx-builds-only/DBD-Mysql.zip
Documentation: http://search.cpan.org/dist/DBD-mysql/lib/DBD/m
ysql.pod
_________________________________________________________________
4.1.5.4. TimeDate modules
4.1.3.8. File::Spec (0.82)
Many of the more common date/time/calendar related Perl modules have
been grouped into a bundle similar to the MySQL modules bundle. This
bundle is stored on the CPAN under the name TimeDate. The component
module we're most interested in is the Date::Format module, but
installing all of them is probably a good idea anyway.
File::Spec is a perl module that allows file operations, such as
generating full path names, to work cross platform.
CPAN Download Page: http://search.cpan.org/dist/File-Spec/
PPM Download Page: http://ppm.activestate.com/PPMPackages/zips
/6xx-builds-only/File-Spec.zip
Documentation: http://www.perldoc.com/perl5.8.0/lib/File/Spec.
html
_________________________________________________________________
4.1.3.9. File::Temp (any)
File::Temp is used to generate a temporary filename that is guaranteed
to be unique. It comes as a standard part of perl
CPAN Download Page: http://search.cpan.org/dist/File-Spec/
PPM Download Link: http://ppm.activestate.com/PPMPackages/zips
/6xx-builds-only/File-Spec.zip
Documentation: http://www.perldoc.com/perl5.8.0/lib/File/Temp.
html
_________________________________________________________________
4.1.3.10. Template Toolkit (2.08)
When you install Template Toolkit, you'll get asked various questions
about features to enable. The defaults are fine, except that it is
recommended you use the high speed XS Stash of the Template Toolkit,
in order to achieve best performance.
CPAN Download Page: http://search.cpan.org/dist/Template-Toolk
it/
PPM Download Link: http://openinteract.sourceforge.net/ppmpack
ages/5.6/Template-Toolkit.tar.gz
Documentation: http://www.template-toolkit.org/docs.html
_________________________________________________________________
4.1.5.5. GD (optional)
4.1.3.11. Text::Wrap (2001.0131)
Text::Wrap is designed to proved intelligent text wrapping.
CPAN Download Page: http://search.cpan.org/dist/Text-Tabs+Wrap
/
Documentation: http://www.perldoc.com/perl5.8.0/lib/Text/Wrap.
html
_________________________________________________________________
4.1.3.12. GD (1.20) [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
programmatically generate images in C. Since then it's become the
defacto standard for programmatic image construction. The Perl
bindings to it found in the GD library are used on millions of web
pages to generate graphs on the fly. That's what Bugzilla will be
......@@ -877,25 +998,79 @@ Chapter 4. Installation
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.
CPAN Download Page: http://search.cpan.org/dist/GD/
PPM Download Link: http://ppm.activestate.com/PPMPackages/zips
/6xx-builds-only/GD.zip
Documentation: http://stein.cshl.org/WWW/software/GD/
_________________________________________________________________
4.1.5.6. Chart::Base (optional)
4.1.3.13. Chart::Base (0.99c) [optional]
The Chart module provides Bugzilla with on-the-fly charting abilities.
It can be installed in the usual fashion after it has been fetched
from CPAN. Note that earlier versions that 0.99c used GIFs, which are
no longer supported by the latest versions of GD.
CPAN Download Page: http://search.cpan.org/dist/Chart/
PPM Download Link: http://ppm.activestate.com/PPMPackages/zips
/6xx-builds-only/Chart.zip
_________________________________________________________________
4.1.5.7. Template Toolkit
4.1.3.14. XML::Parser (any) [Optional]
When you install Template Toolkit, you'll get asked various questions
about features to enable. The defaults are fine, except that it is
recommended you use the high speed XS Stash of the Template Toolkit,
in order to achieve best performance.
XML::Parser is used by the importxml.pl script. You only need it if
you are going to be importing bugs (such as for bug moving).
XML::Parser requires that the expat library is already installed on
your machine.
CPAN Download Page: http://search.cpan.org/dist/XML-Parser/
Documentation: http://www.perldoc.com/perl5.6.1/lib/XML/Parser
.html
_________________________________________________________________
4.1.3.15. GD::Graph (any) [Optional]
In addition to GD listed above, the reporting interface of Bugzilla
needs to have the GD::Graph module installed.
CPAN Download Page: http://search.cpan.org/dist/GDGraph/
PPM Download Link: http://ppm.activestate.com/PPMPackages/zips
/6xx-builds-only/GDGraph.zip
Documentation: http://search.cpan.org/dist/GDGraph/Graph.pm
_________________________________________________________________
4.1.3.16. GD::Text::Align (any) [Optional]
GD::Text::Align, as the name implies, is used to draw aligned strings
of text. It is needed by the reporting interface.
CPAN Download Page: http://search.cpan.org/dist/GDTextUtil/
PPM Download Page: http://ppm.activestate.com/PPMPackages/zips
/6xx-builds-only/GDTextUtil.zip
Documentation: http://search.cpan.org/dist/GDTextUtil/Text/Ali
gn.pm
_________________________________________________________________
4.1.3.17. MIME::Parser (any) [Optional]
MIME::Parser is only needed if you want to use the e-mail interface
located in the contrib directory.
CPAN Download Page: http://search.cpan.org/dist/MIME-tools/
PPM Download Link: http://ppm.activestate.com/PPMPackages/zips
/6xx-builds-only/MIME-tools.zip
Documentation: http://search.cpan.org/dist/MIME-tools/lib/MIME
/Parser.pm
_________________________________________________________________
4.1.6. HTTP Server
4.1.4. HTTP Server
You have freedom of choice here, pretty much any web server that is
capable of running CGI scripts will work. Section 4.4 has more
......@@ -906,10 +1081,11 @@ Chapter 4. Installation
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.
please share your experiences with us by filing a bug in Bugzilla
Documentation.
_________________________________________________________________
4.1.7. Bugzilla
4.1.5. Bugzilla
You should untar the Bugzilla files into a directory that you're
willing to make writable by the default web server user (probably
......@@ -928,44 +1104,42 @@ Chapter 4. Installation
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
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.8. Setting Up the MySQL Database
4.1.6. 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
a high quality bug tracker.
First, you'll want to fix MySQL permissions to allow access from
Bugzilla. For the purpose of this Installation section, the Bugzilla
username will be "bugs", and will have minimal permissions.
Begin by giving the MySQL root user a password. MySQL passwords are
limited to 16 characters.
bash# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('<new_password>') WHERE
user='root';
mysql> FLUSH PRIVILEGES;
This first thing you'll want to do is make sure you've given the
"root" user a password as suggested in Section 5.6.2. For clarity,
these instructions will assume that your MySQL user for Bugzilla will
be "bugs_user", the database will be called "bugs_db" and the password
for the "bugs_user" user is "bugs_password". You should, of course,
substitute the values you intend to use for your site.
From this point on, if you need to access MySQL as the MySQL root
user, you will need to use mysql -u root -p and enter <new_password>.
Remember that MySQL user names have nothing to do with Unix user names
(login names).
Next, we use an SQL GRANT command to create a "bugs" user, and grant
sufficient permissions for checksetup.pl, which we'll use later, to
work its magic. This also restricts the "bugs" user to operations
within a database called "bugs", 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.
Remember to set <bugs_password> to some unique password.
Note
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,
ALTER,CREATE,DROP,REFERENCES ON bugs.* TO bugs@localhost IDENTIFIED BY
'<bugs_password>';
mysql> FLUSH PRIVILEGES;
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,
to work its magic. This also restricts the "bugs_user" user to
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;
Note
......@@ -973,16 +1147,16 @@ Chapter 4. Installation
LOCK TABLES and CREATE TEMPORARY TABLES permissions.
_________________________________________________________________
4.1.9. checksetup.pl
4.1.7. checksetup.pl
Next, run the magic checksetup.pl script. (Many thanks to Holger
Schurig for writing this script!) This script is designed to make sure
your MySQL database and other configuration options are consistent
with the Bugzilla CGI 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
your perl modules are the correct version and your MySQL database and
other configuration options are consistent with the Bugzilla CGI
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
The first time you run it, it will create a file called localconfig.
......@@ -992,9 +1166,10 @@ Chapter 4. Installation
The connection settings include:
1. server's host: just use "localhost" if the MySQL server is local
2. database name: "bugs" if you're following these directions
3. MySQL username: "bugs" if you're following these directions
4. Password for the "bugs" MySQL account; (<bugs_password>) above
2. database name: "bugs_db" if you're following these directions
3. MySQL username: "bugs_user" if you're following these directions
4. Password for the "bugs_user" MySQL account; ("bugs_password"
above)
Once you are happy with the settings, su to the user your web server
runs as, and re-run checksetup.pl. (Note: on some security-conscious
......@@ -1010,7 +1185,7 @@ Chapter 4. Installation
Bugzilla.
_________________________________________________________________
4.1.10. Configuring Bugzilla
4.1.8. Configuring Bugzilla
You should run through the parameters on the Edit Parameters page
(link in the footer) and set them all to appropriate values. They key
......@@ -1122,9 +1297,8 @@ Chapter 4. Installation
servers available, this is "mail", but you may need to change this.
You can also try using OpenLDAP with Bugzilla, using any of a number
of administration tools. You should apply the patch attached this bug:
http://bugzilla.mozilla.org/show_bug.cgi?id=158630, then set the
following object classes for your users:
of administration tools. You should apply the patch attached to bug
158630 , then set the following object classes for your users:
1. objectClass: person
2. objectClass: organizationalPerson
......@@ -1191,11 +1365,11 @@ set=ISO-8859-1/i" *.cgi *.pl
speeds for other users. If your Bugzilla installation is experiencing
this problem , you may install the Apache module mod_throttle which
can limit connections by ip-address. You may download this module at
http://www.snert.com/Software/mod_throttle/ Follow the instructions to
install into your Apache install. This module only functions with the
Apache web server! You may use the ThrottleClientIP command provided
by this module to accomplish this goal. See the Module Instructions
for more information.
http://www.snert.com/Software/mod_throttle/. Follow the instructions
to install into your Apache install. This module only functions with
the Apache web server! You may use the ThrottleClientIP command
provided by this module to accomplish this goal. See the Module
Instructions for more information.
_________________________________________________________________
4.3. OS Specific Installation Notes
......@@ -1237,7 +1411,7 @@ set=ISO-8859-1/i" *.cgi *.pl
4.3.1.2. Perl Modules on Win32
Bugzilla on Windows requires the same perl modules found in Section
4.1.2. The main difference is that windows uses ppm instead of CPAN.
4.1.3. The main difference is that windows uses PPM instead of CPAN.
C:\perl> ppm <module name>
Note
......@@ -1344,7 +1518,7 @@ my $webservergid = '8'
bash# urpmi perl-mysql
bash# urpmi perl-chart
bash# urpmi perl-gd
bash# urpmi perl-MailTools (1)
bash# urpmi perl-MailTools (1)
bash# urpmi apache-modules
(1)
......@@ -1369,7 +1543,7 @@ bash# urpmi apache-modules
Bugzilla. You will have to make sure that Apache is properly
configured to run the Bugzilla CGI scripts. You also need to make sure
that the .htaccess files created by ./checksetup.pl (shown in Example
4-1 for the curious) are allowed to override Apache's normal access
4-2 for the curious) are allowed to override Apache's normal access
permissions or else important password information may be exposed to
the Internet.
......@@ -1396,7 +1570,7 @@ AllowOverride Limit
For more information on Apache and its directives, see the glossary
entry on Apache.
Example 4-1. .htaccess files for 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
......@@ -1567,9 +1741,9 @@ proc filter_deny { why } {
This is caused by a bug in the version of File::Temp that is
distributed with perl 5.6.0. Many minor variations of this error have
been reported. Examples can be found in Figure 4-1.
been reported. Examples can be found in Figure 4-2.
Figure 4-1. Other File::Temp error messages
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.
......@@ -1581,9 +1755,9 @@ 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-2. The patch is also available as a patch file.
the patch in Figure 4-3. The patch is also available as a patch file.
Figure 4-2. Patch for File::Temp in Perl 5.6.0
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 @@
......@@ -1953,10 +2127,10 @@ Chapter 5. Administering Bugzilla
modify
2. Maximum Votes per person: Setting this field to "0" disables
voting.
3. Maximum Votes a person can put on a single bug": It should
probably be some number lower than the "Maximum votes per person".
Don't set this field to "0" if "Maximum votes per person" is
non-zero; that doesn't make any sense.
3. Maximum Votes a person can put on a single bug: It should probably
be some number lower than the "Maximum votes per person". Don't
set this field to "0" if "Maximum votes per person" is non-zero;
that doesn't make any sense.
4. Number of votes a bug in this product needs to automatically get
out of the UNCONFIRMED state: Setting this field to "0" disables
the automatic move of bugs from UNCONFIRMED to NEW.
......@@ -2624,7 +2798,7 @@ patching file globals.pl
5.10.3. Perforce SCM
You can find the project page for Bugzilla and Teamtrack Perforce
integration (p4dti) at: http://www.ravenbrook.com/project/p4dti .
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 .
......@@ -2834,21 +3008,21 @@ Appendix A. The Bugzilla FAQ
A.1.1. Where can I find information about Bugzilla?
You can stay up-to-date with the latest Bugzilla information at
http://www.bugzilla.org/
http://www.bugzilla.org/.
A.1.2. What license is Bugzilla distributed under?
Bugzilla is covered by the Mozilla Public License. See details at
http://www.mozilla.org/MPL/
http://www.mozilla.org/MPL/.
A.1.3. How do I get commercial support for Bugzilla?
http://bugzilla.org/consulting.html is a list of people and companies
who have asked us to list them as consultants for Bugzilla.
www.collab.net offers Bugzilla as part of their standard offering to
large projects. They do have some minimum fees that are pretty hefty,
and generally aren't interested in small projects.
http://www.collab.net/ offers Bugzilla as part of their standard
offering to large projects. They do have some minimum fees that are
pretty hefty, and generally aren't interested in small projects.
There are several experienced Bugzilla hackers on the mailing
list/newsgroup who are willing to make themselves available for
......@@ -2924,7 +3098,8 @@ Appendix A. The Bugzilla FAQ
There is currently work in progress to make Bugzilla work on
PostgreSQL and Sybase in the default distribution. You can track the
progress of these initiatives in bugs 98304 and 173130 respectively.
progress of these initiatives in bug 98304 and bug 173130
respectively.
Once both of these are done, adding support for additional database
servers should be trivial.
......@@ -2999,8 +3174,7 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
compensate for the change.
There is no GUI for adding fields to Bugzilla at this time. You can
follow development of this feature at
http://bugzilla.mozilla.org/show_bug.cgi?id=91037
follow development of this feature in bug 91037
A.2.7. Does Bugzilla provide any reporting features, metrics, graphs,
etc? You know, the type of stuff that management likes to see. :)
......@@ -3099,7 +3273,7 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
MySQL, the database back-end for Bugzilla, allows hot-backup of data.
You can find strategies for dealing with backup considerations at
http://www.mysql.com/doc/B/a/Backup.html
http://www.mysql.com/doc/B/a/Backup.html.
A.2.17. Can users be on the system while a backup is in progress?
......@@ -3184,10 +3358,8 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
than, only new bugs. How do I do it?
Try Klaas Freitag's excellent patch for "whineatassigned"
functionality. You can find it at
http://bugzilla.mozilla.org/show_bug.cgi?id=6679. This patch is
against an older version of Bugzilla, so you must apply the diffs
manually.
functionality. You can find it in bug 6679. This patch is against an
older version of Bugzilla, so you must apply the diffs manually.
A.4.4. I don't like/want to use Procmail to hand mail off to
bug_email.pl. What alternatives do I have?
......@@ -3342,7 +3514,7 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
I reckon TimeDate and Data::Dumper come with the activeperl. You can
check the ActiveState site for packages for installation through PPM.
http://www.activestate.com/Packages/
http://www.activestate.com/Packages/.
7. Bugzilla Usage
......@@ -3426,10 +3598,9 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
A.8.3. How can I change the default priority to a null value? For
instance, have the default priority be "---" instead of "P2"?
This is well-documented here:
http://bugzilla.mozilla.org/show_bug.cgi?id=49862. Ultimately, it's as
easy as adding the "---" priority field to your localconfig file in
the appropriate area, re-running checksetup.pl, and then changing the
This is well-documented in bug 49862. Ultimately, it's as easy as
adding the "---" priority field to your localconfig file in the
appropriate area, re-running checksetup.pl, and then changing the
default priority in your browser using "editparams.cgi".
A.8.4. What's the best way to submit patches? What guidelines should I
......@@ -3516,7 +3687,7 @@ B.2. MySQL Bugzilla Database Introduction
But Certain Death speaks up -- a tiny voice, from the dark corners of
the conference room. "I have a concern," the voice hisses from the
darkness, "about the use of the word 'verified'.
darkness, "about the use of the word 'verified'."
The room, previously filled with happy chatter, lapses into
reverential silence as Certain Death (better known as the Vice
......@@ -3546,9 +3717,8 @@ B.2.1. Bugzilla Database Basics
internals of MySQL, and if it weren't for this executive order from
the Vice President you couldn't care less about the difference between
a "bigint" and a "tinyint" entry in MySQL. I recommend you refer to
the MySQL documentation, available at MySQL.com . Below are the basics
you need to know about the Bugzilla database. Check the chart above
for more details.
the MySQL documentation . Below are the basics you need to know about
the Bugzilla database. Check the chart above for more details.
1. To connect to your database:
bash# mysql -u root
......@@ -3603,16 +3773,16 @@ B.2.1.1. Bugzilla Database Tables
| watch |
+-------------------+
Here's an overview of what each table does. Most columns in each ta
ble have
Here's an overview of what each table does. Most columns in each tab
le have
descriptive names that make it fairly trivial to figure out their jobs
.
attachments: This table stores all attachments to bugs. It tends to b
e your
attachments: This table stores all attachments to bugs. It tends to be
your
largest table, yet also generally has the fewest entries because file
attachments are so (relatively) large.
bugs: This is the core of your system. The bugs table stores most of
the
bugs: This is the core of your system. The bugs table stores most of
the
current information about a bug, with the exception of the info stored
in the
other tables.
......@@ -3621,33 +3791,33 @@ B.2.1.1. Bugzilla Database Tables
when -- a history file.
cc: This tiny table simply stores all the CC information for any bug
which has
any entries in the CC field of the bug. Note that, like most other ta
bles in
any entries in the CC field of the bug. Note that, like most other tab
les in
Bugzilla, it does not refer to users by their user names, but by their
unique
userid, stored as a primary key in the profiles table.
components: This stores the programs and components (or products and
components, in newer Bugzilla parlance) for Bugzilla. Curiously, the
"program"
components, in newer Bugzilla parlance) for Bugzilla. Curiously, the "
program"
(product) field is the full name of the product, rather than some othe
r unique
identifier, like bug_id and user_id are elsewhere in the database.
dependencies: Stores data about those cool dependency trees.
fielddefs: A nifty table that defines other tables. For instance, wh
en you
fielddefs: A nifty table that defines other tables. For instance, whe
n you
submit a form that changes the value of "AssignedTo" this table allows
translation to the actual field name "assigned_to" for entry into MySQ
L.
groups: defines bitmasks for groups. A bitmask is a number that can
uniquely
identify group memberships. For instance, say the group that is allow
ed to
groups: defines bitmasks for groups. A bitmask is a number that can u
niquely
identify group memberships. For instance, say the group that is allowe
d to
tweak parameters is assigned a value of "1", the group that is allowed
to edit
users is assigned a "2", and the group that is allowed to create new g
roups is
assigned the bitmask of "4". By uniquely combining the group bitmasks
(much
assigned the bitmask of "4". By uniquely combining the group bitmasks
(much
like the chmod command in UNIX,) you can identify a user is allowed to
tweak
parameters and create groups, but not edit users, by giving him a bitm
......@@ -3662,10 +3832,10 @@ B.2.1.1. Bugzilla Database Tables
associated with which bug id's.
logincookies: This stores every login cookie ever assigned to you for
every
machine you've ever logged into Bugzilla from. Curiously, it never do
es any
machine you've ever logged into Bugzilla from. Curiously, it never doe
s any
housecleaning -- I see cookies in this file I've not used for months.
However,
However,
since Bugzilla never expires your cookie (for convenience' sake), it m
akes
sense.
......@@ -3675,7 +3845,7 @@ B.2.1.1. Bugzilla Database Tables
peak
sparingly -- that's only the amount of space the Old Testament from th
e Bible
would take (uncompressed, 16 megabytes). Each comment is keyed to the
would take (uncompressed, 16 megabytes). Each comment is keyed to the
bug_id to which it's attached, so the order is necessarily chronologic
al, for
comments are played back in the order in which they are received.
......@@ -3685,14 +3855,14 @@ B.2.1.1. Bugzilla Database Tables
by
product through the standard configuration interfaces.
namedqueries: This is where everybody stores their "custom queries".
Very
Very
cool feature; it beats the tar out of having to bookmark each cool que
ry you
construct.
products: What products you have, whether new bug entries are allowed
for the
product, what milestone you're working toward on that product, votes,
etc. It
etc. It
will be nice when the components table supports these same features, s
o you
could close a particular component for bug entry without having to clo
......@@ -3725,8 +3895,8 @@ B.2.1.1. Bugzilla Database Tables
mysql> select * from table;
-- note: this is a very bad idea to do on, for instance, the "bugs"
table if
you have 50,000 bugs. You'll be sitting there a while until you ctrl-
c or
you have 50,000 bugs. You'll be sitting there a while until you ctrl-c
or
50,000 bugs play across your screen.
You can limit the display from above a little with the command, wher
e
......@@ -3737,8 +3907,8 @@ B.2.1.1. Bugzilla Database Tables
mysql> select * from table where (column != "some info");
Let's take our example from the introduction, and assume you need to
change
the word "verified" to "approved" in the resolution field. We know fr
om the
the word "verified" to "approved" in the resolution field. We know fro
m the
above information that the resolution is likely to be stored in the "b
ugs"
table. Note we'll need to change a little perl code as well as this da
......@@ -3750,13 +3920,13 @@ B.2.1.1. Bugzilla Database Tables
(exceedingly long output truncated here)
| bug_status| enum('UNCONFIRMED','NEW','ASSIGNED','REOPENED','RESOLVED
','VERIFIED','CLOSED')||MUL | UNCONFIRMED||
Sorry about that long line. We see from this that the "bug status"
column is
Sorry about that long line. We see from this that the "bug status" c
olumn is
an "enum field", which is a MySQL peculiarity where a string type fiel
d can
only have certain types of entries. While I think this is very cool,
it's not
standard SQL. Anyway, we need to add the possible enum field entry
only have certain types of entries. While I think this is very cool, i
t's not
standard SQL. Anyway, we need to add the possible enum field entry
'APPROVED' by altering the "bugs" table.
mysql> ALTER table bugs CHANGE bug_status bug_status
-> enum("UNCONFIRMED", "NEW", "ASSIGNED", "REOPENED", "RESOLVED",
......@@ -3770,8 +3940,8 @@ B.2.1.1. Bugzilla Database Tables
at's
available! Cool thing, too, is that this is reflected on your query p
age as
well -- you can query by the new status. But how's it fit into the ex
isting
well -- you can query by the new status. But how's it fit into the exi
sting
scheme of things?
Looks like you need to go back and look for instances of the word "v
erified"
......@@ -3781,11 +3951,10 @@ B.2.1.1. Bugzilla Database Tables
search).
Although you can query by the enum field, you can't give something a s
tatus
of "APPROVED" until you make the perl changes. Note that this change
I
of "APPROVED" until you make the perl changes. Note that this change I
mentioned can also be done by editing checksetup.pl, which automates a
lot of
this. But you need to know this stuff anyway, right?
this. But you need to know this stuff anyway, right?
_________________________________________________________________
Appendix C. Useful Patches and Utilities for Bugzilla
......@@ -3853,7 +4022,7 @@ 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 I wanted to discuss. Rather than quote it in its entirety, I'll
simply refer you here: http://linas.org/linux/pm.html
simply refer you here: http://linas.org/linux/pm.html.
_________________________________________________________________
D.1. Red Hat Bugzilla
......@@ -3897,7 +4066,7 @@ D.4. Scarab
Scarab is a new open source bug-tracking system built using Java
Servlet technology. It is currently at version 1.0 beta 13.
URL: http://scarab.tigris.org
URL: http://scarab.tigris.org/
This section last updated 18 Jan 2003
_________________________________________________________________
......@@ -3907,7 +4076,7 @@ D.5. Perforce SCM
Although Perforce isn't really a bug tracker, it can be used as such
through the "jobs" functionality.
URL: http://www.perforce.com/perforce/technotes/note052.html
URL: http://www.perforce.com/perforce/technotes/note052.html
This section last updated 27 Jul 2002
_________________________________________________________________
......@@ -4248,7 +4417,7 @@ Appendix E. GNU Free Documentation License
GNU Free Documentation License from time to time. Such new versions
will be similar in spirit to the present version, but may differ in
detail to address new problems or concerns. See
http://www.gnu.org/copyleft/ .
http://www.gnu.org/copyleft/.
Each version of the License is given a distinguishing version number.
If the Document specifies that a particular numbered version of this
......@@ -4363,7 +4532,7 @@ C
creating a Product with no Components will create an error in
Bugzilla).
CPAN
Comprehensive Perl Archive Network (CPAN)
CPAN stands for the "Comprehensive Perl Archive Network". CPAN
maintains a large number of extremely useful Perl modules -
encapsulated chunks of code for performing a particular task.
......@@ -4417,6 +4586,9 @@ M
P
Perl Package Manager (PPM)
http://aspn.activestate.com/ASPN/Downloads/ActivePerl/PPM/
Product
A Product is a broad category of types of bugs, normally
representing a single piece of software or entity. In general,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment