NetBSD Developer Documentation: Release Engineering: The Release Engineering
Process
4.4.1 Overview
The NetBSD Release process is an eight week process which is intended
to make it possible to generate frequent quality releases without
stalling development on the main branch. The goal is to have two
NetBSD releases per year.
In the description below, VERSION can have different
textual representations depending on context. For instance, if
describing the release of NetBSD 1.2, VERSION would be
"1-2" when used in a CVS command, "1.2" when talking about the
version as announced to the public or defined in
src/sys/conf/newvers.sh, or "1_2" when talking about the definition
of the NetBSDVERSION constant in src/sys/sys/param.h.
The basic timeline for a release looks like:
- Week 0: Beginning of release cycle
-
The release schedule is sent as a reminder to all NetBSD
developers and mirror maintainers.
- Week 1: Snapshot sanity check
-
Port maintainers should try to build full releases, to
ensure that the release generation machinery is functional.
- Week 2: Creation of release branch and feature
freeze
-
The release branch is created, and developers are disallowed
from committing new features to the release branch without
permission from the Release Engineer.
- Week 3: First beta release
-
Binary snapshots are released as NetBSD VERSION_ALPHA.
- Week 4: Non-critical bug fix freeze
-
Developers are disallowed from committing any changes other
than critical bug fixes to the release branch without
permission from the Release Engineer. Mid-week, the release
branch is tagged netbsd-VERSION-BETA.
- Week 5: Second beta release
-
Binary snapshots are released as NetBSD VERSION_BETA.
- Week 6: Code freeze
-
Developers are disallowed from committing ANY changes
to the release branch without permission from the Release
Engineer.
- Week 7: Tag final sources
-
The release branch is tagged netbsd-VERSION-FINAL,
and port maintainers begin generating final release binaries.
- Week 8: Release
-
The release is announced to the world.
Yet to be done in this document:
- Fill in various details. (Search for XXX.)
- General background; note existence of "Release Engineer,"
his/her responsibilities, expand notion that development
continues as normal on trunk, etc.
- More details on release branch management: procedure
for pulling changes up, procedure for getting approval
for changes, etc.
- Post-release patching. (It may make sense to re-work the
various "NetBSD" definitions in src/sys/sys/param.h
in light of post-release patches.)
- Dates should be set for the various events in the release
cycle
- The updated release cycle calendar should be sent as
a reminder to NetBSD developers
(developers@NetBSD.org) and mirror
maintainers (XXX DETAILS).
- Port maintainers should try to build full releases, to
ensure that the release generation machinery is
functional.
- Port maintainers should create and distribute binary
snapshots, labeled NetBSD VERSION_ALPHA.
- Announce the alpha release to the world via the
netbsd-announce@NetBSD.org mailing list and
comp.unix.bsd.netbsd.announce newsgroup. (???)
At the beginning of the week:
- Notify developers that they should not check in any
changes to the release branch without permission
from the Release Engineer other than critical bug
fixes.
At mid-week:
- Beta binaries are released as NetBSD VERSION_BETA.
- Announce the beta release to the world via the
netbsd-announce@NetBSD.org mailing list and
comp.unix.bsd.netbsd.announce newsgroup.
At the beginning of the week:
- Notify developers that they should not check in any
further changes to the release branch without
permission from the Release Engineer.
At mid-week:
- Update NetBSD in src/sys/sys/param.h, osr
in src/sys/conf/newvers.sh, and send-pr as detailed in
the description for Week 2,
except using values appropriate for the "FINAL"
release.
At mid-week:
- Final binaries are released as NetBSD VERSION.
- Notify SUP and FTP mirror maintainers, so that they can
update their sites.
- Update bsd-family-tree
Two days later:
- Announce the release to the world via the
netbsd-announce@NetBSD.org mailing list and
comp.unix.bsd.netbsd.announce newsgroup.
(Contact us)
$NetBSD: release-process.html,v 1.13 2003/09/30 20:22:07 wiz Exp $
Copyright © 1994-2003
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.