Index: user/gjb/releng-rewrite/en_US.ISO8859-1/articles/freebsd-releng/releng-major-version.xml
===================================================================
--- user/gjb/releng-rewrite/en_US.ISO8859-1/articles/freebsd-releng/releng-major-version.xml (revision 50063)
+++ user/gjb/releng-rewrite/en_US.ISO8859-1/articles/freebsd-releng/releng-major-version.xml (revision 50064)
@@ -1,75 +1,202 @@
Release from &branch.head;
This section describes the general procedures of the &os;
release cycle from the &branch.head; branch.
&os; ALPHA
Builds
Starting with the &os; 10.0-RELEASE cycle, the notion
of ALPHA
builds was
introduced. Unlike the BETA and
RC builds, ALPHA builds
are not included in the &os; Release schedule.
The idea behind ALPHA builds is to
provide regular &os;-provided builds before the creation of the
&branch.stable; branch.
&os; ALPHA snapshots should be built
approximately once a week.
For the first ALPHA build, the
BRANCH value in
sys/conf/newvers.sh needs to be changed
from CURRENT to ALPHA1.
For subsequent ALPHA builds, increment each
ALPHAN value by
one.
See for information on
building the ALPHA images.
Creating the &branch.stablex; Branch
When creating the &branch.stable; branch, several changes
are required in both the new &branch.stable; branch and the
- &branch.head; branch.
+ &branch.head; branch. The files listed are relative to the
+ repository root. To create the new &branch.stablex; branch
+ in Subversion:
- &prompt.user; svn cp head &branch.stablex;
+
+ Once the &branch.stablex; branch has been committed, make
+ the following edits:
+
File to Edit
What to Change
-
-
+ stable/11/UPDATING
+ Update the &os; version, and remove the notice
+ about WITNESS
+
+
+ stable/11/contrib/jemalloc/include/jemalloc/jemalloc_FreeBSD.h
+ #ifndef MALLOC_PRODUCTION
+#define MALLOC_PRODUCTION
+#endif
+
+
+
+ stable/11/sys/*/conf/GENERIC*
+ Remove debugging support
+
+
+
+ stable/11/release/release.conf.sample
+ Update SRCBRANCH
+
+
+
+ stable/11/sys/*/conf/GENERIC-NODEBUG
+ Remove these kernel configurations
+
+
+
+ stable/11/sys/conf/newvers.sh
+ Update the BRANCH value to
+ reflect PRERELEASE
+
- ?>
+
+ Then in the &branch.head; branch, which will now become
+ a new major version:
+
+
+
+
+
+ File to Edit
+ What to Change
+
+
+
+
+
+ head/UPDATING
+ Update the &os; version
+
+
+
+ head/gnu/usr.bin/groff/tmac/mdoc.local.in
+ Add the new &os; version
+
+
+
+ head/sys/conf/newvers.sh
+ Update the BRANCH value to
+ reflect CURRENT, and increment
+ REVISION
+
+
+
+ head/Makefile.inc1
+ Update TARGET_TRIPLE
+
+
+
+ head/sys/sys/param.h
+ Update __FreeBSD_version
+
+
+
+ head/contrib/llvm/tools/clang/lib/Basic/Targets.cpp
+ Update
+ __FreeBSD_cc_version
+
+
+
+ head/gnu/usr.bin/cc/cc_tools/freebsd-native.h
+ Update FBSD_MAJOR and
+ FBSD_CC_VER
+
+
+
+ head/contrib/gcc/config.gcc
+ Append the
+ freebsd<version>.h
+ section
+
+
+
+ head/release/Makefile
+ Remove the
+ debug.witness.trace entries
+
+
+
+ head/release/doc/en_US.ISO8859-1/readme/article.xml
+ Replace &a.current; with &a.stable;
+
+
+
+ head/release/doc/share/xml/release.ent
+
+
+
+ ?>
+
+
+ head/lib/clang/clang.build.mk
+ Uncomment -DNDEBUG
+
+
+
+ head/lib/clang/freebsd_cc_version.h
+ Update
+ FREEBSD_CC_VERSION
+
+
+
+
Code Thaw in &branch.head;
Index: user/gjb/releng-rewrite/en_US.ISO8859-1/articles/freebsd-releng/releng-minor-version.xml
===================================================================
--- user/gjb/releng-rewrite/en_US.ISO8859-1/articles/freebsd-releng/releng-minor-version.xml (revision 50063)
+++ user/gjb/releng-rewrite/en_US.ISO8859-1/articles/freebsd-releng/releng-minor-version.xml (revision 50064)
@@ -1,36 +1,178 @@
Release from &branch.stable;
This section describes the general procedures of the &os;
release cycle from an extablished &branch.stable; branch.
+
+ &os; stable Branch Code Slush
+
+ In preparation for the code freeze on
+ a stable branch, several files need to be
+ updated to reflect the release cycle is officially in
+ progress. These files are all relative to the top-most level of
+ the stable branch:
+
+
+
+
+
+ File to Edit
+ What to Change
+
+
+
+
+
+ gnu/usr.bin/groff/tmac/mdoc.local.in
+ Add the new &os; version
+
+
+
+ sys/conf/newvers.sh
+ Update the BRANCH value to
+ reflect PRERELEASE
+
+
+
+ Makefile.inc1
+ Update TARGET_TRIPLE
+
+
+
+
+
+
&os; BETA Builds
-
+ Following the code slush, the next phase of the release
+ cycle is the code freeze. This is the point at which all
+ commits to the stable branch require explicit approval from
+ the &team.re;. This is enforced by pre-commit hooks in the
+ Subversion repository by editing
+ base/svnadmin/conf/approvers to include
+ a regular expression matching the &branch.stablex; branch for
+ the release:
+
+ ^/&branch.stablex; re
+
+
+ There are two general exceptions to requiring commit
+ approval during the release cycle. The first is any change
+ that needs to be committed by the Release Engineer in order
+ to proceed with the day-to-day workflow of the release cycle,
+ the other is security fixes that may occur during the release
+ cycle.
+
+
+ Once the code freeze is in effect, the next build from the
+ branch is labeled BETA1. This is done by
+ updating the BRANCH value in
+ sys/conf/newvers.sh from
+ PRERELEASE to
+ BETA1.
+
+ Once this is done, the first set of BETA
+ builds are started. Subsequent BETA builds
+ do not require updates to any files other than
+ sys/conf/newvers.sh, incrementing the
+ BETA build number.
Creating the &branch.relengx; Branch
-
-
+ When the first RC (Release Candidate)
+ build is ready to begin, the &branch.releng; branch is created.
+ This is a multi-step process that must be done in a specific
+ order, in order to avoid anomalies such as overlaps with
+ __FreeBSD_version values, for example. The
+ paths listed below are relative to the repository root. The
+ order of commits and what to change are:
-
- Code Thaw in the &branch.stablex; Branch
+ &prompt.user; svn cp &branch.stablex; &branch.relengx;
-
+
+
+
+
+ File to Edit
+ What to Change
+
+
+
+
+
+ releng/11.0/sys/conf/newvers.sh
+ Change BETAX
+ to RC1
+
+
+
+ releng/11.0/sys/sys/param.h
+ Update __FreeBSD_version
+
+
+
+ releng/11.0/etc/pkg/FreeBSD.conf
+ Replace latest with
+ quarterly as the default package
+ repository location
+
+
+
+ releng/11.0/release/pkg_repos/release-dvd.conf
+ Replace latest with
+ quarterly as the default package
+ repository location
+
+
+
+ stable/11/sys/conf/newver.sh
+ Update BETAX
+ with PRERELEASE
+
+
+
+ stable/11/sys/sys/param.h
+ Update __FreeBSD_version
+
+
+
+ svnadmin/conf/approvers
+ Add a new approvers line for the releng
+ branch as was done for the stable branch
+
+
+
+
+
+ &prompt.user; svn propdel -R svn:mergeinfo &branch.relengx;
+&prompt.user; svn commit &branch.relengx;
+&prompt.user; svn commit &branch.stablex;
+
+ Now that two new __FreeBSD_version values
+ exist, also upate
+ head/en_US.ISO8859-1/books/porters-handbook/versions/chapter.xml
+ in the Documentation Project repository.
+
+ After the first RC build has completed
+ and tested, the &branch.stable; branch can be
+ thawed
by removing (or commenting) the
+ ^/&branch.stablex; entry in
+ svnadmin/conf/approvers.
&os; RC Builds