Date: Wed, 15 Mar 2017 21:43:37 +0000 (UTC) From: Glen Barber <gjb@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-user@freebsd.org Subject: svn commit: r50064 - user/gjb/releng-rewrite/en_US.ISO8859-1/articles/freebsd-releng Message-ID: <201703152143.v2FLhbtc064891@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: gjb Date: Wed Mar 15 21:43:37 2017 New Revision: 50064 URL: https://svnweb.freebsd.org/changeset/doc/50064 Log: Add sections on creating stable and releng branches, and what files to edit in head and new stable branches, as well as the simplified workflow. There is still quite a bit to be written, however. Sponsored by: The FreeBSD Foundation Modified: 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-minor-version.xml Modified: 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 Wed Mar 15 09:41:25 2017 (r50063) +++ user/gjb/releng-rewrite/en_US.ISO8859-1/articles/freebsd-releng/releng-major-version.xml Wed Mar 15 21:43:37 2017 (r50064) @@ -44,9 +44,65 @@ <para>When creating the &branch.stable; branch, several changes are required in both the new &branch.stable; branch and the - &branch.head; branch.</para> + &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>11</replaceable>/UPDATING</filename></entry> + <entry>Update the &os; version, and remove the notice + about <literal>WITNESS</literal></entry> + </row> + + <row> + <entry><filename>stable/<replaceable>11</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>11</replaceable>/sys/*/conf/GENERIC*</filename></entry> + <entry>Remove debugging support</entry> + </row> + + <row> + <entry><filename>stable/<replaceable>11</replaceable>/release/release.conf.sample</filename></entry> + <entry>Update <varname>SRCBRANCH</varname></entry> + </row> + + <row> + <entry><filename>stable/<replaceable>11</replaceable>/sys/*/conf/GENERIC-NODEBUG</filename></entry> + <entry>Remove these kernel configurations</entry> + </row> + + <row> + <entry><filename>stable/<replaceable>11</replaceable>/sys/conf/newvers.sh</filename></entry> + <entry>Update the <varname>BRANCH</varname> value to + reflect <literal>PRERELEASE</literal></entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Then in the &branch.head; branch, which will now become + a new major version:</para> - <?ignore <informaltable frame="none" pgwide="0"> <tgroup cols="2"> <thead> @@ -58,13 +114,84 @@ <tbody> <row> - <entry> </entry> - <entry> </entry> + <entry><filename>head/UPDATING</filename></entry> + <entry>Update the &os; version</entry> + </row> + + <row> + <entry><filename>head/gnu/usr.bin/groff/tmac/mdoc.local.in</filename></entry> + <entry>Add the new &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 <varname>TARGET_TRIPLE</varname></entry> + </row> + + <row> + <entry><filename>head/sys/sys/param.h</filename></entry> + <entry>Update <literal>__FreeBSD_version</literal></entry> + </row> + + <row> + <entry><filename>head/contrib/llvm/tools/clang/lib/Basic/Targets.cpp</filename></entry> + <entry>Update + <literal>__FreeBSD_cc_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/release/Makefile</filename></entry> + <entry>Remove the + <literal>debug.witness.trace</literal> entries</entry> + </row> + + <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/clang.build.mk</filename></entry> + <entry>Uncomment <literal>-DNDEBUG</literal></entry> + </row> + + <row> + <entry><filename>head/lib/clang/freebsd_cc_version.h</filename></entry> + <entry>Update + <literal>FREEBSD_CC_VERSION</literal></entry> </row> </tbody> </tgroup> </informaltable> - ?> </sect2> <sect2 xml:id="releng-head-thaw"> Modified: 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 Wed Mar 15 09:41:25 2017 (r50063) +++ user/gjb/releng-rewrite/en_US.ISO8859-1/articles/freebsd-releng/releng-minor-version.xml Wed Mar 15 21:43:37 2017 (r50064) @@ -10,22 +10,164 @@ <para>This section describes the general procedures of the &os; release cycle from an extablished &branch.stable; branch.</para> + <sect2 xml:id="releng-stable-slush"> + <title>&os; <literal>stable</literal> Branch Code Slush</title> + + <para>In preparation for the code freeze on + a <literal>stable</literal> 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:</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>gnu/usr.bin/groff/tmac/mdoc.local.in</filename></entry> + <entry>Add the new &os; version</entry> + </row> + + <row> + <entry><filename>sys/conf/newvers.sh</filename></entry> + <entry>Update the <varname>BRANCH</varname> value to + reflect <literal>PRERELEASE</literal></entry> + </row> + + <row> + <entry><filename>Makefile.inc1</filename></entry> + <entry>Update <varname>TARGET_TRIPLE</varname></entry> + </row> + </tbody> + </tgroup> + </informaltable> + </sect2> + <sect2 xml:id="releng-stable-builds-beta"> <title>&os; <literal>BETA</literal> Builds</title> - <para> </para> + <para>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 + <filename>base/svnadmin/conf/approvers</filename> to include + a regular expression matching the &branch.stablex; branch for + the release:</para> + + <programlisting>^/&branch.stablex; re</programlisting> + + <note> + <para>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.</para> + </note> + + <para>Once the code freeze is in effect, the next build from the + branch is labeled <literal>BETA1</literal>. This is done by + updating the <varname>BRANCH</varname> value in + <filename>sys/conf/newvers.sh</filename> from + <literal>PRERELEASE</literal> to + <literal>BETA1</literal>.</para> + + <para>Once this is done, the first set of <literal>BETA</literal> + builds are started. Subsequent <literal>BETA</literal> builds + do not require updates to any files other than + <filename>sys/conf/newvers.sh</filename>, incrementing the + <literal>BETA</literal> build number.</para> </sect2> <sect2 xml:id="releng-stable-branching"> <title>Creating the &branch.relengx; Branch</title> - <para> </para> - </sect2> - - <sect2 xml:id="releng-stable-thaw"> - <title>Code Thaw in the &branch.stablex; Branch</title> - - <para> </para> + <para>When the first <acronym>RC</acronym> (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 + <varname>__FreeBSD_version</varname> values, for example. The + paths listed below are relative to the repository root. The + order of commits and what to change are:</para> + + <screen>&prompt.user; <userinput>svn cp &branch.stablex; &branch.relengx;</userinput></screen> + + <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>releng/<replaceable>11.0</replaceable>/sys/conf/newvers.sh</filename></entry> + <entry>Change <literal>BETA<replaceable>X</replaceable></literal> + to <literal>RC1</literal></entry> + </row> + + <row> + <entry><filename>releng/<replaceable>11.0</replaceable>/sys/sys/param.h</filename></entry> + <entry>Update <varname>__FreeBSD_version</varname></entry> + </row> + + <row> + <entry><filename>releng/<replaceable>11.0</replaceable>/etc/pkg/FreeBSD.conf</filename></entry> + <entry>Replace <literal>latest</literal> with + <literal>quarterly</literal> as the default package + repository location</entry> + </row> + + <row> + <entry><filename>releng/<replaceable>11.0</replaceable>/release/pkg_repos/release-dvd.conf</filename></entry> + <entry>Replace <literal>latest</literal> with + <literal>quarterly</literal> as the default package + repository location</entry> + </row> + + <row> + <entry><filename>stable/<replaceable>11</replaceable>/sys/conf/newver.sh</filename></entry> + <entry>Update <literal>BETA<replaceable>X</replaceable></literal> + with <literal>PRERELEASE</literal></entry> + </row> + + <row> + <entry><filename>stable/<replaceable>11</replaceable>/sys/sys/param.h</filename></entry> + <entry>Update <varname>__FreeBSD_version</varname></entry> + </row> + + <row> + <entry><filename>svnadmin/conf/approvers</filename></entry> + <entry>Add a new approvers line for the releng + branch as was done for the stable branch</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <screen>&prompt.user; <userinput>svn propdel -R svn:mergeinfo &branch.relengx;</userinput> +&prompt.user; <userinput>svn commit &branch.relengx;</userinput> +&prompt.user; <userinput>svn commit &branch.stablex;</userinput></screen> + + <para>Now that two new <varname>__FreeBSD_version</varname> values + exist, also upate + <filename>head/en_US.ISO8859-1/books/porters-handbook/versions/chapter.xml</filename> + in the Documentation Project repository.</para> + + <para>After the first <acronym>RC</acronym> build has completed + and tested, the &branch.stable; branch can be + <quote>thawed</quote> by removing (or commenting) the + ^/&branch.stablex; entry in + <filename>svnadmin/conf/approvers</filename>.</para> </sect2> <sect2 xml:id="releng-release-rc">
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201703152143.v2FLhbtc064891>