aboutsummaryrefslogtreecommitdiff
path: root/docs/en/xml/patches.xml
diff options
context:
space:
mode:
Diffstat (limited to 'docs/en/xml/patches.xml')
-rw-r--r--docs/en/xml/patches.xml143
1 files changed, 143 insertions, 0 deletions
diff --git a/docs/en/xml/patches.xml b/docs/en/xml/patches.xml
new file mode 100644
index 0000000..ed7d304
--- /dev/null
+++ b/docs/en/xml/patches.xml
@@ -0,0 +1,143 @@
+<?xml version="1.0"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ License, v. 2.0. If a copy of the MPL was not distributed with this
+ file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+ This Source Code Form is "Incompatible With Secondary Licenses", as
+ defined by the Mozilla Public License, v. 2.0.
+-->
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
+ <!ENTITY % myents SYSTEM "bugzilla.ent">
+ %myents;
+]>
+
+<appendix id="patches" xreflabel="Useful Patches and Utilities for Bugzilla">
+ <title>Contrib</title>
+
+ <para>
+ There are a number of unofficial Bugzilla add-ons in the
+ <filename class="directory">$BUGZILLA_ROOT/contrib/</filename>
+ directory. This section documents them.
+ </para>
+
+ <section id="cmdline">
+ <title>Command-line Search Interface</title>
+
+ <para>
+ There are a suite of Unix utilities for searching Bugzilla from the
+ command line. They live in the
+ <filename class="directory">contrib/cmdline</filename> directory.
+ There are three files - <filename>query.conf</filename>,
+ <filename>buglist</filename> and <filename>bugs</filename>.
+ </para>
+
+ <warning>
+ <para>
+ These files pre-date the templatization work done as part of the
+ 2.16 release, and have not been updated.
+ </para>
+ </warning>
+
+ <para>
+ <filename>query.conf</filename> contains the mapping from
+ options to field names and comparison types. Quoted option names
+ are <quote>grepped</quote> 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 <quote>option</quote>.
+ </para>
+
+ <para>
+ <filename>buglist</filename> is a shell script that submits a
+ Bugzilla query and writes the resulting HTML page to stdout.
+ It supports both short options, (such as <quote>-Afoo</quote>
+ or <quote>-Rbar</quote>) and long options (such
+ as <quote>--assignedto=foo</quote> or <quote>--reporter=bar</quote>).
+ If the first character of an option is not <quote>-</quote>, it is
+ treated as if it were prefixed with <quote>--default=</quote>.
+ </para>
+
+ <para>
+ The column list is taken from the COLUMNLIST environment variable.
+ This is equivalent to the <quote>Change Columns</quote> option
+ that is available when you list bugs in buglist.cgi. If you have
+ already used Bugzilla, grep for COLUMNLIST in your cookies file
+ to see your current COLUMNLIST setting.
+ </para>
+
+ <para>
+ <filename>bugs</filename> is a simple shell script which calls
+ <filename>buglist</filename> and extracts the
+ bug numbers from the output. Adding the prefix
+ <quote>http://bugzilla.mozilla.org/buglist.cgi?bug_id=</quote>
+ 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 Peck says she has good results piping
+ <filename>buglist</filename> output through
+ <command>w3m -T text/html -dump</command>
+ </para>
+
+ </section>
+
+ <section id="cmdline-bugmail">
+ <title>Command-line 'Send Unsent Bug-mail' tool</title>
+
+ <para>
+ Within the <filename class="directory">contrib</filename> directory
+ exists a utility with the descriptive (if compact) name
+ of <filename>sendunsentbugmail.pl</filename>. The purpose of this
+ script is, simply, to send out any bug-related mail that should
+ have been sent by now, but for one reason or another has not.
+ </para>
+
+ <para>
+ To accomplish this task, <filename>sendunsentbugmail.pl</filename> uses
+ the same mechanism as the <filename>sanitycheck.cgi</filename> script;
+ it scans through the entire database looking for bugs with changes that
+ were made more than 30 minutes ago, but where there is no record of
+ anyone related to that bug having been sent mail. Having compiled a list,
+ it then uses the standard rules to determine who gets mail, and sends it
+ out.
+ </para>
+
+ <para>
+ As the script runs, it indicates the bug for which it is currently
+ sending mail; when it has finished, it gives a numerical count of how
+ many mails were sent and how many people were excluded. (Individual
+ user names are not recorded or displayed.) If the script produces
+ no output, that means no unsent mail was detected.
+ </para>
+
+ <para>
+ <emphasis>Usage</emphasis>: move the sendunsentbugmail.pl script
+ up into the main directory, ensure it has execute permission, and run it
+ from the command line (or from a cron job) with no parameters.
+ </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.xml" "book" "chapter")
+sgml-shorttag:t
+sgml-tag-region-if-active:t
+End:
+-->