Diff for /wikisrc/releng/release-prep.mdwn between versions 1.1 and 1.2

version 1.1, 2013/03/16 22:24:27 version 1.2, 2013/03/16 22:49:38
Line 4  This file contains various information a Line 4  This file contains various information a
   
 Creating a branch:  Creating a branch:
   
    cvs rtag -a netbsd-5-base xsrc src          cvs rtag -a netbsd-5-base xsrc src
    cvs rtag -a -b -rnetbsd-5-base netbsd-5 src xsrc          cvs rtag -a -b -rnetbsd-5-base netbsd-5 src xsrc
   
    On the newly-created branch:  On the newly-created branch:
      Add doc/CHANGES-5.0  
      Adjust doc/README.files and doc/LAST_MINUTE   * Add doc/CHANGES-5.0
      Adjust gnu/usr.bin/groff/tmac/mdoc.local and sys/sys/param.h  * Adjust doc/README.files and doc/LAST_MINUTE 
   * Adjust gnu/usr.bin/groff/tmac/mdoc.local and sys/sys/param.h
    On the trunk:  
      Update doc/BRANCHES  On the trunk:
      Move doc/CHANGES to CHANGES.prev  
      Update mdoc.local and param.h for .99.1.  * Update doc/BRANCHES
   * Move doc/CHANGES to CHANGES.prev
   * Update mdoc.local and param.h for .99.1.
   
 ==========  ==========
   
Line 24  Cutting release candidates and releases: Line 26  Cutting release candidates and releases:
 1. Make sure release notes are updated in distrib/notes  1. Make sure release notes are updated in distrib/notes
   
    A good starting point is to generate notes for a sample port     A good starting point is to generate notes for a sample port
    (cd distrib/notes/amd64; make USETOOLS=no), read the HTML file, and look     (<code>cd distrib/notes/amd64; make USETOOLS=no</code>), read the HTML file, and look
    for things that need updating.     for things that need updating.
   
    Stuff you'll definitely need to do:     Stuff you'll definitely need to do:
