blob: 552dbd5bcd165157d8d941322596650d429931f8 (
plain) (
tree)
|
|
<?xml version="1.0" encoding="iso-8859-1"?>
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<sect1 xml:id="releng-head">
<title>Release from &branch.head;</title>
<para>This section describes the general procedures of the &os;
release cycle from the &branch.head; branch.</para>
<sect2 xml:id="releng-head-builds-alpha">
<title>&os; <quote><literal>ALPHA</literal></quote> Builds</title>
<para>Starting with the &os; 10.0-RELEASE cycle, the notion
of <quote><literal>ALPHA</literal></quote> builds was
introduced. Unlike the <literal>BETA</literal> and
<literal>RC</literal> builds, <literal>ALPHA</literal> builds
are not included in the &os; Release schedule.</para>
<para>The idea behind <literal>ALPHA</literal> builds is to
provide regular &os;-provided builds before the creation of the
&branch.stable; branch.</para>
<para>&os; <literal>ALPHA</literal> snapshots should be built
approximately once a week.</para>
<para>For the first <literal>ALPHA</literal> build, the
<varname>BRANCH</varname> value in
<filename>sys/conf/newvers.sh</filename> needs to be changed
from <literal>CURRENT</literal> to <literal>ALPHA1</literal>.
For subsequent <literal>ALPHA</literal> builds, increment each
<literal>ALPHA<replaceable>N</replaceable></literal> value by
one.</para>
<para>See <xref linkend="releng-building"/> for information on
building the <literal>ALPHA</literal> images.</para>
</sect2>
<sect2 xml:id="releng-head-branching">
<title>Creating the &branch.stablex; Branch</title>
<para>When creating the &branch.stable; branch, several changes
are required in both the new &branch.stable; branch and the
&branch.head; branch. The files listed are relative to the
repository root. To create the new &branch.stablex; branch
in Subversion:</para>
<screen>&prompt.user; <userinput>svn cp ^/head &branch.stablex;</userinput></screen>
<para>Once the &branch.stablex; branch has been committed, make
the following edits:</para>
<informaltable frame="none" pgwide="0">
<tgroup cols="2">
<thead>
<row>
<entry>File to Edit</entry>
<entry>What to Change</entry>
</row>
</thead>
<tbody>
<row>
<entry><filename>stable/<replaceable>12</replaceable>/UPDATING</filename></entry>
<entry>Update the &os; version, and remove the notice
about <literal>WITNESS</literal></entry>
</row>
<row>
<entry><filename>stable/<replaceable>12</replaceable>/contrib/jemalloc/include/jemalloc/jemalloc_FreeBSD.h</filename></entry>
<entry><screen>#ifndef MALLOC_PRODUCTION
#define MALLOC_PRODUCTION
#endif</screen></entry>
</row>
<row>
<entry><filename>stable/<replaceable>12</replaceable>/lib/clang/llvm.build.mk</filename></entry>
<entry>Uncomment <literal>-DNDEBUG</literal></entry>
</row>
<row>
<entry><filename>stable/<replaceable>12</replaceable>/sys/*/conf/GENERIC*</filename></entry>
<entry>Remove debugging support</entry>
</row>
<row>
<entry><filename>stable/<replaceable>12</replaceable>/sys/*/conf/MINIMAL</filename></entry>
<entry>Remove debugging support</entry>
</row>
<row>
<entry><filename>stable/<replaceable>12</replaceable>/release/release.conf.sample</filename></entry>
<entry>Update <varname>SRCBRANCH</varname></entry>
</row>
<row>
<entry><filename>stable/<replaceable>12</replaceable>/sys/*/conf/GENERIC-NODEBUG</filename></entry>
<entry>Remove these kernel configurations</entry>
</row>
<row>
<entry><filename>stable/<replaceable>12</replaceable>/sys/arm/conf/std.arm*</filename></entry>
<entry>Remove debugging options</entry>
</row>
<row>
<entry><filename>stable/<replaceable>12</replaceable>/sys/conf/newvers.sh</filename></entry>
<entry>Update the <varname>BRANCH</varname> value to
reflect <literal>BETA1</literal></entry>
</row>
<row>
<entry><filename>stable/<replaceable>12</replaceable>/share/mk/src.opts.mk</filename></entry>
<entry>Move <varname>REPRODUCIBLE_BUILD</varname> from
<literal>__DEFAULT_NO_OPTIONS</literal> to
<literal>__DEFAULT_YES_OPTIONS</literal></entry>
</row>
<row>
<entry><filename>stable/<replaceable>12</replaceable>/share/mk/src.opts.mk</filename></entry>
<entry>Move <varname>LLVM_ASSERTIONS</varname> from
<literal>__DEFAULT_YES_OPTIONS</literal> to
<literal>__DEFAULT_NO_OPTIONS</literal> (&os; 13.x
and later only)</entry>
</row>
<row>
<entry><filename>stable/<replaceable>12</replaceable>/libexec/rc/rc.conf</filename></entry>
<entry>Set <literal>dumpdev</literal> from
<literal>AUTO</literal> to <literal>NO</literal> (it is
configurable via &man.bsdinstall.8; for those that want
it enabled by default)</entry>
</row>
<row>
<entry><filename>stable/<replaceable>12</replaceable>/release/Makefile</filename></entry>
<entry>Remove the
<literal>debug.witness.trace</literal> entries</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Then in the &branch.head; branch, which will now become
a new major version:</para>
<informaltable frame="none" pgwide="0">
<tgroup cols="2">
<thead>
<row>
<entry>File to Edit</entry>
<entry>What to Change</entry>
</row>
</thead>
<tbody>
<row>
<entry><filename>head/UPDATING</filename></entry>
<entry>Update the &os; version</entry>
</row>
<row>
<entry><filename>head/sys/conf/newvers.sh</filename></entry>
<entry>Update the <varname>BRANCH</varname> value to
reflect <literal>CURRENT</literal>, and increment
<literal>REVISION</literal></entry>
</row>
<row>
<entry><filename>head/Makefile.inc1</filename></entry>
<entry>Update <literal>TARGET_TRIPLE</literal> and
<literal>MACHINE_TRIPLE</literal></entry>
</row>
<row>
<entry><filename>head/sys/sys/param.h</filename></entry>
<entry>Update <literal>__FreeBSD_version</literal></entry>
</row>
<row>
<entry><filename>head/gnu/usr.bin/cc/cc_tools/freebsd-native.h</filename></entry>
<entry>Update <literal>FBSD_MAJOR</literal> and
<literal>FBSD_CC_VER</literal></entry>
</row>
<row>
<entry><filename>head/contrib/gcc/config.gcc</filename></entry>
<entry>Append the
<literal>freebsd<version>.h</literal>
section</entry>
</row>
<row>
<entry><filename>head/lib/clang/llvm.build.mk</filename></entry>
<entry>Update the value of
<literal>OS_VERSION</literal></entry>
</row>
<?ignore
<row>
<entry><filename>head/release/doc/en_US.ISO8859-1/readme/article.xml</filename></entry>
<entry>Replace &a.current; with &a.stable;</entry>
</row>
?>
<?ignore
<row>
<entry><filename>head/release/doc/share/xml/release.ent</filename></entry>
<entry></entry>
</row>
?>
<row>
<entry><filename>head/lib/clang/freebsd_cc_version.h</filename></entry>
<entry>Update
<literal>FREEBSD_CC_VERSION</literal></entry>
</row>
<row>
<entry><filename>head/lib/clang/include/lld/Common/Version.inc</filename></entry>
<entry>Update
<literal>LLD_REVISION_STRING</literal></entry>
</row>
<row>
<entry><filename>head/Makefile.libcompat</filename></entry>
<entry>Update <literal>LILB32CPUFLAGS</literal></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
</sect1>
|