From: Don Armstrong Date: Sun, 24 Aug 2014 17:59:07 +0000 (-0700) Subject: more work on talk X-Git-Url: https://git.donarmstrong.com/?p=debbugs-presentations.git;a=commitdiff_plain;h=2d9fe9c343e81b0e124f90d6196d567335a0c009 more work on talk --- diff --git a/debconf14/debbugs.Rnw b/debconf14/debbugs.Rnw index 3c8d506..4cf9a01 100644 --- a/debconf14/debbugs.Rnw +++ b/debconf14/debbugs.Rnw @@ -36,6 +36,7 @@ \usepackage{nameref} \usepackage{ulem} \usepackage{zref-xr,zref-user} +\usepackage{listings} \newenvironment{narrow}[2]{% \begin{list}{}{% @@ -297,162 +298,83 @@ print(ggplot(rc.bugs.long[rc.bugs.long$date > \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} @@ -467,50 +389,6 @@ print(ggplot(rc.bugs.long[rc.bugs.long$date > \end{itemize} \end{frame} -\begin{frame}{Planned features} - \begin{itemize} - \item 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} @@ -521,19 +399,17 @@ print(ggplot(rc.bugs.long[rc.bugs.long$date > \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 @@ -542,55 +418,18 @@ print(ggplot(rc.bugs.long[rc.bugs.long$date > \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 @@ -607,151 +446,18 @@ print(ggplot(rc.bugs.long[rc.bugs.long$date > \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 @@ -771,7 +477,7 @@ print(ggplot(rc.bugs.long[rc.bugs.long$date > \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}