Make Bugzilla’s whine.pl work on Ubuntu or Debian
I use Bugzilla as a taskplanner. The “Products” include “Household”, “Bureaucracy”, “Career” and so on. The “Components” are used to further refine these fields of activity.
For each task that I assign to myself I choose a priority to set a timeframe within which I want to tackle the task. To do that I have changed the default priorities (“P1”, “P2”, etc.) to “Today”, “Tomorrow”, “1 week”, “2 weeks” and so on.
I want Bugzilla to remind me that I have to work on the task before the specified time is over. To do that I have set up so-called “Whining events”. (see Bugzilla’s online documentation)
I have defined one search for each priority, using “Advanced Searching Using Boolean Charts”. For example the search for “New, assigned or reopened bugs where Priority is equal to 1 week and Days since bug changed is greater than 5” is saved under the name “5d unchanged (1w)” and matches everything I wanted to do within a week but didn’t touch for 5 days. The whining event for this search is set up to send me an hourly email if there are any bugs that match this search.
But to make this actually work, the Perl script “whine.pl” has to be executed every 15 minutes. I have set up a system cron job to do this (as the system user “www-data”). The entry in /etc/crontab looks like this:
*/15 * * * * www-data cd /usr/share/bugzilla/; /usr/local/share/bugzilla/whine.pl
Unfortunately, the file “whine.pl” is not included in the bugzilla packages of Kubuntu and Debian GNU/Linux, although it is part of the upstream Bugzilla distribution (see my Bug report). So I had to download the official tar.gz of the matching version (Bugzilla 2.22.1 in my case) from bugzilla.org, unpack it and copy whine.pl to /usr/local/share/bugzilla.
At first the execution of whine.pl aborted with an error which is due to a bug of the Perl DBD package that enables MySQL access. See this Thread on the mozilla.support.bugzilla newsgroup and this Bug report for Perl DBD MySQL.
It turned out I had to slightly upgrade the libdbd-mysql-perl package (from 3.0006-1 to 3.0007-1) to get rid of the bug. I downloaded libdbd-mysql-perl_3.0007-1_i386.deb from the Debian testing repositories and edited its control file to change the Perl depency to “perl (>= 5.8.8-6)” (the version in Edgy) rather than the slightly newer Perl version in Debian testing at the time (5.8.8-6.1).
After all that I finally got the whining feature working.