Update this article a bit to be less release version-specific. Also

clean up the version bump list by separating those items (i.e., in the
www/ tree) that should be modified AFTER the release is otherwise
ready.

Add a few <replaceable> tags.

Update an example.
This commit is contained in:
Murray Stokely 2003-03-08 09:55:04 +00:00
parent 3c88669f0d
commit ee726148f1
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=16218

View file

@ -52,7 +52,7 @@
<para>This paper describes the approach used by the FreeBSD
release engineering team to make production quality releases
of the FreeBSD Operating System. It details the methodology
used for the release of FreeBSD 4.4 and describes the tools
used for the official FreeBSD releases and describes the tools
available for those interested in producing customized FreeBSD
releases for corporate rollouts or commercial
productization.</para>
@ -131,8 +131,9 @@
is made. After the release goes out, only the most critical
security fixes and additions are merged onto the release branch.
In addition to source updates via CVS, binary patchkits are
available to keep systems on the <emphasis>RELENG_4_3 </emphasis>
and <emphasis>RELENG_4_4</emphasis> branches updated.</para>
available to keep systems on the
<emphasis>RELENG_<replaceable>X</replaceable>_<replaceable>Y</replaceable></emphasis>
branches updated.</para>
<para><xref linkend="release-proc"> discusses the
different phases of the release engineering process leading up to
@ -220,12 +221,14 @@
<sect3>
<title>Creating the Release Branch</title>
<para>As described in the introduction, the <literal>RELENG_X_Y</literal> release
branch is a relatively new addition to our release engineering
<para>As described in the introduction, the
<literal>RELENG_<replaceable>X</replaceable>_<replaceable>Y</replaceable></literal>
release branch is a relatively new addition to our release
engineering
methodology. The first step in creating this branch is to
ensure that you are working with the newest version of the
<literal>RELENG_X</literal> sources that you want to branch
<emphasis>from</emphasis>.</para>
<literal>RELENG_<replaceable>X</replaceable></literal> sources
that you want to branch <emphasis>from</emphasis>.</para>
<screen>/usr/src&prompt.root; <userinput>cvs update -rRELENG_4 -P -d</userinput></screen>
@ -233,15 +236,16 @@
<emphasis>tag</emphasis>, so that diffs against the start of
the branch are easier with CVS:</para>
<screen>/usr/src&prompt.root; <userinput>cvs rtag -rRELENG_4 RELENG_4_4_BP src</userinput></screen>
<screen>/usr/src&prompt.root; <userinput>cvs rtag -rRELENG_4 RELENG_4_8_BP src</userinput></screen>
<para>And then a new branch tag is created with:</para>
<screen>/usr/src&prompt.root; <userinput>cvs rtag -b -rRELENG_4_4_BP RELENG_4_4 src</userinput></screen>
<screen>/usr/src&prompt.root; <userinput>cvs rtag -b -rRELENG_4_8_BP RELENG_4_8 src</userinput></screen>
<note>
<para><emphasis>The <literal>RELENG_*</literal> tags are
restricted for use by the CVS-meisters and release
<para><emphasis>The
<literal>RELENG_<replaceable>*</replaceable></literal> tags
are restricted for use by the CVS-meisters and release
engineers.</emphasis></para>
</note>
@ -325,10 +329,6 @@
<para><filename>src/share/examples/cvsup/standard-supfile</filename></para>
</listitem>
<listitem>
<para><filename>src/share/misc/bsd-family-tree</filename></para>
</listitem>
<listitem>
<para><filename>src/sys/conf/newvers.sh</filename></para>
</listitem>
@ -341,18 +341,6 @@
<para><filename>src/usr.sbin/pkg_install/add/main.c</filename></para>
</listitem>
<listitem>
<para><filename>www/en/includes.xsl</filename></para>
</listitem>
<listitem>
<para><filename>www/en/includes.sgml</filename></para>
</listitem>
<listitem>
<para><filename>www/en/releases/*</filename></para>
</listitem>
<listitem>
<para><filename>www/en/docs.sgml</filename></para>
</listitem>
@ -387,21 +375,44 @@
the number of available ports and the amount of disk space required
for the Ports Collection. This information is currently kept in
<filename>src/release/sysinstall/dist.c</filename>.</para>
<para>After the release has been built, a number of file should
be updated to announce the release to the world.</para>
<itemizedlist>
<listitem>
<para><filename>www/en/includes.xsl</filename></para>
</listitem>
<listitem>
<para><filename>www/en/includes.sgml</filename></para>
</listitem>
<listitem>
<para><filename>www/en/releases/*</filename></para>
</listitem>
<listitem>
<para><filename>src/share/misc/bsd-family-tree</filename></para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>Creating Release Tags</title>
<para>When the final release is ready, the following command
will create the <literal>RELENG_4_4_0_RELEASE</literal>
will create the <literal>RELENG_4_8_0_RELEASE</literal>
tag.</para>
<screen>
/usr/src&prompt.root; <userinput>cvs rtag -rRELENG_4_4 RELENG_4_4_0_RELEASE src</userinput>
/usr/src&prompt.root; <userinput>cvs rtag -rRELENG_4_8 RELENG_4_8_0_RELEASE src</userinput>
</screen>
<para>The Documentation and Ports managers are responsible for
tagging the respective trees with the <literal>RELEASE_4_4_0</literal>
tagging the respective trees with the <literal>RELEASE_4_8_0</literal>
tag.</para>
<para>Occasionally, a last minute fix may be required
@ -489,13 +500,13 @@
<para>There are many other variables available to customize the
release build. Most of these variables are documented at the
top of <filename>src/release/Makefile</filename>. The exact
command used to build the official FreeBSD 4.4 (x86) release
command used to build the official FreeBSD 4.7 (x86) release
was:</para>
<screen><command>make <literal>release CHROOTDIR=/local3/release \
BUILDNAME=4.4-RELEASE \
BUILDNAME=4.7-RELEASE \
CVSROOT=/host/cvs/usr/home/ncvs \
RELEASETAG=RELENG_4_4_0_RELEASE</literal>
RELEASETAG=RELENG_4_7_0_RELEASE</literal>
</command>
</screen>