Line 45  Cutting release candidates and releases: Line 47  Cutting release candidates and releases:
    - Check to make sure that the IP addresses of ftp.NetBSD.org are current     - Check to make sure that the IP addresses of ftp.NetBSD.org are current
   
    Note: the "changes" part of this should be taken from an mdoc file that     Note: the "changes" part of this should be taken from an mdoc file that
    is generated from htdocs/releases/formal-<BLAH>/changes<VERSION>.xml.     is generated from <code>htdocs/releases/formal-<BLAH>/changes<VERSION>.xml</code>.
    Look for ".Ss Changes Between the NetBSD" in distrib/notes/common/main     Look for ".Ss Changes Between the NetBSD" in distrib/notes/common/main
    and paste away!  You may have to make a few markup changes to the contents     and paste away!  You may have to make a few markup changes to the contents
    of the mdoc file, because the XML -> mdoc converter sucks.  Always check to     of the mdoc file, because the XML -> mdoc converter sucks.  Always check to
    make sure things are formatted as intended.     make sure things are formatted as intended.
   
    Basically, in htdocs/releases/formal-<blah>, copy the previous release's     Basically, in htdocs/releases/formal-\<blah>, copy the previous release's
    XML files, adjust Makefile as necessary, and start the dull process of     XML files, adjust Makefile as necessary, and start the dull process of
    adding content.  Beware that this is a soul-sucking task, and you MUST     adding content.  Beware that this is a soul-sucking task, and you MUST
    RESIST THE TEMPTATION TO MENTION EVERY LITTLE CHANGE.  Try to keep it     RESIST THE TEMPTATION TO MENTION EVERY LITTLE CHANGE.  Try to keep it
    to a list of things that people will be excited about and will sell     to a list of things that people will be excited about and will sell
    NetBSD.  Release notes != changelog.     NetBSD.  Release notes != changelog.
   
    Don't forget to edit htdocs/layout.xml and add an entry for the new page.     Don't forget to edit <code>htdocs/layout.xml</code> and add an entry for the new page.
   
 2. Update version numbers in gnu/usr.bin/groff/tmac/mdoc.local and  2. Update version numbers in <code>gnu/usr.bin/groff/tmac/mdoc.local</code> and
    sys/sys/param.h.  Add new CHANGES file to doc/README.files, updating     sys/sys/param.h.  Add new CHANGES file to doc/README.files, updating
    release numbers while there.  Make sure doc/LAST_MINUTE is zeroed out     release numbers while there.  Make sure <code>doc/LAST_MINUTE</code> is zeroed out
    and adjust version number.     and adjust version number.
   
 3. Note changes from step 2 in doc/CHANGES-<whatever>  3. Note changes from step 2 in doc/CHANGES-\<whatever>
   
 4. cvs -f rtag -a -rnetbsd-5 netbsd-5-0-RELEASE src xsrc  4. <code>cvs -f rtag -a -rnetbsd-5 netbsd-5-0-RELEASE src xsrc</code>
   
    If something needs to be retagged after the fact:     If something needs to be retagged after the fact:
    - Change <file> on the netbsd-5 branch.  
    - cvs tag -d netbsd-5-0-RELEASE <file>     - Change \<file> on the netbsd-5 branch.
    - cvs tag -rnetbsd-5 netbsd-5-0-RELEASE <file>     - <code>cvs tag -d netbsd-5-0-RELEASE \<file></code>
      - <code>cvs tag -rnetbsd-5 netbsd-5-0-RELEASE \<file></code>
 5. Add tag (netbsd-5-0-RELEASE) to ~builds/etc/archlist on build.netbsd.org  
    Add tag to AB_STICKY_TAG_LIST in ~builds/etc/autobuild.conf.  Note that  5. Add tag (netbsd-5-0-RELEASE) to <code>~builds/etc/archlist</code> on build.netbsd.org
    these files are revision controlled (localsrc/releng/autobuild/etc), so     Add tag to <code>AB_STICKY_TAG_LIST</code> in <code>~builds/etc/autobuild.conf</code>.  Note that
      these files are revision controlled (<code>localsrc/releng/autobuild/etc</code>), so
    the proper order is to commit your changes in localsrc and then cvs up     the proper order is to commit your changes in localsrc and then cvs up
    (it pulls from anoncvs@nbcvs) on build.netbsd.org.     (it pulls from anoncvs@nbcvs) on build.netbsd.org.
   
    If building for a branch older than netbsd-5-0, set -j1 so that set sharing     If building for a branch older than <code>netbsd-5-0</code>, set <code>-j1</code> so that set sharing
    works better, and don't forget to undo it later!  This is configured in     works better, and don't forget to undo it later!  This is configured in
    autobuild.conf with the AB_SLAVE_OPTS_b[678] variables.     autobuild.conf with the <code>AB_SLAVE_OPTS_b[678]</code> variables.
   
 6. Add tag to ~builds/etc/build_order like: netbsd-5-0-RELEASE:N:N  6. Add tag to <code>~builds/etc/build_order</code> like: <code>netbsd-5-0-RELEASE:N:N</code>
    This means the tag will only be built once, and it won't be uploaded     This means the tag will only be built once, and it won't be uploaded
    after it finishes building.  Put it at the top.  You'll have to kill     after it finishes building.  Put it at the top.  You'll have to kill
    run_builds.sh and restart the builds to get this to take effect.     <code>run_builds.sh</code> and restart the builds to get this to take effect.
   
 7. Spend the next few hours worrying about some unforeseen or sporadic problem  7. Spend the next few hours worrying about some unforeseen or sporadic problem
    causing one or more ports to fail.  Cross your fingers and hope that you're     causing one or more ports to fail.  Cross your fingers and hope that you're
