Requirements

Overview

In daily operation, Bundle Buggy has three active components:

  1. The incoming mail scanner. This also sends emails to the new merge requests are detected.
  2. The web UI, which also sends emails when votes are cast.
  3. The merge scanner, which automatically marks requests as merged.

Quickstart

(all commands should be run in the top-level directory)

Download

bzr branch http://code.aaronbentley.com/BundleBuggy/

Initialize database

$ tg-admin sql create

Create a branch for autodetecting merges

# This can be any project that uses Bazaar as a VCS
$ bzr branch http://bazaar-vcs/bzr/bzr.dev local_path

Configure email addresses, etc.

$ cp config.ini.example config.ini
$ vi config.ini

Add voters

# account, real name, password, email, (email ...)
$ ./create-bundlebuggy-account abentley "Aaron Bentley" mypassword \
"Aaron Bentley <aaron.bentley@utoronto.ca>"

Bulk-import old merge requests from a Maildir

$ scanbundle path/to/Maildir/cur 30

Start up the web UI

$ ./start-bundlebuggy

Configure procmail to deliver copies to a directory

For example:

:0
* ^(To|CC).*bazaar(-ng)?@lists.(ubuntu|canonical).com
{
  :0c
  /home/abentley/BundleBuggy/mail_queue
  :0:
  .bzr/
}

Note that mail_queue is not a maildir, just a plain ol' directory.

Notes

Mail processing is done every 3 minutes when BundleBuggy is running. Or you can use the included submit_mail script if you want to process something instantly.

Thanks

Szilveszter Farkas, for inspiring these docs