3 ## Debian Bug-Tracking System ##
5 ********************************
7 ### What is Debbugs? ###
9 Debbugs is a stable, scaleable bug reporting and issue tracking system. Debbugs has a web interface for viewing and searching issues in the database but unlike other bug tracking systems, Debbugs has no web interface for editing bug reports - all modification is done via email.
11 The most notable deployment of Debbugs is on the [Debian project](https://www.debian.org/Bugs/)
13 ### System Requirements ###
17 * Perl 5 (5.005 is known to work)
18 * Mailtools and MIME-tools perl modules to manipulate email
20 * The bug system requires its own mail domain. It comes with code
21 which understands how exim, qmail and sendmail deliver mail for such a
23 * A webserver. For the old system of static HTML pages generated for
24 bug reports and index pages, this is easiest if the bug system can
25 write directly to the webspace; for the new system of CGI scripts
26 that generate web pages on the fly, write access is not required.
27 * Somewhere to run CGI scripts (unless you don't need the web forms for
28 searching for bugs by number, package, maintainer or submitter).
30 ### Where do I get the Source? ###
32 Debbugs is managed in git. You can clone the repository into your local
35 git clone http://bugs-master.debian.org/debbugs-source/debbugs.git
37 Additional branches are available from:
39 * [Don Armstrong](http://git.donarmstrong.com/debbugs.git/)
41 ### Installation Instructions ###
43 Install the Debian package and read `/usr/share/doc/debbugs/README.Debian` file.
45 If you can't use the `.deb`, do the following:
49 git clone http://bugs-master.debian.org/debbugs-source/debbugs.git
51 2. Create version and spool directory
56 3. Optional - Retrieve a partial database of bugs for testing
58 1. Get a list of rsync targets from Debbugs
60 rsync --list-only rsync://bugs-mirror.debian.org
62 2. Grab bugs ending in 00
64 mkdir -p splool/db-h/00;
66 rsync -av rsync://bugs-mirror.debian.org/bts-spool-db/00 .;
68 4. Optional - Retrieve bts-versions directory for testing purposes
70 The database obtained in step 3 requires associated version and index information.
72 1. Pull versions directory
74 rsync -av rsync://bugs-mirror.debian.org/bts-versions/ versions/
76 2. Pull index directory
78 rsync -av rsync://bugs-mirror.debian.org/bts-spool-index index
80 5. Configure Debbugs config
82 1. Create a config directory for Debbugs
84 sudo mkdir /etc/debbugs
86 2. Copy sample configuration to config directory
88 sudo cp ~/debbugs/scripts/config.debian /etc/debbugs/config
90 3. Update the following variables
100 < $gConfigDir = "/org/bugs.debian.org/etc"; # directory where this file is
101 < $gSpoolDir = "/org/bugs.debian.org/spool"; # working directory
102 < $gIndicesDir = "/org/bugs.debian.org/indices"; # directory where the indices are
104 > $gConfigDir = "/etc/debbugs"; # directory where this file is
105 > $gSpoolDir = "/path/to/directory/spool"; # working directory
106 > $gIndicesDir = "/path/to/directory/spool/indices"; # directory where the indices are
109 < $gWebDir = "/org/bugs.debian.org/www"; # base location of web pages
110 < $gDocDir = "/org/ftp.debian.org/ftp/doc"; # location of text doc files
112 > $gWebDir = "/path/to/directory/debbugs/html"; # base location of web pages
113 > $gDocDir = "/path/to/directory/debbugs/doc"; # location of text doc files
115 6. Configure Webserver
117 1. Copy example apache config
119 sudo cp /path/to/directory/debbugs/examples/apache.conf /etc/apache2/sites-available/debbugs.conf
121 2. Update the directory entries and the DocumentRoot and ScriptAlias variables
124 < DocumentRoot /var/lib/debbugs/www/
126 > DocumentRoot /path/to/directory/debbugs/html/
129 < <Directory /var/lib/debbugs/www>
131 > <Directory /path/to/directory/debbugs/html>
134 < ScriptAlias /cgi-bin/ /var/lib/debbugs/www/cgi/
135 < <Directory "/var/lib/debbugs/www/cgi/">
137 > ScriptAlias /cgi-bin/ /path/to/directory/debbugs/cgi/
138 > <Directory "/path/to/directory/debbugs/cgi/">
140 3. Enable required apache mods
147 sudo a2ensite debbugs
151 sudo service apache2 reload
153 7. Install dependencies
155 sudo apt-get install libmailtools-perl ed libmime-tools-perl libio-stringy-perl libmldbm-perl liburi-perl libsoap-lite-perl libcgi-simple-perl libparams-validate-perl libtext-template-perl libsafe-hole-perl libmail-rfc822-address-perl liblist-moreutils-perl libtext-template-perl libfile-libmagic-perl libgravatar-url-perl libwww-perl imagemagick libapache2-mod-perl2
159 1. Create symlinks to link source to their expected locations
161 sudo mkdir -p /usr/local/lib/site_perl
162 sudo ln -s /path/to/directory/debbugs/Debbugs /usr/local/lib/site_perl/
164 sudo mkdir -p /usr/share/debbugs/
165 sudo ln -s /path/to/directory/debbugs/templates /usr/share/debbugs/
167 9. Create required files
171 touch /etc/debbugs/pseudo-packages.description
172 touch /etc/debbugs/Source_maintainers
173 touch /etc/debbugs/pseudo-packages.maintainers
174 touch /etc/debbugs/Maintainers
175 touch /etc/debbugs/Maintainers.override
176 mkdir /etc/debbugs/indices
177 touch /etc/debbugs/indices/sources
181 cd /path/to/directory/debbugs
182 perl -c cgi/bugreport.cgi
183 REQUEST_METHOD=GET QUERY_STRING="bug=775300" perl cgi/bugreport.cgi;
185 10. Install MTA. See README.mail for details.
187 Note that each line of `/etc/debbugs/Maintainers` file needs to be formatted as
190 package maintainer name <email@address>
192 If you need a template, look in `/usr/share/doc/debbugs/examples/` directory.
194 ### How do I contribute to Debbugs? ###
196 #### Debbugs bugs ####
198 Bugs in debbugs are tracked on the Debian bugtracker. The web interface is available at
199 [bugs.debian.org](https://bugs.debian.org/cgi-bin/pkgreport.cgi?repeatmerged=no&src=debbugs)
201 #### Start contributing ####
203 Make a working branch for your code and check it out to start working:
205 git checkout -b example-branch
207 Stage and commit your changes using appropriate commit messages
211 git commit -m "Created an example file to demonstrate basic git commands."
213 #### Submitting a Patch ####
215 Submitting a patch can be done using git format-patch.
219 git format-patch origin/master
221 Creates `.patch` files for all commits since the branch diverged from master.
223 Debbugs bugs are tracked using debbugs (what else). Patches should therefore be
224 attached to the bug report for the issue. This can be done by emailing the
225 `.patch` files to `xxxx@bugs.debian.org` (where xxxx is the bug number).
227 Feature patches can also be emailed to the maintaining list at
228 [Debugs mailing list](debian-debbugs@lists.debian.org)
230 ### Further Information and Assistance ###
234 * Mailing List <debian-debbugs@lists.debian.org>
236 * To subscribe to the mailing list, email
237 <debian-debbugs-request@lists.debian.org> with the word "subscribe" in the
242 * [Code](https://bugs.debian.org/debbugs-source/debbugs.git/)
243 * [Debbugs Team](https://wiki.debian.org/Teams/Debbugs)
247 Join the `#debbugs` channel on `irc.oftc.net`
251 This bug tracking system was developed by Ian Jackson from 1994-1997,
252 with assistance from nCipher Corporation Limited in 1997. nCipher allowed
253 Ian to redistribute modifications he made to the system while working as an
256 Since then, it has been developed by the various administrators of
257 `bugs.debian.org`, including Darren Benham, Adam Heath, Josip Rodin, Anthony
258 Towns, and Colin Watson. As in the case of Ian, nCipher allowed Colin to
259 redistribute modifications he made while working as an employee of nCipher.
261 ### Copyright and Lack-of-Warranty Notice ###
263 * Copyright 1999 Darren O. Benham
264 * Copyright 1994-1997 Ian Jackson
265 * Copyright 1997,2003 nCipher Corporation Limited
267 This bug system is free software; you can redistribute it and/or modify it
268 under the terms of the GNU General Public License as published by the Free
269 Software Foundation; version 2 of the License.
271 This program and documentation is distributed in the hope that it will be
272 useful, but without any warranty; without even the implied warranty of
273 merchantability or fitness for a particular purpose. See the GNU General
274 Public License for more details.
276 You should have received a copy of the GNU General Public License along
277 with this program, or one should be available above; if not, write to the
278 Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA