THE 1.6 RELEASE PROCESS
~~~~~~~~~~~~~~~~~~~~~~~
We are pleased to announce that NetBSD 1.6 has branched and the release
engineering process has begun.
With 1.6, we have introduced a new method of producing release snapshots
that will substantially improve testing of the release binaries on multiple
platforms. For the initial phase of the release process, we are producing
binaries for most platforms on a daily basis from a common codebase, using
the integrated cross-compilation system.
In order to help test the release on as diverse a collection of hardware as
possible, we encourage everyone capable of testing the release to download
snapshots frequently and report problems via "send-pr" or e-mail to
"current-users@netbsd.org". Also, problems building the release branch
sources should be reported with relevant build environment information.
=====
WHERE TO GET 1.6 RELEASE SNAPSHOTS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Daily snapshots of the release in progress, during the first "BETA" phase,
will be made available from:
ftp://releng.netbsd.org/pub/NetBSD-daily/TIMESTAMP/MACHINE/
This is not "ftp.netbsd.org"; it is a separate machine so as not to overload
our FTP mirrors. Because of the frequency of builds, we ask that no one
mirror specific portions of this FTP server, as the "NetBSD-daily" directory
will grow in size rather quickly.
The timestamp is a YYYYMMDDhhmm (year, month, day, hour, minute) timestamp,
which reflects the UTC time supplied to "cvs checkout" in order to build the
snapshot. This way, it is possible to reproduce part or all of the source
tree directly from anoncvs. A set of source tarballs will also be supplied
with each day's set of snapshots, in the subdirectory "source".
Note: X11 binaries must still be built on native hardware. Because of
this, X11 sets may not be available with a snapshot, or they may be the same
binaries carried forward from an earlier snapshot.
Snapshots of the single "RC" phase builds will be available from the
standard FTP server and its mirrors, as in:
ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.6_RCn/MACHINE/
=====
ABOUT THE 1.6 RELEASE PROCESS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The release process consists of three phases: beta, release candidate, and
release.
BETA: The osrelease version is named with _BETAn. Snapshot builds are
done daily using a CVS datestamp checkout from the branch
(providing a reference point for the sources used to build).
The n in _BETAn is incremented weekly.
General non-feature pullups are allowed during this phase,
and are tested in the subsequent daily build.
When releng determines that the system stabilizes sufficiently to
anticipate no more non-critical pullups, we move to Release
Candidates.
RC: The osrelease version is named _RCn. A single build is done and
provided for testing.
If pullups arrive during this period that are simple, critical
fixes, the pullups are executed and the next _RCn cycle begins.
If the level of pullups is high enough that it becomes
obvious that many more bug fixes and tests are required, the
RC phase is abandoned and the cycle will return to the BETA phase.
If no pullups occur and enough testing time happens, we
proceed to RELEASE.
RELEASE: The osrelease version is marked as "1.6". A single build is done
to create binaries with this version number. The release process
completes with the noted times for mirroring and opening to the
world.
=====
1.6 RELEASE TIMETABLE
~~~~~~~~~~~~~~~~~~~~~
The following is, of course, a best case scenario. We anticipate a few _RC
cycles, not just one, and depending on the level of pullups as we start out,
probably another _BETA cycle or two.
COMPLETE STEPS:
May 22 ** Feature cutoff -- no new feature or 3RDPARTY pullups **
\ ** after this point **
May 22- Create netbsd-1-6 branch, name kernel version 1.6_BETA1.
\ (Increment trunk to 1.6A.)
**
IN PROCESS STEPS:
\
\ Build 1.6_BETA1 snapshots daily; fix compilation bugs.
\ Test 1.6_BETA1 binaries (including installers).
\ Portmaster-delegated builder preps X sets for platforms with
June 2 X servers.
(Note that _BETA1 is slightly longer than should be for a _BETA phase, but
this is to give a little leeway to shake out the new structure. Typically
_BETA cycles should be 7 days.)
June 2 ** Critical pullup cutoff - only security, build, sysinst **
\ ** and other release critical pullups after this point **
June 3- Make kernel version 1.6_BETA2.
\ Build 1.6_BETA2 snapshots daily; fix compilation bugs.
\ Test 1.6_BETA2 binaries (including installers).
\
\ If there were any X11 pullups in _BETA1, the
June 9 portmaster-delegated builder rebuilds X sets.
[7 days] Optional additional _BETAn cycle(s) as determined by releng;
these will slide the following dates accordingly.
June 10- Tag 1.6_RC1. Build binaries and X sets once. Test.
June 13
[4 days] Optional additional _RCn cycle(s) as determined by releng;
these will slide the following dates accordingly.
June 14 Tag 1.6. Rebuild base sets for new kernel version. (X sets
should propagate as-is from a prior build.)
June 15- Set up distribution tree; factor out shareable tarballs;
\ create distribution global doc (CHANGES, etc.) files.
\
June 18 Open 1.6 to mirrors.
June 19 Open 1.6 to the world and announce it.
June 19- Begin open-ended phase before 1.6.1 release cycle.
--
-- Todd Vierling <tv@wasabisystems.com> * Wasabi & NetBSD: Run with it.
-- CDs, Integration, Embedding, Support -- http://www.wasabisystems.com/