<!DOCTYPE HTML PUBLIC "-//FreeBSD//DTD HTML 4.01 Transitional-Based Extension//EN" [
<!ENTITY base CDATA "../..">
<!ENTITY email 'freebsd-qa'>
<!ENTITY date "$FreeBSD$ ">
<!ENTITY title "FreeBSD 4.5 Release Process">
<!ENTITY % navinclude.download "INCLUDE">
]>

<html>
&header;

<h1>Introduction</h1>

<p>The release engineering team (<a
  href="mailto:re@FreeBSD.org">re@FreeBSD.org</a>) for FreeBSD 4.5
  consists of Murray Stokely, Steve Price, Robert Watson, and John
  Baldwin.

<p>The x86 build team consists of Murray Stokely and John Baldwin.</p>

<p>The Alpha build team consists of David O'Brien, Wilko Bulte, John
  Baldwin, and Murray Stokely.</p>

<p>The third-party packages are handled by Steve Price and the Ports
  managers (<a
  href="mailto:portmgr@FreeBSD.org">portmgr@FreeBSD.org</a>).</p>

<p>General discussions about the release engineering process or
  quality assurance issues should be sent to the public <a
  href="mailto:freebsd-qa@FreeBSD.org">freebsd-qa</a> mailing list.
  MFC requests should be sent to <a
  href="mailto:re@FreeBSD.org">re@FreeBSD.org</a>.</p>

<p>For an overview of the entire release engineering process, please
  see <a
  href="&base;/doc/en_US.ISO8859-1/articles/releng/article.html">this
  document</a>.</p>

<h1>Schedule</h1>

