<?xml-stylesheet href="gen.xsl" type="text/xsl"?>
<slideshow title="Debian Release Management" background="logo-50.jpg" background-position="bottom right" logo="logo-50.jpg">

  <slide title="Debian Release Management">
    
    <center>
      <br/><br/>
      <b> <font size="22">Fosdem 2005</font> </b> <br/>
      Andi Barth &lt;aba@not.so.argh.org&gt;
      <p/>
    </center>
    
  </slide>

  <slide title="Basics about distributions">
    <ul>
      <li>Packages are usually uploaded to unstable</li>
      <li>They enter testing after some rough testing</li>
      <li>Testing is declared stable from time to time (release)</li>
	<li>Experimental for packages not suitable for next release</li>
    </ul>
  </slide>

<slide title="Release Management">
<ul>
<li>Ensure testing meets the release targets</li>
<li>Ensure testing is not broken</li>
<li>Keep the strings together (large packages, base packages, kernel, toolchain, ftp scripts, installer, ...)</li>
<li>Collect and distribute informations</li>
</ul>
</slide>

<slide title="Release Team">
<ul>
<li>Release Managers: Steve Langsak (vorlon), Collin Watson (Kamion)</li>	
<li>Release Assistents: Joey Hess (joeyh), Frank Lichtenheld (djpig), Andi Barth (aba)</li>
<li>"Role Account": debian-release@lists.debian.org</li>
<li>http://release.debian.org/</li>
</ul>
</slide>

<slide title="Tools">
<ul>
<li>Testing migration: britney</li>
<li>Release critical bugs: http://bugs.debian.org/release-critical and
http://bts.turmzimmer.net/details.php</li>
<li>Security status: http://merkel.debian.org/~joeyh/...</li>
<li>Lots of "normal" tools like madison, grep-dctrl, debdiff</li>
</ul>
</slide>

<slide title="britney / testing migration">
<ul>
<li>Packages are considered first after 2, 5 or 10 days</li>
<li>Packages must be in sync on all archs</li>
<li>Packages must have not more release critical bugs</li>
<li>Packages must not break any packages currently in testing,
except if packages has a newer version also going in</li>
</ul>
</slide>

<slide title="britney / migration from testing-proposed-updates">
<ul>
<li>Packages need to be approved</li>
<li>Packages must not break any packages currently in testing,
except if packages has a newer version also going in</li>
</ul>
</slide>

<slide title="britney / technical overview I">
<ul>
<li>Main part is update_out, a python-script including c-code</li>
<li>update_out starts with Packages lists, and returns a list for heidi</li>
<li>heidi is called to update the tag database ("commits results")</li>
<li>The tag database is used to generate Packages on the next cron.daily run ("dinstall run")</li>
</ul>
</slide>

<slide title="britney / technical overview II">
<ul>
<li>Britneys results can by modified by hints</li>
<li>Britney consists of two parts:<ul>
 <li>update excuses (out-of-sync, too young, RC-bugs, freeze, ...)</li>
 <li>update output (breaks other packages)</li>
</ul></li>
<li>Britney is run shortly after cron.daily on ftp-master</li>
</ul>
</slide>

<slide title="britney hints">
<ul>
<li>Remove packages</li>
<li>(un)block packages</li>
<li>Force packages</li>
<li>Allow packages with cyclic dependencies to enter testing</li>
</ul>
</slide>

<slide title="Release Standards">
<ul>
<li>No critical or grave bugs (makes the package or system unusable, or introduces a security hole)</li>
<li>Releaseable from the maintainer point of view</li>
<li>Canonical list of further issues at release.debian.org (autobuildable, ...)</li>
</ul>
</slide>

<slide title="Release Management">
<ul>
<li>Make sure <strong>all</strong> release critical issues are handled prior to release</li>
<li>Any changes in testing must not push us back</li>
<li>Get wise of the release blockers and tackle them</li>
</ul>
</slide>

<slide title="Release Management - kernel packages">
<ul>
<li>Woody has 11 different kernel source packages - a mess for security updates</li>
<li>There was a time where sarge had 17 different kernel source packages</li>
<li>Through tracking and freezing of packages, sarge has now only 3 different source packages
(one per 2.2, 2.4 and 2.6)</li>
<li>This defined state also makes installer builds easier</li>
<li>Current problem: we lack maintainers for arm and sparc - turnaround time for security
issues is 2 months!</li>
</ul>
</slide>

<slide title="Release Management - Gnome 2.8 upload">
<ul>
<li>Gnome 2.8 was uploaded first into experimental</li>
<li>After building on all archs, and futher testing, Gnome 2.8 was accepted for upload into
unstable</li>
<li>Extremly smooth transition</li>
<li>Most of the hard work done by the maintainers</li>
</ul>
</slide>

<slide title="Release Management - Transition issues I">
<ul>
<li>Sometimes, packages stuck together for testing migration</li>
<li>Extremly bad in combination with buildd issues and library shlib bumps</li>
<li>Lagging buildds create new dependencies on newer libs - longer waiting time</li>
<li>Current example: gtk+2.0 - buildds run out of space, xfree86 harms buildd chroots,
the transition is getting larger and larger</li>
</ul>
</slide>

<slide title="Release Management - Transition issues II">
<ul>
<li>Strategy: Get wise of the issues soon, use all tools to avoid it, in worst case do
binary-only NMUs - and coordinate in time with buildd maintainers and ftp-masters</li>
<li>Never upload a package into unstable that's not meant for testing!</li>
<li>Maintainer should look at their package status before another upload</li>
</ul>
</slide>


<slide title="Information for all developers">
<ul>
<li>Release Updates - at least once a month</li>
<li>http://release.debian.org/</li>
</ul>
</slide>

<slide title="Release Management - Blockers for sarge">
<ul>
<li>debian-installer RC 3: needs just time</li>
<li>Security support: needs updates of buildds and some related issues</li>
<li>Some small issues (upgrade kernels, ...)</li>
<li>About 100 Release Critical bugs: needs help - anyone can help</li>
<li>We are heading for release - support us!</li>
</ul>
</slide>

</slideshow>
