aboutsummaryrefslogblamecommitdiff
path: root/en_US.ISO8859-1/articles/freebsd-releng/releng-major-version.xml
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;&nbsp;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;&nbsp;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&lt;version&gt;.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 &amp;a.current; with &amp;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>