Merge lp:~braiampe/launchpad-gm-scripts/bugsquad-replies.xml into lp:launchpad-gm-scripts

Proposed by Braiam Peguero
Status: Rejected
Rejected by: Brian Murray
Proposed branch: lp:~braiampe/launchpad-gm-scripts/bugsquad-replies.xml
Merge into: lp:launchpad-gm-scripts
Diff against target: 30217 lines (+29171/-0) (has conflicts)
199 files modified
.bzr-builddeb/default.conf (+2/-0)
.bzrignore (+9/-0)
GPL-3 (+676/-0)
README (+115/-0)
TODO (+14/-0)
bug-dashboard/bug-dashboard.cron (+15/-0)
bug-dashboard/generate-bug-dashboard.py (+121/-0)
bug-dashboard/ml-important-bugs.py (+107/-0)
bug-dashboard/release-nominated-to-json.py (+81/-0)
bug-dashboard/release-targetted-to-json.py (+71/-0)
bug-parsers/check-needs-packaging (+128/-0)
bug-report-framework/README (+20/-0)
bug-report-framework/bugs-since-sometime.py (+169/-0)
bug-report-framework/bugtrackers.html (+12342/-0)
bug-report-framework/package-bugs-gravity.py (+139/-0)
bug-report-framework/package-bugs-numcommentsgt5.py (+90/-0)
bug-report-framework/tagged-bug-tasks.py (+176/-0)
bug-report-framework/team-assigned-bug-tasks.py (+182/-0)
bug-report-framework/team-reported-bug-tasks.py (+108/-0)
bug-report-framework/template.html (+74/-0)
bug-teams/README (+3/-0)
bug-teams/bugcontrol-new-member-announce.txt (+17/-0)
bugs-mailinglist/body-searching (+89/-0)
bugs-mailinglist/count-senders (+105/-0)
bugs-mailinglist/ml-action-query.py (+233/-0)
bugs-mailinglist/ml-fixes-report (+274/-0)
bugs-mailinglist/ml-team-fixes-report (+249/-0)
bugs-mailinglist/new-bug-description-search (+102/-0)
bugs-mailinglist/tagged-bugs (+123/-0)
bugs-mailinglist/triager-query (+114/-0)
bugtrackers/debian-bug-search (+45/-0)
common/lpl_common.py (+205/-0)
debian/changelog (+102/-0)
debian/compat (+1/-0)
debian/control (+41/-0)
debian/copyright (+41/-0)
debian/pycompat (+1/-0)
debian/rules (+8/-0)
debian/ubuntu-qa-tools.examples (+1/-0)
dl-ubuntu-test-iso/README (+132/-0)
dl-ubuntu-test-iso/dl-ubuntu-test-iso (+653/-0)
dl-ubuntu-test-iso/iso-ripper (+59/-0)
doc/body-searching.1 (+23/-0)
doc/check-needs-packaging.1 (+28/-0)
doc/count-senders.1 (+23/-0)
doc/debian-bug-search.1 (+19/-0)
doc/dl-ubuntu-test-iso.1 (+148/-0)
doc/hugday.1 (+34/-0)
doc/iso-ripper.1 (+25/-0)
doc/ml-fixes-report.1 (+25/-0)
doc/ml-team-fixes-report.1 (+25/-0)
doc/new-bug-description-search.1 (+23/-0)
doc/tagged-bugs.1 (+23/-0)
doc/triager-query.1 (+22/-0)
editmoin/moin_aliases (+62/-0)
examples/dl-ubuntu-test-iso.sample-cfg (+74/-0)
examples/dl-ubuntu-test-iso.sample-cfg-hardy (+54/-0)
gm-xml-files/bugsquad-replies.xml (+597/-0)
hugday-tools/hugday (+426/-0)
launchpadlib-scripts/bugsquad-membership.py (+91/-0)
launchpadlib-scripts/crichton-update-bugs.py (+390/-0)
launchpadlib-scripts/find-similar-bugs.py (+59/-0)
launchpadlib-scripts/forward-bug-to-debian.py (+129/-0)
launchpadlib-scripts/harvest-sru-candidates.py (+56/-0)
launchpadlib-scripts/harvest-tagged-bugs.py (+50/-0)
launchpadlib-scripts/package-removal-details.py (+56/-0)
launchpadlib-scripts/packages-without-subscribers.py (+62/-0)
launchpadlib-scripts/patch-subscriber.py (+112/-0)
launchpadlib-scripts/process-bug-with-patch.py (+111/-0)
launchpadlib-scripts/recent-bugs-packages.py (+47/-0)
launchpadlib-scripts/release-nominations.py (+63/-0)
launchpadlib-scripts/ubuntu-bugday.py (+98/-0)
mutt-scripts/b-tool (+251/-0)
package-bug-guidelines/README (+15/-0)
package-bug-guidelines/bughelper.txt (+9/-0)
package-bug-guidelines/ffmpeg.txt (+10/-0)
package-bug-guidelines/kubuntu-restricted-extras.txt (+11/-0)
package-bug-guidelines/linux-meta.txt (+18/-0)
package-bug-guidelines/linux.txt (+24/-0)
package-bug-guidelines/obsolete.txt (+13/-0)
package-bug-guidelines/openoffice.txt (+13/-0)
package-bug-guidelines/package-bug-guidelines.py (+54/-0)
package-bug-guidelines/template.txt (+8/-0)
package-bug-guidelines/ufw.txt (+5/-0)
package-bug-guidelines/update-manager.txt (+5/-0)
package-bug-guidelines/usplash.txt (+12/-0)
package-bug-guidelines/xorg.txt (+171/-0)
qadashboard/automatic_upgrades.py (+46/-0)
qadashboard/boot_regressions.py (+50/-0)
qadashboard/bugs_most_duplicates.py (+25/-0)
qadashboard/bugs_most_users_affected.py (+25/-0)
qadashboard/dash-recent-bugs-packages.py (+57/-0)
qadashboard/desktop_tests.py (+47/-0)
qadashboard/generate_data.py (+34/-0)
qadashboard/hw_cert.py (+33/-0)
qadashboard/iso_testing.py (+44/-0)
qadashboard/mago_2d_tests.py (+85/-0)
qadashboard/mago_tests.py (+30/-0)
qadashboard/mago_unity_tests.py (+90/-0)
qadashboard/packages_with_most_bugs_recently.py (+204/-0)
qadashboard/qadashboard_html.py (+96/-0)
qadashboard/qadashboard_utils.py (+111/-0)
qadashboard/regression_tracker.py (+28/-0)
qadashboard/run_report.sh (+55/-0)
qadashboard/server_tests.py (+45/-0)
responses/40-byte-varlogdistupgrade (+15/-0)
responses/assign-package (+30/-0)
responses/check-patch-comment.py (+80/-0)
responses/collect-it (+19/-0)
responses/hardware-error (+17/-0)
responses/is-duplicate (+28/-0)
responses/please-forward-to-debian (+14/-0)
responses/security/bug-status (+37/-0)
responses/security/in-english (+15/-0)
responses/security/in-universe (+15/-0)
responses/security/in-universe-with-full-upstream-patches (+15/-0)
responses/security/is-dpkg-failure (+12/-0)
responses/security/is-eol (+66/-0)
responses/security/is-faq (+39/-0)
responses/security/is-nonsecurity-private (+13/-0)
responses/security/is-question (+15/-0)
responses/security/is-timedout (+15/-0)
responses/security/not-a-bug (+23/-0)
responses/security/not-private (+23/-0)
responses/security/not-security (+15/-0)
responses/security/not-security-without-comment (+12/-0)
responses/security/pubhist (+53/-0)
responses/security/reassign.py (+101/-0)
responses/security/recursive-unsub-unsec (+48/-0)
responses/security/sub-security (+44/-0)
responses/security/unlinkcves (+19/-0)
responses/security/unsubscribe-me (+18/-0)
responses/short-read-in-buffer-copy (+23/-0)
responses/sound-bug (+19/-0)
responses/stock-reply (+130/-0)
responses/translation-needed (+15/-0)
responses/uncheck-patch-comment.py (+71/-0)
responses/update-bug (+188/-0)
responses/use-storage-symptom (+19/-0)
security-tools/bin-details (+82/-0)
security-tools/compare-lp-builds (+194/-0)
security-tools/compare-versions (+91/-0)
security-tools/fetch-buildlogs (+135/-0)
security-tools/fetch-debdiff (+72/-0)
security-tools/find-bin-overrides (+122/-0)
security-tools/hunt-crash (+130/-0)
security-tools/kernel-abi-check (+150/-0)
security-tools/live-api (+42/-0)
security-tools/lp_info.py (+167/-0)
security-tools/lpmad (+58/-0)
security-tools/ls-ppa (+53/-0)
security-tools/mbf (+53/-0)
security-tools/mugshot (+31/-0)
security-tools/rpm-spec-patches-to-series (+18/-0)
security-tools/unembargo (+119/-0)
setup.py (+32/-0)
sru-report-tools/generate-thanks (+77/-0)
sru-report-tools/get_installed_bins (+26/-0)
sru-report-tools/lookup-irc-nick (+30/-0)
sru-report-tools/report_updates (+219/-0)
sru-report-tools/save-email-addresses (+57/-0)
vm-tools/README (+367/-0)
vm-tools/kvm-sound (+4/-0)
vm-tools/libvm.sh (+216/-0)
vm-tools/qcow-mount (+42/-0)
vm-tools/qcow-umount (+34/-0)
vm-tools/update-virtnet (+61/-0)
vm-tools/vm-clone (+499/-0)
vm-tools/vm-cmd (+187/-0)
vm-tools/vm-emulator (+44/-0)
vm-tools/vm-iso (+174/-0)
vm-tools/vm-list (+61/-0)
vm-tools/vm-modify (+75/-0)
vm-tools/vm-new (+449/-0)
vm-tools/vm-remove (+137/-0)
vm-tools/vm-repo (+105/-0)
vm-tools/vm-revert-packages (+16/-0)
vm-tools/vm-scp (+212/-0)
vm-tools/vm-start (+206/-0)
vm-tools/vm-stop (+189/-0)
vm-tools/vm-use-snapshots (+150/-0)
vm-tools/vm-view (+76/-0)
vm-tools/vmbuilder-extras/README (+5/-0)
vm-tools/vmbuilder-extras/distros/debian/etc/vmbuilder/debian/dapper_fstab.tmpl (+10/-0)
vm-tools/vmbuilder-extras/distros/debian/etc/vmbuilder/debian/dapper_fstab_fsimage.tmpl (+10/-0)
vm-tools/vmbuilder-extras/distros/debian/etc/vmbuilder/debian/devicemap.tmpl (+3/-0)
vm-tools/vmbuilder-extras/distros/debian/etc/vmbuilder/debian/etc_hosts.tmpl (+10/-0)
vm-tools/vmbuilder-extras/distros/debian/etc/vmbuilder/debian/interfaces.tmpl (+22/-0)
vm-tools/vmbuilder-extras/distros/debian/etc/vmbuilder/debian/kernelimg.tmpl (+8/-0)
vm-tools/vmbuilder-extras/distros/debian/etc/vmbuilder/debian/locale.tmpl (+1/-0)
vm-tools/vmbuilder-extras/distros/debian/etc/vmbuilder/debian/nostart-policy-rc.d.tmpl (+18/-0)
vm-tools/vmbuilder-extras/distros/debian/etc/vmbuilder/debian/sources.list.tmpl (+5/-0)
vm-tools/vmbuilder-extras/distros/debian/plugins/debian/__init__.py (+20/-0)
vm-tools/vmbuilder-extras/distros/debian/plugins/debian/distro.py (+162/-0)
vm-tools/vmbuilder-extras/distros/debian/plugins/debian/lenny.py (+325/-0)
vm-tools/vmbuilder-extras/distros/debian/plugins/debian/sid.py (+35/-0)
vm-tools/vmbuilder-extras/distros/debian/plugins/debian/sqeeze.py (+36/-0)
vm-tools/vmbuilder-extras/distros/debian/plugins/debian/suite.py (+34/-0)
vm-tools/vmbuilder-extras/distros/debian/plugins/debian/wtf (+23/-0)
Conflict adding file README.  Moved existing file to README.moved.
Conflict adding file TODO.  Moved existing file to TODO.moved.
To merge this branch: bzr merge lp:~braiampe/launchpad-gm-scripts/bugsquad-replies.xml
Reviewer Review Type Date Requested Status
Brian Murray Disapprove
Review via email: mp+61504@code.launchpad.net

Description of the change

Updated the bugsquad-replies.xml file

To post a comment you must log in.
Revision history for this message
Brian Murray (brian-murray) wrote :

So bugsquad-replies.xml is actually part of ubuntu-qa-tools and not launchpad-gm-scripts and the merge proposal you've created is for launchpad-gm-scripts. I tried resubmitting the merge proposal about the right branch for you bug Launchpad oops'ed on me. I'm currently reviewing your diff though, http://bazaar.launchpad.net/~braiampe/launchpad-gm-scripts/bugsquad-replies.xml/revision/582, and will likely download that and just manually patch the branch. So no further action is required on this merge proposal.

review: Disapprove

Unmerged revisions

582. By Braiam Peguero

Updated stock responces.

581. By Marc Deslauriers

vm-tools/vm-clone: manually generate ssh host keys, as using
dpkg-reconfigure will start an ssh daemon on the host.

580. By Brian Murray

responses: add in hardware-error response

579. By Brian Murray

crichton: stop tagging linux bugs regression-release

578. By Brian Murray

ml-fixes-report: add in oneiric

577. By Marc Deslauriers

responses/security/not-security: add a subject when replying so
bdmurray buys beer for the security team at UDS.

576. By Kees Cook

add natty, remove karmic

575. By Brian Murray

crichton: remove VarLogDistupgradeTermlog.gz in more situations

574. By Jamie Strandboge

add responses/security/is-eol

573. By Philip Muškovac

