]> git.donarmstrong.com Git - debbugs-presentations.git/blob - debconf14/debbugs.Rnw
update debbugs layout db
[debbugs-presentations.git] / debconf14 / debbugs.Rnw
1 \mode<presentation>
2 {
3   \usetheme[hideallsubsections]{Hannover}
4   %\useoutertheme[hideallsubsections]{debiansidebar}
5   \setbeamercovered{transparent}  
6 }
7
8
9 \usepackage[no-math]{fontspec}
10 \setmainfont[ExternalLocation, 
11              Mapping=tex-text,
12              BoldFont=FreeSerifBold,
13              ItalicFont=FreeSerifItalic,
14              BoldItalicFont=FreeSerifBoldItalic]{FreeSerif}
15 \setsansfont[ExternalLocation, 
16              Mapping=tex-text,
17              BoldFont=FreeSerifBold,
18              ItalicFont=FreeSerifItalic,
19              BoldItalicFont=FreeSerifBoldItalic,
20              Scale=MatchLowercase]{FreeSerif}
21 \setmonofont{FreeMono}
22
23 \usepackage{booktabs}
24 \usepackage{multirow}
25 \usepackage{setspace}
26 \usepackage[backend=biber,natbib=true,hyperref=true,style=numeric-comp]{biblatex}
27 \bibliography{references}
28 % \usepackage[hyperfigures,bookmarks,colorlinks]{hyperref}
29
30
31 \usepackage[nomargin,inline,draft]{fixme}
32 %\usepackage[x11names,svgnames]{xcolor}
33 \usepackage{texshade}
34 \usepackage[absolute,overlay]{textpos}
35 \usepackage{tikz}
36 \usepackage{nameref}
37 \usepackage{ulem}
38 \usepackage{zref-xr,zref-user}
39
40 \newenvironment{narrow}[2]{%
41   \begin{list}{}{%
42       \setlength{\topsep}{0pt}%
43       \setlength{\leftmargin}{#1}%
44       \setlength{\rightmargin}{#2}%
45       \setlength{\listparindent}{\parindent}%
46       \setlength{\itemindent}{\parindent}%
47       \setlength{\parsep}{\parskip}}%
48   \item[]}{\end{list}}
49 \def\newblock{\hskip}
50 \newenvironment{paperquote}{%
51   \begin{quote}%
52      \it
53   }%
54   {\end{quote}}
55 \renewcommand{\textfraction}{0.15}
56 \renewcommand{\topfraction}{0.85}
57 \renewcommand{\bottomfraction}{0.65}
58 \renewcommand{\floatpagefraction}{0.60}
59 %\renewcommand{\baselinestretch}{1.8}
60 \newenvironment{enumerate*}%
61   {\begin{enumerate}%
62     \setlength{\itemsep}{0pt}%
63     \setlength{\parskip}{0pt}}%
64   {\end{enumerate}}
65 \newenvironment{itemize*}%
66   {\begin{itemize}%
67     \setlength{\itemsep}{0pt}%
68     \setlength{\parskip}{0pt}}%
69   {\end{itemize}}
70
71 \logo{\includegraphics[width=2cm]{figures/openlogo.pdf}}
72 \author{Don Armstrong}
73 \title{Debbugs}
74 \subtitle{Database Ho!}
75 %\date{August 11th, 2008}
76 \titlegraphic{\includegraphics[height=0.3\textheight,keepaspectratio]{figures/openlogo-crop.pdf}}
77 \subject{BTS}
78
79 % State of the BTS: new features, changes and tips
80
81 % The bug tracking system is where all bugs that affect Debian are
82 % filed. New features, including the affects, summary, and local debbugs
83 % mirror will be presented and demonstrated. Some of the underlying
84 % architectural changes to the codebase in debbugs to make it more
85 % maintainable and deployable are also outlined. Finally, a set of tips
86 % and tricks that can be used to make the BTS easier to use are
87 % presented.
88
89 %  - New Features
90 %    - affects
91 %    - summary
92 %    - local debbugs mirror for offline work
93 %    - New SOAP
94 %      - full text search
95 %      - filtering bugs
96 %    - multi-distribution/arch status
97 %    - control changes at submit@ time
98 %  - Code Architecture Changes
99 %    - Modularization
100 %    - Control abstraction
101 %    - release to experimental
102
103
104 <<load.libraries,echo=FALSE,results="hide",error=FALSE,message=FALSE>>=
105 library(lattice)
106 library(xtable)
107 library(ggplot2)
108 library(reshape2)
109 opts_chunk$set(dev="cairo_pdf",out.width="\\textwidth",out.height="0.7\\textheight",out.extra="keepaspectratio")
110 opts_chunk$set(cache=TRUE, autodep=TRUE)
111 options(device = function(file, width = 8, height = 7, ...) {
112   cairo_pdf(tempfile(), width = width, height = height, ...)
113 })
114
115
116
117
118 \begin{document}
119
120 %\setbeamercolor{frametitle}[bg=-red!90!green!10,fg=black]
121
122 \frame[plain]{\titlepage
123   Source available at \url{http://git.donarmstrong.com/debbugs-presentations.git/}
124 }
125
126 % \begin{frame}{Debbugs}
127 %   \tableofcontents[subsectionstyle=hide]
128 % \end{frame}
129
130 \section{Introduction to Debbugs}
131
132 \subsection{Introduction}
133 \begin{frame}{Goals of this talk}
134   \begin{columns}
135     \column{0.5\textwidth}
136     \begin{itemize}
137     \item Introduction to Debbugs
138     \item New features
139     \item Tips and Tricks
140     \item Planned features
141     \item Places you can help
142     \end{itemize}
143     \column{0.5\textwidth}
144     \includegraphics[width=\textwidth,keepaspectratio]{images/rc_buggy}
145   \end{columns}
146 \end{frame}
147 \begin{frame}{Goals of the BTS}
148   \begin{columns}
149   \column{0.4\textwidth}
150     \includegraphics[width=\textwidth,keepaspectratio]{images/not_a_bug}
151   \column{0.6\textwidth}
152   \begin{itemize}
153   \item Reporting of \only<1>{Features}\only<2>{Bugs}
154   \item Evolution of \only<1>{Features}\only<2>{Bugs}
155   \item Fixing of \only<1>{Features}\only<2>{Bugs}
156   \item Reducing impact of \only<1>{Features}\only<2>{Bugs}
157   \end{itemize}
158 \end{columns}
159 \end{frame}
160
161 \section{Bugs in Debian}
162 \subsection{Bug Reporting Rate}
163 \begin{frame}{How many bugs do we have?}
164   \begin{center}
165 <<bug.growth,fig=TRUE,echo=FALSE>>=
166 bug.growth <- read.table("data/sorted_bug_growth_for_r_every_500.txt",stringsAsFactors=FALSE);
167 colnames(bug.growth) <- c("time","bugs")
168 bug.growth <- bug.growth[pmax(bug.growth$bugs) <= as.numeric(bug.growth$bugs),]
169 bug.growth$date <- 
170   as.POSIXct(ISOdatetime(1970,1,1,0,0,0)+as.numeric(bug.growth$time))
171 print(ggplot(bug.growth[bug.growth$date > as.POSIXct(ISOdatetime(2005,1,1,0,0,0)),],aes(x=date,y=bugs))+
172       xlab("Time")+ylab("Bugs filed in Debian")+
173       geom_point()+stat_smooth(method="lm")+
174       ggtitle("Bug growth versus time"))
175
176 \end{center}
177 \end{frame}
178
179 \begin{frame}
180   \begin{center}
181 <<bugs.filed,fig=TRUE,echo=FALSE,warning=FALSE>>=
182 print(ggplot(bug.growth[bug.growth$date > as.POSIXct(ISOdatetime(2013,1,1,0,0,0)),],aes(x=date,y=bugs))+
183       xlab("Time")+ylab("Bugs filed in Debian")+
184       geom_point()+stat_smooth(method="lm")+
185       ggtitle("Christian Perrier's Plot"))
186 bugs.filed.per.day <-
187   lm(bugs~date,bug.growth)$coeff[2]*3600*24
188
189 \end{center}
190 Roughly \Sexpr{format(bugs.filed.per.day,digits=1)} bugs are filed per day.
191 \end{frame}
192
193
194 \subsection{Bug Fixing Rate}
195 \begin{frame}
196   \begin{center}
197 <<bugs.closed,fig=TRUE,echo=FALSE,width=7,height=5,warning=FALSE,error=FALSE>>=
198 bug.closed.series <- read.table(file="data/bug_closed_time_series.txt")
199 colnames(bug.closed.series) <- c("archived.bugs","year.week")
200 bug.closed.series$week <-
201     gsub("(\\d+)-(\\d+)","\\2",bug.closed.series$year.week)
202 bug.closed.series$year <-
203     gsub("(\\d+)-(\\d+)","\\1",bug.closed.series$year.week)
204 bug.closed.series$doy <- 
205     as.numeric(bug.closed.series$week)*7
206 bug.closed.series$year.doy <- 
207     paste(sep="-",bug.closed.series$year,bug.closed.series$doy)
208 bug.closed.series$date <-
209   as.POSIXct(strptime(bug.closed.series$year.doy,
210                       format="%Y-%j"))
211
212 # bug.closed.ts <- ts(bug.closed.series[,1],start=1,frequency=7)
213
214 print(ggplot(bug.closed.series[bug.closed.series$date > as.POSIXct(ISOdatetime(2008,1,1,0,0,0)),],
215              aes(x=date,y=archived.bugs))+geom_line()+stat_smooth(method="lm")+
216       ylab("Archived bugs")+xlab("Time"))
217 bugs.closed.per.day <- 
218     sum(bug.closed.series$archived.bugs)/
219     as.numeric(bug.closed.series$date[nrow(bug.closed.series)]-bug.closed.series$date[1])
220
221   \end{center}
222 Roughly \Sexpr{format(bugs.closed.per.day,digits=1)} bugs are closed per day.
223 \end{frame}
224
225 \subsection{RC Bugs}
226 \begin{frame}
227   \begin{center}
228 <<rc.bugs,fig=TRUE,echo=FALSE,width=7,height=7>>=
229 rc.bugs <-
230   read.table(file="data/rc_bugs.txt",
231              header=TRUE,fill=TRUE)
232 rc.bugs <- data.frame(rc.bugs)
233 rc.bugs <- rc.bugs[,c(-5,-7)]
234 rc.bugs$date <-
235   as.POSIXct(strptime(rc.bugs$date,
236                       format="%Y%m%d%H%M"))
237 rc.bugs.long <-
238     melt(rc.bugs,id="date")
239 print(ggplot(rc.bugs.long[rc.bugs.long$date > 
240                           as.POSIXct(ISOdatetime(2013,08,1,0,0,0)),]
241              ,aes(x=date,y=value,color=variable))+
242       geom_line()+
243       ggtitle("RC Bugs in the past year")+
244       theme(legend.position=c(0.9,0.5))+
245       guides(color=guide_legend(title="Measure")))
246
247
248 \end{center}
249   \setbeamercolor{postit}{fg=black,bg=yellow}
250   \begin{textblock}{4}(6,4)
251     \begin{onlyenv}<2>
252       \begin{beamercolorbox}[sep=1em,wd=5cm]{postit}
253         \centering \huge Too many RC bugs!
254       \end{beamercolorbox}
255     \end{onlyenv}
256   \end{textblock}
257
258 \end{frame}
259
260 \section{Debbugs Structure and Infrastructure}
261
262 \subsection{BTS System Diagram}
263 \begin{frame}{BTS system Diagram}
264   \begin{center}
265     \includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{figures/bug_global_layout}
266   \end{center}
267 \end{frame}
268
269 \subsection{Debbugs Box Diagram}
270 \begin{frame}{Debbugs Box Diagram}
271   \begin{center}
272     \input{debbugs_layout}
273   \end{center}
274 \end{frame}
275
276 \section{Database Ho!}
277
278 \subsection{Overall Database Design}
279
280 \begin{frame}{Overall Database Design}
281   \begin{center}
282     \input{debbugs_layout_db}
283   \end{center}
284 \end{frame}
285
286 \subsection{Perl Database Infrastucture}
287 \begin{frame}{Perl Database Infrastructure}
288   \begin{itemize}
289   \item DBIx::Class
290   \item DBIx::Class::Schema::Loader -- SQL schema to DBIx::Class
291   \item DBIx::Class::DeploymentHandler -- Upgrades of Schema
292   \item Debbugs::DB -- Debbugs SQL Module
293   \end{itemize}
294 \end{frame}
295
296
297 \subsection{SQL Design}
298 \begin{frame}{SQL Schema}
299   \includegraphics[width=\textwidth,keepaspectratio]{figures/schema.png}
300 \end{frame}
301
302 \subsubsection{DAK SQL Design}
303 \begin{frame}{DAK SQL Schema}
304   \includegraphics[width=\textwidth,keepaspectratio]{figures/dak_schema.png}
305 \end{frame}
306
307 \section{New(ish) Features}
308
309 \subsection{New Changes}
310 \begin{frame}{New Changes}
311   \begin{itemize}
312   \item CVE linkified (eg, \href{http://bugs.debian.org/570743}{\#570743})
313   \item status caching
314   \item reverse status lookup
315   \item forcemerge does the right thing
316   \end{itemize}
317 \end{frame}
318
319
320 \subsection{Affects}
321 \begin{frame}{Affects}
322   \begin{itemize}
323   \item Bugs in Package A causes problem in package B
324   \item Reduce duplicates filed in package B by showing bug in package
325     B's list
326   \item \url{http://www.debian.org/Bugs/server-control\#affects}
327   \item \texttt{bts affects 12345 foopkg;}
328   \end{itemize}
329 \end{frame}
330
331 \begin{frame}{Affects: Implemented}
332 %  \includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{figures/affects}
333 \end{frame}
334
335 \subsection{Summary}
336
337 \begin{frame}{Summary}
338   \begin{itemize}
339   \item Short indication of what the bug was about
340   \item Long discussion, summarized into a single paragraph
341   \item Extract the first non-control, non-psuedoheader, non-quoted
342     paragraph from a nominated message
343   \item \url{http://www.debian.org/Bugs/server-control\#summary}
344   \item \texttt{bts summary 12345 30}
345   \end{itemize}
346 \end{frame}
347
348 \begin{frame}{Summary: Implemented}
349 %  \includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{figures/summary}
350 \end{frame}
351
352
353 \subsection{Local Mirror}
354
355 \begin{frame}{local-debbugs}
356   \begin{itemize}
357   \item Ability to run a full local copy of debbugs
358   \item Select bugs interested in based on a configurable query
359   \item By default selects unarchived bugs
360     \begin{itemize}
361     \item In maintained packages
362     \item Correspondend with
363     \item Submitted
364     \item RC
365     \end{itemize}
366   \item Currently takes about 2G for me (most of which is indixes)
367   \item Part of experimental debbugs package (in the archive)
368   \end{itemize}
369 \end{frame}
370
371 \begin{frame}{local-debbugs demo}
372   \begin{itemize}
373   \item Update mirror: \texttt{local-debbugs \--\--mirror}
374   \item Start daemon: \texttt{local-debbugs \--\--daemon}
375   \item See bug \#441151: \texttt{local-debbugs \--\--show 441151}
376   \item See bugs in lilypond: \texttt{local-debbugs \--\--search lilypond}
377   \item See critical bugs: \texttt{local-debbugs \--\--search severity:critical}
378   \end{itemize}
379 \end{frame}
380
381 \begin{frame}{local-debbugs issues}
382   \begin{columns}
383     \column{0.5\textwidth}
384     \begin{itemize}
385     \item Suboptimal missing bug handling
386     \item Size of mirror large
387     \item Could be faster to sync
388     \item Needs better documentation
389     \end{itemize}
390     \column{0.5\textwidth}
391 %    \includegraphics[width=\textwidth,keepaspectratio]{figures/happy_bug}
392   \end{columns}
393 \end{frame}
394
395
396
397 %\subsection{More SOAP}
398
399
400
401 % \section{Tips and Tricks}
402 % %  - Tips and Tricks
403
404 % %    - Full text search
405 % \begin{frame}{Full Text Search}
406 %   \begin{itemize}
407 %   \item Using HyperEstraier
408 %   \item \url{http://bugs.debian.org/cgi-bin/search.cgi}
409 %   \item Searching for ``lp0 on fire''
410 %   \item Searching for memory leaks in iceweasel
411 %   \end{itemize}
412 % \end{frame}
413
414 % %    - Using the new options limits
415 % \begin{frame}{CGI Options}
416 %   \begin{itemize}
417 %   \item Bugs in debbugs which aren't tagged pending or wontfix owned by me
418 %   \item Bugs in debbugs tagged help
419 %   \item Bugs in debbugs whose title mentions cgi
420 %   \end{itemize}
421 % \end{frame}
422
423 \begin{frame}{Silly Symbols}
424   \begin{center}
425   \begin{tabular}{c c c c}
426     Merged         & = & Fixed Versions & ☺ \\
427     Blocked        & ♙ & Blocks         & ♔ \\
428     Forwarded      & ↝ & Archived       & ♲ \\
429     Affects        & ☣ & wontfix        & ☹ \\
430     patch          & + & moreinfo       & M \\
431     unreproducible & R & security       & S \\
432     pending        & P & fixed          & F \\
433     help           & H & fixed-upstream & U \\
434     upstream       & u &                &   \\
435   \end{tabular}
436 \end{center}
437 \end{frame}
438
439 % \begin{frame}{Silly Symbols}
440 %   \begin{center}
441 %   \begin{tabular}{c c  c c}
442 %     Merged         & = & Fixed Versions & \smiley \\
443 %     Blocked        & \includegraphics[height=0.5cm,keepaspectratio]{figures/blocked} & Blocks         & \includegraphics[height=0.5cm,keepaspectratio]{figures/blocks} \\
444 %     Forwarded      & ↝ & Archived       & \includegraphics[height=0.5cm,keepaspectratio]{figures/archived} \\
445 %     Affects        & \includegraphics[height=0.5cm,keepaspectratio]{figures/affects_icon} & wontfix        & \frownie \\
446 %     patch          & + & moreinfo       & M \\
447 %     unreproducible & R & security       & S \\
448 %     pending        & P & fixed          & F \\
449 %     help           & H & fixed-upstream & U \\
450 %     upstream       & u &                &   \\
451 %   \end{tabular}
452 % \end{center}
453 % \end{frame}
454
455 \section{Planned features}
456
457 \subsection{Status Caching}
458 \begin{frame}{Status Caching}
459   \begin{itemize}
460   \item Cache status of bugs (presence/absence at all distributions)
461   \item Speed up display of \url{http://bugs.debian.org/src:linux-2.6}
462   \item Allows for reverse status lookup
463     \begin{itemize}
464     \item Enables finding bugs which are present in testing or unstable
465     \item Eventually replace functionality of \url{bts.turmzimmer.net}
466     \end{itemize}
467   \end{itemize}
468 \end{frame}
469
470 \begin{frame}{Planned features}
471   \begin{itemize}
472   \item<alert@2> Control Commands in Submit
473   \item<3-> Mail to nnn@bugs.debian.org goes to submitter
474   \item<4-> Uservalues
475   \item<6-> b.d.o/libc6 $\rightarrow$ b.d.o/src:eglibc
476     \begin{itemize}
477     \item<6-> in future, make binary-only views more difficult to get (?)
478     \end{itemize}
479   \end{itemize}
480   
481   \definecolor{peach}{rgb}{1,0.9,0.7}
482   \setbeamercolor{controlcmd}{fg=black,bg=peach}
483   \begin{textblock}{6}(7,7)
484     \begin{onlyenv}<2>
485       \begin{beamercolorbox}[sep=1em,wd=5.5cm]{controlcmd}
486         \begin{tabular}{l}
487         To: submit@bugs.debian.org\\
488         From: foo@example.com\\
489         \\
490         Package: blah\\
491         Control: user foo@debian.org\\
492         Control: usertag 0 bleargh\\
493         Control: clone 0 -1\\
494         Control: reassign -1 blah\\
495       \end{tabular}
496     \end{beamercolorbox}
497     \end{onlyenv}
498     \begin{onlyenv}<5>
499       \begin{beamercolorbox}[sep=1em,wd=5.5cm]{controlcmd}
500         \begin{tabular}{l}
501         To: control@bugs.debian.org\\
502         From: foo@example.com\\
503         \\
504         user foo@debian.org\\
505         uservalue 12345 priority 30\\
506         uservalue 12345 vcs-commit \textbackslash \\
507         \  http://q.fr/b/r1432 \\
508         uservalue 12345 difficulty 10\\
509       \end{tabular}
510     \end{beamercolorbox}
511     \end{onlyenv}
512   \end{textblock}
513 \end{frame}
514
515 \begin{frame}{More planned features}
516   \begin{columns}
517     \column{0.5\textwidth}
518     \begin{itemize}
519     \item Merging of merged bug reports
520     \item Threading in report
521     \item Usercategory duplication and replay
522     \item Remote Attachments
523     \item New Spool Storage Format
524     \item Backend index using postgresql
525     \item Usertags visibility
526     \item Smarter CGI options
527     \end{itemize}
528     \column{0.5\textwidth}
529 %    \includegraphics[width=\textwidth,keepaspectratio]{figures/oh_hai_bug}
530   \end{columns}
531 \end{frame}
532
533 \begin{frame}{Statistics}
534 %  \begin{columns}
535 %    \column{0.5\textwidth}
536 %    \column{0.5\textwidth}
537     \begin{itemize}
538     \item Track status changes over time
539     \item Bugs found/fixed/absent in stable/testing/unstable over time
540     \item Bug submission times
541     \item Bug closure times
542     \item Bug mail rates
543     \item Per package, severity, maintainer tracking of the above
544     \end{itemize}
545     \begin{center}
546 %      \includegraphics[width=\textwidth,height=0.35\textheight,keepaspectratio]{figures/surprised_bugs_life}
547     \end{center}
548 %  \end{columns}
549 \end{frame}
550
551
552 \begin{frame}{Action Required Sorting}
553   \begin{center}
554   \begin{tabular}{c | c | c}
555      & Care about & Don't care \\
556      \hline
557      \multirow{3}{*}{\begin{sideways}\parbox{12mm}{Triage}\end{sideways}} & No response & Active responses \\
558      & Ancient found versions & found in multiple versions \\
559      & Incomplete report & Complete report \\
560      \hline
561  \multirow{3}{*}{\begin{sideways}\parbox{12mm}{Maint.}\end{sideways}}      & has a patch & pending/fixed \\
562     & moreinfo+response & just moreinfo \\
563     & high priority & wontfix \\
564     \hline
565   \multirow{3}{*}{\begin{sideways}\parbox{12mm}{Submit.}\end{sideways}} &
566     moreinfo   & moreinfo+response \\
567     & mail from maintainer & no response \\
568     & bug is fixed & bug isn't fixed \\
569    \end{tabular}
570    \end{center}
571  \begin{itemize}
572    \item Sorting by a combination of priority and action required
573    \item Minimize time wasted finding a bug
574    \item Maximize productivity
575    \end{itemize}
576  \end{frame}
577  
578
579 \subsection{Upstream and Downstream Integration}
580
581 \begin{frame}
582   \begin{itemize}
583   \item Sharing state between upstream, downstream and sidestream
584   \item Sharing comments between the same
585   \item Distributed bug tracking
586   \item Distributed version/commit tracking
587   \end{itemize}
588 \end{frame}
589
590
591 \section{Places you can help}
592
593 \begin{frame}{\sout{5} \sout{6} 7 tasks seeking contributors}
594   \begin{itemize}
595   \item Documentation of Usercategories
596   \item Implementation of rss feeds for packages and bugs
597   \item CGI options on pkgreport.cgi for usertags et al. \#536378)
598   \item Documentation of multipe-package reassign and when it or
599     affects should be used
600   \item Mailto link with subject, references, etc. all filled in
601   \item Documentation for local-debbugs configuration file (behaves
602     like bts select)
603   \end{itemize}
604 \end{frame}
605
606 \begin{frame}{Getting started on these tasks}
607   \begin{itemize}
608   \item Upstream branches: \url{http://bugs.debian.org/debbugs-source/}
609     \begin{itemize}
610     \item mainline (upstream debbugs): bzr clone \url{http://bugs.debian.org/debbugs-source/mainline}
611     \item debian (debian branch): bzr clone \url{http://bugs.debian.org/debbugs-source/debian}
612     \end{itemize}
613     
614   \item My branches: \url{http://bzr.donarmstrong.com/debbugs/branches}
615   \item Mailing list debian-debbugs@lists.debian.org
616   \item IRC \#debbugs or \#debian-bugs on irc.debian.org; I'm dondelelcaro
617   \end{itemize}
618 \end{frame}
619
620 \begin{frame}{Setting up a BTS mirror for development}
621   \begin{itemize}
622   \item \url{http://svn.donarmstrong.com/don/trunk/projects/debbugs/local_mirror.sh}
623     \begin{itemize}
624     \item Set SPOOL and VERSIONS appropriately
625     \item mkdir -p /path/to/spool/{db-h,archive} /path/to/versions; 
626     \item touch /path/to/spool/by-reverse.idx
627     \end{itemize}
628   \item \url{http://svn.donarmstrong.com/don/trunk/projects/debbugs/setup_config.sh}
629     \begin{itemize}
630     \item<2> Will exist suddenly (not there now)
631     \end{itemize}
632   \end{itemize}
633 \end{frame}
634
635
636 %  - Tips and Tricks
637 %    - Full text search
638 %    - Using the new options limits
639 %    - Usertags
640 %    - Getting users to triage their bugs
641
642
643 % * Overview of how the BTS works
644 %   o process, service
645 %   o web frontends
646 %   o soap, etc.
647 % * New features
648 %   o user values
649 %   o action-required sorting (maintainer and submitter views)
650 %     + priority sorting (uservalue)
651 %   o merging of merged bug reports and threaded view
652 %   o control in messages to submit@ and nnn@
653 %   o usertag/uservalue/usercategory duplication/replay
654 %   o rss feeds for packages and bugs
655 %   o remote attachments
656 %   o new spool storage format
657 %   o better statistics
658 % * Old features that may be unfamiliar
659 %   o fun with bts select
660 %   o full text searching with HE
661 %   o local-debbugs
662 % * A bald plea for more assistance
663
664
665
666 % Bugs the BoF
667
668 % Upcoming improvements:
669
670 % * control@ commands in submit
671 % * status caching
672 % * reverse status lookup
673 % * forcemerge
674 % * b.d.o/libc6 -> b.d.o/src:eglibc
675
676
677 % Proposed To-do:
678
679 % * web-based mail submission
680 % ** needed due to blocking of port 25
681
682 % * queue runs
683 % ** cannot be synchronous
684 % ** but may run queue on demand
685
686 % * per-arch buildd tags (or pseudopackages)
687
688 % * search by uploader
689
690
691 % Other technical suggestions:
692
693 % * notification to blockees when blocking bugs are killed off
694 % * documentation consistency? (e.g. reassign; could use clarification)
695 % ** response: needs love; currently in WML
696
697 % Social Improvements:
698
699 % * Better statistics
700 % ** Tells us:
701 % *** What packagers need help
702 % *** Which bug triagers should be recognized. Currently these people
703 % receive no recognition; would like to encourage them to continue
704 % this work.
705
706 % Discussion - whether mass-filed bugs should be included?
707
708 % * Common triager mistake:  emailing the bug number instead of the submitter.
709 % Don:  Plan to address this via the reply list.
710
711 % Please configure mailing list subscriptions not to bounce/spam the owner.
712
713 % Q:  Limit on size of attachments to BTS?  ~200MB
714
715 % Idea:  RFC exists that supports remote/offline attachments.
716
717 % How to perform debbugs development?
718 % * see debbugs-local package
719 % * can rsync the entire bugs database to local box
720 % * apache configuration simple, mail setup somewhat more involved
721 % * help:  debbugs@l.d.o, #debbugs
722 % * code is in bzr
723 % ** see armstrong branches for work in progress
724
725 % How do you use the BTS?
726
727 % Problems:
728 % * 200-300 open bugs: difficult to keep track of bugs already seen
729 % * idea: improve documentation regarding user-tags/categorization features
730 % * idea: display of possible set of user-tags via JavaScript - "make user-tags pretty"
731 % * idea: user authention to allow management of tags
732
733 % * switch index from flat-files to Postgres; borrow from UDD
734
735 % Q:  Complaints regarding email addresses on webpage.  Should we obfuscate these?
736 % ** Is there any hard data on which types of obfuscation work?
737 % ** Can we blackhole robots? Use a honeypot? Issue is that bugs are
738 % archives to the ML. Discussion around configuration on Ian Jackson's
739 % site.
740
741 % Q:  List of needs for new debbugs contributors?
742 % * See how to help on the wiki.
743
744 % Q:  Can you get a list of user-tags for an email address w/out the bug reports?
745 % * Should be pretty easy.  May be a patch for comand-line 'bts' tool in devscripts.
746
747 % What's next?
748
749 % Slides:  http://svn/donarmstrong.com/don/trunk/projects/debian/debconf10/bugs_the_bof/
750 % Contact Don with questions.
751
752
753 % For spam questions, reach out to Blars Blarson
754
755 \begin{frame}{The Debbugs Team}
756   \begin{itemize}
757   \item Current team
758     \begin{itemize}
759     \item Don Armstrong
760     \item Blars Blarson
761     \item Colin Watson
762     \end{itemize}
763   \item Emeritus Developers
764     \begin{itemize}
765     \item Steiner Gunderson
766     \item Adam Heath
767     \item Josip Rodin
768     \item Anthony Towns
769     \end{itemize}
770   \item You!
771   \end{itemize}
772 \end{frame}
773
774 \begin{frame}
775   \includegraphics[width=0.8\textwidth,height=0.8\textheight,keepaspectratio]{images/don_at_burning_man.jpg}
776 \end{frame}
777
778 \end{document}
779
780