summaryrefslogtreecommitdiffstats
path: root/docs/en/rst/patches.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/en/rst/patches.rst')
-rw-r--r--docs/en/rst/patches.rst88
1 files changed, 88 insertions, 0 deletions
diff --git a/docs/en/rst/patches.rst b/docs/en/rst/patches.rst
new file mode 100644
index 000000000..688d17105
--- /dev/null
+++ b/docs/en/rst/patches.rst
@@ -0,0 +1,88 @@
+
+
+.. _patches:
+
+=======
+Contrib
+=======
+
+There are a number of unofficial Bugzilla add-ons in the
+:file:`$BUGZILLA_ROOT/contrib/`
+directory. This section documents them.
+
+.. _cmdline:
+
+Command-line Search Interface
+#############################
+
+There are a suite of Unix utilities for searching Bugzilla from the
+command line. They live in the
+:file:`contrib/cmdline` directory.
+There are three files - :file:`query.conf`,
+:file:`buglist` and :file:`bugs`.
+
+.. warning:: These files pre-date the templatization work done as part of the
+ 2.16 release, and have not been updated.
+
+:file:`query.conf` 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``.
+
+:file:`buglist` is a shell script that 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=``.
+
+The column list is taken from the COLUMNLIST environment variable.
+This is equivalent to the ``Change Columns`` 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.
+
+:file:`bugs` is a simple shell script which calls
+:file:`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"}'`
+
+Akkana Peck says she has good results piping
+:file:`buglist` output through
+:command:`w3m -T text/html -dump`
+
+.. _cmdline-bugmail:
+
+Command-line 'Send Unsent Bug-mail' tool
+########################################
+
+Within the :file:`contrib` directory
+exists a utility with the descriptive (if compact) name
+of :file:`sendunsentbugmail.pl`. 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.
+
+To accomplish this task, :file:`sendunsentbugmail.pl` uses
+the same mechanism as the :file:`sanitycheck.cgi` 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.
+
+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.
+
+*Usage*: 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.
+
+