update release+1 testing response for oneiric

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added directory '.bzr-builddeb'
2=== added file '.bzr-builddeb/default.conf'
3--- .bzr-builddeb/default.conf 1970-01-01 00:00:00 +0000
4+++ .bzr-builddeb/default.conf 2011-05-19 04:42:24 +0000
5@@ -0,0 +1,2 @@
6+[BUILDDEB]
7+native = True
8
9=== added file '.bzrignore'
10--- .bzrignore 1970-01-01 00:00:00 +0000
11+++ .bzrignore 2011-05-19 04:42:24 +0000
12@@ -0,0 +1,9 @@
13+/build/
14+/python-build-stamp-*
15+/debian/files
16+/debian/ubuntu-qa-tools/
17+/debian/ubuntu-qa-tools.debhelper.log
18+/debian/ubuntu-qa-tools.*.debhelper
19+/debian/ubuntu-qa-tools.substvars
20+/responses/security/lpl_common.pyc
21+security-tools/.hunt
22
23=== added file 'GPL-3'
24--- GPL-3 1970-01-01 00:00:00 +0000
25+++ GPL-3 2011-05-19 04:42:24 +0000
26@@ -0,0 +1,676 @@
27+
28+ GNU GENERAL PUBLIC LICENSE
29+ Version 3, 29 June 2007
30+
31+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
32+ Everyone is permitted to copy and distribute verbatim copies
33+ of this license document, but changing it is not allowed.
34+
35+ Preamble
36+
37+ The GNU General Public License is a free, copyleft license for
38+software and other kinds of works.
39+
40+ The licenses for most software and other practical works are designed
41+to take away your freedom to share and change the works. By contrast,
42+the GNU General Public License is intended to guarantee your freedom to
43+share and change all versions of a program--to make sure it remains free
44+software for all its users. We, the Free Software Foundation, use the
45+GNU General Public License for most of our software; it applies also to
46+any other work released this way by its authors. You can apply it to
47+your programs, too.
48+
49+ When we speak of free software, we are referring to freedom, not
50+price. Our General Public Licenses are designed to make sure that you
51+have the freedom to distribute copies of free software (and charge for
52+them if you wish), that you receive source code or can get it if you
53+want it, that you can change the software or use pieces of it in new
54+free programs, and that you know you can do these things.
55+
56+ To protect your rights, we need to prevent others from denying you
57+these rights or asking you to surrender the rights. Therefore, you have
58+certain responsibilities if you distribute copies of the software, or if
59+you modify it: responsibilities to respect the freedom of others.
60+
61+ For example, if you distribute copies of such a program, whether
62+gratis or for a fee, you must pass on to the recipients the same
63+freedoms that you received. You must make sure that they, too, receive
64+or can get the source code. And you must show them these terms so they
65+know their rights.
66+
67+ Developers that use the GNU GPL protect your rights with two steps:
68+(1) assert copyright on the software, and (2) offer you this License
69+giving you legal permission to copy, distribute and/or modify it.
70+
71+ For the developers' and authors' protection, the GPL clearly explains
72+that there is no warranty for this free software. For both users' and
73+authors' sake, the GPL requires that modified versions be marked as
74+changed, so that their problems will not be attributed erroneously to
75+authors of previous versions.
76+
77+ Some devices are designed to deny users access to install or run
78+modified versions of the software inside them, although the manufacturer
79+can do so. This is fundamentally incompatible with the aim of
80+protecting users' freedom to change the software. The systematic
81+pattern of such abuse occurs in the area of products for individuals to
82+use, which is precisely where it is most unacceptable. Therefore, we
83+have designed this version of the GPL to prohibit the practice for those
84+products. If such problems arise substantially in other domains, we
85+stand ready to extend this provision to those domains in future versions
86+of the GPL, as needed to protect the freedom of users.
87+
88+ Finally, every program is threatened constantly by software patents.
89+States should not allow patents to restrict development and use of
90+software on general-purpose computers, but in those that do, we wish to
91+avoid the special danger that patents applied to a free program could
92+make it effectively proprietary. To prevent this, the GPL assures that
93+patents cannot be used to render the program non-free.
94+
95+ The precise terms and conditions for copying, distribution and
96+modification follow.
97+
98+ TERMS AND CONDITIONS
99+
100+ 0. Definitions.
101+
102+ "This License" refers to version 3 of the GNU General Public License.
103+
104+ "Copyright" also means copyright-like laws that apply to other kinds of
105+works, such as semiconductor masks.
106+
107+ "The Program" refers to any copyrightable work licensed under this
108+License. Each licensee is addressed as "you". "Licensees" and
109+"recipients" may be individuals or organizations.
110+
111+ To "modify" a work means to copy from or adapt all or part of the work
112+in a fashion requiring copyright permission, other than the making of an
113+exact copy. The resulting work is called a "modified version" of the
114+earlier work or a work "based on" the earlier work.
115+
116+ A "covered work" means either the unmodified Program or a work based
117+on the Program.
118+
119+ To "propagate" a work means to do anything with it that, without
120+permission, would make you directly or secondarily liable for
121+infringement under applicable copyright law, except executing it on a
122+computer or modifying a private copy. Propagation includes copying,
123+distribution (with or without modification), making available to the
124+public, and in some countries other activities as well.
125+
126+ To "convey" a work means any kind of propagation that enables other
127+parties to make or receive copies. Mere interaction with a user through
128+a computer network, with no transfer of a copy, is not conveying.
129+
130+ An interactive user interface displays "Appropriate Legal Notices"
131+to the extent that it includes a convenient and prominently visible
132+feature that (1) displays an appropriate copyright notice, and (2)
133+tells the user that there is no warranty for the work (except to the
134+extent that warranties are provided), that licensees may convey the
135+work under this License, and how to view a copy of this License. If
136+the interface presents a list of user commands or options, such as a
137+menu, a prominent item in the list meets this criterion.
138+
139+ 1. Source Code.
140+
141+ The "source code" for a work means the preferred form of the work
142+for making modifications to it. "Object code" means any non-source
143+form of a work.
144+
145+ A "Standard Interface" means an interface that either is an official
146+standard defined by a recognized standards body, or, in the case of
147+interfaces specified for a particular programming language, one that
148+is widely used among developers working in that language.
149+
150+ The "System Libraries" of an executable work include anything, other
151+than the work as a whole, that (a) is included in the normal form of
152+packaging a Major Component, but which is not part of that Major
153+Component, and (b) serves only to enable use of the work with that
154+Major Component, or to implement a Standard Interface for which an
155+implementation is available to the public in source code form. A
156+"Major Component", in this context, means a major essential component
157+(kernel, window system, and so on) of the specific operating system
158+(if any) on which the executable work runs, or a compiler used to
159+produce the work, or an object code interpreter used to run it.
160+
161+ The "Corresponding Source" for a work in object code form means all
162+the source code needed to generate, install, and (for an executable
163+work) run the object code and to modify the work, including scripts to
164+control those activities. However, it does not include the work's
165+System Libraries, or general-purpose tools or generally available free
166+programs which are used unmodified in performing those activities but
167+which are not part of the work. For example, Corresponding Source
168+includes interface definition files associated with source files for
169+the work, and the source code for shared libraries and dynamically
170+linked subprograms that the work is specifically designed to require,
171+such as by intimate data communication or control flow between those
172+subprograms and other parts of the work.
173+
174+ The Corresponding Source need not include anything that users
175+can regenerate automatically from other parts of the Corresponding
176+Source.
177+
178+ The Corresponding Source for a work in source code form is that
179+same work.
180+
181+ 2. Basic Permissions.
182+
183+ All rights granted under this License are granted for the term of
184+copyright on the Program, and are irrevocable provided the stated
185+conditions are met. This License explicitly affirms your unlimited
186+permission to run the unmodified Program. The output from running a
187+covered work is covered by this License only if the output, given its
188+content, constitutes a covered work. This License acknowledges your
189+rights of fair use or other equivalent, as provided by copyright law.
190+
191+ You may make, run and propagate covered works that you do not
192+convey, without conditions so long as your license otherwise remains
193+in force. You may convey covered works to others for the sole purpose
194+of having them make modifications exclusively for you, or provide you
195+with facilities for running those works, provided that you comply with
196+the terms of this License in conveying all material for which you do
197+not control copyright. Those thus making or running the covered works
198+for you must do so exclusively on your behalf, under your direction
199+and control, on terms that prohibit them from making any copies of
200+your copyrighted material outside their relationship with you.
201+
202+ Conveying under any other circumstances is permitted solely under
203+the conditions stated below. Sublicensing is not allowed; section 10
204+makes it unnecessary.
205+
206+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
207+
208+ No covered work shall be deemed part of an effective technological
209+measure under any applicable law fulfilling obligations under article
210+11 of the WIPO copyright treaty adopted on 20 December 1996, or
211+similar laws prohibiting or restricting circumvention of such
212+measures.
213+
214+ When you convey a covered work, you waive any legal power to forbid
215+circumvention of technological measures to the extent such circumvention
216+is effected by exercising rights under this License with respect to
217+the covered work, and you disclaim any intention to limit operation or
218+modification of the work as a means of enforcing, against the work's
219+users, your or third parties' legal rights to forbid circumvention of
220+technological measures.
221+
222+ 4. Conveying Verbatim Copies.
223+
224+ You may convey verbatim copies of the Program's source code as you
225+receive it, in any medium, provided that you conspicuously and
226+appropriately publish on each copy an appropriate copyright notice;
227+keep intact all notices stating that this License and any
228+non-permissive terms added in accord with section 7 apply to the code;
229+keep intact all notices of the absence of any warranty; and give all
230+recipients a copy of this License along with the Program.
231+
232+ You may charge any price or no price for each copy that you convey,
233+and you may offer support or warranty protection for a fee.
234+
235+ 5. Conveying Modified Source Versions.
236+
237+ You may convey a work based on the Program, or the modifications to
238+produce it from the Program, in the form of source code under the
239+terms of section 4, provided that you also meet all of these conditions:
240+
241+ a) The work must carry prominent notices stating that you modified
242+ it, and giving a relevant date.
243+
244+ b) The work must carry prominent notices stating that it is
245+ released under this License and any conditions added under section
246+ 7. This requirement modifies the requirement in section 4 to
247+ "keep intact all notices".
248+
249+ c) You must license the entire work, as a whole, under this
250+ License to anyone who comes into possession of a copy. This
251+ License will therefore apply, along with any applicable section 7
252+ additional terms, to the whole of the work, and all its parts,
253+ regardless of how they are packaged. This License gives no
254+ permission to license the work in any other way, but it does not
255+ invalidate such permission if you have separately received it.
256+
257+ d) If the work has interactive user interfaces, each must display
258+ Appropriate Legal Notices; however, if the Program has interactive
259+ interfaces that do not display Appropriate Legal Notices, your
260+ work need not make them do so.
261+
262+ A compilation of a covered work with other separate and independent
263+works, which are not by their nature extensions of the covered work,
264+and which are not combined with it such as to form a larger program,
265+in or on a volume of a storage or distribution medium, is called an
266+"aggregate" if the compilation and its resulting copyright are not
267+used to limit the access or legal rights of the compilation's users
268+beyond what the individual works permit. Inclusion of a covered work
269+in an aggregate does not cause this License to apply to the other
270+parts of the aggregate.
271+
272+ 6. Conveying Non-Source Forms.
273+
274+ You may convey a covered work in object code form under the terms
275+of sections 4 and 5, provided that you also convey the
276+machine-readable Corresponding Source under the terms of this License,
277+in one of these ways:
278+
279+ a) Convey the object code in, or embodied in, a physical product
280+ (including a physical distribution medium), accompanied by the
281+ Corresponding Source fixed on a durable physical medium
282+ customarily used for software interchange.
283+
284+ b) Convey the object code in, or embodied in, a physical product
285+ (including a physical distribution medium), accompanied by a
286+ written offer, valid for at least three years and valid for as
287+ long as you offer spare parts or customer support for that product
288+ model, to give anyone who possesses the object code either (1) a
289+ copy of the Corresponding Source for all the software in the
290+ product that is covered by this License, on a durable physical
291+ medium customarily used for software interchange, for a price no
292+ more than your reasonable cost of physically performing this
293+ conveying of source, or (2) access to copy the
294+ Corresponding Source from a network server at no charge.
295+
296+ c) Convey individual copies of the object code with a copy of the
297+ written offer to provide the Corresponding Source. This
298+ alternative is allowed only occasionally and noncommercially, and
299+ only if you received the object code with such an offer, in accord
300+ with subsection 6b.
301+
302+ d) Convey the object code by offering access from a designated
303+ place (gratis or for a charge), and offer equivalent access to the
304+ Corresponding Source in the same way through the same place at no
305+ further charge. You need not require recipients to copy the
306+ Corresponding Source along with the object code. If the place to
307+ copy the object code is a network server, the Corresponding Source
308+ may be on a different server (operated by you or a third party)
309+ that supports equivalent copying facilities, provided you maintain
310+ clear directions next to the object code saying where to find the
311+ Corresponding Source. Regardless of what server hosts the
312+ Corresponding Source, you remain obligated to ensure that it is
313+ available for as long as needed to satisfy these requirements.
314+
315+ e) Convey the object code using peer-to-peer transmission, provided
316+ you inform other peers where the object code and Corresponding
317+ Source of the work are being offered to the general public at no
318+ charge under subsection 6d.
319+
320+ A separable portion of the object code, whose source code is excluded
321+from the Corresponding Source as a System Library, need not be
322+included in conveying the object code work.
323+
324+ A "User Product" is either (1) a "consumer product", which means any
325+tangible personal property which is normally used for personal, family,
326+or household purposes, or (2) anything designed or sold for incorporation
327+into a dwelling. In determining whether a product is a consumer product,
328+doubtful cases shall be resolved in favor of coverage. For a particular
329+product received by a particular user, "normally used" refers to a
330+typical or common use of that class of product, regardless of the status
331+of the particular user or of the way in which the particular user
332+actually uses, or expects or is expected to use, the product. A product
333+is a consumer product regardless of whether the product has substantial
334+commercial, industrial or non-consumer uses, unless such uses represent
335+the only significant mode of use of the product.
336+
337+ "Installation Information" for a User Product means any methods,
338+procedures, authorization keys, or other information required to install
339+and execute modified versions of a covered work in that User Product from
340+a modified version of its Corresponding Source. The information must
341+suffice to ensure that the continued functioning of the modified object
342+code is in no case prevented or interfered with solely because
343+modification has been made.
344+
345+ If you convey an object code work under this section in, or with, or
346+specifically for use in, a User Product, and the conveying occurs as
347+part of a transaction in which the right of possession and use of the
348+User Product is transferred to the recipient in perpetuity or for a
349+fixed term (regardless of how the transaction is characterized), the
350+Corresponding Source conveyed under this section must be accompanied
351+by the Installation Information. But this requirement does not apply
352+if neither you nor any third party retains the ability to install
353+modified object code on the User Product (for example, the work has
354+been installed in ROM).
355+
356+ The requirement to provide Installation Information does not include a
357+requirement to continue to provide support service, warranty, or updates
358+for a work that has been modified or installed by the recipient, or for
359+the User Product in which it has been modified or installed. Access to a
360+network may be denied when the modification itself materially and
361+adversely affects the operation of the network or violates the rules and
362+protocols for communication across the network.
363+
364+ Corresponding Source conveyed, and Installation Information provided,
365+in accord with this section must be in a format that is publicly
366+documented (and with an implementation available to the public in
367+source code form), and must require no special password or key for
368+unpacking, reading or copying.
369+
370+ 7. Additional Terms.
371+
372+ "Additional permissions" are terms that supplement the terms of this
373+License by making exceptions from one or more of its conditions.
374+Additional permissions that are applicable to the entire Program shall
375+be treated as though they were included in this License, to the extent
376+that they are valid under applicable law. If additional permissions
377+apply only to part of the Program, that part may be used separately
378+under those permissions, but the entire Program remains governed by
379+this License without regard to the additional permissions.
380+
381+ When you convey a copy of a covered work, you may at your option
382+remove any additional permissions from that copy, or from any part of
383+it. (Additional permissions may be written to require their own
384+removal in certain cases when you modify the work.) You may place
385+additional permissions on material, added by you to a covered work,
386+for which you have or can give appropriate copyright permission.
387+
388+ Notwithstanding any other provision of this License, for material you
389+add to a covered work, you may (if authorized by the copyright holders of
390+that material) supplement the terms of this License with terms:
391+
392+ a) Disclaiming warranty or limiting liability differently from the
393+ terms of sections 15 and 16 of this License; or
394+
395+ b) Requiring preservation of specified reasonable legal notices or
396+ author attributions in that material or in the Appropriate Legal
397+ Notices displayed by works containing it; or
398+
399+ c) Prohibiting misrepresentation of the origin of that material, or
400+ requiring that modified versions of such material be marked in
401+ reasonable ways as different from the original version; or
402+
403+ d) Limiting the use for publicity purposes of names of licensors or
404+ authors of the material; or
405+
406+ e) Declining to grant rights under trademark law for use of some
407+ trade names, trademarks, or service marks; or
408+
409+ f) Requiring indemnification of licensors and authors of that
410+ material by anyone who conveys the material (or modified versions of
411+ it) with contractual assumptions of liability to the recipient, for
412+ any liability that these contractual assumptions directly impose on
413+ those licensors and authors.
414+
415+ All other non-permissive additional terms are considered "further
416+restrictions" within the meaning of section 10. If the Program as you
417+received it, or any part of it, contains a notice stating that it is
418+governed by this License along with a term that is a further
419+restriction, you may remove that term. If a license document contains
420+a further restriction but permits relicensing or conveying under this
421+License, you may add to a covered work material governed by the terms
422+of that license document, provided that the further restriction does
423+not survive such relicensing or conveying.
424+
425+ If you add terms to a covered work in accord with this section, you
426+must place, in the relevant source files, a statement of the
427+additional terms that apply to those files, or a notice indicating
428+where to find the applicable terms.
429+
430+ Additional terms, permissive or non-permissive, may be stated in the
431+form of a separately written license, or stated as exceptions;
432+the above requirements apply either way.
433+
434+ 8. Termination.
435+
436+ You may not propagate or modify a covered work except as expressly
437+provided under this License. Any attempt otherwise to propagate or
438+modify it is void, and will automatically terminate your rights under
439+this License (including any patent licenses granted under the third
440+paragraph of section 11).
441+
442+ However, if you cease all violation of this License, then your
443+license from a particular copyright holder is reinstated (a)
444+provisionally, unless and until the copyright holder explicitly and
445+finally terminates your license, and (b) permanently, if the copyright
446+holder fails to notify you of the violation by some reasonable means
447+prior to 60 days after the cessation.
448+
449+ Moreover, your license from a particular copyright holder is
450+reinstated permanently if the copyright holder notifies you of the
451+violation by some reasonable means, this is the first time you have
452+received notice of violation of this License (for any work) from that
453+copyright holder, and you cure the violation prior to 30 days after
454+your receipt of the notice.
455+
456+ Termination of your rights under this section does not terminate the
457+licenses of parties who have received copies or rights from you under
458+this License. If your rights have been terminated and not permanently
459+reinstated, you do not qualify to receive new licenses for the same
460+material under section 10.
461+
462+ 9. Acceptance Not Required for Having Copies.
463+
464+ You are not required to accept this License in order to receive or
465+run a copy of the Program. Ancillary propagation of a covered work
466+occurring solely as a consequence of using peer-to-peer transmission
467+to receive a copy likewise does not require acceptance. However,
468+nothing other than this License grants you permission to propagate or
469+modify any covered work. These actions infringe copyright if you do
470+not accept this License. Therefore, by modifying or propagating a
471+covered work, you indicate your acceptance of this License to do so.
472+
473+ 10. Automatic Licensing of Downstream Recipients.
474+
475+ Each time you convey a covered work, the recipient automatically
476+receives a license from the original licensors, to run, modify and
477+propagate that work, subject to this License. You are not responsible
478+for enforcing compliance by third parties with this License.
479+
480+ An "entity transaction" is a transaction transferring control of an
481+organization, or substantially all assets of one, or subdividing an
482+organization, or merging organizations. If propagation of a covered
483+work results from an entity transaction, each party to that
484+transaction who receives a copy of the work also receives whatever
485+licenses to the work the party's predecessor in interest had or could
486+give under the previous paragraph, plus a right to possession of the
487+Corresponding Source of the work from the predecessor in interest, if
488+the predecessor has it or can get it with reasonable efforts.
489+
490+ You may not impose any further restrictions on the exercise of the
491+rights granted or affirmed under this License. For example, you may
492+not impose a license fee, royalty, or other charge for exercise of
493+rights granted under this License, and you may not initiate litigation
494+(including a cross-claim or counterclaim in a lawsuit) alleging that
495+any patent claim is infringed by making, using, selling, offering for
496+sale, or importing the Program or any portion of it.
497+
498+ 11. Patents.
499+
500+ A "contributor" is a copyright holder who authorizes use under this
501+License of the Program or a work on which the Program is based. The
502+work thus licensed is called the contributor's "contributor version".
503+
504+ A contributor's "essential patent claims" are all patent claims
505+owned or controlled by the contributor, whether already acquired or
506+hereafter acquired, that would be infringed by some manner, permitted
507+by this License, of making, using, or selling its contributor version,
508+but do not include claims that would be infringed only as a
509+consequence of further modification of the contributor version. For
510+purposes of this definition, "control" includes the right to grant
511+patent sublicenses in a manner consistent with the requirements of
512+this License.
513+
514+ Each contributor grants you a non-exclusive, worldwide, royalty-free
515+patent license under the contributor's essential patent claims, to
516+make, use, sell, offer for sale, import and otherwise run, modify and
517+propagate the contents of its contributor version.
518+
519+ In the following three paragraphs, a "patent license" is any express
520+agreement or commitment, however denominated, not to enforce a patent
521+(such as an express permission to practice a patent or covenant not to
522+sue for patent infringement). To "grant" such a patent license to a
523+party means to make such an agreement or commitment not to enforce a
524+patent against the party.
525+
526+ If you convey a covered work, knowingly relying on a patent license,
527+and the Corresponding Source of the work is not available for anyone
528+to copy, free of charge and under the terms of this License, through a
529+publicly available network server or other readily accessible means,
530+then you must either (1) cause the Corresponding Source to be so
531+available, or (2) arrange to deprive yourself of the benefit of the
532+patent license for this particular work, or (3) arrange, in a manner
533+consistent with the requirements of this License, to extend the patent
534+license to downstream recipients. "Knowingly relying" means you have
535+actual knowledge that, but for the patent license, your conveying the
536+covered work in a country, or your recipient's use of the covered work
537+in a country, would infringe one or more identifiable patents in that
538+country that you have reason to believe are valid.
539+
540+ If, pursuant to or in connection with a single transaction or
541+arrangement, you convey, or propagate by procuring conveyance of, a
542+covered work, and grant a patent license to some of the parties
543+receiving the covered work authorizing them to use, propagate, modify
544+or convey a specific copy of the covered work, then the patent license
545+you grant is automatically extended to all recipients of the covered
546+work and works based on it.
547+
548+ A patent license is "discriminatory" if it does not include within
549+the scope of its coverage, prohibits the exercise of, or is
550+conditioned on the non-exercise of one or more of the rights that are
551+specifically granted under this License. You may not convey a covered
552+work if you are a party to an arrangement with a third party that is
553+in the business of distributing software, under which you make payment
554+to the third party based on the extent of your activity of conveying
555+the work, and under which the third party grants, to any of the
556+parties who would receive the covered work from you, a discriminatory
557+patent license (a) in connection with copies of the covered work
558+conveyed by you (or copies made from those copies), or (b) primarily
559+for and in connection with specific products or compilations that
560+contain the covered work, unless you entered into that arrangement,
561+or that patent license was granted, prior to 28 March 2007.
562+
563+ Nothing in this License shall be construed as excluding or limiting
564+any implied license or other defenses to infringement that may
565+otherwise be available to you under applicable patent law.
566+
567+ 12. No Surrender of Others' Freedom.
568+
569+ If conditions are imposed on you (whether by court order, agreement or
570+otherwise) that contradict the conditions of this License, they do not
571+excuse you from the conditions of this License. If you cannot convey a
572+covered work so as to satisfy simultaneously your obligations under this
573+License and any other pertinent obligations, then as a consequence you may
574+not convey it at all. For example, if you agree to terms that obligate you
575+to collect a royalty for further conveying from those to whom you convey
576+the Program, the only way you could satisfy both those terms and this
577+License would be to refrain entirely from conveying the Program.
578+
579+ 13. Use with the GNU Affero General Public License.
580+
581+ Notwithstanding any other provision of this License, you have
582+permission to link or combine any covered work with a work licensed
583+under version 3 of the GNU Affero General Public License into a single
584+combined work, and to convey the resulting work. The terms of this
585+License will continue to apply to the part which is the covered work,
586+but the special requirements of the GNU Affero General Public License,
587+section 13, concerning interaction through a network will apply to the
588+combination as such.
589+
590+ 14. Revised Versions of this License.
591+
592+ The Free Software Foundation may publish revised and/or new versions of
593+the GNU General Public License from time to time. Such new versions will
594+be similar in spirit to the present version, but may differ in detail to
595+address new problems or concerns.
596+
597+ Each version is given a distinguishing version number. If the
598+Program specifies that a certain numbered version of the GNU General
599+Public License "or any later version" applies to it, you have the
600+option of following the terms and conditions either of that numbered
601+version or of any later version published by the Free Software
602+Foundation. If the Program does not specify a version number of the
603+GNU General Public License, you may choose any version ever published
604+by the Free Software Foundation.
605+
606+ If the Program specifies that a proxy can decide which future
607+versions of the GNU General Public License can be used, that proxy's
608+public statement of acceptance of a version permanently authorizes you
609+to choose that version for the Program.
610+
611+ Later license versions may give you additional or different
612+permissions. However, no additional obligations are imposed on any
613+author or copyright holder as a result of your choosing to follow a
614+later version.
615+
616+ 15. Disclaimer of Warranty.
617+
618+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
619+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
620+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
621+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
622+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
623+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
624+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
625+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
626+
627+ 16. Limitation of Liability.
628+
629+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
630+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
631+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
632+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
633+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
634+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
635+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
636+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
637+SUCH DAMAGES.
638+
639+ 17. Interpretation of Sections 15 and 16.
640+
641+ If the disclaimer of warranty and limitation of liability provided
642+above cannot be given local legal effect according to their terms,
643+reviewing courts shall apply local law that most closely approximates
644+an absolute waiver of all civil liability in connection with the
645+Program, unless a warranty or assumption of liability accompanies a
646+copy of the Program in return for a fee.
647+
648+ END OF TERMS AND CONDITIONS
649+
650+ How to Apply These Terms to Your New Programs
651+
652+ If you develop a new program, and you want it to be of the greatest
653+possible use to the public, the best way to achieve this is to make it
654+free software which everyone can redistribute and change under these terms.
655+
656+ To do so, attach the following notices to the program. It is safest
657+to attach them to the start of each source file to most effectively
658+state the exclusion of warranty; and each file should have at least
659+the "copyright" line and a pointer to where the full notice is found.
660+
661+ <one line to give the program's name and a brief idea of what it does.>
662+ Copyright (C) <year> <name of author>
663+
664+ This program is free software: you can redistribute it and/or modify
665+ it under the terms of the GNU General Public License as published by
666+ the Free Software Foundation, either version 3 of the License, or
667+ (at your option) any later version.
668+
669+ This program is distributed in the hope that it will be useful,
670+ but WITHOUT ANY WARRANTY; without even the implied warranty of
671+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
672+ GNU General Public License for more details.
673+
674+ You should have received a copy of the GNU General Public License
675+ along with this program. If not, see <http://www.gnu.org/licenses/>.
676+
677+Also add information on how to contact you by electronic and paper mail.
678+
679+ If the program does terminal interaction, make it output a short
680+notice like this when it starts in an interactive mode:
681+
682+ <program> Copyright (C) <year> <name of author>
683+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
684+ This is free software, and you are welcome to redistribute it
685+ under certain conditions; type `show c' for details.
686+
687+The hypothetical commands `show w' and `show c' should show the appropriate
688+parts of the General Public License. Of course, your program's commands
689+might be different; for a GUI interface, you would use an "about box".
690+
691+ You should also get your employer (if you work as a programmer) or school,
692+if any, to sign a "copyright disclaimer" for the program, if necessary.
693+For more information on this, and how to apply and follow the GNU GPL, see
694+<http://www.gnu.org/licenses/>.
695+
696+ The GNU General Public License does not permit incorporating your program
697+into proprietary programs. If your program is a subroutine library, you
698+may consider it more useful to permit linking proprietary applications with
699+the library. If this is what you want to do, use the GNU Lesser General
700+Public License instead of this License. But first, please read
701+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
702+
703
704=== added file 'README'
705--- README 1970-01-01 00:00:00 +0000
706+++ README 2011-05-19 04:42:24 +0000
707@@ -0,0 +1,115 @@
708+ Ubuntu QA Team Tools
709+ --========[o]=========--
710+
711+The Ubuntu QA Tools project is a collection of scripts that the Ubuntu
712+QA team has found useful for performing their duties be they testing or
713+bug triaging.
714+
715+bugs-mailinglist
716+================
717+
718+This directory is a collection of python scripts for parsing bug mailing
719+archives like those found at:
720+http://people.ubuntu.com/~listarchive/ubuntu-bugs/
721+
722+A mailing list archive file must be available on your local system for
723+them to parse.
724+
725+triager-query.py queries the mailing list archive for actions performed
726+by a specific bug triager.
727+
728+count-senders.py parses the mailing list archive and returns the
729+quantity of messages sent by individuals.
730+
731+body-searching.py searches the mailing list archive for a user defined
732+string, sys.argv[1], and returns bug numbers containing that string.
733+
734+dl-ubuntu-test-iso
735+==================
736+
737+dl-ubuntu-test-iso is a small script to download Ubuntu (+ Kubuntu,
738+Xubuntu, etc) ISO images for testing purposes. It may or may not be
739+useful to people outside the QA team. It is _NOT_ meant for downloading
740+released ISO images. If you don't participate in testing, you shouldn't
741+run this script.
742+
743+NOTE THAT RUNNING THIS SCRIPT WILL DOWNLOAD A LOT OF DATA BY DEFAULT.
744+More specifically, it will download every ISO by default, for a total
745+of several tens of gigabytes of data.
746+
747+The script uses rsync, which means that the second time you run it,
748+it only downloads the changes to each ISO.
749+
750+The ISO image files will be put into ~/iso (an "iso" directory in your
751+home directory).
752+
753+See the dl-ubuntu-test-iso/README for more information on how to run
754+the script.
755+
756+bugtrackers
757+===========
758+
759+debian-bug-search.py, which requires python-soappy, is a python script
760+for searching Debian bug reports about a specific package for a string.
761+
762+For example:
763+
764+python debian-bug-search.py xserver-xorg-core 'Bad valuators'
765+
766+returns
767+
768+http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=468913 contains the
769+string Bad valuators
770+
771+This should help linking Ubuntu bug reports to upstream Debian bugs.
772+
773+bug-parsers
774+===========
775+
776+Currently contains a python script (check-needs-packaging.py) that uses
777+python-launchpad-bugs, urllib, libxml2 and rmadison to review
778+needs-packaging bug reports and identify possible courses of action with
779+them.
780+
781+hugday
782+======
783+
784+On ubuntu hug days the wiki at wiki.ubuntu.com is used to track the
785+progress. This set of commandline tools allows to edit hugday related
786+pages.
787+
788+Usage
789+-----
790+
791+* get a list of all hugdays
792+ $ hugday list-days
793+
794+* get the id and url of the current hugday
795+ $ hugday current
796+ $ hugday current --remember (save the id of current hugday)
797+
798+* get a list of bugs for a hugday
799+ $ hugday list (list for current hugday)
800+ $ hugday list --date 20090101 (for hugday at 2009-01-01)
801+
802+Before actually changing content of a wikipage the hugday tools needs
803+to know the useres name and his wiki-id, 'hugday init' provides some
804+options to get this information
805+ $ hugday init --user <USER> --cookie <PATH> (try to get the MOIN_ID
806+ out of the mozilla-like cookie file and use USER for entries in
807+ the 'Triager' column)
808+ $ hugday init --user <USER> --wiki-id <MOINID>
809+ $ hugday init (interactive mode, not implemented yet)
810+
811+To mark a bug as DONE run:
812+ $ hugday close 123456
813+ $ hugday close 123456 23456 45678
814+ $ hugday close 1111 --date 20090101
815+
816+Config file
817+-----------
818+
819+The 'hugday' tool is using '~/.hugday_config' as a file to store data.
820+This file also contains the users MOIN_ID or MOIN_SESSION token.
821+
822+vim:textwidth=72
823
824=== renamed file 'README' => 'README.moved'
825=== added file 'TODO'
826--- TODO 1970-01-01 00:00:00 +0000
827+++ TODO 2011-05-19 04:42:24 +0000
828@@ -0,0 +1,14 @@
829+Scripts that would be useful to add to the Bazaar branch:
830+
831+* python-launchpad-bug scripts for using with mutt
832+
833+dl-ubuntu-test-iso fixes/todos
834+
835+* add a usage() statement/--help option
836+* add a --config iso.cfg arg to support alternate config locations
837+* add support for different download locations other than ~/iso
838+* grab netboot isos for testing
839+* parse iso image to determine variety and build number of the iso
840+* md5sum iso and compare to contents of MD5SUMS file
841+
842+vim:textwidth=72
843
844=== renamed file 'TODO' => 'TODO.moved'
845=== added directory 'bug-dashboard'
846=== added file 'bug-dashboard/bug-dashboard.cron'
847--- bug-dashboard/bug-dashboard.cron 1970-01-01 00:00:00 +0000
848+++ bug-dashboard/bug-dashboard.cron 2011-05-19 04:42:24 +0000
849@@ -0,0 +1,15 @@
850+#!/bin/bash
851+
852+MBOX=$(date +%Y-%m)
853+BUGSMLDIR=''
854+DATE=$(date -d '-2 day' +%F)
855+
856+cd # Whatever directory you have these files in
857+
858+./ml-important-bugs.py $BUGSMLDIR/$MBOX
859+
860+./release-nominated-to-json.py --since $DATE
861+
862+./release-targetted-to-json.py --within 1
863+
864+./generate-bug-dashboard.py
865
866=== added file 'bug-dashboard/generate-bug-dashboard.py'
867--- bug-dashboard/generate-bug-dashboard.py 1970-01-01 00:00:00 +0000
868+++ bug-dashboard/generate-bug-dashboard.py 2011-05-19 04:42:24 +0000
869@@ -0,0 +1,121 @@
870+#!/usr/bin/env python
871+#
872+# This script creates the web page for the QA Dashboard
873+# It is based on the ubuntu weatherreport from Leann Ogasawara.
874+#
875+# Copyright 2011 Canonical, Ltd.
876+# Author: Brian Murray <brian@canonical.com>
877+#
878+# This program is free software; you can redistribute it and/or modify it
879+# under the terms of the GNU General Public License as published by the
880+# Free Software Foundation; either version 2 of the License, or (at your
881+# option) any later version. See http://www.gnu.org/copyleft/gpl.html for
882+# the full text of the license.
883+
884+from datetime import datetime
885+from glob import glob
886+
887+import lpl_common
888+import simplejson as json
889+
890+
891+def load_existing_data(json_filename):
892+ try:
893+ json_file = open(json_filename, 'r')
894+ except IOError:
895+ return
896+ json_data = json.load(json_file)
897+ json_file.close()
898+
899+ for record in json_data['records']:
900+ records.append(record)
901+
902+
903+def write_table_row(bug_type, data):
904+ open_bugs = []
905+ for bugid in data['bugs']:
906+ bug = lp.bugs[bugid]
907+ for task in bug.bug_tasks:
908+ if task.status in ['Invalid', 'Fix Released', 'Opinion',
909+ '''Won't Fix''']:
910+ continue
911+ if bug not in open_bugs:
912+ open_bugs.append(bug)
913+ # possibly skip duplicate bug reports
914+ #if bug.duplicate_of:
915+ # continue
916+
917+ tr = "<tr>\n"
918+ tr += "\t<td>%s</td>\n" % bug_type
919+ count = len(open_bugs)
920+ if count == 0:
921+ tr += "\t<td align='center'>%s</td>\n" % count
922+ tr += "\t<td></td>\n"
923+ else:
924+ tr += "\t<td bgcolor='red' align='center'>%s</td>\n" % count
925+ tr += "\t<td>"
926+ for bug in open_bugs:
927+ if not bug.private:
928+ tr += "<a href='http://launchpad.net/bugs/%s'>%s</a><p>" % (bug.id, bug.title.encode('utf-8'))
929+ else:
930+ tr += "<a href='http://launchpad.net/bugs/%s'>Private bug</a><p>" % (bug.id)
931+ tr += "</td>\n"
932+ tr += "</tr>\n"
933+ return tr
934+
935+if __name__ == '__main__':
936+
937+ lp = lpl_common.connect()
938+
939+ row_order = ['critical', 'high', 'regression', 'nominated',
940+ 'targetted', 'iso-testing', 'bugpattern-needed',
941+ 'running-unity']
942+
943+ hints = {'critical': 'had their importance set to Critical. Should they be fixed in the current release?',
944+ 'high': 'had their importance set to High. Should they be fixed in the current release?',
945+ 'regression': 'were tagged with a regression tag. They should be investigated and targetted to the releases they affect.',
946+ 'nominated': 'were nominated for fixing in a specific release. They should be approved or declined.',
947+ 'targetted': 'were targetted to a release of Ubuntu. Check to see if they have a milestone set and if not set an appropriate one.',
948+ 'iso-testing': 'were tagged iso-testing by the ISO test tracker. They need to be triaged.',
949+ 'bugpattern-needed': 'were tagged by apport as they have more than 10 duplicates. Write a bug pattern to prevent further duplicates from being reported.',
950+ 'running-unity': 'were tagged by apport as the user is using unity. Review the bugs to see if they are related to unity. If not remove the running-unity tag as it is not relevant to the bug report. If it is related to unity reassign the bug to the proper package.'}
951+
952+ html = "<html>\n"
953+ html += "<head>\n"
954+ html += '''<link defanghtml_rel="made" defanghtml_href="mailto:webmaster@ubuntu.com">'''
955+ html += '''<link rel="stylesheet" type="text/css" charset="utf-8" media="all" href="http://www.ubuntu.com/htdocs/ubuntuweb/css/common.css">\n'''
956+ html += '''<link rel="stylesheet" type="text/css" charset="utf-8" media="screen" href="http://www.ubuntu.com/htdocs/ubuntuweb/css/screen.css">\n'''
957+ html += "<h2>Ubuntu Bug Dashboard</h2>\n"
958+ html += "</head>\n"
959+ html += "<body>\n"
960+ html += "<p>\n"
961+ html += "<table border=\"5\">\n"
962+ html += "<tbody>\n"
963+ html += "<tr>\n"
964+ html += " <th><b>Type</b></th>\n"
965+ html += " <th align=\"center\"><b>Quantity</b></th>\n"
966+ html += " <th align=\"center\"><b>Bugs</b></th>\n"
967+ html += "</tr>\n"
968+
969+ for data_source in row_order:
970+ for json_filename in glob("*%s-bugs.json" % data_source):
971+ records = []
972+ bug_type = json_filename.replace('-bugs.json', '')
973+ load_existing_data(json_filename)
974+ html += '''<tr><td colspan="3"><b>The following bug tasks %s</b></td></tr>''' % hints[data_source]
975+ tr = write_table_row(bug_type, records[-1])
976+ html += tr
977+
978+ html += "</tbody>\n"
979+ html += "</table>\n"
980+ html += "</p>\n"
981+ html += "<p>\n"
982+ timestamp = datetime.now()
983+ html += "Last Updated: %s\n" % (timestamp)
984+ html += "</p>\n"
985+ html += "</body>\n"
986+ html += "</html>\n"
987+
988+ htmlfile = open('bug-dashboard.html', 'w')
989+ htmlfile.write(html)
990+ htmlfile.close()
991
992=== added file 'bug-dashboard/ml-important-bugs.py'
993--- bug-dashboard/ml-important-bugs.py 1970-01-01 00:00:00 +0000
994+++ bug-dashboard/ml-important-bugs.py 2011-05-19 04:42:24 +0000
995@@ -0,0 +1,107 @@
996+#!/usr/bin/env python
997+#
998+# This script will parse a bugs mailing list file for messages
999+# matching a particular criteria and sent with the past 24 hours
1000+# in the body and write them to json data files.
1001+
1002+from mailbox import PortableUnixMailbox
1003+from email import message_from_file
1004+from email.errors import MessageParseError
1005+from email.utils import parseaddr, parsedate
1006+from sys import argv
1007+
1008+import datetime
1009+import time
1010+import simplejson as json
1011+
1012+
1013+MESSAGE_NOT_PARSEABLE = object()
1014+
1015+
1016+def load_existing_data(json_filename):
1017+ try:
1018+ json_file = open(json_filename, 'r')
1019+ except IOError:
1020+ return
1021+ json_data = json.load(json_file)
1022+ json_file.close()
1023+
1024+ for record in json_data['records']:
1025+ records.append(record)
1026+
1027+
1028+def message_factory(fp):
1029+ try:
1030+ return message_from_file(fp)
1031+ except MessageParseError:
1032+ # Don't return None since that will stop the mailbox iterator.
1033+ return MESSAGE_NOT_PARSEABLE
1034+
1035+
1036+def scan_bugs(messages, string):
1037+ matches = []
1038+ for count, message in enumerate(messages):
1039+ # Skip broken messages.
1040+ if message is MESSAGE_NOT_PARSEABLE:
1041+ continue
1042+
1043+ # Check it's from a Launchpad bug.
1044+ reply_to = message['reply-to']
1045+ if reply_to is None:
1046+ continue
1047+ reply_name, reply_address = parseaddr(reply_to)
1048+ reply_local_part, reply_domain = reply_address.split('@')
1049+ if not (reply_domain == 'bugs.launchpad.net' and
1050+ reply_local_part.isdigit()):
1051+ continue
1052+ bug_id = int(reply_local_part)
1053+ sent = parsedate(message['date'])
1054+ # the timedelta(1) below is period in days
1055+ if datetime.datetime(sent[0],sent[1],sent[2], sent[3]) < (datetime.datetime.today() - datetime.timedelta(1)):
1056+ continue
1057+ payload = message.get_payload()
1058+ # neat way to debug a specific email
1059+ #if bug_id == 691102:
1060+ # import ipdb; ipdb.set_trace()
1061+ subject = message['subject']
1062+ if 'MIR' in subject:
1063+ continue
1064+ if string in payload:
1065+ xlpb = message.get('X-Launchpad-Bug', '')
1066+ if 'hundredpapercuts; milestone=' in xlpb:
1067+ #print '%s is a papercuts milestone' % bug_id
1068+ continue
1069+ matches.append(bug_id)
1070+
1071+ return matches
1072+
1073+if __name__ == '__main__':
1074+
1075+ now = int(time.time())
1076+
1077+ criterias = {'high': '=> High',
1078+ 'critical': '=> Critical',
1079+ 'iso-testing': 'Tags added: iso-testing',
1080+ 'regression': 'regression-',
1081+ # these are usually private
1082+ 'bugpattern-needed': 'bugpattern-needed',
1083+ 'running-unity': 'running-unity',
1084+ 'milestoned': 'Milestone: None'}
1085+
1086+ for criteria in criterias:
1087+ mailbox = PortableUnixMailbox(
1088+ open(argv[1], 'rb'), message_factory)
1089+ records = []
1090+ filename = "%s-bugs.json" % criteria
1091+ load_existing_data(filename)
1092+ matching_bugs = []
1093+ matching_bugs = scan_bugs(mailbox, criterias[criteria])
1094+ matching_bugs.sort()
1095+
1096+ records.append({'date': now, 'bugs': matching_bugs})
1097+
1098+ report = {'keys': ['date', 'bugs'], 'records': records}
1099+
1100+ json_file = open(filename, 'w')
1101+ json_file.write(json.dumps(report, indent=4))
1102+ json_file.close()
1103
1104=== added file 'bug-dashboard/release-nominated-to-json.py'
1105--- bug-dashboard/release-nominated-to-json.py 1970-01-01 00:00:00 +0000
1106+++ bug-dashboard/release-nominated-to-json.py 2011-05-19 04:42:24 +0000
1107@@ -0,0 +1,81 @@
1108+#!/usr/bin/env python
1109+#
1110+# Author: Brian Murray <brian@canonical.com>
1111+# Copyright (C) 2011 Canonical, Ltd.
1112+# License: GPLv3
1113+#
1114+# Find bug reports that nominated for the development release of Ubuntu and
1115+# write them to a json file.
1116+
1117+import lpl_common
1118+import optparse
1119+import simplejson as json
1120+import time
1121+
1122+from datetime import datetime, date
1123+
1124+
1125+def load_existing_data(json_filename):
1126+ try:
1127+ json_file = open(json_filename, 'r')
1128+ except IOError:
1129+ return
1130+ json_data = json.load(json_file)
1131+ json_file.close()
1132+
1133+ for record in json_data['records']:
1134+ records.append(record)
1135+
1136+
1137+def find_nominations(release):
1138+ nominated_tasks = [task for task in \
1139+ ubuntu.searchTasks(nominated_for=release)]
1140+
1141+ nominated_bugs = []
1142+ for task in nominated_tasks:
1143+ nomination = task.bug.getNominationFor(target=release)
1144+ if str(nomination) not in nominated_bugs:
1145+ nom_date = nomination.date_created.date()
1146+ if nom_date > begin:
1147+ nominated_bugs.append(task.bug.id)
1148+
1149+ return nominated_bugs
1150+
1151+if __name__ == '__main__':
1152+ lp = lpl_common.connect()
1153+
1154+ ubuntu = lp.distributions['ubuntu']
1155+ now = int(time.time())
1156+
1157+ parser = optparse.OptionParser()
1158+ parser.add_option("--since", help="Starting date %Y-%m-%d")
1159+ parser.add_option("--before", help="Ending date %Y-%m-%d")
1160+
1161+ (opt, args) = parser.parse_args()
1162+
1163+ if opt.since:
1164+ begin = datetime.strptime(opt.since, "%Y-%m-%d").date()
1165+ else:
1166+ begin = date(2001, 01, 01)
1167+
1168+ if opt.before:
1169+ end = datetime.strptime(opt.before, "%Y-%m-%d").date()
1170+ else:
1171+ end = date.today()
1172+
1173+ for series in ubuntu.series:
1174+ records = []
1175+ if series.active:
1176+ release = series
1177+ elif not series.active:
1178+ continue
1179+ filename = "%s-nominated-bugs.json" % series.name
1180+ load_existing_data(filename)
1181+ nominations = find_nominations(release)
1182+ records.append({'data': now, 'bugs': nominations})
1183+
1184+ report = {'keys': ['date', 'bugs'], 'records': records}
1185+
1186+ json_file = open(filename, 'w')
1187+ json_file.write(json.dumps(report, indent=4))
1188+ json_file.close()
1189
1190=== added file 'bug-dashboard/release-targetted-to-json.py'
1191--- bug-dashboard/release-targetted-to-json.py 1970-01-01 00:00:00 +0000
1192+++ bug-dashboard/release-targetted-to-json.py 2011-05-19 04:42:24 +0000
1193@@ -0,0 +1,71 @@
1194+#!/usr/bin/python
1195+# Author: Brian Murray <brian@canonical.com>
1196+# Copyright (C) 2010 Canonical, Ltd.
1197+# License: GPLv3
1198+#
1199+# Find bug reports that nominated for the development release of Ubuntu and
1200+# write the data to a json file.
1201+
1202+import lpl_common
1203+import optparse
1204+import simplejson as json
1205+import datetime
1206+import time
1207+
1208+
1209+def load_existing_data(json_filename):
1210+ try:
1211+ json_file = open(json_filename, 'r')
1212+ except IOError:
1213+ return
1214+ json_data = json.load(json_file)
1215+ json_file.close()
1216+
1217+ for record in json_data['records']:
1218+ records.append(record)
1219+
1220+
1221+def find_targetted(release):
1222+ targetted_tasks = [task for task in \
1223+ release.searchTasks(created_since=target_date,
1224+ omit_targeted=False)]
1225+
1226+ targetted_bugs = []
1227+ for task in targetted_tasks:
1228+ tags = task.bug.tags
1229+ if not task.bug.security_related and 'verification-needed' not in tags and 'kernel-tracking-bug' not in tags:
1230+ targetted_bugs.append(task.bug.id)
1231+
1232+ return targetted_bugs
1233+
1234+if __name__ == '__main__':
1235+ lp = lpl_common.connect()
1236+
1237+ ubuntu = lp.distributions['ubuntu']
1238+ now = int(time.time())
1239+
1240+ parser = optparse.OptionParser()
1241+ parser.add_option("--within", help="Filter on bugs reported within \
1242+ X day(s)")
1243+
1244+ (opt, args) = parser.parse_args()
1245+
1246+ today = datetime.datetime.utcnow()
1247+ target_date = today - datetime.timedelta(int(opt.within))
1248+
1249+ for series in ubuntu.series:
1250+ records = []
1251+ if series.active:
1252+ release = series
1253+ elif not series.active:
1254+ continue
1255+ filename = "%s-targetted-bugs.json" % series.name
1256+ load_existing_data(filename)
1257+ targets = find_targetted(release)
1258+ records.append({'data': now, 'bugs': targets})
1259+
1260+ report = {'keys': ['date', 'bugs'], 'records': records}
1261+
1262+ json_file = open(filename, 'w')
1263+ json_file.write(json.dumps(report, indent=4))
1264+ json_file.close()
1265
1266=== added directory 'bug-parsers'
1267=== added file 'bug-parsers/check-needs-packaging'
1268--- bug-parsers/check-needs-packaging 1970-01-01 00:00:00 +0000
1269+++ bug-parsers/check-needs-packaging 2011-05-19 04:42:24 +0000
1270@@ -0,0 +1,128 @@
1271+#!/usr/bin/env python
1272+#
1273+# This script reads the tile of bugs tagged needs-packaging and assumes
1274+# the first word is the name of the software / package. It then checks
1275+# to see, via rmadison, if it is packaged for Ubuntu, then if it is
1276+# packaged for Debian, then if there is a Debian ITP (Intent to Package)
1277+# bug report or a Debian bug report requesting a package.
1278+#
1279+# With this information one can update an Ubuntu needs-packaging bug
1280+# report with information that the software is already packaged, that
1281+# the bug should be a sync request (not a needs-packaging bug), or link
1282+# to the upstream Debian bug report.
1283+#
1284+# Copyright 2008 Canonical, Ltd
1285+# Author: Brian Murray <brian@ubuntu.com>
1286+# with props to Kees Cook
1287+# Licensed under the GNU General Public License, version 3.
1288+
1289+import re
1290+import time
1291+import urllib
1292+import libxml2
1293+import sys
1294+from launchpadlib.launchpad import Launchpad
1295+
1296+from subprocess import *
1297+
1298+report_folder = ""
1299+
1300+itp_url = "http://www.debian.org/devel/wnpp/being_packaged"
1301+itp_xml = libxml2.htmlParseDoc(urllib.urlopen(itp_url).read(),None)
1302+itp_list = itp_xml.xpathEval('//div[contains(@id,"inner")]/ul/li/a')
1303+
1304+npp_url = "http://www.debian.org/devel/wnpp/requested"
1305+npp_xml = libxml2.htmlParseDoc(urllib.urlopen(npp_url).read(),None)
1306+npp_list = npp_xml.xpathEval('//div[contains(@id,"inner")]/ul/li/a')
1307+
1308+def wnpp_parser(software, list):
1309+ found = []
1310+ for item in list:
1311+ if item.content.lower().find(software.lower()) != -1:
1312+ found.append(item)
1313+ return found
1314+
1315+def task_checker(bug_detail):
1316+ for task in bug_detail.bug_tasks:
1317+ if 'debian' in task.bug_target_name:
1318+# should be smarter and check for a watch too
1319+# this just might mean it needs forwarding
1320+ if task.bug_watch:
1321+ return True, task.bug_watch.url
1322+ else:
1323+ return True, None
1324+ return False, None
1325+
1326+# Check if the amount of arguments is correct
1327+if len(sys.argv) > 1:
1328+ print 'Usage: %s' % sys.argv[0]
1329+ sys.exit(1)
1330+
1331+now = time.localtime()
1332+today = '%s-%s-%s' % (now[0], now[1], now[2])
1333+
1334+datafile = open('%sneeds-packaging-run-%s.html' % (report_folder, today), 'w')
1335+
1336+launchpad = Launchpad.login_anonymously("check-needs-packaging", "production")
1337+ubuntu = launchpad.projects['ubuntu']
1338+
1339+needs_packaging = map((lambda task: task.bug.id),
1340+ ubuntu.searchTasks(tags=['needs-packaging'],
1341+ omit_duplicates=True,
1342+ omit_targeted=False,
1343+ has_no_package=True))
1344+
1345+datafile.write("<html>\n<body>\n")
1346+datafile.write("<h1>Results of checking bugs tagged needs-packaging</h1>\n")
1347+
1348+for bugid in sorted(needs_packaging, reverse=True):
1349+ bug = launchpad.bugs[bugid]
1350+ summary = bug.title
1351+ useful_summary = re.sub(r'^[\[\(][Nn]eeds?[- ][Pp]ackaging[\]\)] ?', '', summary)
1352+ software = str(useful_summary.split(" ")[0])
1353+ if len(software) == 1:
1354+ continue
1355+ datafile.write('Searched for %s from <a href="https://bugs.launchpad.net/bugs/%s">%s</a><br>\n' % (software, bug.id, bug.id))
1356+ if 'np-reviewed' in bug.tags:
1357+ datafile.write(' Skipped since tagged np-reviewed.<br>\n')
1358+ datafile.write('------------------<br>\n')
1359+ continue
1360+ ubuntu_results = Popen(["rmadison",software.lower()],stdout=PIPE).communicate()[0]
1361+ if ubuntu_results != '':
1362+ datafile.write('Ubuntu search results:<br>\n')
1363+ datafile.write('%s<br>\n' % ubuntu_results)
1364+ datafile.write('------------------<br>\n')
1365+ continue
1366+ if ubuntu_results == '':
1367+ debian_results = Popen(["rmadison","-u","debian",software.lower()],stdout=PIPE).communicate()[0]
1368+ if debian_results != '':
1369+ datafile.write('Debian search results:<br>\n')
1370+ datafile.write('%s<br>\n' % debian_results)
1371+ datafile.write('------------------<br>\n')
1372+ continue
1373+ elif debian_results == '':
1374+ has_watch, url = task_checker(bug)
1375+ if has_watch:
1376+ datafile.write(' Already has an upstream bug watch')
1377+ if url:
1378+ datafile.write(' <a href="%s">%s</a>' %(url, url))
1379+ datafile.write('.<br>\n')
1380+ datafile.write('------------------<br>\n')
1381+ continue
1382+ elif wnpp_parser(software, itp_list):
1383+ datafile.write('Debian itp search results:<br>\n')
1384+ for item in wnpp_parser(software, itp_list):
1385+ datafile.write(' %s<br>\n' % item)
1386+ datafile.write('------------------<br>\n')
1387+ continue
1388+ elif wnpp_parser(software, npp_list):
1389+ datafile.write('Debian np search results:<br>\n')
1390+ for item in wnpp_parser(software, npp_list):
1391+ datafile.write(' %s<br>\n' % item)
1392+ datafile.write('------------------<br>\n')
1393+ continue
1394+ datafile.write(' Nothing found.<br>\n')
1395+ datafile.write('------------------<br>\n')
1396+datafile.write("</body>\n")
1397+datafile.write("</html>\n")
1398+datafile.close()
1399
1400=== added directory 'bug-report-framework'
1401=== added file 'bug-report-framework/README'
1402--- bug-report-framework/README 1970-01-01 00:00:00 +0000
1403+++ bug-report-framework/README 2011-05-19 04:42:24 +0000
1404@@ -0,0 +1,20 @@
1405+How to generate the template file for use by scripts to create a sortable bug
1406+report that looks like Launchpad bug reports
1407+
1408+1) Get the bugtrackers page as it is a plain single page table that is sortable
1409+
1410+ wget https://bugs.edge.launchpad.net/bugs/bugtrackers/ -O bugtrackers.html
1411+
1412+2) Modify bugtrackers.html to become a suitable template file, by replacing
1413+existing content with some thing that will be replaced. Reporting scripts will
1414+replace this place holder. Items to replace:
1415+
1416+ title content
1417+ h1 content
1418+ first paragraph content
1419+ remove second paragraph
1420+ table header content
1421+ table body content
1422+ last paragraph content
1423+
1424+vim:set tw=72
1425
1426=== added file 'bug-report-framework/bugs-since-sometime.py'
1427--- bug-report-framework/bugs-since-sometime.py 1970-01-01 00:00:00 +0000
1428+++ bug-report-framework/bugs-since-sometime.py 2011-05-19 04:42:24 +0000
1429@@ -0,0 +1,169 @@
1430+#!/usr/bin/env python
1431+#
1432+# 2009-03-30
1433+# This will create a report of bugs with and without a package in a New or
1434+# Confirmed state reported since a specified, sys.argv[1], date. The bug
1435+# report will also include the gravity assigned to the bug.
1436+# The gravity is a combination of points associated with bug tags and whether
1437+# or not the bug is private. Additionally, the quantity of duplicates,
1438+# subscribers and users affected is added to the gravity.
1439+#
1440+# Copyright 2009,2010 Canonical, Ltd
1441+# Author: Brian Murray <brian@ubuntu.com>
1442+# Licensed under the GNU General Public License, version 3.
1443+
1444+from launchpadlib.launchpad import Launchpad
1445+from launchpadlib.uris import LPNET_SERVICE_ROOT, STAGING_SERVICE_ROOT
1446+from launchpadlib.errors import HTTPError
1447+from launchpadlib.credentials import Credentials
1448+from operator import itemgetter
1449+from cgi import escape
1450+
1451+import os, sys
1452+
1453+cachedir = os.path.expanduser("~/.launchpadlib/cache/")
1454+
1455+if not os.path.exists(cachedir):
1456+ os.makedirs(cachedir,0700)
1457+
1458+script_name = sys.argv[0].split("/")[-1].split('.')[0]
1459+
1460+credfile = os.path.expanduser('~/.launchpadlib/%s.cred' % script_name)
1461+
1462+try:
1463+ credentials = Credentials()
1464+ credentials.load(open(credfile))
1465+ launchpad = Launchpad(credentials, LPNET_SERVICE_ROOT, cachedir)
1466+except:
1467+ launchpad = Launchpad.get_token_and_login(script_name, LPNET_SERVICE_ROOT, cachedir)
1468+ launchpad.credentials.save(open(credfile,"w",0600))
1469+
1470+def save_entry(entry):
1471+ try:
1472+ entry.lp_save()
1473+ except HTTPError, error:
1474+ print error.content
1475+ else:
1476+ print "Did not get expected HTTPError!"
1477+
1478+# commonly used things
1479+ubuntu = launchpad.distributions['ubuntu']
1480+
1481+tasks = ubuntu.searchTasks(status=['New','Confirmed'],order_by='-datecreated')
1482+
1483+since = sys.argv[1]
1484+
1485+bugcontrol = launchpad.people['ubuntu-bugcontrol']
1486+
1487+primary = launchpad.load(str(launchpad._root_uri) + 'ubuntu/+archive/primary')
1488+
1489+importances = { 'Critical':1, 'High':2, 'Medium':3, 'Low':4, 'Wishlist':5, 'Undecided':6 }
1490+
1491+statuses = { "Won't Fix":1, 'New':2, 'Incomplete':3, 'Confirmed':4, 'Triaged':5, 'In Progress':6, 'Fix Committed':7, 'Fix Released':8 }
1492+
1493+bc_list = []
1494+
1495+for participant in bugcontrol.participants:
1496+ bc_list.append(participant.name)
1497+
1498+# write to this file
1499+datafile = open('bugs-since-%s.html' % since, 'w')
1500+
1501+templatefile = open('template.html', 'r')
1502+
1503+
1504+tag_weights = { 'apport-bug':50, 'apport-package':100, 'apport-crash':100,
1505+ 'apport-failed-retrace':-250,
1506+ 'regression-potential':150, 'regression-release':200,
1507+ 'regression-proposed':250, 'regression-updates':300 }
1508+
1509+for line in templatefile:
1510+ if line.strip() == "<!-- *** Title Space *** -->":
1511+ datafile.write("New and Confirmed bug tasks opened since %s\n" % since)
1512+ elif line.strip() == "<!-- *** Header Space *** -->":
1513+ datafile.write("New and Confirmed bug tasks opened since %s\n" % since)
1514+ elif line.strip() == "<!-- *** Paragraph Space *** -->":
1515+ datafile.write("All of the column headers are sortable give them a click!<br>Curious about how gravity is computed? See the legend at the bottom of the page.")
1516+ elif line.strip() == "<!-- *** Table Header Space *** -->":
1517+ table_header = "<th>#</th>" # bug number in this column
1518+ table_header += "<th>Summary</th>"
1519+ table_header += "<th>In</th>"
1520+ table_header += "<th>Importance</th>"
1521+ table_header += "<th>Status</th>"
1522+ table_header += '<th class="default-sort initial-sort">Gravity</th>'
1523+ table_header += "<th>Date Created</th>"
1524+ table_header += "\n"
1525+ datafile.write(table_header)
1526+ elif line.strip() == "<!-- *** Table Body Space *** -->":
1527+ for task in tasks:
1528+ try:
1529+ dc = task.date_created[:10]
1530+ except TypeError:
1531+ dc = task.date_created.strftime('%Y-%m-%d')
1532+ if dc > since:
1533+ try:
1534+ if 'needs-packaging' in task.bug.tags:
1535+ continue
1536+ weight = 0
1537+ dupe_count = len(task.bug.duplicates)
1538+ sub_count = len(task.bug.subscriptions)
1539+ user_count = task.bug.users_affected_count
1540+ tag_set = set()
1541+ for tag in tag_weights:
1542+ tag_set.add(tag)
1543+ bug_tag_set = set()
1544+ for tag in task.bug.tags:
1545+ bug_tag_set.add(tag)
1546+ if tag_set.intersection(bug_tag_set):
1547+ for tag in tag_set.intersection(bug_tag_set):
1548+ weight += tag_weights[tag]
1549+ # any odd numbered gravity is a private bug
1550+ if task.bug.private:
1551+ weight += 151
1552+ if task.bug.owner.name in bc_list:
1553+ weight += 400
1554+ weight += ( 6*dupe_count + 4*sub_count + 2*user_count )
1555+ if weight >= 0:
1556+ table_row = "<tr>"
1557+ table_row += "<td>%s</td>" % task.bug.id
1558+ table_row += "<td><a href='http://launchpad.net/bugs/%s'>%s</a></td>" % (task.bug.id, escape(task.bug.title.encode('utf-8')))
1559+ src_name = "%s" % task.bug_target_display_name
1560+ if src_name == 'Ubuntu':
1561+ table_row += "<td>%s</td>" % src_name.encode('utf-8')
1562+ else:
1563+ try:
1564+ table_row += "<td><a href='http://launchpad.net/ubuntu/+source/%s' title='%s'>%s</a></td>" % ( src_name.split(' ')[0].encode('utf-8'), primary.getPublishedSources(source_name=src_name.split(' ')[0],status='Published',pocket='Release',exact_match=True)[0].component_name.encode('utf-8'), src_name.encode('utf-8') )
1565+ except IndexError:
1566+ table_row += "<td>%s</td>" % src_name.encode('utf-8')
1567+ importance = task.importance.encode('utf-8')
1568+ table_row += '<td><span class="sortkey">%s</span>%s</td>' % ( importances[importance], importance )
1569+ status = task.status.encode('utf-8')
1570+ table_row += '<td><span class="sortkey">%s</span>%s</td>' % ( statuses[status], status )
1571+ table_row += "<td>%s</td>" % ( weight )
1572+ try:
1573+ table_row += "<td>%s</td>" % task.date_created[:10].encode('utf-8')
1574+ except TypeError:
1575+ table_row += "<td>%s</td>" % task.date_created.strftime("%Y-%m-%d")
1576+ table_row += "</tr>"
1577+ table_row += "\n"
1578+ datafile.write(table_row)
1579+ except HTTPError, error:
1580+ print "There was an error with LP: #%s: %s" % (task.title.split(' ')[1].replace('#',''), error.content)
1581+ else:
1582+ break
1583+ elif line.strip() == "<!-- *** Last Paragraph Space *** -->":
1584+ datafile.write("<table border=1>\n")
1585+ datafile.write("<thead><tr><th align=center>Item</th><th align=center>Value</th></tr></thead>\n")
1586+ datafile.write("<tr><td>Bug Control member</td><td>400</td></tr>\n")
1587+ for k,v in sorted(tag_weights.items(), key=itemgetter(1), reverse=True):
1588+ datafile.write("<tr><td>%s tag</td><td>%s</td>\n" % (k,v))
1589+ datafile.write("<tr><td>private bug</td><td>151</td></tr>\n")
1590+ datafile.write("<tr><td>num duplicates</td><td>x*6</td></tr>\n")
1591+ datafile.write("<tr><td>num subscribers</td><td>x*4</td></tr>\n")
1592+ datafile.write("<tr><td>num users affected</td><td>x*2</td></tr>\n")
1593+ datafile.write("<table>\n")
1594+ datafile.write('<br>')
1595+ datafile.write('Is there a problem with this report? File a bug about the <a href="https://bugs.launchpad.net/ubuntu-qa-tools/+filebug">ubuntu-qa-tools.</a>')
1596+ else:
1597+ datafile.write(line)
1598+datafile.close()
1599
1600=== added file 'bug-report-framework/bugtrackers.html'
1601--- bug-report-framework/bugtrackers.html 1970-01-01 00:00:00 +0000
1602+++ bug-report-framework/bugtrackers.html 2011-05-19 04:42:24 +0000
1603@@ -0,0 +1,12342 @@
1604+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1605+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
1606+ lang="en" dir="ltr">
1607+ <head>
1608+ <title>Bug trackers registered in Launchpad</title>
1609+ <link rel="shortcut icon" href="/@@/launchpad.png" />
1610+
1611+
1612+
1613+
1614+
1615+
1616+ <style type="text/css" media="screen, print">@import url(https://edge.launchpad.net/+icing/rev10081/combo.css);</style>
1617+
1618+
1619+
1620+
1621+
1622+ <style type="text/css">
1623+ fieldset.collapsed div, fieldset div.collapsed {display: none;}
1624+ </style>
1625+ <noscript>
1626+ <style type="text/css">
1627+ fieldset.collapsible div, fieldset div.collapsed {display: block;}
1628+ </style>
1629+ </noscript>
1630+
1631+
1632+
1633+
1634+
1635+
1636+
1637+
1638+
1639+
1640+
1641+
1642+ <script type="text/javascript"
1643+ src="https://edge.launchpad.net/+icing/rev10081/build/launchpad.js"></script>
1644+
1645+
1646+ <script type="text/javascript">var cookie_scope = '; Path=/; Secure; Domain=.launchpad.net';</script>
1647+ <script type="text/javascript">
1648+ // Define a global YUI sandbox that should be used by everyone.
1649+ var LPS = YUI();
1650+ </script>
1651+
1652+
1653+ <script type="text/javascript">
1654+ LPS.use('node', 'lp', function(Y) {
1655+ Y.on('load', function(e) {
1656+ sortables_init();
1657+ initInlineHelp();
1658+ Y.lp.activate_collapsibles();
1659+ activateFoldables();
1660+ activateConstrainBugExpiration();
1661+ }, window);
1662+
1663+ // Hook up the function that dismisses the help window if we click
1664+ // anywhere outside of it.
1665+ Y.on('click', handleClickOnPage, window);
1666+ });
1667+ </script>
1668+
1669+
1670+ </head>
1671+
1672+ <body id="document"
1673+ class="tab-bugs
1674+ main_only
1675+ public
1676+ yui-skin-sam">
1677+ <div class="yui-d0">
1678+ <div id="locationbar">
1679+
1680+
1681+<div id="logincontrol"><a href="https://bugs.edge.launchpad.net/bugs/bugtrackers/+login">Log in / Register</a></div>
1682+
1683+
1684+
1685+ </div><!--id="locationbar"-->
1686+
1687+ <div class="watermark-apps-portlet top-portlet">
1688+ <img alt="" width="64" height="64" src="/@@/launchpad-logo" />
1689+ <h2>Launchpad.net</h2>
1690+ <div id="registration" class="registering">
1691+
1692+ </div>
1693+
1694+ <!-- Application Menu -->
1695+ <ul class="facetmenu">
1696+
1697+
1698+ <li class="overview"><a
1699+ href="https://edge.launchpad.net/">Launchpad Home</a></li>
1700+
1701+
1702+
1703+
1704+ <li class="branches" title="The Code Bazaar"><a
1705+ href="https://code.edge.launchpad.net/">Branches</a></li>
1706+
1707+
1708+
1709+ <li class="bugs active"><a
1710+ href="https://bugs.edge.launchpad.net/">Bugs</a></li>
1711+
1712+
1713+
1714+
1715+
1716+ <li class="specifications"
1717+ title="Launchpad feature specification tracker."><a
1718+ href="https://blueprints.edge.launchpad.net/">Blueprints</a></li>
1719+
1720+
1721+
1722+
1723+ <li class="translations"><a
1724+ href="https://translations.edge.launchpad.net/">Translations</a></li>
1725+
1726+
1727+
1728+
1729+ <li class="answers" title="Launchpad Answer Tracker"><a
1730+ href="https://answers.edge.launchpad.net/">Answers</a></li>
1731+
1732+
1733+ </ul>
1734+
1735+ </div>
1736+
1737+
1738+ <div id="maincontent" class="yui-main">
1739+
1740+
1741+
1742+
1743+ <div class="yui-b" dir="ltr">
1744+ <div>
1745+ <div>
1746+ <h1>Bug trackers registered in Launchpad</h1>
1747+ </div>
1748+ <ol class="breadcrumbs" xmlns="http://www.w3.org/1999/xhtml">
1749+
1750+</ol>
1751+
1752+ </div>
1753+ <div>
1754+ <div class="yui-u">
1755+ <div class="top-portlet">
1756+ <p>
1757+ A bug report in Launchpad can be linked to a bug report in any
1758+ of these bug trackers. The status of the external bug report is
1759+ shown in Launchpad, and Launchpad subscribers are notified when
1760+ the external status changes.
1761+ </p>
1762+
1763+
1764+ <table class="sortable listing" id="trackers">
1765+ <thead>
1766+ <tr>
1767+ <th>Title</th>
1768+ <th>Location</th>
1769+ <th>Linked Projects</th>
1770+ <th class="type">Type</th>
1771+ <th class="amount">Watches</th>
1772+ </tr>
1773+ </thead>
1774+ <tbody>
1775+ <tr>
1776+ <td>
1777+ <a href="/bugs/bugtrackers/alps-bugzilla">ALPS Bugzilla</a>
1778+ </td>
1779+ <td>
1780+ <a class="link-external" href="http://alps.comp-phys.org/bugzilla/">http://alps.comp-phys.org/bugzilla/</a>
1781+ </td>
1782+ <td>
1783+
1784+
1785+ <a href="/alps">Alps</a>,
1786+
1787+
1788+ <a href="/gnac">Gnac</a>,
1789+
1790+
1791+ <a href="/loneman">lone_man</a>
1792+
1793+
1794+ &hellip;
1795+
1796+
1797+
1798+ </td>
1799+ <td class="type">Bugzilla</td>
1800+ <td class="amount">1</td>
1801+ </tr>
1802+ <tr>
1803+ <td>
1804+ <a href="/bugs/bugtrackers/alsa-mantis">ALSA Bug Tracker</a>
1805+ </td>
1806+ <td>
1807+ <a class="link-external" href="https://bugtrack.alsa-project.org/alsa-bug/">https://bugtrack.alsa-project.org/alsa-bug/</a>
1808+ </td>
1809+ <td>
1810+
1811+
1812+ <a href="/alsa-driver">ALSA driver</a>,
1813+
1814+
1815+ <a href="/fadly">Fadly Kasim</a>,
1816+
1817+
1818+ <a href="/alsa">ALSA</a>
1819+
1820+
1821+
1822+
1823+ </td>
1824+ <td class="type">Mantis</td>
1825+ <td class="amount">129</td>
1826+ </tr>
1827+ <tr>
1828+ <td>
1829+ <a href="/bugs/bugtrackers/alt-linux">ALT Linux</a>
1830+ </td>
1831+ <td>
1832+ <a class="link-external" href="https://bugzilla.altlinux.org/">https://bugzilla.altlinux.org/</a>
1833+ </td>
1834+ <td>
1835+
1836+
1837+ <a href="/se78.+">pad</a>
1838+
1839+
1840+
1841+
1842+ </td>
1843+ <td class="type">Bugzilla</td>
1844+ <td class="amount">2</td>
1845+ </tr>
1846+ <tr>
1847+ <td>
1848+ <a href="/bugs/bugtrackers/amule-mantis">AMule Mantis</a>
1849+ </td>
1850+ <td>
1851+ <a class="link-external" href="http://bugs.amule.org/">http://bugs.amule.org/</a>
1852+ </td>
1853+ <td>
1854+
1855+
1856+ <a href="/amule">AMule</a>
1857+
1858+
1859+
1860+
1861+ </td>
1862+ <td class="type">Mantis</td>
1863+ <td class="amount">8</td>
1864+ </tr>
1865+ <tr>
1866+ <td>
1867+ <a href="/bugs/bugtrackers/ascend-bugs">ASCEND bug tracker</a>
1868+ </td>
1869+ <td>
1870+ <a class="link-external" href="http://ascendbugs.cheme.cmu.edu/">http://ascendbugs.cheme.cmu.edu/</a>
1871+ </td>
1872+ <td>
1873+
1874+
1875+ <a href="/ascend">ASCEND</a>
1876+
1877+
1878+
1879+
1880+ </td>
1881+ <td class="type">Mantis</td>
1882+ <td class="amount">0</td>
1883+ </tr>
1884+ <tr>
1885+ <td>
1886+ <a href="/bugs/bugtrackers/ati-driver-bug">ATI 9.11 driver does not work with Ubuntu 9.10</a>
1887+ </td>
1888+ <td>
1889+ <a class="link-external" href="https://launchpad.net/~chrisentius">https://launchpad.net/~chrisentius</a>
1890+ </td>
1891+ <td>
1892+
1893+
1894+ &mdash;
1895+
1896+ </td>
1897+ <td class="type">Bugzilla</td>
1898+ <td class="amount">0</td>
1899+ </tr>
1900+ <tr>
1901+ <td>
1902+ <a href="/bugs/bugtrackers/ati-linux-bugs">ATi Linux Platform Bugs</a>
1903+ </td>
1904+ <td>
1905+ <a class="link-external" href="http://ati.cchtml.com/">http://ati.cchtml.com/</a>
1906+ </td>
1907+ <td>
1908+
1909+
1910+ &mdash;
1911+
1912+ </td>
1913+ <td class="type">Bugzilla</td>
1914+ <td class="amount">42</td>
1915+ </tr>
1916+ <tr>
1917+ <td>
1918+ <a href="/bugs/bugtrackers/abi-bugs">AbiSource bug tracker</a>
1919+ </td>
1920+ <td>
1921+ <a class="link-external" href="http://bugzilla.abisource.com/">http://bugzilla.abisource.com/</a>
1922+ </td>
1923+ <td>
1924+
1925+
1926+ <a href="/abiword">AbiWord</a>
1927+
1928+
1929+
1930+
1931+ </td>
1932+ <td class="type">Bugzilla</td>
1933+ <td class="amount">72</td>
1934+ </tr>
1935+ <tr>
1936+ <td>
1937+ <a href="/bugs/bugtrackers/aircrack-ng">Aircrack-ng Trac</a>
1938+ </td>
1939+ <td>
1940+ <a class="link-external" href="http://trac.aircrack-ng.org/">http://trac.aircrack-ng.org/</a>
1941+ </td>
1942+ <td>
1943+
1944+
1945+ &mdash;
1946+
1947+ </td>
1948+ <td class="type">Trac</td>
1949+ <td class="amount">2</td>
1950+ </tr>
1951+ <tr>
1952+ <td>
1953+ <a href="/bugs/bugtrackers/allpeers-bugzilla">Allpeers Bugzilla</a>
1954+ </td>
1955+ <td>
1956+ <a class="link-external" href="https://bugzilla.allpeers.com/">https://bugzilla.allpeers.com/</a>
1957+ </td>
1958+ <td>
1959+
1960+
1961+ <a href="/allpeers">AllPeers</a>
1962+
1963+
1964+
1965+
1966+ </td>
1967+ <td class="type">Bugzilla</td>
1968+ <td class="amount">2</td>
1969+ </tr>
1970+ <tr>
1971+ <td>
1972+ <a href="/bugs/bugtrackers/anki-bugs">Anki Issue Tracker</a>
1973+ </td>
1974+ <td>
1975+ <a class="link-external" href="http://code.google.com/p/anki/issues/list">http://code.google.com/p/anki/issues/list</a>
1976+ </td>
1977+ <td>
1978+
1979+
1980+ <a href="/anki">anki</a>
1981+
1982+
1983+
1984+
1985+ </td>
1986+ <td class="type">Google Code</td>
1987+ <td class="amount">0</td>
1988+ </tr>
1989+ <tr>
1990+ <td>
1991+ <a href="/bugs/bugtrackers/asf-bugs">Apache Software Foundation Bugzilla</a>
1992+ </td>
1993+ <td>
1994+ <a class="link-external" href="http://issues.apache.org/bugzilla/">http://issues.apache.org/bugzilla/</a>
1995+ </td>
1996+ <td>
1997+
1998+
1999+ <a href="/apache2">Apache2 Web Server</a>,
2000+
2001+
2002+ <a href="/tomcat5.5">Tomcat5.5</a>
2003+
2004+
2005+
2006+
2007+ </td>
2008+ <td class="type">Bugzilla</td>
2009+ <td class="amount">31</td>
2010+ </tr>
2011+ <tr>
2012+ <td>
2013+ <a href="/bugs/bugtrackers/apertium-bugs">Apertium Bugzilla</a>
2014+ </td>
2015+ <td>
2016+ <a class="link-external" href="http://bugs.apertium.org/cgi-bin/bugzilla/index.cgi">http://bugs.apertium.org/cgi-bin/bugzilla/index.cgi</a>
2017+ </td>
2018+ <td>
2019+
2020+
2021+ <a href="/apertium">Apertium</a>
2022+
2023+
2024+
2025+
2026+ </td>
2027+ <td class="type">Bugzilla</td>
2028+ <td class="amount">0</td>
2029+ </tr>
2030+ <tr>
2031+ <td>
2032+ <a href="/bugs/bugtrackers/ardour-bugs">Ardour</a>
2033+ </td>
2034+ <td>
2035+ <a class="link-external" href="http://tracker.ardour.org">http://tracker.ardour.org</a>
2036+ </td>
2037+ <td>
2038+
2039+
2040+ <a href="/ardour">Ardour</a>
2041+
2042+
2043+
2044+
2045+ </td>
2046+ <td class="type">Mantis</td>
2047+ <td class="amount">1</td>
2048+ </tr>
2049+ <tr>
2050+ <td>
2051+ <a href="/bugs/bugtrackers/pvfs-bugs">Argonne National Laboratory Mathematics &amp; Computer Science Division Bug Tracker</a>
2052+ </td>
2053+ <td>
2054+ <a class="link-external" href="http://trac.mcs.anl.gov/">http://trac.mcs.anl.gov/</a>
2055+ </td>
2056+ <td>
2057+
2058+
2059+ <a href="/pvfs">PVFS</a>
2060+
2061+
2062+
2063+
2064+ </td>
2065+ <td class="type">Trac</td>
2066+ <td class="amount">0</td>
2067+ </tr>
2068+ <tr>
2069+ <td>
2070+ <a href="/bugs/bugtrackers/async-bugzilla">Async Bugzilla</a>
2071+ </td>
2072+ <td>
2073+ <a class="link-external" href="http://bugs.async.com.br">http://bugs.async.com.br</a>
2074+ </td>
2075+ <td>
2076+
2077+
2078+ <a href="/kiwi">Kiwi</a>,
2079+
2080+
2081+ <a href="/stoq">Stoq</a>,
2082+
2083+
2084+ <a href="/stoqdrivers">Stoqdrivers</a>
2085+
2086+
2087+ &hellip;
2088+
2089+
2090+
2091+ </td>
2092+ <td class="type">Bugzilla</td>
2093+ <td class="amount">1</td>
2094+ </tr>
2095+ <tr>
2096+ <td>
2097+ <a href="/bugs/bugtrackers/atheme-bugs">Atheme Bug Tracker</a>
2098+ </td>
2099+ <td>
2100+ <a class="link-external" href="http://bugzilla.atheme.org">http://bugzilla.atheme.org</a>
2101+ </td>
2102+ <td>
2103+
2104+
2105+ <a href="/audacious">Audacious</a>
2106+
2107+
2108+
2109+
2110+ </td>
2111+ <td class="type">Bugzilla</td>
2112+ <td class="amount">2</td>
2113+ </tr>
2114+ <tr>
2115+ <td>
2116+ <a href="/bugs/bugtrackers/audacity-bugzilla">Audacity Bugzilla</a>
2117+ </td>
2118+ <td>
2119+ <a class="link-external" href="http://limpet.net/audacity/bugzilla/">http://limpet.net/audacity/bugzilla/</a>
2120+ </td>
2121+ <td>
2122+
2123+
2124+ <a href="/audacity">Audacity</a>
2125+
2126+
2127+
2128+
2129+ </td>
2130+ <td class="type">Bugzilla</td>
2131+ <td class="amount">1</td>
2132+ </tr>
2133+ <tr>
2134+ <td>
2135+ <a href="/bugs/bugtrackers/autokey-bugs">AutoKey Tracker</a>
2136+ </td>
2137+ <td>
2138+ <a class="link-external" href="http://code.google.com/p/autokey/issues">http://code.google.com/p/autokey/issues</a>
2139+ </td>
2140+ <td>
2141+
2142+
2143+ <a href="/autokey">AutoKey </a>
2144+
2145+
2146+
2147+
2148+ </td>
2149+ <td class="type">Google Code</td>
2150+ <td class="amount">2</td>
2151+ </tr>
2152+ <tr>
2153+ <td>
2154+ <a href="/bugs/bugtrackers/avahi">Avahi Bugs</a>
2155+ </td>
2156+ <td>
2157+ <a class="link-external" href="http://www.avahi.org">http://www.avahi.org</a>
2158+ </td>
2159+ <td>
2160+
2161+
2162+ <a href="/avahi">Avahi</a>
2163+
2164+
2165+
2166+
2167+ </td>
2168+ <td class="type">Trac</td>
2169+ <td class="amount">14</td>
2170+ </tr>
2171+ <tr>
2172+ <td>
2173+ <a href="/bugs/bugtrackers/bmpx-mantis">BMPx Mantis</a>
2174+ </td>
2175+ <td>
2176+ <a class="link-external" href="http://bugs.backtrace.info/">http://bugs.backtrace.info/</a>
2177+ </td>
2178+ <td>
2179+
2180+
2181+ <a href="/beep-media-player">Beep Media Player</a>
2182+
2183+
2184+
2185+
2186+ </td>
2187+ <td class="type">Mantis</td>
2188+ <td class="amount">2</td>
2189+ </tr>
2190+ <tr>
2191+ <td>
2192+ <a href="/bugs/bugtrackers/boinc-bugs">BOINC bug tracker</a>
2193+ </td>
2194+ <td>
2195+ <a class="link-external" href="http://boinc.berkeley.edu/trac/">http://boinc.berkeley.edu/trac/</a>
2196+ </td>
2197+ <td>
2198+
2199+
2200+ <a href="/boinc">BOINC</a>
2201+
2202+
2203+
2204+
2205+ </td>
2206+ <td class="type">Trac</td>
2207+ <td class="amount">10</td>
2208+ </tr>
2209+ <tr>
2210+ <td>
2211+ <a href="/bugs/bugtrackers/bcfg2-bugs">Bcfg2 Bug Tracker</a>
2212+ </td>
2213+ <td>
2214+ <a class="link-external" href="http://trac.mcs.anl.gov/projects/bcfg2">http://trac.mcs.anl.gov/projects/bcfg2</a>
2215+ </td>
2216+ <td>
2217+
2218+
2219+ <a href="/bcfg2">BCFG2</a>
2220+
2221+
2222+
2223+
2224+ </td>
2225+ <td class="type">Trac</td>
2226+ <td class="amount">1</td>
2227+ </tr>
2228+ <tr>
2229+ <td>
2230+ <a href="/bugs/bugtrackers/bevolunteer-trac">BeVolunteer's Trac</a>
2231+ </td>
2232+ <td>
2233+ <a class="link-external" href="http://www.bevolunteer.org/trac/">http://www.bevolunteer.org/trac/</a>
2234+ </td>
2235+ <td>
2236+
2237+
2238+ <a href="/bewelcome">BeWelcome-Rox</a>
2239+
2240+
2241+
2242+
2243+ </td>
2244+ <td class="type">Trac</td>
2245+ <td class="amount">0</td>
2246+ </tr>
2247+ <tr>
2248+ <td>
2249+ <a href="/bugs/bugtrackers/bitlbee-bugs">BitlBee Bug Tracker</a>
2250+ </td>
2251+ <td>
2252+ <a class="link-external" href="http://bugs.bitlbee.org/bitlbee">http://bugs.bitlbee.org/bitlbee</a>
2253+ </td>
2254+ <td>
2255+
2256+
2257+ <a href="/bitlbee-project">Bitlbee</a>
2258+
2259+
2260+
2261+
2262+ </td>
2263+ <td class="type">Trac</td>
2264+ <td class="amount">0</td>
2265+ </tr>
2266+ <tr>
2267+ <td>
2268+ <a href="/bugs/bugtrackers/bluez-trac">BlueZ Trac</a>
2269+ </td>
2270+ <td>
2271+ <a class="link-external" href="http://wiki.bluez.org/report/1">http://wiki.bluez.org/report/1</a>
2272+ </td>
2273+ <td>
2274+
2275+
2276+ <a href="/bluez">BlueZ</a>
2277+
2278+
2279+
2280+
2281+ </td>
2282+ <td class="type">Trac</td>
2283+ <td class="amount">0</td>
2284+ </tr>
2285+ <tr>
2286+ <td>
2287+ <a href="/bugs/bugtrackers/boost-trac">Boost Trac</a>
2288+ </td>
2289+ <td>
2290+ <a class="link-external" href="http://svn.boost.org/trac/boost/">http://svn.boost.org/trac/boost/</a>
2291+ </td>
2292+ <td>
2293+
2294+
2295+ <a href="/boost">Boost</a>
2296+
2297+
2298+
2299+
2300+ </td>
2301+ <td class="type">Trac</td>
2302+ <td class="amount">5</td>
2303+ </tr>
2304+ <tr>
2305+ <td>
2306+ <a href="/bugs/bugtrackers/plone.org-trac">Bug tracker for plone.org</a>
2307+ </td>
2308+ <td>
2309+ <a class="link-external" href="http://dev.plone.org/plone.org/">http://dev.plone.org/plone.org/</a>
2310+ </td>
2311+ <td>
2312+
2313+
2314+ &mdash;
2315+
2316+ </td>
2317+ <td class="type">Trac</td>
2318+ <td class="amount">0</td>
2319+ </tr>
2320+ <tr>
2321+ <td>
2322+ <a href="/bugs/bugtrackers/bughost.org">Bughost.org tracker</a>
2323+ </td>
2324+ <td>
2325+ <a class="link-external" href="http://bughost.org/bugzilla/">http://bughost.org/bugzilla/</a>
2326+ </td>
2327+ <td>
2328+
2329+
2330+ <a href="/ipw3945">ipw3945</a>
2331+
2332+
2333+
2334+
2335+ </td>
2336+ <td class="type">Bugzilla</td>
2337+ <td class="amount">22</td>
2338+ </tr>
2339+ <tr>
2340+ <td>
2341+ <a href="/bugs/bugtrackers/calibre-bugs">Bugs for calibre</a>
2342+ </td>
2343+ <td>
2344+ <a class="link-external" href="http://calibre.kovidgoyal.net/">http://calibre.kovidgoyal.net/</a>
2345+ </td>
2346+ <td>
2347+
2348+
2349+ <a href="/calibre">calibre</a>
2350+
2351+
2352+
2353+
2354+ </td>
2355+ <td class="type">Trac</td>
2356+ <td class="amount">2</td>
2357+ </tr>
2358+ <tr>
2359+ <td>
2360+ <a href="/bugs/bugtrackers/busybox-bugzilla">Busybox Bugzilla</a>
2361+ </td>
2362+ <td>
2363+ <a class="link-external" href="https://bugs.busybox.net/">https://bugs.busybox.net/</a>
2364+ </td>
2365+ <td>
2366+
2367+
2368+ <a href="/busybox">BusyBox</a>
2369+
2370+
2371+
2372+
2373+ </td>
2374+ <td class="type">Bugzilla</td>
2375+ <td class="amount">2</td>
2376+ </tr>
2377+ <tr>
2378+ <td>
2379+ <a href="/bugs/bugtrackers/cake-bugs">CAKE bug tracker</a>
2380+ </td>
2381+ <td>
2382+ <a class="link-external" href="https://trac.generalpresence.com:5132/">https://trac.generalpresence.com:5132/</a>
2383+ </td>
2384+ <td>
2385+
2386+
2387+ <a href="/cake">CAKE</a>
2388+
2389+
2390+
2391+
2392+ </td>
2393+ <td class="type">Trac</td>
2394+ <td class="amount">0</td>
2395+ </tr>
2396+ <tr>
2397+ <td>
2398+ <a href="/bugs/bugtrackers/cegui-mantis">CEGUI Mantis</a>
2399+ </td>
2400+ <td>
2401+ <a class="link-external" href="http://www.cegui.org.uk/mantis/">http://www.cegui.org.uk/mantis/</a>
2402+ </td>
2403+ <td>
2404+
2405+
2406+ <a href="/cegui">CEGUI</a>
2407+
2408+
2409+
2410+
2411+ </td>
2412+ <td class="type">Mantis</td>
2413+ <td class="amount">1</td>
2414+ </tr>
2415+ <tr>
2416+ <td>
2417+ <a href="/bugs/bugtrackers/cpan-rt">CPAN RT</a>
2418+ </td>
2419+ <td>
2420+ <a class="link-external" href="http://rt.cpan.org/">http://rt.cpan.org/</a>
2421+ </td>
2422+ <td>
2423+
2424+
2425+ <a href="/ingres-utility">Ingres Utility</a>,
2426+
2427+
2428+ <a href="/perl-datetime-timezone-dynamic">DateTime::TimeZone::Dynamic</a>,
2429+
2430+
2431+ <a href="/perlcritic">Perl::Critic</a>
2432+
2433+
2434+
2435+
2436+ </td>
2437+ <td class="type">Request Tracker (RT)</td>
2438+ <td class="amount">13</td>
2439+ </tr>
2440+ <tr>
2441+ <td>
2442+ <a href="/bugs/bugtrackers/cake-trac">CakePHP Trac</a>
2443+ </td>
2444+ <td>
2445+ <a class="link-external" href="http://trac.cakephp.org/">http://trac.cakephp.org/</a>
2446+ </td>
2447+ <td>
2448+
2449+
2450+ &mdash;
2451+
2452+ </td>
2453+ <td class="type">Trac</td>
2454+ <td class="amount">1</td>
2455+ </tr>
2456+ <tr>
2457+ <td>
2458+ <a href="/bugs/bugtrackers/centos-mantis">CentOS Mantis</a>
2459+ </td>
2460+ <td>
2461+ <a class="link-external" href="http://bugs.centos.org/">http://bugs.centos.org/</a>
2462+ </td>
2463+ <td>
2464+
2465+
2466+ &mdash;
2467+
2468+ </td>
2469+ <td class="type">Mantis</td>
2470+ <td class="amount">7</td>
2471+ </tr>
2472+ <tr>
2473+ <td>
2474+ <a href="/bugs/bugtrackers/cinelerra-cv-bugs">Cinelerra-CV Bugzilla</a>
2475+ </td>
2476+ <td>
2477+ <a class="link-external" href="http://bugs.cinelerra.org/">http://bugs.cinelerra.org/</a>
2478+ </td>
2479+ <td>
2480+
2481+
2482+ <a href="/cinelerra-cv">Cinelerra</a>
2483+
2484+
2485+
2486+
2487+ </td>
2488+ <td class="type">Bugzilla</td>
2489+ <td class="amount">0</td>
2490+ </tr>
2491+ <tr>
2492+ <td>
2493+ <a href="/bugs/bugtrackers/clamav-bugzilla">ClamAV Bugzilla</a>
2494+ </td>
2495+ <td>
2496+ <a class="link-external" href="https://wwws.clamav.net/bugzilla/">https://wwws.clamav.net/bugzilla/</a>
2497+ </td>
2498+ <td>
2499+
2500+
2501+ <a href="/clamav">ClamAV</a>
2502+
2503+
2504+
2505+
2506+ </td>
2507+ <td class="type">Bugzilla</td>
2508+ <td class="amount">7</td>
2509+ </tr>
2510+ <tr>
2511+ <td>
2512+ <a href="/bugs/bugtrackers/claws-mail-bugzilla">Claws Mail bugzilla</a>
2513+ </td>
2514+ <td>
2515+ <a class="link-external" href="http://www.thewildbeast.co.uk/claws-mail/bugzilla/">http://www.thewildbeast.co.uk/claws-mail/bugzilla/</a>
2516+ </td>
2517+ <td>
2518+
2519+
2520+ <a href="/claws-mail">Claws Mail</a>,
2521+
2522+
2523+ <a href="/claws-mail-dead">Claws Mail</a>
2524+
2525+
2526+
2527+
2528+ </td>
2529+ <td class="type">Bugzilla</td>
2530+ <td class="amount">4</td>
2531+ </tr>
2532+ <tr>
2533+ <td>
2534+ <a href="/bugs/bugtrackers/compiz-plugins">Compiz Plugins / Config Bugs</a>
2535+ </td>
2536+ <td>
2537+ <a class="link-external" href="http://bugs.opencompositing.org">http://bugs.opencompositing.org</a>
2538+ </td>
2539+ <td>
2540+
2541+
2542+ <a href="/compcomm-plugins-main">compcomm-plugins-main</a>,
2543+
2544+
2545+ <a href="/compiz">Compiz</a>,
2546+
2547+
2548+ <a href="/emerald">emerald</a>
2549+
2550+
2551+
2552+
2553+ </td>
2554+ <td class="type">Bugzilla</td>
2555+ <td class="amount">131</td>
2556+ </tr>
2557+ <tr>
2558+ <td>
2559+ <a href="/bugs/bugtrackers/crisscross-issues">CrissCross Issues on Google Code</a>
2560+ </td>
2561+ <td>
2562+ <a class="link-external" href="http://code.google.com/p/crisscross/issues">http://code.google.com/p/crisscross/issues</a>
2563+ </td>
2564+ <td>
2565+
2566+
2567+ <a href="/crisscross">CrissCross</a>
2568+
2569+
2570+
2571+
2572+ </td>
2573+ <td class="type">Google Code</td>
2574+ <td class="amount">0</td>
2575+ </tr>
2576+ <tr>
2577+ <td>
2578+ <a href="/bugs/bugtrackers/dbmail-mantis">DBMail mantis</a>
2579+ </td>
2580+ <td>
2581+ <a class="link-external" href="http://www.dbmail.org/mantis/">http://www.dbmail.org/mantis/</a>
2582+ </td>
2583+ <td>
2584+
2585+
2586+ <a href="/dbmail">DBMail</a>
2587+
2588+
2589+
2590+
2591+ </td>
2592+ <td class="type">Mantis</td>
2593+ <td class="amount">1</td>
2594+ </tr>
2595+ <tr>
2596+ <td>
2597+ <a href="/bugs/bugtrackers/dhis2">DHIS 2 Trac</a>
2598+ </td>
2599+ <td>
2600+ <a class="link-external" href="http://207.192.75.110:82/dhis2/">http://207.192.75.110:82/dhis2/</a>
2601+ </td>
2602+ <td>
2603+
2604+
2605+ &mdash;
2606+
2607+ </td>
2608+ <td class="type">Trac</td>
2609+ <td class="amount">0</td>
2610+ </tr>
2611+ <tr>
2612+ <td>
2613+ <a href="/bugs/bugtrackers/darcs-roundup">Darcs Roundup</a>
2614+ </td>
2615+ <td>
2616+ <a class="link-external" href="http://bugs.darcs.net/">http://bugs.darcs.net/</a>
2617+ </td>
2618+ <td>
2619+
2620+
2621+ <a href="/darcs">Darcs</a>
2622+
2623+
2624+
2625+
2626+ </td>
2627+ <td class="type">Roundup</td>
2628+ <td class="amount">5</td>
2629+ </tr>
2630+ <tr>
2631+ <td>
2632+ <a href="/bugs/bugtrackers/debbugs">Debian Bug tracker</a>
2633+ </td>
2634+ <td>
2635+ <a class="link-external" href="http://bugs.debian.org">http://bugs.debian.org</a>
2636+ </td>
2637+ <td>
2638+
2639+
2640+ <a href="/apt">APT</a>,
2641+
2642+
2643+ <a href="/aptitude">aptitude</a>,
2644+
2645+
2646+ <a href="/gnome-codec-install">gnome-codec-install</a>
2647+
2648+
2649+ &hellip;
2650+
2651+
2652+
2653+ </td>
2654+ <td class="type">Debbugs</td>
2655+ <td class="amount">11603</td>
2656+ </tr>
2657+ <tr>
2658+ <td>
2659+ <a href="/bugs/bugtrackers/deluge-bugs">Deluge bug tracker</a>
2660+ </td>
2661+ <td>
2662+ <a class="link-external" href="http://dev.deluge-torrent.org/">http://dev.deluge-torrent.org/</a>
2663+ </td>
2664+ <td>
2665+
2666+
2667+ <a href="/deluge">Deluge</a>
2668+
2669+
2670+
2671+
2672+ </td>
2673+ <td class="type">Trac</td>
2674+ <td class="amount">15</td>
2675+ </tr>
2676+ <tr>
2677+ <td>
2678+ <a href="/bugs/bugtrackers/distributed-net-bugzilla">Distributed.net Bugzilla</a>
2679+ </td>
2680+ <td>
2681+ <a class="link-external" href="http://bugs.distributed.net/">http://bugs.distributed.net/</a>
2682+ </td>
2683+ <td>
2684+
2685+
2686+ <a href="/distributed-net">Distributed.net client</a>
2687+
2688+
2689+
2690+
2691+ </td>
2692+ <td class="type">Bugzilla</td>
2693+ <td class="amount">4</td>
2694+ </tr>
2695+ <tr>
2696+ <td>
2697+ <a href="/bugs/bugtrackers/django-bugs">Django Bug Tracker</a>
2698+ </td>
2699+ <td>
2700+ <a class="link-external" href="http://code.djangoproject.com/">http://code.djangoproject.com/</a>
2701+ </td>
2702+ <td>
2703+
2704+
2705+ <a href="/django">Django</a>,
2706+
2707+
2708+ <a href="/djangoproject">Django Project</a>
2709+
2710+
2711+
2712+
2713+ </td>
2714+ <td class="type">Trac</td>
2715+ <td class="amount">7</td>
2716+ </tr>
2717+ <tr>
2718+ <td>
2719+ <a href="/bugs/bugtrackers/dojo-toolkit-trac">Dojo Toolkit Trac</a>
2720+ </td>
2721+ <td>
2722+ <a class="link-external" href="http://trac.dojotoolkit.org/">http://trac.dojotoolkit.org/</a>
2723+ </td>
2724+ <td>
2725+
2726+
2727+ <a href="/dijit">dijit</a>,
2728+
2729+
2730+ <a href="/dojo">Dojo</a>,
2731+
2732+
2733+ <a href="/dojo-util">Dojo Utilities</a>
2734+
2735+
2736+ &hellip;
2737+
2738+
2739+
2740+ </td>
2741+ <td class="type">Trac</td>
2742+ <td class="amount">0</td>
2743+ </tr>
2744+ <tr>
2745+ <td>
2746+ <a href="/bugs/bugtrackers/dosage-bugs">Dosage Trac</a>
2747+ </td>
2748+ <td>
2749+ <a class="link-external" href="http://trac.slipgate.za.net/dosage">http://trac.slipgate.za.net/dosage</a>
2750+ </td>
2751+ <td>
2752+
2753+
2754+ &mdash;
2755+
2756+ </td>
2757+ <td class="type">Trac</td>
2758+ <td class="amount">3</td>
2759+ </tr>
2760+ <tr>
2761+ <td>
2762+ <a href="/bugs/bugtrackers/auto-andrew-remote-help">E-mail the developer</a>
2763+ </td>
2764+ <td>
2765+ mailto:&lt;email address hidden&gt;
2766+ </td>
2767+ <td>
2768+
2769+
2770+ &mdash;
2771+
2772+ </td>
2773+ <td class="type">Email Address</td>
2774+ <td class="amount">0</td>
2775+ </tr>
2776+ <tr>
2777+ <td>
2778+ <a href="/bugs/bugtrackers/elinks-bugzilla">ELinks Bugzilla</a>
2779+ </td>
2780+ <td>
2781+ <a class="link-external" href="http://bugzilla.elinks.cz/">http://bugzilla.elinks.cz/</a>
2782+ </td>
2783+ <td>
2784+
2785+
2786+ <a href="/elinks">elinks</a>
2787+
2788+
2789+
2790+
2791+ </td>
2792+ <td class="type">Bugzilla</td>
2793+ <td class="amount">1</td>
2794+ </tr>
2795+ <tr>
2796+ <td>
2797+ <a href="/bugs/bugtrackers/eclipse-bugs">Eclipse bugs</a>
2798+ </td>
2799+ <td>
2800+ <a class="link-external" href="https://bugs.eclipse.org/bugs/">https://bugs.eclipse.org/bugs/</a>
2801+ </td>
2802+ <td>
2803+
2804+
2805+ <a href="/eclipse">Eclipse</a>,
2806+
2807+
2808+ <a href="/eclipse-eclipsers">Eclipse</a>,
2809+
2810+
2811+ <a href="/eclipse-rap">Eclipse RAP</a>
2812+
2813+
2814+
2815+
2816+ </td>
2817+ <td class="type">Bugzilla</td>
2818+ <td class="amount">34</td>
2819+ </tr>
2820+ <tr>
2821+ <td>
2822+ <a href="/bugs/bugtrackers/edgewall-trac">Edgewall Trac</a>
2823+ </td>
2824+ <td>
2825+ <a class="link-external" href="http://trac.edgewall.org/">http://trac.edgewall.org/</a>
2826+ </td>
2827+ <td>
2828+
2829+
2830+ <a href="/anorak">ANORAK</a>,
2831+
2832+
2833+ <a href="/ditto">Ditto</a>,
2834+
2835+
2836+ <a href="/tigase-server">t-s</a>
2837+
2838+
2839+
2840+
2841+ </td>
2842+ <td class="type">Trac</td>
2843+ <td class="amount">9</td>
2844+ </tr>
2845+ <tr>
2846+ <td>
2847+ <a href="/bugs/bugtrackers/elgg-trac">Elgg Trac</a>
2848+ </td>
2849+ <td>
2850+ <a class="link-external" href="http://elgg.org/trac/">http://elgg.org/trac/</a>
2851+ </td>
2852+ <td>
2853+
2854+
2855+ <a href="/elgg">Elgg</a>
2856+
2857+
2858+
2859+
2860+ </td>
2861+ <td class="type">Trac</td>
2862+ <td class="amount">2</td>
2863+ </tr>
2864+ <tr>
2865+ <td>
2866+ <a href="/bugs/bugtrackers/elisa-track">Elisa trac</a>
2867+ </td>
2868+ <td>
2869+ <a class="link-external" href="https://code.fluendo.com/elisa/trac/">https://code.fluendo.com/elisa/trac/</a>
2870+ </td>
2871+ <td>
2872+
2873+
2874+ &mdash;
2875+
2876+ </td>
2877+ <td class="type">Trac</td>
2878+ <td class="amount">6</td>
2879+ </tr>
2880+ <tr>
2881+ <td>
2882+ <a href="/bugs/bugtrackers/auto-abesto0">Email to abesto0@gmail</a>
2883+ </td>
2884+ <td>
2885+ mailto:&lt;email address hidden&gt;
2886+ </td>
2887+ <td>
2888+
2889+
2890+ &mdash;
2891+
2892+ </td>
2893+ <td class="type">Email Address</td>
2894+ <td class="amount">0</td>
2895+ </tr>
2896+ <tr>
2897+ <td>
2898+ <a href="/bugs/bugtrackers/auto-admin">Email to admin@pculture</a>
2899+ </td>
2900+ <td>
2901+ mailto:&lt;email address hidden&gt;
2902+ </td>
2903+ <td>
2904+
2905+
2906+ <a href="/getmiro">getmiro.com</a>
2907+
2908+
2909+
2910+
2911+ </td>
2912+ <td class="type">Email Address</td>
2913+ <td class="amount">0</td>
2914+ </tr>
2915+ <tr>
2916+ <td>
2917+ <a href="/bugs/bugtrackers/auto-alexandre">Email to alexandre@quessy</a>
2918+ </td>
2919+ <td>
2920+ mailto:&lt;email address hidden&gt;
2921+ </td>
2922+ <td>
2923+
2924+
2925+ <a href="/toonloop">Toonloop</a>
2926+
2927+
2928+
2929+
2930+ </td>
2931+ <td class="type">Email Address</td>
2932+ <td class="amount">0</td>
2933+ </tr>
2934+ <tr>
2935+ <td>
2936+ <a href="/bugs/bugtrackers/auto-amarok-neon">Email to amarok-neon@googlegroups</a>
2937+ </td>
2938+ <td>
2939+ mailto:&lt;email address hidden&gt;
2940+ </td>
2941+ <td>
2942+
2943+
2944+ &mdash;
2945+
2946+ </td>
2947+ <td class="type">Email Address</td>
2948+ <td class="amount">0</td>
2949+ </tr>
2950+ <tr>
2951+ <td>
2952+ <a href="/bugs/bugtrackers/auto-andrew-remote-help-bugs">Email to andrew-remote-help-bugs@pileofstuff</a>
2953+ </td>
2954+ <td>
2955+ mailto:&lt;email address hidden&gt;
2956+ </td>
2957+ <td>
2958+
2959+
2960+ &mdash;
2961+
2962+ </td>
2963+ <td class="type">Email Address</td>
2964+ <td class="amount">0</td>
2965+ </tr>
2966+ <tr>
2967+ <td>
2968+ <a href="/bugs/bugtrackers/auto-andrewhunt10">Email to andrewhunt10@gmail</a>
2969+ </td>
2970+ <td>
2971+ mailto:&lt;email address hidden&gt;
2972+ </td>
2973+ <td>
2974+
2975+
2976+ <a href="/newbuntuart">art for ubuntu</a>
2977+
2978+
2979+
2980+
2981+ </td>
2982+ <td class="type">Email Address</td>
2983+ <td class="amount">0</td>
2984+ </tr>
2985+ <tr>
2986+ <td>
2987+ <a href="/bugs/bugtrackers/auto-antti">Email to antti@kaijanmaki</a>
2988+ </td>
2989+ <td>
2990+ mailto:&lt;email address hidden&gt;
2991+ </td>
2992+ <td>
2993+
2994+
2995+ &mdash;
2996+
2997+ </td>
2998+ <td class="type">Email Address</td>
2999+ <td class="amount">1</td>
3000+ </tr>
3001+ <tr>
3002+ <td>
3003+ <a href="/bugs/bugtrackers/auto-arvid">Email to arvid@cs</a>
3004+ </td>
3005+ <td>
3006+ mailto:&lt;email address hidden&gt;
3007+ </td>
3008+ <td>
3009+
3010+
3011+ &mdash;
3012+
3013+ </td>
3014+ <td class="type">Email Address</td>
3015+ <td class="amount">3</td>
3016+ </tr>
3017+ <tr>
3018+ <td>
3019+ <a href="/bugs/bugtrackers/auto-bburn-cutters">Email to bburn-cutters@pykix</a>
3020+ </td>
3021+ <td>
3022+ mailto:&lt;email address hidden&gt;
3023+ </td>
3024+ <td>
3025+
3026+
3027+ <a href="/xorriso">Xorriso</a>
3028+
3029+
3030+
3031+
3032+ </td>
3033+ <td class="type">Email Address</td>
3034+ <td class="amount">0</td>
3035+ </tr>
3036+ <tr>
3037+ <td>
3038+ <a href="/bugs/bugtrackers/auto-bernardo.damele">Email to bernardo.damele@gmail</a>
3039+ </td>
3040+ <td>
3041+ mailto:&lt;email address hidden&gt;
3042+ </td>
3043+ <td>
3044+
3045+
3046+ &mdash;
3047+
3048+ </td>
3049+ <td class="type">Email Address</td>
3050+ <td class="amount">0</td>
3051+ </tr>
3052+ <tr>
3053+ <td>
3054+ <a href="/bugs/bugtrackers/auto-bernt.johnsen">Email to bernt.johnsen@sun</a>
3055+ </td>
3056+ <td>
3057+ mailto:&lt;email address hidden&gt;
3058+ </td>
3059+ <td>
3060+
3061+
3062+ &mdash;
3063+
3064+ </td>
3065+ <td class="type">Email Address</td>
3066+ <td class="amount">0</td>
3067+ </tr>
3068+ <tr>
3069+ <td>
3070+ <a href="/bugs/bugtrackers/auto-besto0">Email to besto0@gmail</a>
3071+ </td>
3072+ <td>
3073+ mailto:&lt;email address hidden&gt;
3074+ </td>
3075+ <td>
3076+
3077+
3078+ <a href="/abdict">AbDict</a>
3079+
3080+
3081+
3082+
3083+ </td>
3084+ <td class="type">Email Address</td>
3085+ <td class="amount">0</td>
3086+ </tr>
3087+ <tr>
3088+ <td>
3089+ <a href="/bugs/bugtrackers/auto-brouits">Email to brouits@free</a>
3090+ </td>
3091+ <td>
3092+ mailto:&lt;email address hidden&gt;
3093+ </td>
3094+ <td>
3095+
3096+
3097+ <a href="/csv2latex">csv2latex</a>
3098+
3099+
3100+
3101+
3102+ </td>
3103+ <td class="type">Email Address</td>
3104+ <td class="amount">0</td>
3105+ </tr>
3106+ <tr>
3107+ <td>
3108+ <a href="/bugs/bugtrackers/auto-bug-coreutils">Email to bug-coreutils@gnu</a>
3109+ </td>
3110+ <td>
3111+ mailto:&lt;email address hidden&gt;
3112+ </td>
3113+ <td>
3114+
3115+
3116+ &mdash;
3117+
3118+ </td>
3119+ <td class="type">Email Address</td>
3120+ <td class="amount">2</td>
3121+ </tr>
3122+ <tr>
3123+ <td>
3124+ <a href="/bugs/bugtrackers/auto-bug-gnu-gettext">Email to bug-gnu-gettext@gnu</a>
3125+ </td>
3126+ <td>
3127+ mailto:&lt;email address hidden&gt;
3128+ </td>
3129+ <td>
3130+
3131+
3132+ &mdash;
3133+
3134+ </td>
3135+ <td class="type">Email Address</td>
3136+ <td class="amount">1</td>
3137+ </tr>
3138+ <tr>
3139+ <td>
3140+ <a href="/bugs/bugtrackers/auto-bug-gnulib">Email to bug-gnulib@gnu</a>
3141+ </td>
3142+ <td>
3143+ mailto:&lt;email address hidden&gt;
3144+ </td>
3145+ <td>
3146+
3147+
3148+ <a href="/gnulib">Gnulib</a>
3149+
3150+
3151+
3152+
3153+ </td>
3154+ <td class="type">Email Address</td>
3155+ <td class="amount">1</td>
3156+ </tr>
3157+ <tr>
3158+ <td>
3159+ <a href="/bugs/bugtrackers/auto-bugs">Email to bugs@vim</a>
3160+ </td>
3161+ <td>
3162+ mailto:&lt;email address hidden&gt;
3163+ </td>
3164+ <td>
3165+
3166+
3167+ &mdash;
3168+
3169+ </td>
3170+ <td class="type">Email Address</td>
3171+ <td class="amount">1</td>
3172+ </tr>
3173+ <tr>
3174+ <td>
3175+ <a href="/bugs/bugtrackers/auto-bzrflakes">Email to bzrflakes@matee</a>
3176+ </td>
3177+ <td>
3178+ mailto:&lt;email address hidden&gt;
3179+ </td>
3180+ <td>
3181+
3182+
3183+ &mdash;
3184+
3185+ </td>
3186+ <td class="type">Email Address</td>
3187+ <td class="amount">0</td>
3188+ </tr>
3189+ <tr>
3190+ <td>
3191+ <a href="/bugs/bugtrackers/auto-canorus-devel">Email to canorus-devel@lists</a>
3192+ </td>
3193+ <td>
3194+ mailto:&lt;email address hidden&gt;
3195+ </td>
3196+ <td>
3197+
3198+
3199+ <a href="/canorus">Canorus</a>
3200+
3201+
3202+
3203+
3204+ </td>
3205+ <td class="type">Email Address</td>
3206+ <td class="amount">0</td>
3207+ </tr>
3208+ <tr>
3209+ <td>
3210+ <a href="/bugs/bugtrackers/auto-carl">Email to carl@five-ten-sg</a>
3211+ </td>
3212+ <td>
3213+ mailto:&lt;email address hidden&gt;
3214+ </td>
3215+ <td>
3216+
3217+
3218+ <a href="/libpst">LIBPST</a>
3219+
3220+
3221+
3222+
3223+ </td>
3224+ <td class="type">Email Address</td>
3225+ <td class="amount">0</td>
3226+ </tr>
3227+ <tr>
3228+ <td>
3229+ <a href="/bugs/bugtrackers/auto-carlesmu">Email to carlesmu@internautas</a>
3230+ </td>
3231+ <td>
3232+ mailto:&lt;email address hidden&gt;
3233+ </td>
3234+ <td>
3235+
3236+
3237+ &mdash;
3238+
3239+ </td>
3240+ <td class="type">Email Address</td>
3241+ <td class="amount">1</td>
3242+ </tr>
3243+ <tr>
3244+ <td>
3245+ <a href="/bugs/bugtrackers/fogbugz-cases">Email to cases@fogbugz</a>
3246+ </td>
3247+ <td>
3248+ mailto:&lt;email address hidden&gt;
3249+ </td>
3250+ <td>
3251+
3252+
3253+ <a href="/scpidriverbuilder">ScpiDriverBuilder</a>
3254+
3255+
3256+
3257+
3258+ </td>
3259+ <td class="type">Email Address</td>
3260+ <td class="amount">0</td>
3261+ </tr>
3262+ <tr>
3263+ <td>
3264+ <a href="/bugs/bugtrackers/auto-chael.lamothe">Email to chael.lamothe@gmail</a>
3265+ </td>
3266+ <td>
3267+ mailto:&lt;email address hidden&gt;
3268+ </td>
3269+ <td>
3270+
3271+
3272+ &mdash;
3273+
3274+ </td>
3275+ <td class="type">Email Address</td>
3276+ <td class="amount">0</td>
3277+ </tr>
3278+ <tr>
3279+ <td>
3280+ <a href="/bugs/bugtrackers/auto-chris.e.jones">Email to chris.e.jones@gmail</a>
3281+ </td>
3282+ <td>
3283+ mailto:&lt;email address hidden&gt;
3284+ </td>
3285+ <td>
3286+
3287+
3288+ &mdash;
3289+
3290+ </td>
3291+ <td class="type">Email Address</td>
3292+ <td class="amount">1</td>
3293+ </tr>
3294+ <tr>
3295+ <td>
3296+ <a href="/bugs/bugtrackers/auto-db">Email to db@sheltermanager</a>
3297+ </td>
3298+ <td>
3299+ mailto:&lt;email address hidden&gt;
3300+ </td>
3301+ <td>
3302+
3303+
3304+ &mdash;
3305+
3306+ </td>
3307+ <td class="type">Email Address</td>
3308+ <td class="amount">0</td>
3309+ </tr>
3310+ <tr>
3311+ <td>
3312+ <a href="/bugs/bugtrackers/auto-devel">Email to devel@ksplice</a>
3313+ </td>
3314+ <td>
3315+ mailto:&lt;email address hidden&gt;
3316+ </td>
3317+ <td>
3318+
3319+
3320+ &mdash;
3321+
3322+ </td>
3323+ <td class="type">Email Address</td>
3324+ <td class="amount">1</td>
3325+ </tr>
3326+ <tr>
3327+ <td>
3328+ <a href="/bugs/bugtrackers/auto-discuss">Email to discuss@lists</a>
3329+ </td>
3330+ <td>
3331+ mailto:&lt;email address hidden&gt;
3332+ </td>
3333+ <td>
3334+
3335+
3336+ &mdash;
3337+
3338+ </td>
3339+ <td class="type">Email Address</td>
3340+ <td class="amount">0</td>
3341+ </tr>
3342+ <tr>
3343+ <td>
3344+ <a href="/bugs/bugtrackers/auto-dmin">Email to dmin@pculture</a>
3345+ </td>
3346+ <td>
3347+ mailto:&lt;email address hidden&gt;
3348+ </td>
3349+ <td>
3350+
3351+
3352+ &mdash;
3353+
3354+ </td>
3355+ <td class="type">Email Address</td>
3356+ <td class="amount">0</td>
3357+ </tr>
3358+ <tr>
3359+ <td>
3360+ <a href="/bugs/bugtrackers/auto-e-tv-development">Email to e-tv-development@lists</a>
3361+ </td>
3362+ <td>
3363+ mailto:&lt;email address hidden&gt;
3364+ </td>
3365+ <td>
3366+
3367+
3368+ &mdash;
3369+
3370+ </td>
3371+ <td class="type">Email Address</td>
3372+ <td class="amount">0</td>
3373+ </tr>
3374+ <tr>
3375+ <td>
3376+ <a href="/bugs/bugtrackers/auto-echnetix">Email to echnetix@gmail</a>
3377+ </td>
3378+ <td>
3379+ mailto:&lt;email address hidden&gt;
3380+ </td>
3381+ <td>
3382+
3383+
3384+ <a href="/frozendirectory">Frozen Directory</a>
3385+
3386+
3387+
3388+
3389+ </td>
3390+ <td class="type">Email Address</td>
3391+ <td class="amount">0</td>
3392+ </tr>
3393+ <tr>
3394+ <td>
3395+ <a href="/bugs/bugtrackers/auto-ehrdad.momeny">Email to ehrdad.momeny@gmail</a>
3396+ </td>
3397+ <td>
3398+ mailto:&lt;email address hidden&gt;
3399+ </td>
3400+ <td>
3401+
3402+
3403+ &mdash;
3404+
3405+ </td>
3406+ <td class="type">Email Address</td>
3407+ <td class="amount">0</td>
3408+ </tr>
3409+ <tr>
3410+ <td>
3411+ <a href="/bugs/bugtrackers/auto-emacs-devel">Email to emacs-devel@gnu</a>
3412+ </td>
3413+ <td>
3414+ mailto:&lt;email address hidden&gt;
3415+ </td>
3416+ <td>
3417+
3418+
3419+ &mdash;
3420+
3421+ </td>
3422+ <td class="type">Email Address</td>
3423+ <td class="amount">1</td>
3424+ </tr>
3425+ <tr>
3426+ <td>
3427+ <a href="/bugs/bugtrackers/enlightenment-intl-mailing-list">Email to enlightenment-intl@lists</a>
3428+ </td>
3429+ <td>
3430+ mailto:&lt;email address hidden&gt;
3431+ </td>
3432+ <td>
3433+
3434+
3435+ &mdash;
3436+
3437+ </td>
3438+ <td class="type">Email Address</td>
3439+ <td class="amount">0</td>
3440+ </tr>
3441+ <tr>
3442+ <td>
3443+ <a href="/bugs/bugtrackers/auto-felix.dv">Email to felix.dv@hotmail</a>
3444+ </td>
3445+ <td>
3446+ mailto:&lt;email address hidden&gt;
3447+ </td>
3448+ <td>
3449+
3450+
3451+ &mdash;
3452+
3453+ </td>
3454+ <td class="type">Email Address</td>
3455+ <td class="amount">0</td>
3456+ </tr>
3457+ <tr>
3458+ <td>
3459+ <a href="/bugs/bugtrackers/auto-flo">Email to flo@flogisoft</a>
3460+ </td>
3461+ <td>
3462+ mailto:&lt;email address hidden&gt;
3463+ </td>
3464+ <td>
3465+
3466+
3467+ &mdash;
3468+
3469+ </td>
3470+ <td class="type">Email Address</td>
3471+ <td class="amount">0</td>
3472+ </tr>
3473+ <tr>
3474+ <td>
3475+ <a href="/bugs/bugtrackers/auto-florian">Email to florian@wagner-flo</a>
3476+ </td>
3477+ <td>
3478+ mailto:&lt;email address hidden&gt;
3479+ </td>
3480+ <td>
3481+
3482+
3483+ <a href="/inipp">inipp</a>,
3484+
3485+
3486+ <a href="/man4html">man4html</a>,
3487+
3488+
3489+ <a href="/wsgi-serve">wsgi-serve</a>
3490+
3491+
3492+
3493+
3494+ </td>
3495+ <td class="type">Email Address</td>
3496+ <td class="amount">0</td>
3497+ </tr>
3498+ <tr>
3499+ <td>
3500+ <a href="/bugs/bugtrackers/auto-fontforge-devel">Email to fontforge-devel@lists</a>
3501+ </td>
3502+ <td>
3503+ mailto:&lt;email address hidden&gt;
3504+ </td>
3505+ <td>
3506+
3507+
3508+ <a href="/fontforge">FontForge</a>
3509+
3510+
3511+
3512+
3513+ </td>
3514+ <td class="type">Email Address</td>
3515+ <td class="amount">0</td>
3516+ </tr>
3517+ <tr>
3518+ <td>
3519+ <a href="/bugs/bugtrackers/auto-gb.public">Email to gb.public@free</a>
3520+ </td>
3521+ <td>
3522+ mailto:&lt;email address hidden&gt;
3523+ </td>
3524+ <td>
3525+
3526+
3527+ &mdash;
3528+
3529+ </td>
3530+ <td class="type">Email Address</td>
3531+ <td class="amount">1</td>
3532+ </tr>
3533+ <tr>
3534+ <td>
3535+ <a href="/bugs/bugtrackers/auto-georgegesslein">Email to georgegesslein@gmail</a>
3536+ </td>
3537+ <td>
3538+ mailto:&lt;email address hidden&gt;
3539+ </td>
3540+ <td>
3541+
3542+
3543+ &mdash;
3544+
3545+ </td>
3546+ <td class="type">Email Address</td>
3547+ <td class="amount">0</td>
3548+ </tr>
3549+ <tr>
3550+ <td>
3551+ <a href="/bugs/bugtrackers/auto-infernoxu">Email to infernoxu@gmail</a>
3552+ </td>
3553+ <td>
3554+ mailto:&lt;email address hidden&gt;
3555+ </td>
3556+ <td>
3557+
3558+
3559+ <a href="/bizquery">Bizquery</a>
3560+
3561+
3562+
3563+
3564+ </td>
3565+ <td class="type">Email Address</td>
3566+ <td class="amount">0</td>
3567+ </tr>
3568+ <tr>
3569+ <td>
3570+ <a href="/bugs/bugtrackers/auto-info">Email to info@farasun</a>
3571+ </td>
3572+ <td>
3573+ mailto:&lt;email address hidden&gt;
3574+ </td>
3575+ <td>
3576+
3577+
3578+ <a href="/datefa">Datefa</a>
3579+
3580+
3581+
3582+
3583+ </td>
3584+ <td class="type">Email Address</td>
3585+ <td class="amount">0</td>
3586+ </tr>
3587+ <tr>
3588+ <td>
3589+ <a href="/bugs/bugtrackers/auto-jerstlouis">Email to jerstlouis@gmail</a>
3590+ </td>
3591+ <td>
3592+ mailto:&lt;email address hidden&gt;
3593+ </td>
3594+ <td>
3595+
3596+
3597+ &mdash;
3598+
3599+ </td>
3600+ <td class="type">Email Address</td>
3601+ <td class="amount">1</td>
3602+ </tr>
3603+ <tr>
3604+ <td>
3605+ <a href="/bugs/bugtrackers/auto-joern">Email to joern@zyn</a>
3606+ </td>
3607+ <td>
3608+ mailto:&lt;email address hidden&gt;
3609+ </td>
3610+ <td>
3611+
3612+
3613+ &mdash;
3614+
3615+ </td>
3616+ <td class="type">Email Address</td>
3617+ <td class="amount">1</td>
3618+ </tr>
3619+ <tr>
3620+ <td>
3621+ <a href="/bugs/bugtrackers/auto-john.bywater">Email to john.bywater@appropriatesoftware</a>
3622+ </td>
3623+ <td>
3624+ mailto:&lt;email address hidden&gt;
3625+ </td>
3626+ <td>
3627+
3628+
3629+ &mdash;
3630+
3631+ </td>
3632+ <td class="type">Email Address</td>
3633+ <td class="amount">0</td>
3634+ </tr>
3635+ <tr>
3636+ <td>
3637+ <a href="/bugs/bugtrackers/auto-kitone">Email to kitone@free</a>
3638+ </td>
3639+ <td>
3640+ mailto:&lt;email address hidden&gt;
3641+ </td>
3642+ <td>
3643+
3644+
3645+ &mdash;
3646+
3647+ </td>
3648+ <td class="type">Email Address</td>
3649+ <td class="amount">1</td>
3650+ </tr>
3651+ <tr>
3652+ <td>
3653+ <a href="/bugs/bugtrackers/auto-knielsen">Email to knielsen@askmonty</a>
3654+ </td>
3655+ <td>
3656+ mailto:&lt;email address hidden&gt;
3657+ </td>
3658+ <td>
3659+
3660+
3661+ <a href="/worklog">WorkLog</a>
3662+
3663+
3664+
3665+
3666+ </td>
3667+ <td class="type">Email Address</td>
3668+ <td class="amount">0</td>
3669+ </tr>
3670+ <tr>
3671+ <td>
3672+ <a href="/bugs/bugtrackers/auto-kuscsik">Email to kuscsik@gmail</a>
3673+ </td>
3674+ <td>
3675+ mailto:&lt;email address hidden&gt;
3676+ </td>
3677+ <td>
3678+
3679+
3680+ <a href="/procbench">procbench</a>
3681+
3682+
3683+
3684+
3685+ </td>
3686+ <td class="type">Email Address</td>
3687+ <td class="amount">0</td>
3688+ </tr>
3689+ <tr>
3690+ <td>
3691+ <a href="/bugs/bugtrackers/auto-kzak">Email to kzak@redhat</a>
3692+ </td>
3693+ <td>
3694+ mailto:&lt;email address hidden&gt;
3695+ </td>
3696+ <td>
3697+
3698+
3699+ <a href="/util-linux">Util-Linux-ng</a>
3700+
3701+
3702+
3703+
3704+ </td>
3705+ <td class="type">Email Address</td>
3706+ <td class="amount">0</td>
3707+ </tr>
3708+ <tr>
3709+ <td>
3710+ <a href="/bugs/bugtrackers/auto-libburn-cutters">Email to libburn-cutters@pykix</a>
3711+ </td>
3712+ <td>
3713+ mailto:&lt;email address hidden&gt;
3714+ </td>
3715+ <td>
3716+
3717+
3718+ &mdash;
3719+
3720+ </td>
3721+ <td class="type">Email Address</td>
3722+ <td class="amount">0</td>
3723+ </tr>
3724+ <tr>
3725+ <td>
3726+ <a href="/bugs/bugtrackers/auto-libvir-list">Email to libvir-list@redhat</a>
3727+ </td>
3728+ <td>
3729+ mailto:&lt;email address hidden&gt;
3730+ </td>
3731+ <td>
3732+
3733+
3734+ &mdash;
3735+
3736+ </td>
3737+ <td class="type">Email Address</td>
3738+ <td class="amount">1</td>
3739+ </tr>
3740+ <tr>
3741+ <td>
3742+ <a href="/bugs/bugtrackers/auto-lincom">Email to lincom@tickets</a>
3743+ </td>
3744+ <td>
3745+ mailto:&lt;email address hidden&gt;
3746+ </td>
3747+ <td>
3748+
3749+
3750+ <a href="/lincom">Lincom</a>
3751+
3752+
3753+
3754+
3755+ </td>
3756+ <td class="type">Email Address</td>
3757+ <td class="amount">0</td>
3758+ </tr>
3759+ <tr>
3760+ <td>
3761+ <a href="/bugs/bugtrackers/auto-linux-bugs">Email to linux-bugs@nvidia</a>
3762+ </td>
3763+ <td>
3764+ mailto:&lt;email address hidden&gt;
3765+ </td>
3766+ <td>
3767+
3768+
3769+ &mdash;
3770+
3771+ </td>
3772+ <td class="type">Email Address</td>
3773+ <td class="amount">1</td>
3774+ </tr>
3775+ <tr>
3776+ <td>
3777+ <a href="/bugs/bugtrackers/auto-linux-hotplug">Email to linux-hotplug@vger</a>
3778+ </td>
3779+ <td>
3780+ mailto:&lt;email address hidden&gt;
3781+ </td>
3782+ <td>
3783+
3784+
3785+ &mdash;
3786+
3787+ </td>
3788+ <td class="type">Email Address</td>
3789+ <td class="amount">1</td>
3790+ </tr>
3791+ <tr>
3792+ <td>
3793+ <a href="/bugs/bugtrackers/auto-linux-nforce-bugs">Email to linux-nforce-bugs@nvidia</a>
3794+ </td>
3795+ <td>
3796+ mailto:&lt;email address hidden&gt;
3797+ </td>
3798+ <td>
3799+
3800+
3801+ &mdash;
3802+
3803+ </td>
3804+ <td class="type">Email Address</td>
3805+ <td class="amount">1</td>
3806+ </tr>
3807+ <tr>
3808+ <td>
3809+ <a href="/bugs/bugtrackers/auto-loerlucas">Email to loerlucas@hotmail</a>
3810+ </td>
3811+ <td>
3812+ mailto:&lt;email address hidden&gt;
3813+ </td>
3814+ <td>
3815+
3816+
3817+ &mdash;
3818+
3819+ </td>
3820+ <td class="type">Email Address</td>
3821+ <td class="amount">1</td>
3822+ </tr>
3823+ <tr>
3824+ <td>
3825+ <a href="/bugs/bugtrackers/auto-master">Email to master@bdsmcode</a>
3826+ </td>
3827+ <td>
3828+ mailto:&lt;email address hidden&gt;
3829+ </td>
3830+ <td>
3831+
3832+
3833+ &mdash;
3834+
3835+ </td>
3836+ <td class="type">Email Address</td>
3837+ <td class="amount">0</td>
3838+ </tr>
3839+ <tr>
3840+ <td>
3841+ <a href="/bugs/bugtrackers/auto-maximesteisel">Email to maximesteisel@gmail</a>
3842+ </td>
3843+ <td>
3844+ mailto:&lt;email address hidden&gt;
3845+ </td>
3846+ <td>
3847+
3848+
3849+ &mdash;
3850+
3851+ </td>
3852+ <td class="type">Email Address</td>
3853+ <td class="amount">0</td>
3854+ </tr>
3855+ <tr>
3856+ <td>
3857+ <a href="/bugs/bugtrackers/auto-maxischmeii">Email to maxischmeii@gmail</a>
3858+ </td>
3859+ <td>
3860+ mailto:&lt;email address hidden&gt;
3861+ </td>
3862+ <td>
3863+
3864+
3865+ &mdash;
3866+
3867+ </td>
3868+ <td class="type">Email Address</td>
3869+ <td class="amount">0</td>
3870+ </tr>
3871+ <tr>
3872+ <td>
3873+ <a href="/bugs/bugtrackers/auto-me-tv-development">Email to me-tv-development@lists</a>
3874+ </td>
3875+ <td>
3876+ mailto:&lt;email address hidden&gt;
3877+ </td>
3878+ <td>
3879+
3880+
3881+ &mdash;
3882+
3883+ </td>
3884+ <td class="type">Email Address</td>
3885+ <td class="amount">1</td>
3886+ </tr>
3887+ <tr>
3888+ <td>
3889+ <a href="/bugs/bugtrackers/auto-mehrdad.momeny">Email to mehrdad.momeny@gmail</a>
3890+ </td>
3891+ <td>
3892+ mailto:&lt;email address hidden&gt;
3893+ </td>
3894+ <td>
3895+
3896+
3897+ &mdash;
3898+
3899+ </td>
3900+ <td class="type">Email Address</td>
3901+ <td class="amount">0</td>
3902+ </tr>
3903+ <tr>
3904+ <td>
3905+ <a href="/bugs/bugtrackers/auto-michael.lamothe">Email to michael.lamothe@gmail</a>
3906+ </td>
3907+ <td>
3908+ mailto:&lt;email address hidden&gt;
3909+ </td>
3910+ <td>
3911+
3912+
3913+ &mdash;
3914+
3915+ </td>
3916+ <td class="type">Email Address</td>
3917+ <td class="amount">0</td>
3918+ </tr>
3919+ <tr>
3920+ <td>
3921+ <a href="/bugs/bugtrackers/auto-mrego">Email to mrego@igalia</a>
3922+ </td>
3923+ <td>
3924+ mailto:&lt;email address hidden&gt;
3925+ </td>
3926+ <td>
3927+
3928+
3929+ <a href="/rtm-glib">RTM-Glib</a>
3930+
3931+
3932+
3933+
3934+ </td>
3935+ <td class="type">Email Address</td>
3936+ <td class="amount">0</td>
3937+ </tr>
3938+ <tr>
3939+ <td>
3940+ <a href="/bugs/bugtrackers/auto-mtk.manpages">Email to mtk.manpages@gmail</a>
3941+ </td>
3942+ <td>
3943+ mailto:&lt;email address hidden&gt;
3944+ </td>
3945+ <td>
3946+
3947+
3948+ &mdash;
3949+
3950+ </td>
3951+ <td class="type">Email Address</td>
3952+ <td class="amount">1</td>
3953+ </tr>
3954+ <tr>
3955+ <td>
3956+ <a href="/bugs/bugtrackers/auto-mwild1">Email to mwild1@gmail</a>
3957+ </td>
3958+ <td>
3959+ mailto:&lt;email address hidden&gt;
3960+ </td>
3961+ <td>
3962+
3963+
3964+ &mdash;
3965+
3966+ </td>
3967+ <td class="type">Email Address</td>
3968+ <td class="amount">0</td>
3969+ </tr>
3970+ <tr>
3971+ <td>
3972+ <a href="/bugs/bugtrackers/auto-ndrew-remote-help-bugs">Email to ndrew-remote-help-bugs@pileofstuff</a>
3973+ </td>
3974+ <td>
3975+ mailto:&lt;email address hidden&gt;
3976+ </td>
3977+ <td>
3978+
3979+
3980+ &mdash;
3981+
3982+ </td>
3983+ <td class="type">Email Address</td>
3984+ <td class="amount">0</td>
3985+ </tr>
3986+ <tr>
3987+ <td>
3988+ <a href="/bugs/bugtrackers/auto-ndrew-remote-help">Email to ndrew-remote-help@pileofstuff</a>
3989+ </td>
3990+ <td>
3991+ mailto:&lt;email address hidden&gt;
3992+ </td>
3993+ <td>
3994+
3995+
3996+ &mdash;
3997+
3998+ </td>
3999+ <td class="type">Email Address</td>
4000+ <td class="amount">0</td>
4001+ </tr>
4002+ <tr>
4003+ <td>
4004+ <a href="/bugs/bugtrackers/auto-neonskull">Email to neonskull@gmail</a>
4005+ </td>
4006+ <td>
4007+ mailto:&lt;email address hidden&gt;
4008+ </td>
4009+ <td>
4010+
4011+
4012+ &mdash;
4013+
4014+ </td>
4015+ <td class="type">Email Address</td>
4016+ <td class="amount">0</td>
4017+ </tr>
4018+ <tr>
4019+ <td>
4020+ <a href="/bugs/bugtrackers/auto-networkmanager-list">Email to networkmanager-list@gnome</a>
4021+ </td>
4022+ <td>
4023+ mailto:&lt;email address hidden&gt;
4024+ </td>
4025+ <td>
4026+
4027+
4028+ &mdash;
4029+
4030+ </td>
4031+ <td class="type">Email Address</td>
4032+ <td class="amount">0</td>
4033+ </tr>
4034+ <tr>
4035+ <td>
4036+ <a href="/bugs/bugtrackers/auto-neundorf">Email to neundorf@kde</a>
4037+ </td>
4038+ <td>
4039+ mailto:&lt;email address hidden&gt;
4040+ </td>
4041+ <td>
4042+
4043+
4044+ &mdash;
4045+
4046+ </td>
4047+ <td class="type">Email Address</td>
4048+ <td class="amount">1</td>
4049+ </tr>
4050+ <tr>
4051+ <td>
4052+ <a href="/bugs/bugtrackers/auto-never.mind">Email to never.mind@just</a>
4053+ </td>
4054+ <td>
4055+ mailto:&lt;email address hidden&gt;
4056+ </td>
4057+ <td>
4058+
4059+
4060+ &mdash;
4061+
4062+ </td>
4063+ <td class="type">Email Address</td>
4064+ <td class="amount">1</td>
4065+ </tr>
4066+ <tr>
4067+ <td>
4068+ <a href="/bugs/bugtrackers/auto-ney">Email to ney@frota</a>
4069+ </td>
4070+ <td>
4071+ mailto:&lt;email address hidden&gt;
4072+ </td>
4073+ <td>
4074+
4075+
4076+ &mdash;
4077+
4078+ </td>
4079+ <td class="type">Email Address</td>
4080+ <td class="amount">0</td>
4081+ </tr>
4082+ <tr>
4083+ <td>
4084+ <a href="/bugs/bugtrackers/auto-nick">Email to nick@daenim</a>
4085+ </td>
4086+ <td>
4087+ mailto:&lt;email address hidden&gt;
4088+ </td>
4089+ <td>
4090+
4091+
4092+ <a href="/rhmed">Rachel House Medical</a>
4093+
4094+
4095+
4096+
4097+ </td>
4098+ <td class="type">Email Address</td>
4099+ <td class="amount">0</td>
4100+ </tr>
4101+ <tr>
4102+ <td>
4103+ <a href="/bugs/bugtrackers/auto-nielsrasmus">Email to nielsrasmus@gmail</a>
4104+ </td>
4105+ <td>
4106+ mailto:&lt;email address hidden&gt;
4107+ </td>
4108+ <td>
4109+
4110+
4111+ &mdash;
4112+
4113+ </td>
4114+ <td class="type">Email Address</td>
4115+ <td class="amount">0</td>
4116+ </tr>
4117+ <tr>
4118+ <td>
4119+ <a href="/bugs/bugtrackers/auto-otr-dev">Email to otr-dev@lists</a>
4120+ </td>
4121+ <td>
4122+ mailto:&lt;email address hidden&gt;
4123+ </td>
4124+ <td>
4125+
4126+
4127+ &mdash;
4128+
4129+ </td>
4130+ <td class="type">Email Address</td>
4131+ <td class="amount">1</td>
4132+ </tr>
4133+ <tr>
4134+ <td>
4135+ <a href="/bugs/bugtrackers/auto-parrotbug">Email to parrotbug@parrotcode</a>
4136+ </td>
4137+ <td>
4138+ mailto:&lt;email address hidden&gt;
4139+ </td>
4140+ <td>
4141+
4142+
4143+ &mdash;
4144+
4145+ </td>
4146+ <td class="type">Email Address</td>
4147+ <td class="amount">0</td>
4148+ </tr>
4149+ <tr>
4150+ <td>
4151+ <a href="/bugs/bugtrackers/auto-patelshaileshn">Email to patelshaileshn@gmail</a>
4152+ </td>
4153+ <td>
4154+ mailto:&lt;email address hidden&gt;
4155+ </td>
4156+ <td>
4157+
4158+
4159+ &mdash;
4160+
4161+ </td>
4162+ <td class="type">Email Address</td>
4163+ <td class="amount">0</td>
4164+ </tr>
4165+ <tr>
4166+ <td>
4167+ <a href="/bugs/bugtrackers/auto-pcg">Email to pcg@goof</a>
4168+ </td>
4169+ <td>
4170+ mailto:&lt;email address hidden&gt;
4171+ </td>
4172+ <td>
4173+
4174+
4175+ <a href="/liblzf">LibLZF</a>
4176+
4177+
4178+
4179+
4180+ </td>
4181+ <td class="type">Email Address</td>
4182+ <td class="amount">0</td>
4183+ </tr>
4184+ <tr>
4185+ <td>
4186+ <a href="/bugs/bugtrackers/auto-pekwm-devel">Email to pekwm-devel@lists</a>
4187+ </td>
4188+ <td>
4189+ mailto:&lt;email address hidden&gt;
4190+ </td>
4191+ <td>
4192+
4193+
4194+ &mdash;
4195+
4196+ </td>
4197+ <td class="type">Email Address</td>
4198+ <td class="amount">0</td>
4199+ </tr>
4200+ <tr>
4201+ <td>
4202+ <a href="/bugs/bugtrackers/auto-pgsql-bugs">Email to pgsql-bugs@postgresql</a>
4203+ </td>
4204+ <td>
4205+ mailto:&lt;email address hidden&gt;
4206+ </td>
4207+ <td>
4208+
4209+
4210+ &mdash;
4211+
4212+ </td>
4213+ <td class="type">Email Address</td>
4214+ <td class="amount">1</td>
4215+ </tr>
4216+ <tr>
4217+ <td>
4218+ <a href="/bugs/bugtrackers/auto-phede92">Email to phede92@gmail</a>
4219+ </td>
4220+ <td>
4221+ mailto:&lt;email address hidden&gt;
4222+ </td>
4223+ <td>
4224+
4225+
4226+ &mdash;
4227+
4228+ </td>
4229+ <td class="type">Email Address</td>
4230+ <td class="amount">1</td>
4231+ </tr>
4232+ <tr>
4233+ <td>
4234+ <a href="/bugs/bugtrackers/auto-philip">Email to philip@stoev</a>
4235+ </td>
4236+ <td>
4237+ mailto:&lt;email address hidden&gt;
4238+ </td>
4239+ <td>
4240+
4241+
4242+ &mdash;
4243+
4244+ </td>
4245+ <td class="type">Email Address</td>
4246+ <td class="amount">0</td>
4247+ </tr>
4248+ <tr>
4249+ <td>
4250+ <a href="/bugs/bugtrackers/auto-pj.assis">Email to pj.assis@gmail</a>
4251+ </td>
4252+ <td>
4253+ mailto:&lt;email address hidden&gt;
4254+ </td>
4255+ <td>
4256+
4257+
4258+ <a href="/guvcview">guvcview</a>
4259+
4260+
4261+
4262+
4263+ </td>
4264+ <td class="type">Email Address</td>
4265+ <td class="amount">0</td>
4266+ </tr>
4267+ <tr>
4268+ <td>
4269+ <a href="/bugs/bugtrackers/auto-pytom">Email to pytom@bishoujo</a>
4270+ </td>
4271+ <td>
4272+ mailto:&lt;email address hidden&gt;
4273+ </td>
4274+ <td>
4275+
4276+
4277+ &mdash;
4278+
4279+ </td>
4280+ <td class="type">Email Address</td>
4281+ <td class="amount">0</td>
4282+ </tr>
4283+ <tr>
4284+ <td>
4285+ <a href="/bugs/bugtrackers/auto-raster">Email to raster@rastersoft</a>
4286+ </td>
4287+ <td>
4288+ mailto:&lt;email address hidden&gt;
4289+ </td>
4290+ <td>
4291+
4292+
4293+ &mdash;
4294+
4295+ </td>
4296+ <td class="type">Email Address</td>
4297+ <td class="amount">6</td>
4298+ </tr>
4299+ <tr>
4300+ <td>
4301+ <a href="/bugs/bugtrackers/auto-ricerocketeer">Email to ricerocketeer@gmx</a>
4302+ </td>
4303+ <td>
4304+ mailto:&lt;email address hidden&gt;
4305+ </td>
4306+ <td>
4307+
4308+
4309+ &mdash;
4310+
4311+ </td>
4312+ <td class="type">Email Address</td>
4313+ <td class="amount">0</td>
4314+ </tr>
4315+ <tr>
4316+ <td>
4317+ <a href="/bugs/bugtrackers/auto-robby">Email to robby@periapsis</a>
4318+ </td>
4319+ <td>
4320+ mailto:&lt;email address hidden&gt;
4321+ </td>
4322+ <td>
4323+
4324+
4325+ &mdash;
4326+
4327+ </td>
4328+ <td class="type">Email Address</td>
4329+ <td class="amount">1</td>
4330+ </tr>
4331+ <tr>
4332+ <td>
4333+ <a href="/bugs/bugtrackers/auto-root">Email to root@neosofti</a>
4334+ </td>
4335+ <td>
4336+ mailto:&lt;email address hidden&gt;
4337+ </td>
4338+ <td>
4339+
4340+
4341+ <a href="/1buubg">Bulgarian Ubuntu Guide</a>
4342+
4343+
4344+
4345+
4346+ </td>
4347+ <td class="type">Email Address</td>
4348+ <td class="amount">0</td>
4349+ </tr>
4350+ <tr>
4351+ <td>
4352+ <a href="/bugs/bugtrackers/auto-rr">Email to rr@thomasrutter</a>
4353+ </td>
4354+ <td>
4355+ mailto:&lt;email address hidden&gt;
4356+ </td>
4357+ <td>
4358+
4359+
4360+ &mdash;
4361+
4362+ </td>
4363+ <td class="type">Email Address</td>
4364+ <td class="amount">0</td>
4365+ </tr>
4366+ <tr>
4367+ <td>
4368+ <a href="/bugs/bugtrackers/auto-s.adam">Email to s.adam@diffingo</a>
4369+ </td>
4370+ <td>
4371+ mailto:&lt;email address hidden&gt;
4372+ </td>
4373+ <td>
4374+
4375+
4376+ <a href="/fwbackups">fwbackups</a>
4377+
4378+
4379+
4380+
4381+ </td>
4382+ <td class="type">Email Address</td>
4383+ <td class="amount">0</td>
4384+ </tr>
4385+ <tr>
4386+ <td>
4387+ <a href="/bugs/bugtrackers/auto-sagar.behere">Email to sagar.behere@gmail</a>
4388+ </td>
4389+ <td>
4390+ mailto:&lt;email address hidden&gt;
4391+ </td>
4392+ <td>
4393+
4394+
4395+ <a href="/sarathi">Sarathi</a>
4396+
4397+
4398+
4399+
4400+ </td>
4401+ <td class="type">Email Address</td>
4402+ <td class="amount">0</td>
4403+ </tr>
4404+ <tr>
4405+ <td>
4406+ <a href="/bugs/bugtrackers/auto-sampo.niskanen">Email to sampo.niskanen@iki</a>
4407+ </td>
4408+ <td>
4409+ mailto:&lt;email address hidden&gt;
4410+ </td>
4411+ <td>
4412+
4413+
4414+ <a href="/openrocket">OpenRocket</a>
4415+
4416+
4417+
4418+
4419+ </td>
4420+ <td class="type">Email Address</td>
4421+ <td class="amount">0</td>
4422+ </tr>
4423+ <tr>
4424+ <td>
4425+ <a href="/bugs/bugtrackers/auto-sapiens">Email to sapiens@t2</a>
4426+ </td>
4427+ <td>
4428+ mailto:&lt;email address hidden&gt;
4429+ </td>
4430+ <td>
4431+
4432+
4433+ <a href="/iit">iit</a>
4434+
4435+
4436+
4437+
4438+ </td>
4439+ <td class="type">Email Address</td>
4440+ <td class="amount">0</td>
4441+ </tr>
4442+ <tr>
4443+ <td>
4444+ <a href="/bugs/bugtrackers/auto-security">Email to security@kde</a>
4445+ </td>
4446+ <td>
4447+ mailto:&lt;email address hidden&gt;
4448+ </td>
4449+ <td>
4450+
4451+
4452+ &mdash;
4453+
4454+ </td>
4455+ <td class="type">Email Address</td>
4456+ <td class="amount">1</td>
4457+ </tr>
4458+ <tr>
4459+ <td>
4460+ <a href="/bugs/bugtrackers/auto-skykidskr">Email to skykidskr@gmail</a>
4461+ </td>
4462+ <td>
4463+ mailto:&lt;email address hidden&gt;
4464+ </td>
4465+ <td>
4466+
4467+
4468+ &mdash;
4469+
4470+ </td>
4471+ <td class="type">Email Address</td>
4472+ <td class="amount">1</td>
4473+ </tr>
4474+ <tr>
4475+ <td>
4476+ <a href="/bugs/bugtrackers/auto-sqlmap-users">Email to sqlmap-users@lists</a>
4477+ </td>
4478+ <td>
4479+ mailto:&lt;email address hidden&gt;
4480+ </td>
4481+ <td>
4482+
4483+
4484+ <a href="/sqlmap">sqlmap</a>
4485+
4486+
4487+
4488+
4489+ </td>
4490+ <td class="type">Email Address</td>
4491+ <td class="amount">0</td>
4492+ </tr>
4493+ <tr>
4494+ <td>
4495+ <a href="/bugs/bugtrackers/auto-ster">Email to ster@bdsmcode</a>
4496+ </td>
4497+ <td>
4498+ mailto:&lt;email address hidden&gt;
4499+ </td>
4500+ <td>
4501+
4502+
4503+ <a href="/bdsmcode-open-translation-project">The BDcode Open Translation Project</a>
4504+
4505+
4506+
4507+
4508+ </td>
4509+ <td class="type">Email Address</td>
4510+ <td class="amount">0</td>
4511+ </tr>
4512+ <tr>
4513+ <td>
4514+ <a href="/bugs/bugtrackers/auto-sup-talk">Email to sup-talk@rubyforge</a>
4515+ </td>
4516+ <td>
4517+ mailto:&lt;email address hidden&gt;
4518+ </td>
4519+ <td>
4520+
4521+
4522+ <a href="/sup">sup</a>
4523+
4524+
4525+
4526+
4527+ </td>
4528+ <td class="type">Email Address</td>
4529+ <td class="amount">0</td>
4530+ </tr>
4531+ <tr>
4532+ <td>
4533+ <a href="/bugs/bugtrackers/auto-support-1">Email to support@enlightgreen</a>
4534+ </td>
4535+ <td>
4536+ mailto:&lt;email address hidden&gt;
4537+ </td>
4538+ <td>
4539+
4540+
4541+ <a href="/enlight">enlight</a>
4542+
4543+
4544+
4545+
4546+ </td>
4547+ <td class="type">Email Address</td>
4548+ <td class="amount">0</td>
4549+ </tr>
4550+ <tr>
4551+ <td>
4552+ <a href="/bugs/bugtrackers/auto-support">Email to support@kalliki</a>
4553+ </td>
4554+ <td>
4555+ mailto:&lt;email address hidden&gt;
4556+ </td>
4557+ <td>
4558+
4559+
4560+ <a href="/kalliki-software">kalliki-software</a>
4561+
4562+
4563+
4564+
4565+ </td>
4566+ <td class="type">Email Address</td>
4567+ <td class="amount">0</td>
4568+ </tr>
4569+ <tr>
4570+ <td>
4571+ <a href="/bugs/bugtrackers/auto-swhite.owl">Email to swhite.owl@gmail</a>
4572+ </td>
4573+ <td>
4574+ mailto:&lt;email address hidden&gt;
4575+ </td>
4576+ <td>
4577+
4578+
4579+ <a href="/contab">Contab</a>
4580+
4581+
4582+
4583+
4584+ </td>
4585+ <td class="type">Email Address</td>
4586+ <td class="amount">0</td>
4587+ </tr>
4588+ <tr>
4589+ <td>
4590+ <a href="/bugs/bugtrackers/auto-technetix">Email to technetix@gmail</a>
4591+ </td>
4592+ <td>
4593+ mailto:&lt;email address hidden&gt;
4594+ </td>
4595+ <td>
4596+
4597+
4598+ &mdash;
4599+
4600+ </td>
4601+ <td class="type">Email Address</td>
4602+ <td class="amount">0</td>
4603+ </tr>
4604+ <tr>
4605+ <td>
4606+ <a href="/bugs/bugtrackers/auto-ticket+myles.13715-c2wt8em4">Email to ticket+myles.13715-c2wt8em4@lighthouseapp</a>
4607+ </td>
4608+ <td>
4609+ mailto:&lt;email address hidden&gt;
4610+ </td>
4611+ <td>
4612+
4613+
4614+ <a href="/django-basic-tumblelog">Django Basic Tumblelog</a>
4615+
4616+
4617+
4618+
4619+ </td>
4620+ <td class="type">Email Address</td>
4621+ <td class="amount">0</td>
4622+ </tr>
4623+ <tr>
4624+ <td>
4625+ <a href="/bugs/bugtrackers/auto-tim+pydee">Email to tim+pydee@io41</a>
4626+ </td>
4627+ <td>
4628+ mailto:&lt;email address hidden&gt;
4629+ </td>
4630+ <td>
4631+
4632+
4633+ &mdash;
4634+
4635+ </td>
4636+ <td class="type">Email Address</td>
4637+ <td class="amount">0</td>
4638+ </tr>
4639+ <tr>
4640+ <td>
4641+ <a href="/bugs/bugtrackers/auto-tom.tdw">Email to tom.tdw@gmail</a>
4642+ </td>
4643+ <td>
4644+ mailto:&lt;email address hidden&gt;
4645+ </td>
4646+ <td>
4647+
4648+
4649+ &mdash;
4650+
4651+ </td>
4652+ <td class="type">Email Address</td>
4653+ <td class="amount">0</td>
4654+ </tr>
4655+ <tr>
4656+ <td>
4657+ <a href="/bugs/bugtrackers/auto-tranter">Email to tranter@pobox</a>
4658+ </td>
4659+ <td>
4660+ mailto:&lt;email address hidden&gt;
4661+ </td>
4662+ <td>
4663+
4664+
4665+ &mdash;
4666+
4667+ </td>
4668+ <td class="type">Email Address</td>
4669+ <td class="amount">1</td>
4670+ </tr>
4671+ <tr>
4672+ <td>
4673+ <a href="/bugs/bugtrackers/auto-treetop-dev">Email to treetop-dev@google-groups</a>
4674+ </td>
4675+ <td>
4676+ mailto:&lt;email address hidden&gt;
4677+ </td>
4678+ <td>
4679+
4680+
4681+ <a href="/treetop">Treetop</a>
4682+
4683+
4684+
4685+
4686+ </td>
4687+ <td class="type">Email Address</td>
4688+ <td class="amount">0</td>
4689+ </tr>
4690+ <tr>
4691+ <td>
4692+ <a href="/bugs/bugtrackers/auto-trr">Email to trr@thomasrutter</a>
4693+ </td>
4694+ <td>
4695+ mailto:&lt;email address hidden&gt;
4696+ </td>
4697+ <td>
4698+
4699+
4700+ &mdash;
4701+
4702+ </td>
4703+ <td class="type">Email Address</td>
4704+ <td class="amount">0</td>
4705+ </tr>
4706+ <tr>
4707+ <td>
4708+ <a href="/bugs/bugtrackers/auto-tthurman">Email to tthurman@gnome</a>
4709+ </td>
4710+ <td>
4711+ mailto:&lt;email address hidden&gt;
4712+ </td>
4713+ <td>
4714+
4715+
4716+ &mdash;
4717+
4718+ </td>
4719+ <td class="type">Email Address</td>
4720+ <td class="amount">1</td>
4721+ </tr>
4722+ <tr>
4723+ <td>
4724+ <a href="/bugs/bugtrackers/auto-tux4kids-tuxtype-dev">Email to tux4kids-tuxtype-dev@lists</a>
4725+ </td>
4726+ <td>
4727+ mailto:&lt;email address hidden&gt;
4728+ </td>
4729+ <td>
4730+
4731+
4732+ &mdash;
4733+
4734+ </td>
4735+ <td class="type">Email Address</td>
4736+ <td class="amount">1</td>
4737+ </tr>
4738+ <tr>
4739+ <td>
4740+ <a href="/bugs/bugtrackers/auto-tuxmath-devel">Email to tuxmath-devel@lists</a>
4741+ </td>
4742+ <td>
4743+ mailto:&lt;email address hidden&gt;
4744+ </td>
4745+ <td>
4746+
4747+
4748+ &mdash;
4749+
4750+ </td>
4751+ <td class="type">Email Address</td>
4752+ <td class="amount">1</td>
4753+ </tr>
4754+ <tr>
4755+ <td>
4756+ <a href="/bugs/bugtrackers/auto-tz">Email to tz@elsie</a>
4757+ </td>
4758+ <td>
4759+ mailto:&lt;email address hidden&gt;
4760+ </td>
4761+ <td>
4762+
4763+
4764+ <a href="/zoneinfo">The tz Database</a>
4765+
4766+
4767+
4768+
4769+ </td>
4770+ <td class="type">Email Address</td>
4771+ <td class="amount">1</td>
4772+ </tr>
4773+ <tr>
4774+ <td>
4775+ <a href="/bugs/bugtrackers/auto-util-linux-ng">Email to util-linux-ng@vger</a>
4776+ </td>
4777+ <td>
4778+ mailto:&lt;email address hidden&gt;
4779+ </td>
4780+ <td>
4781+
4782+
4783+ &mdash;
4784+
4785+ </td>
4786+ <td class="type">Email Address</td>
4787+ <td class="amount">1</td>
4788+ </tr>
4789+ <tr>
4790+ <td>
4791+ <a href="/bugs/bugtrackers/auto-vfx">Email to vfx@vfx</a>
4792+ </td>
4793+ <td>
4794+ mailto:&lt;email address hidden&gt;
4795+ </td>
4796+ <td>
4797+
4798+
4799+ &mdash;
4800+
4801+ </td>
4802+ <td class="type">Email Address</td>
4803+ <td class="amount">0</td>
4804+ </tr>
4805+ <tr>
4806+ <td>
4807+ <a href="/bugs/bugtrackers/auto-wap4u2">Email to wap4u2@gmail</a>
4808+ </td>
4809+ <td>
4810+ mailto:&lt;email address hidden&gt;
4811+ </td>
4812+ <td>
4813+
4814+
4815+ &mdash;
4816+
4817+ </td>
4818+ <td class="type">Email Address</td>
4819+ <td class="amount">1</td>
4820+ </tr>
4821+ <tr>
4822+ <td>
4823+ <a href="/bugs/bugtrackers/auto-wekalist">Email to wekalist@list</a>
4824+ </td>
4825+ <td>
4826+ mailto:&lt;email address hidden&gt;
4827+ </td>
4828+ <td>
4829+
4830+
4831+ <a href="/weka">Weka</a>
4832+
4833+
4834+
4835+
4836+ </td>
4837+ <td class="type">Email Address</td>
4838+ <td class="amount">0</td>
4839+ </tr>
4840+ <tr>
4841+ <td>
4842+ <a href="/bugs/bugtrackers/auto-wjaguar">Email to wjaguar@users</a>
4843+ </td>
4844+ <td>
4845+ mailto:&lt;email address hidden&gt;
4846+ </td>
4847+ <td>
4848+
4849+
4850+ <a href="/mtpaint">MTPaint</a>
4851+
4852+
4853+
4854+
4855+ </td>
4856+ <td class="type">Email Address</td>
4857+ <td class="amount">0</td>
4858+ </tr>
4859+ <tr>
4860+ <td>
4861+ <a href="/bugs/bugtrackers/auto-wpj8014">Email to wpj8014@truemail</a>
4862+ </td>
4863+ <td>
4864+ mailto:&lt;email address hidden&gt;
4865+ </td>
4866+ <td>
4867+
4868+
4869+ &mdash;
4870+
4871+ </td>
4872+ <td class="type">Email Address</td>
4873+ <td class="amount">1</td>
4874+ </tr>
4875+ <tr>
4876+ <td>
4877+ <a href="/bugs/bugtrackers/auto-wwadge">Email to wwadge@gmail</a>
4878+ </td>
4879+ <td>
4880+ mailto:&lt;email address hidden&gt;
4881+ </td>
4882+ <td>
4883+
4884+
4885+ &mdash;
4886+
4887+ </td>
4888+ <td class="type">Email Address</td>
4889+ <td class="amount">0</td>
4890+ </tr>
4891+ <tr>
4892+ <td>
4893+ <a href="/bugs/bugtrackers/auto-xar-devel">Email to xar-devel@googlegroups</a>
4894+ </td>
4895+ <td>
4896+ mailto:&lt;email address hidden&gt;
4897+ </td>
4898+ <td>
4899+
4900+
4901+ <a href="/xar">XAR</a>
4902+
4903+
4904+
4905+
4906+ </td>
4907+ <td class="type">Email Address</td>
4908+ <td class="amount">0</td>
4909+ </tr>
4910+ <tr>
4911+ <td>
4912+ <a href="/bugs/bugtrackers/auto-xcb">Email to xcb@lists</a>
4913+ </td>
4914+ <td>
4915+ mailto:&lt;email address hidden&gt;
4916+ </td>
4917+ <td>
4918+
4919+
4920+ &mdash;
4921+
4922+ </td>
4923+ <td class="type">Email Address</td>
4924+ <td class="amount">1</td>
4925+ </tr>
4926+ <tr>
4927+ <td>
4928+ <a href="/bugs/bugtrackers/auto-ximesteisel">Email to ximesteisel@gmail</a>
4929+ </td>
4930+ <td>
4931+ mailto:&lt;email address hidden&gt;
4932+ </td>
4933+ <td>
4934+
4935+
4936+ &mdash;
4937+
4938+ </td>
4939+ <td class="type">Email Address</td>
4940+ <td class="amount">0</td>
4941+ </tr>
4942+ <tr>
4943+ <td>
4944+ <a href="/bugs/bugtrackers/auto-xorg">Email to xorg@lists</a>
4945+ </td>
4946+ <td>
4947+ mailto:&lt;email address hidden&gt;
4948+ </td>
4949+ <td>
4950+
4951+
4952+ &mdash;
4953+
4954+ </td>
4955+ <td class="type">Email Address</td>
4956+ <td class="amount">1</td>
4957+ </tr>
4958+ <tr>
4959+ <td>
4960+ <a href="/bugs/bugtrackers/auto-xujia19">Email to xujia19@gmail</a>
4961+ </td>
4962+ <td>
4963+ mailto:&lt;email address hidden&gt;
4964+ </td>
4965+ <td>
4966+
4967+
4968+ &mdash;
4969+
4970+ </td>
4971+ <td class="type">Email Address</td>
4972+ <td class="amount">0</td>
4973+ </tr>
4974+ <tr>
4975+ <td>
4976+ <a href="/bugs/bugtrackers/auto-yoda123">Email to yoda123@lavabit</a>
4977+ </td>
4978+ <td>
4979+ mailto:&lt;email address hidden&gt;
4980+ </td>
4981+ <td>
4982+
4983+
4984+ &mdash;
4985+
4986+ </td>
4987+ <td class="type">Email Address</td>
4988+ <td class="amount">0</td>
4989+ </tr>
4990+ <tr>
4991+ <td>
4992+ <a href="/bugs/bugtrackers/auto-zdziura">Email to zdziura@gmail</a>
4993+ </td>
4994+ <td>
4995+ mailto:&lt;email address hidden&gt;
4996+ </td>
4997+ <td>
4998+
4999+
5000+ &mdash;
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches