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 ^/headstable/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 LIB32CPUFLAGS |
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>.