]> git.decadent.org.uk Git - dak.git/blob - docs/talks/DebConf9/ftpmaster.tex
Merge remote-tracking branch 'drkranz/cruft' into merge
[dak.git] / docs / talks / DebConf9 / ftpmaster.tex
1 \documentclass{beamer}
2 %\documentclass[draft]{beamer}
3
4 \usepackage[german]{babel}
5 \usepackage[latin1]{inputenc}
6 \usepackage{times}
7 \usepackage[T1]{fontenc}
8 \usepackage{url}
9
10 \mode<presentation>{
11   \usetheme{Madrid}
12   \hypersetup{pdfpagemode=FullScreen}
13   \usecolortheme{albatross}
14   \useinnertheme[shadow]{rounded}
15   \usefonttheme{serif}
16   \usefonttheme{structurebold}
17 % \beamerdefaultoverlayspecification{<+-| alert@+>}
18 %  \setbeamercovered{transparent}
19 }
20
21 \title[FTPTeam]{The Debian FTP Team}
22 \subtitle{Masters, Assistants, Trainees \\ \alert{Motto: Fuck it! What could possibly go wrong?}}
23
24 \author[Joerg Jaspert]{Joerg Jaspert \\ \texttt{joerg@debian.org}}
25 \date{Cáceres, July 2009}
26
27 \institute[DebConf9]{Debian Conference 2009}
28
29 % \AtBeginSection[]
30 % {
31 %   \begin{frame}<beamer>{Outline}
32 %     \tableofcontents[currentsection] %,currentsubsection]
33 %   \end{frame}
34 % }
35
36
37 \begin{document}
38
39 \setbeamertemplate{navigation symbols}{}
40 {\setbeamertemplate{background}{\includegraphics[width=\paperwidth]{background.jpg}}
41
42 \begin{frame}
43   \titlepage
44 \end{frame}
45
46 \begin{frame}[allowframebreaks,allowdisplaybreaks]{Outline}
47 \tiny
48   \tableofcontents
49 \end{frame}
50
51 \section{History}
52 \subsection{Software / Hosting}
53 \begin{frame}{History - Scripts}{\alert{Motto: Fuck it! What could possibly go wrong?}}
54   \begin{itemize}
55   \item Ian Murdock/Jackson makeshift scripts
56   \item Monolithic perl dinstall written by Guy Maor
57     \begin{itemize}
58     \item Not exactly secure: upload, shipit
59     \item Not even using PGP either.
60     \end{itemize}
61   \item Katie: a rewrite in python. Known as DAK.
62   \end{itemize}
63 \end{frame}
64
65 \begin{frame}{History - Hosting}{\alert{Oh fuck, what just went wrong?}}
66   \begin{itemize}
67   \item Under a desk @ cmich.edu
68   \item First master.d.o by Bdale @ HP
69
70 {\tiny It was an HP Vectra 486 tower system with 66mhz CPU upgrade, an
71   Adaptec 1740A EISA SCSI controller and two disk drives.  A 330Mb
72   root disk and a 660Mb disk to hold the archive.  Both were 5.25"
73   full-height drives.  All the pieces came off pallets of materials
74   heading out for scrap. Before it left Bdale the archive disk got
75   swapped out for a 1.3Gb drive, also 5.25" full height scsi and a
76   cast-off heading for scrap.
77
78   The first machine to host .debian.org using Debian.}
79
80 \pause
81
82   \item Moved to I-Connect
83   \item Then to Novare for several years
84   \item Then to Visi.Net, as 'ftp-master.d.o'
85   \item Relocated to above.net
86   \item Then to the HP DC in Ft. Collins
87   \item Currently at Brown.edu
88   \end{itemize}
89
90 \end{frame}
91
92
93 \subsection{Archive}
94 \begin{frame}{History - Archive}{\alert{That guy impressed me and I am not easily impressed. Wow. BLUE Hair }}
95   \begin{itemize}
96     \item Architectures / Releases:
97       \begin{description}
98         \item[Bo] 1: i386
99         \item[Hamm] 2: + m68k
100         \item[Slink] 4: + sparc, alpha
101         \item[Potato] 6: + powerpc, arm
102         \item[Woody] 11: + mips, mipsel, hppa, ia64, s390
103         \item[Sarge] 11 (unofficial amd64 release)
104         \item[Etch] 11: + amd64, - m68k (there is a semi-official etch-m68k release)
105         \item[Lenny] 12: + armel
106         \item[Squeeze] ?: + kfreebsd-i386, kfreebsd-amd64, - arm, ...
107       \end{description}
108
109     \item  Proposed Architectures:
110       \begin{itemize}
111       \item avr32
112       \item sh\{3,4\}
113       \end{itemize}
114     \end{itemize}
115 \end{frame}
116
117 \begin{frame}{History - Archive size}{\alert{Ganneff - if it goes wrong, we make it ``Fuck it what do we care?'', but dont tell anyone.}}
118   \begin{itemize}
119   \item Releases:
120     \begin{description}
121     \item[Buzz] 229Mb
122     \item[Rex] 306Mb
123     \item[Bo] 1.2Gb
124     \item[Hamm] 2.1Gb
125     \item[Slink] 4.1Gb
126     \item[Potato] 6.7Gb
127     \item[Woody] 27Gb
128     \item[Sarge] 57Gb
129     \item[Etch] 82Gb
130     \item[Lenny] 125Gb
131     \item[squeeze+X] 1Tb?
132     \end{description}
133
134 \pause
135
136   \item Daily pushes:
137     \begin{description}
138     \item[2005] 200Mb up to 2Gb, average 1Gb. Once a day.
139     \item[2009] 1Gb up to 6Gb, average 2Gb. 4 times a day.
140     \end{description}
141   \end{itemize}
142 \end{frame}
143
144 \subsection{Team}
145 \begin{frame}{History - Team}{\alert{sgran - the world B.G. (Before Ganneff)}}
146   \begin{itemize}
147   \item Ian Murdock
148   \item + later Ian Jackson, Bruce Perens, Bdale Garbee
149   \item Guy Maor takes over (moved to dinstall) [somewhere 1995/1996]
150   \item Richard Braakman and James Troup push in [July 1998] % <elmo> so 1998-07-09, looks like a good date for Richard + Me
151   \item James recruits Antti-Juhani Kaijanaho and Gergely Madarasz [Dec 1999]
152   \item Michael Beattie tricks his way in [August 2000]
153   \item Richard becomes inactive [August 2000]
154   \item Work on katie starts (named da-katie) [2000]
155   \item Anthony Towns joins [January 2001]
156   \item Guy becomes inactive [February 2001]
157   \item Ryan Murray is added [June 2001]
158   \item Randall Donald joins [November 2001]
159   \item Daniel Silverstone follows [August 2003]
160   \end{itemize}
161 \end{frame}
162
163 % Help from elmo for the dates:
164
165 % From: Guy Maor <maor@debian.org>
166 % Subject: Re: ftpmaster-y stuff
167 % To: James Troup <james@nocrew.org>
168 % Date: 21 Nov 1999 17:03:08 -0800
169
170 % James Troup <james@nocrew.org> writes:
171
172 % > I've started being a bit pro-active with ftpmaster stuff, e.g. getting
173 % > Gorgo and Ibid on board and announcing it and stuff.  I'm doing this
174 % > on the basis that, you don't mind, and if you did you'd say.  Of
175 % > course this fails a bit miserably if you don't [say, that is], so
176 % > please do tell me if I'm overstepping my bounds...
177
178 % I trust you and Richard completely with the ftpmaster stuff.  You have
179 % the authority to do anything as far as I'm concerned.
180
181 % ------------------------------------------------------------------------
182
183 % Guy
184
185 % From: Richard Braakman <dark@xs4all.nl>
186 % Subject: Re: New ftpmaster (?) Michael Beattie (aka Omnic)
187 % To: James Troup <james@nocrew.org>
188 % Date: Wed, 16 Aug 2000 13:27:29 +0200
189
190 % On Sun, Aug 06, 2000 at 10:29:27PM +0100, James Troup wrote:
191 % > person... Omnic is excessively keen and seems to have lots of free
192 % > time... unless you have any objections? I'll ask him to join the team
193 % > in a couple of days.
194
195 % No.  In fact I'm almost writing my retirement notice now -- I'm just working
196 % through the current pile of mail before sending anything.
197
198
199 \begin{frame}{History - Team}{\alert{mhy - commit it (RE: team motto)}}
200   \begin{itemize}
201   \item Team restructured, Assistants role added [March 2005]
202   \item Joerg Jaspert and Jeroen van Wolffelaar join as Assistants [March 2005]
203   \item Kalle Kivimaa and Thomas Viehmann join as Assistants [February 2008]
204   \item Joerg Jaspert promoted to FTP Master [April 2008]
205   \item Anthony Towns and James Troup leave [April/May 2008]
206   \item Mark Hymers joins as Assistant [July 2008]
207   \item Frank Lichtenheld joins as Assistant [December 2008]
208   \item Thomas Viehmann resigned [December 2008]
209   \item Mike O'Connor joins as Assistant [January 2009]
210   \item Ryan Murray becomes inactive and leaves [March 2009]
211   \item Mark Hymers promoted to FTP Master [March 2009]
212   \item Kalle Kivimaa leaves [July 2009]
213   \end{itemize}
214 \end{frame}
215
216 \subsection{Present}
217 \begin{frame}{The Team}{\alert{Me fail English? That's unpossible.}}
218   FTP Masters
219   \begin{itemize}
220   \item Joerg Jaspert - Ganneff
221   \item Mark Hymers - mhy
222   \end{itemize}
223
224   FTP Assistants
225   \begin{itemize}
226   \item Frank Lichtenheld - djpig
227   \item Mike O'Connor - stew
228   \end{itemize}
229
230   FTP Trainee
231   \begin{itemize}
232   \item Barry deFreese - bdefreese
233   \item You?!
234   \end{itemize}
235
236   Since April 2008 we almost always had people in the FTP Trainee role.
237 \end{frame}
238
239 \section{The roles}
240 \subsection{FTP Master}
241 \begin{frame}{FTP Master}{\alert{Don't you kids take anything. I'm watching you. I've got eye implants in the back of my head.}}
242 The FTP Master role, unix group \alert{debadmin}, is ...
243  \begin{block}{(Lets cite Matthew Garrett)}
244    ... responsible for maintaining the infrastructure
245    required to support the archive. This takes the form of the scripts used
246    for processing uploaded packages, but also the flow of packages between
247    distributions.
248  \end{block}
249  \begin{itemize}
250  \item Keep the archive running
251  \item Keep the archive legal
252  \item Support the teams that depend on it (Release, Security, soon backports/volatile)
253  \item Keep the archive uptodate with the requirements of the project
254  \end{itemize}
255 \end{frame}
256
257 \subsection{FTP Assistant}
258 \begin{frame}{FTP Assistant}{\alert{Ganneff - see topic. our motto. yeah.}}
259 The FTP Assistant role, group \alert{ftpteam}, created 2005, allows
260 additions of people to the FTP Team without having to hand out full FTP
261 Master rights.
262
263 It allows
264 \begin{itemize}
265 \item to process NEW,
266 \item to handle overrides,
267 \item to remove packages.
268 \end{itemize}
269
270 Thus the most common actions can be done but the possible damage that
271 can happen by accident is limited.
272 \end{frame}
273
274 \subsection{FTP Trainee}
275 \begin{frame}{FTP Trainee}{\alert{Kids, you tried your best and you failed miserably. The lesson is, never try. \tiny \\ Hello i18n cabal. :)}}
276 The FTP Trainee role, group \alert{ftptrainee}, was created in 2008 to
277 allow easy training and testing of future team members.
278
279 \begin{itemize}
280 \item Initially called ``slave\_NEW''
281
282 \pause
283
284 \item 6 people trained so far
285 \item 2 promoted to Assistants
286 \end{itemize}
287
288 Trainees can look at NEW and do the usual package checks, but they can
289 not actually accept or reject a package. Instead they leave a note,
290 which an Assistant or Master reads and acts on.
291 \end{frame}
292
293 \section{The job}
294 \subsection{Archives}
295 \begin{frame}{Archives}{\alert{You can't keep blaming yourself. Just blame yourself once, and move on.}}
296   \begin{itemize}
297   \item The main archive, ftp.debian.org
298   \item The security archive, security.debian.org
299   \item (Soon) The volatile archive, volatile.debian.org (integrated
300     into main archive)
301   \item (Soon) The backports.org archive, www.backports.org (-> backports.debian.org)
302   \end{itemize}
303 \end{frame}
304
305 \subsection{Removals and Overrides}
306 \begin{frame}{Removals and Overrides}{\alert{mhy - I was upset to discover (via grepping my logs) that I actually said that quote in one of the subtitles verbatim}}
307   \begin{itemize}
308   \item Removals
309     \begin{itemize}
310     \item (Semi)-Automagic via cruft-report
311     \item Manual, with help from a nice html page
312     \end{itemize}
313   \item Overrides
314     \begin{itemize}
315     \item Priority / Section
316     \item Override disparity
317     \item Currently by mail, should be changed to using BTS
318     \end{itemize}
319   \end{itemize}
320 \end{frame}
321
322 \subsection{NEW}
323 \begin{frame}{NEW}{\alert{mhy - Ganneff airlines: departing from a window near you}}
324
325 NEW checking is about three things. In order of priority:
326 \begin{itemize}
327 \item trying to keep the archive legal,
328 \item trying to keep the package namespace sane,
329 \item trying to reduce the number of bugs in Debian.
330 \end{itemize}
331
332 A small list of most common checks
333 \begin{itemize}
334 \item Check the source for license problems
335   \begin{itemize}
336   \item incompatibility
337   \item non-free license terms
338   \end{itemize}
339 \item (sane) package renames / splits
340 \item Policy violation
341 \item source for everything included?
342 \item ...
343 \end{itemize}
344 \end{frame}
345
346 \subsection{Code}
347 \begin{frame}{Code}{\alert{Oh, so they have Internet on computers now!}}
348 git clone https://ftp-master.debian.org/git/dak.git
349
350 \begin{itemize}
351 \item Python
352 \item and some Shell
353 \item and some Perl
354 \item at least 9 years old
355 \item at minimum 40 different authors
356 \end{itemize}
357 \end{frame}
358
359 \section{How to help / join}
360
361 \subsection{QA Team}
362 \begin{frame}{Join the Army, err, QA Team}{\alert{mhy - oh god. Ganneff has been on TV? I'm surprised the sets didn't all explode}}
363   \begin{itemize}
364   \item Do QA work
365   \item File removal bugs for unmaintained, outdated or otherwise no longer needed packages
366   \end{itemize}
367 \end{frame}
368
369 \subsection{Bug triage}
370 \begin{frame}{Bug triage}{\alert{I am so smart! I am so smart! S-M-R-T! I mean S-M-A-R-T...}}
371   \begin{itemize}
372   \item Retitle bugs to fit our removal format
373   \item Close bugs that don't apply (anymore)
374   \item Make sure removals can happen (rev-deps anyone?)
375   \end{itemize}
376 \end{frame}
377
378 \subsection{Write Code}
379 \begin{frame}{Write Code}{\alert{I'm normally not a praying man, but if you're up there, please save me Superman.}}
380
381 \end{frame}
382
383 \subsection{Join the team}
384 \begin{frame}{Join the team}{\alert{Hi, my name's Moe. Or as the ladies like to refer to me, 'hey you in the bushes'}}
385 Join us. Mail \href{mailto:ftpmaster@debian.org}{ftpmaster@debian.org}.
386
387 Join us. Mail \href{mailto:ftpmaster@debian.org}{ftpmaster@debian.org}.
388
389 Join us. Mail \href{mailto:ftpmaster@debian.org}{ftpmaster@debian.org}.
390
391 Join us. Mail \href{mailto:ftpmaster@debian.org}{ftpmaster@debian.org} NOW.
392 \end{frame}
393
394 \section{Final}
395
396 \subsection{The future}
397 \begin{frame}{The future}{\alert{Facts are meaningless. You could use facts to prove anything that's even remotely true!}}
398   \begin{itemize}
399   \item Replace database code in dak with sqlalchemy
400   \item source v3
401   \item Split long description out of Packages files, make it nothing
402     than another translation
403   \item debtags integration, sections death
404   \item tdebs
405   \item ddebs
406   \item lintian autorejects
407   \item autosigning
408   \item binary throw away
409   \item ...
410   \end{itemize}
411 \end{frame}
412
413
414 \begin{frame}{Thank you for sleeping through this talk}{\alert{Ganneff - (trust full, when had i been that drunk?)}}
415   \begin{center}
416   Joerg Jaspert \\
417   \href{mailto:ftpmaster@debian.org}{ftpmaster@debian.org}
418
419   \href{http://ftp-master.debian.org/}{http://ftp-master.debian.org/}
420
421   \href{https://ftp-master.debian.org/git/dak.git}{https://ftp-master.debian.org/git/dak.git}
422
423
424
425   \vfill
426
427
428   \end{center}
429 \end{frame}
430
431
432 \end{document}