Line 97  Cutting release candidates and releases: Line 100  Cutting release candidates and releases:
    and proceed.     and proceed.
   
 8. Create ISOs (macppc, mac68k, source).  See below for instructions.  8. Create ISOs (macppc, mac68k, source).  See below for instructions.
    Rename ISOs to blahcd-<release>.iso     Rename ISOs to blahcd-\<release>.iso
    Create hashes for ISOs (cksum -a 512 *iso > SHA512)     Create hashes for ISOs (<code>cksum -a 512 *iso > SHA512</code>)
   
 11. rsync to nbftp.  Has to go to a staging dir in /pub/NetBSD-daily first.  9. rsync to nbftp.  Has to go to a staging dir in /pub/NetBSD-daily first.
   
    rsync -avu --progress --port 874 --password-file /home/builds/.rsync <path-to-top-level-release-dir> builds@ftp.netbsd.org::builds/priv/          rsync -avu --progress --port 874 --password-file /home/builds/.rsync \<path-to-top-level-release-dir> builds@ftp.netbsd.org::builds/priv/
   This will upload the files to <code>ftp.NetBSD.org:/pub/NetBSD-daily/priv/</code>.
    This will upload the files to ftp.NetBSD.org:/pub/NetBSD-daily/priv/.     After that, get admins to create <code>/pub/NetBSD/NetBSD-\<release></code> and
    After that, get admins to create /pub/NetBSD/NetBSD-<release> and     <code>/pub/NetBSD/iso/<release></code> directories for you, owned by builds:builds.
    /pub/NetBSD/iso/<release> directories for you, owned by builds:builds.  
    Once these have been made, move iso/* to the iso diectory, and the rest     Once these have been made, move iso/* to the iso diectory, and the rest
    to the main release directory.     to the main release directory.
   
 11. create torrents  10. create torrents
    for i in *.iso ; do  
    maketorrent-console http://tracker.netbsd.org:6969/announce $i          for i in *.iso ; do
    done          maketorrent-console http://tracker.netbsd.org:6969/announce $i
           done
    Get admins@ to add the torrent directory to ~torrent/runbt  Get admins@ to add the torrent directory to <code>~torrent/runbt</code>.  
   *NOTE FROM SPZ, 2010-11-15:*
    NOTE FROM SPZ, 2010-11-15:  >it turns out that bittorrent can't do more than one 'allowed_dir'.
    |it turns out that bittorrent can't do more than one 'allowed_dir'.  >
    |  >Thus, we now have /ftp/pub/NetBSD/torrent. Please keep the permissions
    |Thus, we now have /ftp/pub/NetBSD/torrent. Please keep the permissions  >so that mirrors can't read the contents, since the contents are duplicate.
    |so that mirrors can't read the contents, since the contents are duplicate.  >
    |  >(This should go into releng docs probably:)
    |(This should go into releng docs probably:)  >If you add a file that should be picked up by torrents, put it and its
    |If you add a file that should be picked up by torrents, put it and its  >torrent control file where it belongs and hard-link the two into the
    |torrent control file where it belongs and hard-link the two into the  >appropriate directory in the torrent tree.
    |appropriate directory in the torrent tree.  >Please note that the torrent tree cannot be used to publish the torrent
    |Please note that the torrent tree cannot be used to publish the torrent  >control file via http or ftp.
    |control file via http or ftp.  
   
 12. Get security-officer@ to sign binaries and ISOs.  12. Get security-officer@ to sign binaries and ISOs.
     localsrc/security/programs/rel-hashes.sh       <code>localsrc/security/programs/rel-hashes.sh</code>
   
 13. Give mirror-maintainers a heads up that new release binaries are available.  13. Give mirror-maintainers a heads up that new release binaries are available.
     This should be done 3ish days prior to the expected announce date.      This should be done 3ish days prior to the expected announce date.
Line 140  Cutting release candidates and releases: Line 141  Cutting release candidates and releases:
   
 15. Update the website.  15. Update the website.
   
 16. Update /pub/NetBSD/README to mention the new release  16. Update <code>/pub/NetBSD/README</code> to mention the new release
   
 17. Announce the release on netbsd-announce@ and the blog.  17. Announce the release on netbsd-announce@ and the blog.
   
   ============ 
   
 BUILDING ISOs  BUILDING ISOs
   
 The following stuff should be done on build.netbsd.org as the 'builds'  The following stuff should be done on build.netbsd.org as the 'builds'
Line 154  Images that need to be built manually: m Line 157  Images that need to be built manually: m
 Needs to be cdrtools 2.01 (but not newer!).  The binary in ~/bin/mkisofs  Needs to be cdrtools 2.01 (but not newer!).  The binary in ~/bin/mkisofs
 will work.  will work.
   
 cd ~/scratch          cd ~/scratch
 tar xzvpf /home/builds/ab/HEAD/ab-src.tgz (note -- "HEAD" is always used)          tar xzvpf /home/builds/ab/HEAD/ab-src.tgz (note -- "HEAD" is always used)
   
 Building in src/distrib/cdrom:  Building in src/distrib/cdrom:
   
Line 165  relevant release. Line 168  relevant release.
 Do the following three times, changing TARGET_CD_IMAGE to macppccd, mac68kcd,  Do the following three times, changing TARGET_CD_IMAGE to macppccd, mac68kcd,
 and sourcecd.  and sourcecd.
   
 make MKISOFS=/home/builds/bin/mkisofs USETOOLS=no RELEASE=5.0 TARGET_CD_IMAGE=macppccd DISTRIBDIR=/home/builds/ab/netbsd-5-0-RC4/release/netbsd-5-0-RC4/200904142015Z all          make MKISOFS=/home/builds/bin/mkisofs USETOOLS=no RELEASE=5.0 TARGET_CD_IMAGE=macppccd DISTRIBDIR=/home/builds/ab/netbsd-5-0-RC4/release/netbsd-5-0-RC4/200904142015Z all
   
 post-release:  post-release:
   
 change name to 5.0_STABLE  * change name to 5.0_STABLE
 5-0 branch becomes 5.0.0_PATCH  * 5-0 branch becomes 5.0.0_PATCH
   
 create netbsd-5-0 branch:  create netbsd-5-0 branch:
 #### cvs rtag -a -rnetbsd-5 netbsd-5-0-base xsrc src  
 cvs rtag -a -b -rnetbsd-5 netbsd-5-0 src xsrc          cvs rtag -a -b -rnetbsd-5 netbsd-5-0 src xsrc

Removed from v.1.1  
changed lines
  Added in v.1.2


CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb