svn commit: r50064 - user/gjb/releng-rewrite/en_US.ISO8859-1/articles/freebsd-releng

Glen Barber gjb at FreeBSD.org
Wed Mar 15 21:43:38 UTC 2017


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">


More information about the svn-doc-user mailing list