svn commit: r46515 - head/en_US.ISO8859-1/articles/releng
Glen Barber
gjb at FreeBSD.org
Sat Apr 11 04:44:59 UTC 2015
Author: gjb
Date: Sat Apr 11 04:44:58 2015
New Revision: 46515
URL: https://svnweb.freebsd.org/changeset/doc/46515
Log:
Revert r46484, r46485, r46511, r46512:
The claim that there were no "substantive" commits to this
article are made without any knowledge of internals of re at .
Several parts of the removed content is still relevant for
8.x, which we do still support.
Furthermore, this particular article, outdated or not, falls
under RE territory, and these drive-by commits were not
approved.
Approved by: re (implicit)
Modified:
head/en_US.ISO8859-1/articles/releng/article.xml
Modified: head/en_US.ISO8859-1/articles/releng/article.xml
==============================================================================
--- head/en_US.ISO8859-1/articles/releng/article.xml Fri Apr 10 15:54:36 2015 (r46514)
+++ head/en_US.ISO8859-1/articles/releng/article.xml Sat Apr 11 04:44:58 2015 (r46515)
@@ -5,6 +5,14 @@
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="en">
<info><title>&os; Release Engineering</title>
+
+
+
+ <confgroup>
+ <confdates>November 2001</confdates>
+ <conftitle>BSDCon Europe</conftitle>
+ </confgroup>
+
<authorgroup>
<author><personname><firstname>Murray</firstname><surname>Stokely</surname></personname><personblurb>
<para>I've been involved in the development of &os; based products
@@ -55,7 +63,12 @@
<para>The development of &os; is a very open process. &os; is
comprised of contributions from thousands of people around the
world. The &os; Project provides
- <application>Subversion</application>
+ Subversion
+ <footnote>
+ <simpara>
+ Subversion, <uri xlink:href="http://subversion.apache.org">http://subversion.apache.org</uri>
+ </simpara>
+ </footnote>
access to the general public so that
others can have access to log messages, diffs (patches) between
development branches, and other productivity enhancements that
@@ -66,8 +79,18 @@
Therefore only a <quote>select</quote> group of nearly 300 people are
given write access to the Subversion repository. These
<link xlink:href="&url.articles.contributors;/article.html#staff-committers">committers</link>
+ <footnote>
+ <simpara>
+ <link xlink:href="&url.articles.contributors;/article.html#staff-committers">FreeBSD committers</link>
+ </simpara>
+ </footnote>
are usually the people who do the bulk of &os; development. An elected
<link xlink:href="&url.base;/administration.html#t-core">Core Team</link>
+ <footnote>
+ <simpara>
+ <link xlink:href="&url.base;/administration.html#t-core">&os; Core Team</link>
+ </simpara>
+ </footnote>
of developers provide some level of direction over the project.</para>
<para>The rapid pace of <systemitem>&os;</systemitem>
@@ -145,6 +168,55 @@
available to keep systems on the
<emphasis>releng/<replaceable>X</replaceable>.<replaceable>Y</replaceable></emphasis>
branches updated.</para>
+
+ <sect2>
+ <title>What this article describes</title>
+
+ <para>The following sections of this article describe:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><xref linkend="release-proc"/></term>
+
+ <listitem>
+ <para>The different phases of the release engineering process
+ leading up to the actual system build.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><xref linkend="release-build"/></term>
+
+ <listitem>
+ <para>The actual build process.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><xref linkend="extensibility"/></term>
+
+ <listitem>
+ <para>How the base release may be extended by third parties.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><xref linkend="lessons-learned"/></term>
+
+ <listitem>
+ <para>Some of the lessons learned through the release of &os; 4.4.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><xref linkend="future"/></term>
+
+ <listitem>
+ <para>Future directions of development.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </sect2>
</sect1>
<!-- Release Process -->
@@ -446,6 +518,18 @@
</listitem>
</itemizedlist>
+ <para><application>Sysinstall</application> should be updated to note
+ the number of available ports and the amount of disk space required
+ for the Ports Collection.
+ <footnote>
+ <simpara>
+ &os; Ports Collection
+ <uri xlink:href="http://www.FreeBSD.org/ports">http://www.FreeBSD.org/ports</uri>
+ </simpara>
+ </footnote>
+ This information is currently kept in
+ <filename>src/usr.sbin/sysinstall/dist.c</filename>.</para>
+
<para>After the release has been built, a number of files should
be updated to announce the release to the world. These files
are relative to <literal>head/</literal> within the
@@ -631,6 +715,95 @@
be unwise to distribute binaries that were built on a system
with <varname>CPUTYPE</varname> set to a specific
processor.</para></note>
+
+ </sect2>
+
+ <sect2>
+ <title>Contributed Software (<quote>ports</quote>)</title>
+
+ <para>The <link xlink:href="http://www.FreeBSD.org/ports">&os; Ports
+ collection</link> is a collection of over &os.numports;
+ third-party software packages available for &os;. The &a.portmgr;
+ is responsible for maintaining a consistent ports tree that can be used
+ to create the binary packages that accompany official &os;
+ releases.</para>
+ </sect2>
+
+ <sect2>
+ <title>Release ISOs</title>
+
+ <para>Starting with &os; 4.4, the &os; Project decided to
+ release all four ISO images that were previously sold on the
+ <emphasis>BSDi/Wind River Systems/FreeBSD Mall</emphasis>
+ <quote>official</quote> CDROM distributions. Each of the four
+ discs must contain a <filename>README.TXT</filename> file that
+ explains the contents of the disc, a
+ <filename>CDROM.INF</filename> file that provides meta-data for
+ the disc so that &man.sysinstall.8; can validate and use the
+ contents, and a <filename>filename.txt</filename> file that
+ provides a manifest for the disc. This
+ <emphasis>manifest</emphasis> can be created with a simple
+ command:</para>
+
+ <screen>/stage/cdrom&prompt.root; <userinput>find . -type f | sed -e 's/^\.\///' | sort > filename.txt</userinput></screen>
+
+ <para>The specific requirements of each CD are outlined below.</para>
+
+ <sect3>
+ <title>Disc 1</title>
+
+ <para>The first disc is almost completely created by
+ <command>make
+ release</command>. The only changes
+ that should be made to the <filename>disc1</filename> directory are the addition of
+ a <filename>tools</filename> directory, and as many popular
+ third party software packages as will fit on the disc. The
+ <filename>tools</filename> directory contains software that allow users to create
+ installation floppies from other operating systems. This disc
+ should be made bootable so that users of modern PCs do not
+ need to create installation floppy disks.</para>
+
+ <para>If a custom kernel of &os; is to be included, then
+ &man.sysinstall.8; and &man.release.7; must be updated to
+ include installation instructions. The relevant code is contained
+ in <filename>src/release</filename> and <filename>src/usr.sbin/sysinstall</filename>.
+ Specifically, the file <filename>src/release/Makefile</filename>, and
+ <filename>dist.c</filename>, <filename>dist.h</filename>,
+ <filename>menus.c</filename>, <filename>install.c</filename>, and
+ <filename>Makefile</filename> will need to be updated under
+ <filename>src/usr.sbin/sysinstall</filename>. Optionally, you may choose
+ to update <filename>sysinstall.8</filename>.</para>
+
+ </sect3>
+
+ <sect3>
+ <title>Disc 2</title>
+
+ <para>The second disc is also largely created by <command>make
+ release</command>. This disc contains a <quote>live
+ filesystem</quote> that can be used from &man.sysinstall.8; to
+ troubleshoot a &os; installation. This disc should be
+ bootable and should also contain a compressed copy of the CVS
+ repository in the <filename>CVSROOT</filename> directory and
+ commercial software demos in the <filename>commerce</filename>
+ directory.</para>
+ </sect3>
+
+ <sect3>
+ <title>Multi-volume support</title>
+
+ <para><application>Sysinstall</application> supports multiple
+ volume package installations. This requires that each disc
+ have an <filename>INDEX</filename> file containing all of the
+ packages on all volumes of a set, along with an extra field
+ that indicates which volume that particular package is on.
+ Each volume in the set must also have the
+ <literal>CD_VOLUME</literal> variable set in the
+ <filename>cdrom.inf</filename> file so that sysinstall can
+ tell which volume is which. When a user attempts to install a
+ package that is not on the current disc, sysinstall will
+ prompt the user to insert the appropriate one.</para>
+ </sect3>
</sect2>
</sect1>
@@ -709,6 +882,13 @@
time, for example make it relative to GMT.</para>
</sect2>
+ <sect2 xml:id="dist-cdrom">
+ <title>CD-ROM Replication</title>
+
+ <para>Coming soon: Tips for sending &os; ISOs to a replicator
+ and quality assurance measures to be taken.</para>
+ </sect2>
+
</sect1>
<!-- Extensibility -->
@@ -727,8 +907,25 @@
certainly encourage innovation in the form of advanced
installation and administration tools, for example, but we cannot
be expected to answer questions about it.</para>
+
+ <sect2>
+ <title>Scripting <command>sysinstall</command></title>
+
+ <para>The &os; system installation and configuration tool,
+ &man.sysinstall.8;, can be scripted to provide automated installs
+ for large sites. This functionality can be used in conjunction
+ with &intel; PXE
+ <footnote>
+ <simpara>
+ <uri xlink:href="&url.books.handbook;/network-pxe-nfs.html">&url.books.handbook;/network-pxe-nfs.html</uri>
+ </simpara>
+ </footnote>
+ to bootstrap systems from the network.
+ </para>
+ </sect2>
</sect1>
+<!-- Lessons Learned -->
<sect1 xml:id="lessons-learned">
<title>Lessons Learned from &os; 4.4</title>
@@ -771,12 +968,33 @@
using multiple processors in speeding up the <command>make
release</command> process. If multiple disks are used for
different hierarchies in the &man.chroot.2;
- environment, then the subversion checkout of the <filename>ports</filename> and <filename>doc</filename> trees
+ environment, then the CVS checkout of the <filename>ports</filename> and <filename>doc</filename> trees
can be happening simultaneously as the <command>make
world</command> on another disk. Using a
<acronym>RAID</acronym> solution (hardware or software) can
significantly decrease the overall build time.</para>
</listitem>
+
+ <listitem>
+ <para><emphasis>Cross-building releases</emphasis> - Building
+ IA-64 or Alpha release on x86 hardware? <command>make
+ TARGET=ia64 release</command>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis>Regression Testing</emphasis> - We need better
+ automated correctness testing for &os;.</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis>Installation Tools</emphasis> - Our installation
+ program has long since outlived its intended life span.
+ Several projects are under development to provide a more
+ advanced installation mechanism. The libh project was one
+ such project that aimed to provide an intelligent new package
+ framework and GUI installation program.</para>
+ </listitem>
</itemizedlist>
</sect1>
More information about the svn-doc-all
mailing list