зеркало из https://github.com/mozilla/pjs.git
307 строки
9.1 KiB
XML
307 строки
9.1 KiB
XML
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
|
|
<appendix id="patches" xreflabel="Useful Patches and Utilities for Bugzilla">
|
|
<title>Useful Patches and Utilities for Bugzilla</title>
|
|
|
|
<para>Are you looking for a way to put your Bugzilla into overdrive? Catch
|
|
some of the niftiest tricks here in this section.</para>
|
|
|
|
<section id="rewrite" xreflabel="Apache mod_rewrite magic">
|
|
<title>Apache
|
|
<filename>mod_rewrite</filename>
|
|
|
|
magic</title>
|
|
|
|
<para>Apache's
|
|
<filename>mod_rewrite</filename>
|
|
|
|
module lets you do some truly amazing things with URL rewriting. Here are
|
|
a couple of examples of what you can do.</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Make it so if someone types
|
|
<computeroutput>http://www.foo.com/12345</computeroutput>
|
|
|
|
, Bugzilla spits back http://www.foo.com/show_bug.cgi?id=12345. Try
|
|
setting up your VirtualHost section for Bugzilla with a rule like
|
|
this:</para>
|
|
|
|
<programlisting>
|
|
<![CDATA[
|
|
<VirtualHost 12.34.56.78>
|
|
RewriteEngine On
|
|
RewriteRule ^/([0-9]+)$ http://foo.bar.com/show_bug.cgi?id=$1 [L,R]
|
|
</VirtualHost>
|
|
]]>
|
|
</programlisting>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>There are many, many more things you can do with mod_rewrite.
|
|
As time goes on, I will include many more in the Guide. For now,
|
|
though, please refer to the mod_rewrite documentation at
|
|
<ulink url="http://www.apache.org">http://www.apache.org</ulink>
|
|
</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</section>
|
|
|
|
<section id="setperl" xreflabel="The setperl.csh Utility">
|
|
<title>The setperl.csh Utility</title>
|
|
|
|
<para>You can use the "setperl.csh" utility to quickly and easily change
|
|
the path to perl on all your Bugzilla files. This is a C-shell script; if
|
|
you do not have "csh" or "tcsh" in the search path on your system, it
|
|
will not work!</para>
|
|
|
|
<procedure>
|
|
<step>
|
|
<para>Download the "setperl.csh" utility to your Bugzilla directory
|
|
and make it executable.</para>
|
|
|
|
<substeps>
|
|
<step>
|
|
<para>
|
|
<computeroutput>
|
|
<prompt>bash#</prompt>
|
|
|
|
<command>cd /your/path/to/bugzilla</command>
|
|
</computeroutput>
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
<computeroutput>
|
|
<prompt>bash#</prompt>
|
|
|
|
<command>wget -O setperl.csh
|
|
'http://bugzilla.mozilla.org/showattachment.cgi?attach_id=10795'</command>
|
|
</computeroutput>
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
<computeroutput>
|
|
<prompt>bash#</prompt>
|
|
|
|
<command>chmod u+x setperl.csh</command>
|
|
</computeroutput>
|
|
</para>
|
|
</step>
|
|
</substeps>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Prepare (and fix) Bugzilla file permissions.</para>
|
|
|
|
<substeps>
|
|
<step>
|
|
<para>
|
|
<computeroutput>
|
|
<prompt>bash#</prompt>
|
|
|
|
<command>chmod u+w *</command>
|
|
</computeroutput>
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
<computeroutput>
|
|
<prompt>bash#</prompt>
|
|
|
|
<command>chmod u+x duplicates.cgi</command>
|
|
</computeroutput>
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
<computeroutput>
|
|
<prompt>bash#</prompt>
|
|
|
|
<command>chmod a-x bug_status.html</command>
|
|
</computeroutput>
|
|
</para>
|
|
</step>
|
|
</substeps>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Run the script:</para>
|
|
|
|
<para>
|
|
<computeroutput>
|
|
<prompt>bash#</prompt>
|
|
|
|
<command>./setperl.csh /your/path/to/perl</command>
|
|
</computeroutput>
|
|
|
|
<example>
|
|
<title>Using Setperl to set your perl path</title>
|
|
|
|
<para>
|
|
<computeroutput>
|
|
<prompt>bash#</prompt>
|
|
|
|
<command>./setperl.csh /usr/bin/perl</command>
|
|
</computeroutput>
|
|
</para>
|
|
</example>
|
|
</para>
|
|
</step>
|
|
</procedure>
|
|
</section>
|
|
|
|
<section id="cmdline">
|
|
<title>Command-line Bugzilla Queries</title>
|
|
|
|
<para>Users can query Bugzilla from the command line using this suite of
|
|
utilities.</para>
|
|
|
|
<para>The query.conf file contains the mapping from options to field
|
|
names and comparison types. Quoted option names are "grepped" for, so it
|
|
should be easy to edit this file. Comments (#) have no effect; you must
|
|
make sure these lines do not contain any quoted "option"</para>
|
|
|
|
<para>buglist is a shell script which submits a Bugzilla query and writes
|
|
the resulting HTML page to stdout. It supports both short options, (such
|
|
as "-Afoo" or "-Rbar") and long options (such as "--assignedto=foo" or
|
|
"--reporter=bar"). If the first character of an option is not "-", it is
|
|
treated as if it were prefixed with "--default=".</para>
|
|
|
|
<para>The columlist is taken from the COLUMNLIST environment variable.
|
|
This is equivalent to the "Change Columns" option when you list bugs in
|
|
buglist.cgi. If you have already used Bugzilla, use
|
|
<command>grep COLUMLIST ~/.netscape/cookies</command>
|
|
|
|
to see your current COLUMNLIST setting.</para>
|
|
|
|
<para>bugs is a simple shell script which calls buglist and extracts the
|
|
bug numbers from the output. Adding the prefix
|
|
"http://bugzilla.mozilla.org/buglist.cgi?bug_id=" turns the bug list into
|
|
a working link if any bugs are found. Counting bugs is easy. Pipe the
|
|
results through
|
|
<command>sed -e 's/,/ /g' | wc | awk '{printf $2 "\n"}'</command>
|
|
</para>
|
|
|
|
<para>Akkana says she has good results piping buglist output through
|
|
<command>w3m -T text/html -dump</command>
|
|
</para>
|
|
|
|
<procedure>
|
|
<step>
|
|
<para>Download three files:</para>
|
|
|
|
<substeps>
|
|
<step>
|
|
<para>
|
|
<computeroutput>
|
|
<prompt>bash$</prompt>
|
|
|
|
<command>wget -O query.conf
|
|
'http://bugzilla.mozilla.org/showattachment.cgi?attach_id=26157'</command>
|
|
</computeroutput>
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
<computeroutput>
|
|
<prompt>bash$</prompt>
|
|
|
|
<command>wget -O buglist
|
|
'http://bugzilla.mozilla.org/showattachment.cgi?attach_id=26944'</command>
|
|
</computeroutput>
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
<computeroutput>
|
|
<prompt>bash#</prompt>
|
|
|
|
<command>wget -O bugs
|
|
'http://bugzilla.mozilla.org/showattachment.cgi?attach_id=26215'</command>
|
|
</computeroutput>
|
|
</para>
|
|
</step>
|
|
</substeps>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Make your utilities executable:
|
|
<computeroutput>
|
|
<prompt>bash$</prompt>
|
|
|
|
<command>chmod u+x buglist bugs</command>
|
|
</computeroutput>
|
|
</para>
|
|
</step>
|
|
</procedure>
|
|
</section>
|
|
|
|
<section id="quicksearch">
|
|
<title>The Quicksearch Utility</title>
|
|
|
|
<para>Quicksearch is a new, experimental feature of the 2.12 release. It
|
|
consist of two Javascript files, "quicksearch.js" and "localconfig.js",
|
|
and two documentation files, "quicksearch.html" and
|
|
"quicksearchhack.html"</para>
|
|
|
|
<para>The index.html page has been updated to include the QuickSearch
|
|
text box.</para>
|
|
|
|
<para>To take full advantage of the query power, the Bugzilla maintainer
|
|
must edit "localconfig.js" according to the value sets used in the local
|
|
installation.</para>
|
|
|
|
<para>Currently, keywords must be hard-coded in localconfig.js. If they
|
|
are not, keywords are not automatically recognized. This means, if
|
|
localconfig.js is left unconfigured, that searching for a bug with the
|
|
"foo" keyword will only find bugs with "foo" in the summary, status
|
|
whiteboard, product or component name, but not those with the keyword
|
|
"foo".</para>
|
|
|
|
<para>Workarounds for Bugzilla users:
|
|
<simplelist>
|
|
<member>search for '!foo' (this will find only bugs with the keyword
|
|
"foo"</member>
|
|
|
|
<member>search 'foo,!foo' (equivalent to 'foo OR keyword:foo')</member>
|
|
</simplelist>
|
|
</para>
|
|
|
|
<para>When this tool is ported from client-side JavaScript to server-side
|
|
Perl, the requirement for hard-coding keywords can be fixed.
|
|
<ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=70907">This
|
|
bug</ulink>
|
|
|
|
has details.</para>
|
|
</section>
|
|
</appendix>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-always-quote-attributes:t
|
|
sgml-auto-insert-required-elements:t
|
|
sgml-balanced-tag-edit:t
|
|
sgml-exposed-tags:nil
|
|
sgml-general-insert-case:lower
|
|
sgml-indent-data:t
|
|
sgml-indent-step:2
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
sgml-minimize-attributes:nil
|
|
sgml-namecase-general:t
|
|
sgml-omittag:t
|
|
sgml-parent-document:("Bugzilla-Guide.sgml" "book" "chapter")
|
|
sgml-shorttag:t
|
|
sgml-tag-region-if-active:t
|
|
End:
|
|
-->
|
|
|