\usepackage{nameref}
\usepackage{ulem}
\usepackage{zref-xr,zref-user}
+\usepackage{listings}
\newenvironment{narrow}[2]{%
\begin{list}{}{%
\subsection{SQL Design}
\begin{frame}{SQL Schema}
\includegraphics[width=\textwidth,keepaspectratio]{figures/schema.png}
-\end{frame}
-
-\subsubsection{DAK SQL Design}
-\begin{frame}{DAK SQL Schema}
- \includegraphics[width=\textwidth,keepaspectratio]{figures/dak_schema.png}
-\end{frame}
-
-\section{New(ish) Features}
-
-\subsection{New Changes}
-\begin{frame}{New Changes}
\begin{itemize}
- \item CVE linkified (eg, \href{http://bugs.debian.org/570743}{\#570743})
- \item status caching
- \item reverse status lookup
- \item forcemerge does the right thing
+ \item Current Debbugs SQL Schema
\end{itemize}
\end{frame}
-
-\subsection{Affects}
-\begin{frame}{Affects}
+\subsubsection{dak SQL Design}
+\begin{frame}{dak SQL Schema}
+ \includegraphics[width=\textwidth,keepaspectratio]{figures/dak_schema.png}
\begin{itemize}
- \item Bugs in Package A causes problem in package B
- \item Reduce duplicates filed in package B by showing bug in package
- B's list
- \item \url{http://www.debian.org/Bugs/server-control\#affects}
- \item \texttt{bts affects 12345 foopkg;}
+ \item Inspiration taken from dak SQL Schema where appropriate
\end{itemize}
\end{frame}
-\begin{frame}{Affects: Implemented}
-% \includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{figures/affects}
-\end{frame}
-
-\subsection{Summary}
-
-\begin{frame}{Summary}
+\subsection{SQL Loading}
+\begin{frame}[fragile]{SQL Loading}
+ % SQL loading
\begin{itemize}
- \item Short indication of what the bug was about
- \item Long discussion, summarized into a single paragraph
- \item Extract the first non-control, non-psuedoheader, non-quoted
- paragraph from a nominated message
- \item \url{http://www.debian.org/Bugs/server-control\#summary}
- \item \texttt{bts summary 12345 30}
+ \item Load bugs
+\begin{lstlisting}[language=sh]
+debbugs-loadsql bugs;
+debbugs-loadsql bugs archive;
+\end{lstlisting}
+ \item Load Versioning information
+\begin{lstlisting}[language=sh]
+debbugs-loadsql versions;
+debbugs-loadsql debinfo;
+\end{lstlisting}
\end{itemize}
\end{frame}
-\begin{frame}{Summary: Implemented}
-% \includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{figures/summary}
+\subsection{SQL Working}
+\begin{frame}[fragile]{SQL Working}
+ % example SQL query
+\begin{lstlisting}[language=SQL]
+SELECT count(*) FROM bug
+WHERE last_modified > '2014-07-01'
+AND done IS NOT NULL
+AND owner IS NOT NULL;
+\end{lstlisting}
+\begin{visibleenv}<2>
+\begin{lstlisting}
+ count
+-------
+ 521
+\end{lstlisting}
+\end{onlyenv}
\end{frame}
-
-\subsection{Local Mirror}
-
-\begin{frame}{local-debbugs}
- \begin{itemize}
- \item Ability to run a full local copy of debbugs
- \item Select bugs interested in based on a configurable query
- \item By default selects unarchived bugs
- \begin{itemize}
- \item In maintained packages
- \item Correspondend with
- \item Submitted
- \item RC
- \end{itemize}
- \item Currently takes about 2G for me (most of which is indixes)
- \item Part of experimental debbugs package (in the archive)
- \end{itemize}
+\subsection{Work still needed for SQL}
+\begin{frame}
+\begin{itemize}
+\item Logfile loading (for full text searching)
+\item Status Caching (for faster page loading)
+\item Testing
+\item Deployment
+\end{itemize}
\end{frame}
-\begin{frame}{local-debbugs demo}
- \begin{itemize}
- \item Update mirror: \texttt{local-debbugs \--\--mirror}
- \item Start daemon: \texttt{local-debbugs \--\--daemon}
- \item See bug \#441151: \texttt{local-debbugs \--\--show 441151}
- \item See bugs in lilypond: \texttt{local-debbugs \--\--search lilypond}
- \item See critical bugs: \texttt{local-debbugs \--\--search severity:critical}
- \end{itemize}
-\end{frame}
+\section{New(ish) Features}
-\begin{frame}{local-debbugs issues}
+\subsection{New Changes}
+\begin{frame}{New Changes}
\begin{columns}
\column{0.5\textwidth}
\begin{itemize}
- \item Suboptimal missing bug handling
- \item Size of mirror large
- \item Could be faster to sync
- \item Needs better documentation
- \end{itemize}
+ \item mailto links (demo)
+ \item forcemerge does the right thing
+ \item control at submit time
+ \end{itemize}
\column{0.5\textwidth}
-% \includegraphics[width=\textwidth,keepaspectratio]{figures/happy_bug}
- \end{columns}
+ \includegraphics[width=\textwidth,keepaspectratio]{images/telegraph_bug}
+\end{columns}
\end{frame}
+\section{Future features}
-%\subsection{More SOAP}
-
-
-
-% \section{Tips and Tricks}
-% % - Tips and Tricks
-%
-% % - Full text search
-% \begin{frame}{Full Text Search}
-% \begin{itemize}
-% \item Using HyperEstraier
-% \item \url{http://bugs.debian.org/cgi-bin/search.cgi}
-% \item Searching for ``lp0 on fire''
-% \item Searching for memory leaks in iceweasel
-% \end{itemize}
-% \end{frame}
-%
-% % - Using the new options limits
-% \begin{frame}{CGI Options}
-% \begin{itemize}
-% \item Bugs in debbugs which aren't tagged pending or wontfix owned by me
-% \item Bugs in debbugs tagged help
-% \item Bugs in debbugs whose title mentions cgi
-% \end{itemize}
-% \end{frame}
-
-\begin{frame}{Silly Symbols}
- \begin{center}
- \begin{tabular}{c c c c}
- Merged & = & Fixed Versions & ☺ \\
- Blocked & ♙ & Blocks & ♔ \\
- Forwarded & ↝ & Archived & ♲ \\
- Affects & ☣ & wontfix & ☹ \\
- patch & + & moreinfo & M \\
- unreproducible & R & security & S \\
- pending & P & fixed & F \\
- help & H & fixed-upstream & U \\
- upstream & u & & \\
- \end{tabular}
-\end{center}
-\end{frame}
-
-% \begin{frame}{Silly Symbols}
-% \begin{center}
-% \begin{tabular}{c c c c}
-% Merged & = & Fixed Versions & \smiley \\
-% Blocked & \includegraphics[height=0.5cm,keepaspectratio]{figures/blocked} & Blocks & \includegraphics[height=0.5cm,keepaspectratio]{figures/blocks} \\
-% Forwarded & ↝ & Archived & \includegraphics[height=0.5cm,keepaspectratio]{figures/archived} \\
-% Affects & \includegraphics[height=0.5cm,keepaspectratio]{figures/affects_icon} & wontfix & \frownie \\
-% patch & + & moreinfo & M \\
-% unreproducible & R & security & S \\
-% pending & P & fixed & F \\
-% help & H & fixed-upstream & U \\
-% upstream & u & & \\
-% \end{tabular}
-% \end{center}
-% \end{frame}
-
-\section{Planned features}
\subsection{Status Caching}
\begin{frame}{Status Caching}
\end{itemize}
\end{frame}
-\begin{frame}{Planned features}
- \begin{itemize}
- \item<alert@2> Control Commands in Submit
- \item<3-> Mail to nnn@bugs.debian.org goes to submitter
- \item<4-> Uservalues
- \item<6-> b.d.o/libc6 $\rightarrow$ b.d.o/src:eglibc
- \begin{itemize}
- \item<6-> in future, make binary-only views more difficult to get (?)
- \end{itemize}
- \end{itemize}
-
- \definecolor{peach}{rgb}{1,0.9,0.7}
- \setbeamercolor{controlcmd}{fg=black,bg=peach}
- \begin{textblock}{6}(7,7)
- \begin{onlyenv}<2>
- \begin{beamercolorbox}[sep=1em,wd=5.5cm]{controlcmd}
- \begin{tabular}{l}
- To: submit@bugs.debian.org\\
- From: foo@example.com\\
- \\
- Package: blah\\
- Control: user foo@debian.org\\
- Control: usertag 0 bleargh\\
- Control: clone 0 -1\\
- Control: reassign -1 blah\\
- \end{tabular}
- \end{beamercolorbox}
- \end{onlyenv}
- \begin{onlyenv}<5>
- \begin{beamercolorbox}[sep=1em,wd=5.5cm]{controlcmd}
- \begin{tabular}{l}
- To: control@bugs.debian.org\\
- From: foo@example.com\\
- \\
- user foo@debian.org\\
- uservalue 12345 priority 30\\
- uservalue 12345 vcs-commit \textbackslash \\
- \ http://q.fr/b/r1432 \\
- uservalue 12345 difficulty 10\\
- \end{tabular}
- \end{beamercolorbox}
- \end{onlyenv}
- \end{textblock}
-\end{frame}
\begin{frame}{More planned features}
\begin{columns}
\item Usercategory duplication and replay
\item Remote Attachments
\item New Spool Storage Format
- \item Backend index using postgresql
\item Usertags visibility
\item Smarter CGI options
\end{itemize}
\column{0.5\textwidth}
-% \includegraphics[width=\textwidth,keepaspectratio]{figures/oh_hai_bug}
+ \includegraphics[width=\textwidth,keepaspectratio]{images/fixed_bug}
\end{columns}
\end{frame}
\begin{frame}{Statistics}
-% \begin{columns}
-% \column{0.5\textwidth}
-% \column{0.5\textwidth}
+ \begin{columns}
+ \column{0.5\textwidth}
\begin{itemize}
\item Track status changes over time
\item Bugs found/fixed/absent in stable/testing/unstable over time
\item Bug mail rates
\item Per package, severity, maintainer tracking of the above
\end{itemize}
+ \column{0.5\textwidth}
\begin{center}
-% \includegraphics[width=\textwidth,height=0.35\textheight,keepaspectratio]{figures/surprised_bugs_life}
+ \includegraphics[width=\textwidth,height=0.35\textheight,keepaspectratio]{images/bug}
\end{center}
-% \end{columns}
+ \end{columns}
\end{frame}
-\begin{frame}{Action Required Sorting}
- \begin{center}
- \begin{tabular}{c | c | c}
- & Care about & Don't care \\
- \hline
- \multirow{3}{*}{\begin{sideways}\parbox{12mm}{Triage}\end{sideways}} & No response & Active responses \\
- & Ancient found versions & found in multiple versions \\
- & Incomplete report & Complete report \\
- \hline
- \multirow{3}{*}{\begin{sideways}\parbox{12mm}{Maint.}\end{sideways}} & has a patch & pending/fixed \\
- & moreinfo+response & just moreinfo \\
- & high priority & wontfix \\
- \hline
- \multirow{3}{*}{\begin{sideways}\parbox{12mm}{Submit.}\end{sideways}} &
- moreinfo & moreinfo+response \\
- & mail from maintainer & no response \\
- & bug is fixed & bug isn't fixed \\
- \end{tabular}
- \end{center}
- \begin{itemize}
- \item Sorting by a combination of priority and action required
- \item Minimize time wasted finding a bug
- \item Maximize productivity
- \end{itemize}
- \end{frame}
-
-
-\subsection{Upstream and Downstream Integration}
-
-\begin{frame}
- \begin{itemize}
- \item Sharing state between upstream, downstream and sidestream
- \item Sharing comments between the same
- \item Distributed bug tracking
- \item Distributed version/commit tracking
- \end{itemize}
-\end{frame}
-
\section{Places you can help}
-\begin{frame}{\sout{5} \sout{6} 7 tasks seeking contributors}
+\begin{frame}{7 tasks seeking contributors}
\begin{itemize}
\item Documentation of Usercategories
\item Implementation of rss feeds for packages and bugs
\begin{itemize}
\item Upstream branches: \url{http://bugs.debian.org/debbugs-source/}
\begin{itemize}
- \item mainline (upstream debbugs): bzr clone \url{http://bugs.debian.org/debbugs-source/mainline}
- \item debian (debian branch): bzr clone \url{http://bugs.debian.org/debbugs-source/debian}
+ \item master (upstream debbugs): git clone \url{http://bugs.debian.org/debbugs-source/debbugs.git}
+ \item debian (debian branch): git clone -b debian \url{http://bugs.debian.org/debbugs-source/debbugs.git}
+ \item Checked out branches are also available at
+ \url{http://bugs.debian.org/debbugs-source/master} and
+ \url{http://bugs.debian.org/debbugs-source/debian}
\end{itemize}
-
- \item My branches: \url{http://bzr.donarmstrong.com/debbugs/branches}
+ \item My branches: \url{http://git.donarmstrong.com/debbugs.git}
\item Mailing list debian-debbugs@lists.debian.org
\item IRC \#debbugs or \#debian-bugs on irc.debian.org; I'm dondelelcaro
\end{itemize}
\end{frame}
-\begin{frame}{Setting up a BTS mirror for development}
- \begin{itemize}
- \item \url{http://svn.donarmstrong.com/don/trunk/projects/debbugs/local_mirror.sh}
- \begin{itemize}
- \item Set SPOOL and VERSIONS appropriately
- \item mkdir -p /path/to/spool/{db-h,archive} /path/to/versions;
- \item touch /path/to/spool/by-reverse.idx
- \end{itemize}
- \item \url{http://svn.donarmstrong.com/don/trunk/projects/debbugs/setup_config.sh}
- \begin{itemize}
- \item<2> Will exist suddenly (not there now)
- \end{itemize}
- \end{itemize}
-\end{frame}
-
-
-% - Tips and Tricks
-% - Full text search
-% - Using the new options limits
-% - Usertags
-% - Getting users to triage their bugs
-
-
-% * Overview of how the BTS works
-% o process, service
-% o web frontends
-% o soap, etc.
-% * New features
-% o user values
-% o action-required sorting (maintainer and submitter views)
-% + priority sorting (uservalue)
-% o merging of merged bug reports and threaded view
-% o control in messages to submit@ and nnn@
-% o usertag/uservalue/usercategory duplication/replay
-% o rss feeds for packages and bugs
-% o remote attachments
-% o new spool storage format
-% o better statistics
-% * Old features that may be unfamiliar
-% o fun with bts select
-% o full text searching with HE
-% o local-debbugs
-% * A bald plea for more assistance
-
-
-
-% Bugs the BoF
-%
-% Upcoming improvements:
-%
-% * control@ commands in submit
-% * status caching
-% * reverse status lookup
-% * forcemerge
-% * b.d.o/libc6 -> b.d.o/src:eglibc
-%
-%
-% Proposed To-do:
-%
-% * web-based mail submission
-% ** needed due to blocking of port 25
-%
-% * queue runs
-% ** cannot be synchronous
-% ** but may run queue on demand
-%
-% * per-arch buildd tags (or pseudopackages)
-%
-% * search by uploader
-%
-%
-% Other technical suggestions:
-%
-% * notification to blockees when blocking bugs are killed off
-% * documentation consistency? (e.g. reassign; could use clarification)
-% ** response: needs love; currently in WML
-%
-% Social Improvements:
-%
-% * Better statistics
-% ** Tells us:
-% *** What packagers need help
-% *** Which bug triagers should be recognized. Currently these people
-% receive no recognition; would like to encourage them to continue
-% this work.
-%
-% Discussion - whether mass-filed bugs should be included?
-%
-% * Common triager mistake: emailing the bug number instead of the submitter.
-% Don: Plan to address this via the reply list.
-%
-% Please configure mailing list subscriptions not to bounce/spam the owner.
-%
-% Q: Limit on size of attachments to BTS? ~200MB
-%
-% Idea: RFC exists that supports remote/offline attachments.
-%
-% How to perform debbugs development?
-% * see debbugs-local package
-% * can rsync the entire bugs database to local box
-% * apache configuration simple, mail setup somewhat more involved
-% * help: debbugs@l.d.o, #debbugs
-% * code is in bzr
-% ** see armstrong branches for work in progress
-%
-% How do you use the BTS?
-%
-% Problems:
-% * 200-300 open bugs: difficult to keep track of bugs already seen
-% * idea: improve documentation regarding user-tags/categorization features
-% * idea: display of possible set of user-tags via JavaScript - "make user-tags pretty"
-% * idea: user authention to allow management of tags
-%
-% * switch index from flat-files to Postgres; borrow from UDD
-%
-% Q: Complaints regarding email addresses on webpage. Should we obfuscate these?
-% ** Is there any hard data on which types of obfuscation work?
-% ** Can we blackhole robots? Use a honeypot? Issue is that bugs are
-% archives to the ML. Discussion around configuration on Ian Jackson's
-% site.
-%
-% Q: List of needs for new debbugs contributors?
-% * See how to help on the wiki.
-%
-% Q: Can you get a list of user-tags for an email address w/out the bug reports?
-% * Should be pretty easy. May be a patch for comand-line 'bts' tool in devscripts.
-%
-% What's next?
-%
-% Slides: http://svn/donarmstrong.com/don/trunk/projects/debian/debconf10/bugs_the_bof/
-% Contact Don with questions.
-%
-%
-% For spam questions, reach out to Blars Blarson
-
\begin{frame}{The Debbugs Team}
\begin{itemize}
\item Current team
\end{itemize}
\end{frame}
-\begin{frame}
+\begin{frame}{Where I'm Headed Next}
\includegraphics[width=0.8\textwidth,height=0.8\textheight,keepaspectratio]{images/don_at_burning_man.jpg}
\end{frame}