This section describes the general procedures of the FreeBSD
release cycle from the head/
branch.
Starting with the FreeBSD 10.0-RELEASE cycle, the notion
of “ALPHA
” builds was
introduced. Unlike the BETA
and
RC
builds, ALPHA
builds
are not included in the FreeBSD Release schedule.
The idea behind ALPHA
builds is to
provide regular FreeBSD-provided builds before the creation of the
stable/
branch.
FreeBSD 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
ALPHA
value by
one.N
See Section 7, “Building FreeBSD Installation Media” for information on
building the ALPHA
images.
When creating the stable/
branch, several changes
are required in both the new stable/
branch and the
head/
branch. The files listed are relative to the
repository root. To create the new stable/
branch
in Subversion:12
/
%
svn cp ^/head
stable/
12
/
Once the stable/
branch has been committed, make
the following edits:12
/
File to Edit | What to Change |
---|---|
stable/ | Update the FreeBSD version, and remove the notice
about WITNESS |
stable/ | #ifndef MALLOC_PRODUCTION #define MALLOC_PRODUCTION #endif |
stable/ | Uncomment -DNDEBUG |
stable/ | Remove debugging support |
stable/ | Remove debugging support |
stable/ | Update SRCBRANCH |
stable/ | Remove these kernel configurations |
stable/ | Remove debugging options |
stable/ | Update the BRANCH value to
reflect BETA1 |
stable/ | Move REPRODUCIBLE_BUILD from
__DEFAULT_NO_OPTIONS to
__DEFAULT_YES_OPTIONS |
stable/ | Move LLVM_ASSERTIONS from
__DEFAULT_YES_OPTIONS to
__DEFAULT_NO_OPTIONS (FreeBSD 13.x
and later only) |
stable/ | Set dumpdev from
AUTO to NO (it is
configurable via bsdinstall(8) for those that want
it enabled by default) |
stable/ | Remove the
debug.witness.trace entries |
Then in the head/
branch, which will now become
a new major version:
File to Edit | What to Change |
---|---|
head/UPDATING | Update the FreeBSD version |
head/sys/conf/newvers.sh | Update the BRANCH value to
reflect CURRENT , and increment
REVISION |
head/Makefile.inc1 | Update TARGET_TRIPLE and
MACHINE_TRIPLE |
head/sys/sys/param.h | Update __FreeBSD_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/lib/clang/llvm.build.mk | Update the value of
OS_VERSION |
head/lib/clang/freebsd_cc_version.h | Update
FREEBSD_CC_VERSION |
head/lib/clang/include/lld/Common/Version.inc | Update
LLD_REVISION_STRING |
head/Makefile.libcompat | Update LILB32CPUFLAGS |
All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.