Source string Read only

(itstool) path: sect3/title
27/270
Context English State
Release Process
New releases of FreeBSD are released from the -STABLE branch at approximately four month intervals. The FreeBSD release process begins to ramp up 70-80 days before the anticipated release date when the release engineer sends an email to the development mailing lists to remind developers that they only have 15 days to integrate new changes before the code freeze. During this time, many developers perform what have become known as <quote>MFC sweeps</quote>.
<acronym>MFC</acronym> stands for <quote>Merge From CURRENT</quote> and it describes the process of merging a tested change from our -CURRENT development branch to our -STABLE branch. Project policy requires any change to be first applied to trunk, and merged to the -STABLE branches after sufficient external testing was done by -CURRENT users (developers are expected to extensively test the change before committing to -CURRENT, but it is impossible for a person to exercise all usages of the general-purpose operating system). Minimal MFC period is 3 days, which is typically used only for trivial or critical bugfixes.
Code Review
Sixty days before the anticipated release, the source repository enters a <quote>code freeze</quote>. During this time, all commits to the -STABLE branch must be approved by Release Engineering Team <email>re@FreeBSD.org</email>. The approval process is technically enforced by a pre-commit hook. The kinds of changes that are allowed during this period include:
Bug fixes.
Documentation updates.
Security-related fixes of any kind.
Minor changes to device drivers, such as adding new Device IDs.
Driver updates from the vendors.
Any additional change that the release engineering team feels is justified, given the potential risk.
Shortly after the code freeze is started, a <emphasis>BETA1</emphasis> image is built and released for widespread testing. During the code freeze, at least one beta image or release candidate is released every two weeks until the final release is ready. During the days preceding the final release, the release engineering team is in constant communication with the security-officer team, the documentation maintainers, and the port maintainers to ensure that all of the different components required for a successful release are available.
After the quality of the BETA images is satisfying enough, and no large and potentially risky changes are planned, the release branch is created and <emphasis>Release Candidate</emphasis> (RC) images are built from the release branch, instead of the BETA images from the STABLE branch. Also, the freeze on the STABLE branch is lifted and release branch enters a <quote>hard code freeze</quote> where it becomes much harder to justify new changes to the system unless a serious bug-fix or security issue is involved.
Final Release Checklist
When several BETA images have been made available for widespread testing and all major issues have been resolved, the final release <quote>polishing</quote> can begin.
Creating the Release Branch
In all examples below, <literal>$FSVN</literal> refers to the location of the FreeBSD Subversion repository, <literal>svn+ssh://svn.FreeBSD.org/base/</literal>.
The layout of FreeBSD branches in Subversion is described in the <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/articles/committers-guide/subversion-primer.html#subversion-primer-base-layout">Committer's Guide</link>. The first step in creating a branch is to identify the revision of the <literal>stable/<replaceable>X</replaceable></literal> sources that you want to branch <emphasis>from</emphasis>.
<prompt>#</prompt> <userinput>svn log -v $FSVN/stable/9</userinput>
The next step is to create the <emphasis>release branch</emphasis>
<prompt>#</prompt> <userinput>svn cp $FSVN/stable/9@REVISION $FSVN/releng/9.2</userinput>
This branch can be checked out:
<prompt>#</prompt> <userinput>svn co $FSVN/releng/9.2 src</userinput>
Creating the <literal>releng</literal> branch and <literal>release</literal> tags is done by the <link xlink:href="@@URL_RELPREFIX@@/administration.html#t-re">Release Engineering Team</link>.
_ external ref='branches-head' md5='__failed__'
<imageobject> <imagedata fileref="branches-head" align="center"/> </imageobject> <textobject> <phrase>FreeBSD Development Branch</phrase> </textobject>
_ external ref='branches-releng3' md5='__failed__'
<imageobject> <imagedata fileref="branches-releng3" align="center"/> </imageobject> <textobject> <phrase>FreeBSD 3.x STABLE Branch</phrase> </textobject>
_ external ref='branches-releng4' md5='__failed__'
<imageobject> <imagedata fileref="branches-releng4" align="center"/> </imageobject> <textobject> <phrase>FreeBSD 4.x STABLE Branch</phrase> </textobject>
_ external ref='branches-releng5' md5='__failed__'

Loading…

No matching activity found.

Browse all component changes

Glossary

English English
No related strings found in the glossary.

Source information

Source string comment
(itstool) path: sect3/title
Flags
read-only
Source string location
article.translate.xml:328
String age
a year ago
Source string age
a year ago
Translation file
articles/releng.pot, string 51