<table class="tblbasic">
  <tr><td>Action</td><td>Expected</td><td>Actual</td><td>Description</td>
      </tr>
  <tr>
    <td>Reminder announcement</td><td>01 Dec 2001</td><td>03 Dec 2001</td>
    <td>Release Engineers send announcement email to
      developers@FreeBSD.org with a rough schedule for the FreeBSD 4.5
      release.</td>
  </tr>
  <tr>
    <td><tt>4.5-PRERELEASE</tt></td>
    <td>20 Dec 2001</td>
    <td>20 Dec 2001</td>
    <td><tt>newvers.sh</tt>, <tt>param.h</tt>, and <tt>release.ent</tt> updated.</td>
  </tr>
  <tr>
    <td>FTP site updated</td>
    <td>20 Dec 2001</td>
    <td>20 Dec 2001</td>
    <td><tt>pkg_add -r</tt> works for <tt>4.5-PRERELEASE</tt> machines.</td>
  </tr>
  <tr>
    <td>Code freeze begins</td>
    <td>20 Dec 2001</td>
    <td>20 Dec 2001</td>

    <td>After this date, all commits to the <tt>RELENG_4</tt> branch
      must be approved by <a
      href="mailto:re@FreeBSD.org">re@FreeBSD.org</a>.  Certain highly
      active documentation committers are exempt from this rule for
      routine man page / release note updates.  Heads-up emails
      should be sent to the developers@, stable@, and qa@ lists.</td>
  </tr>

  <tr>
    <td>Commercial software demos updated.</td>
    <td>05 Jan 2002</td>
    <td>24 Jan 2002</td>
    <td>The second disc contains commercial software demos, these
      demos should be updated to contain the latest versions.</td>
  </tr>

  <tr>
    <td><tt>4.5-RC</tt></td>
    <td>09 Jan 2002</td>
    <td>09 Jan 2002</td>
    <td><tt>newvers.sh</tt> and <tt>release.ent</tt> updated.</td>
  </tr>

  <tr>
    <td>Announce the Ports Freeze</td>
    <td>09 Jan 2002</td>
    <td>09 Jan 2002</td>
    <td>Someone from <tt>portmgr</tt> should email
    <tt>freebsd-ports@</tt> and CC: <tt>developers@</tt> to set a date
    for the tagging of the ports tree.  Will set this date at January
    22nd.</td>
  </tr>

  <tr>
    <td>Heads up to hubs</td>
    <td>09 Jan 2002</td>
    <td>09 Jan 2002</td>
    <td>A message should be sent to
      <tt>freebsd-hubs@FreeBSD.org</tt> before the release is uploaded.  The
      site administrators have frequently requested advance notice for
      new ISOs.</td>
  </tr>
    
  <tr>
    <td>First release candidate</td>
    <td>09 Jan 2002</td>
    <td>09 Jan 2002</td>
    <td>The first release candidate for the x86 and Alpha architecture is
      released.  ISO images should be uploaded to
      <tt>ftp-master.FreeBSD.org</tt> and
    <tt>releng4.FreeBSD.org</tt>.  A network install directory should
    be uploaded to <tt>ftp-master.FreeBSD.org</tt>.  The
    <tt>packages</tt> and <tt>XF86336</tt> directories may be
    symlinked to save space, as long as you're sure to use
    <em>relative</em> symlinks.  
  </tr>

  <tr>
    <td>Heads up to -stable</td>
    <td>09 Jan 2002</td>
    <td>09 Jan 2002</td>
    <td>A message should be sent to <tt>qa@FreeBSD.org</tt> and
    <tt>stable@FreeBSD.org</tt> after the release is uploaded.</td>
  </tr>

  <tr>
    <td>Second release candidate</td>
    <td>?? Jan 2002</td>
    <td>18 Jan 2002</td>
    <td>Note: the release date of this candidate depends on the user
    experience with RC1.</td>
  </tr>

  <tr>
    <td>Third release candidate</td>
    <td>23 Jan 2002</td>
    <td>24 Jan 2002</td>
    <td>4.5 RC3 for the x86 and Alpha architectures will be made
    available from <tt>ftp.FreeBSD.org</tt> and the mirrors.</td>
  </tr>

  <tr>
    <td>Ports tree frozen.</td>
    <td>22 Jan 2002</td>
    <td>22 Jan 2002</td>
    <td><tt>CVSROOT/avail</tt> locks out everyone but the person who
      does the tagging.  It will take approximately 2 hours to tag the
      entire ports tree with the <tt>RELEASE_4_5_0</tt> tag.  After
      this time, the ports/ tree will be re-opened for commits, but
      commits made after tagging will not go in 4.5-RELEASE.</td>
  </tr>

  <tr>
    <td>Final package build starts
    <td>22 Jan 2002</td>
    <td>22 Jan 2002</td>
    <td>The ports cluster and <a href="http://bento.FreeBSD.org">bento</a>
    build final packages.</td>
  </tr>

  <tr>
    <td>Package split</td>
    <td>23 Jan 2002</td>
    <td>29 Jan 2002</td>
    <td>The packages must be split so that packages with similar
      dependencies appear on each of the four discs, with the most
      popular packages appearing on the first disc.</td>
  </tr>
  <tr>
    <td>doc tree tagged.</td>
    <td>24 Jan 2002</td>
    <td>24 Jan 2002</td>
    <td><tt>RELEASE_4_5_0</tt> tag for docs.</td>
  </tr>
  <tr>
    <td><tt>RELENG_4_5</tt> branch</td>
    <td>25 Jan 2002</td>
    <td>26 Jan 2002</td>
    <td>The release branch is created.</td>
  </tr>

  <tr>
    <td>Note to freebsd-stable@</td>
    <td>25 Jan 2002</td>
    <td>26 Jan 2002</td>
    <td>A note should be sent to the freebsd-stable to let
    over-anxious users know that the tags have been created but the
    release still isn't ready.  Tags may be slid before the
    announcement goes out.  Point users to freebsd-qa@ for
    details.</td>
  </tr>

  <tr>
    <td>Version numbers bumped.</td>
    <td>25 Jan 2002</td>
    <td>25 Jan 2002</td>
    <td>The files listed <a
    href="releng.html#versionbump">here</a>
    are updated to reflect the fact that this is FreeBSD 4.5.</td>
  </tr>
  <tr>
    <td>src tree tagged.</td>
    <td>27 Jan 2002</td>
    <td>27 Jan 2002</td>
    <td><tt>RELEASE_4_5_0_RELEASE</tt> tag for src.</td>
  </tr>

  <tr>
    <td>Update man.cgi on the website.</td>
    <td>25 Jan 2002</td>
    <td>--</td>
    <td>Make sure the 4.5 manual pages are being displayed by default
    for the man->web gateway.</td>
  </tr>

  <tr>
    <td>Archive the errata for FreeBSD 4.4.</td>
    <td>25 Jan 2002</td>
    <td>25 Jan 2002</td>
    <td>The new RELNOTESng errata file should be setup, and the old
    errata file archived.</td>
  </tr>

  <tr>
    <td>Final builds.</td>
    <td>28 Jan 2002</td>
    <td>28 Jan 2002</td>
    <td>Final builds for x86 and Alpha in a pristine environment.</td>
  </tr>

  <tr>
    <td>Warn <tt>hubs@FreeBSD.org</tt></td>
    <td>28 Jan 2002</td>
    <td>28 Jan 2002</td>
    <td>Heads up email to <a
    href="mailto:hubs@FreeBSD.org">hubs@FreeBSD.org</a> to give admins
    time to prepare for the load spike to come.</td>
  </tr>

  <tr>
    <td>Upload to <Tt>ftp-master</tt>.</td>
    <td>28 Jan 2002</td>
    <td>28 Jan 2002</td>
    <td>release and packages uploaded to <tt>ftp-master.FreeBSD.org</tt></td>
  </tr>

  <tr>
    <td>Announcement</td>
    <td>28 Jan 2002</td>
    <td>29 Jan 2002</td>
    <td>Announcement sent out after a majority of the mirrors have
    received the bits.</td>
  </tr>
</table>

<p>It's been pointed out that this table is rather boring. Bruce Mah
  gave a slightly more interesting rendition of the <a
  href="http://docs.FreeBSD.org/cgi/getmsg.cgi?fetch=739618+0+archive/2001/freebsd-chat/20011223.freebsd-chat">12
  days of Code-Freeze</a>.</p>

    &footer;

  </body>
</html>
