Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 Apr 2015 04:44:59 +0000 (UTC)
From:      Glen Barber <gjb@FreeBSD.org>
To:        doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org
Subject:   svn commit: r46515 - head/en_US.ISO8859-1/articles/releng
Message-ID:  <201504110444.t3B4ix7j068121@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@.
  
    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;&nbsp;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;&nbsp;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 &gt; 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;&nbsp;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>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201504110444.t3B4ix7j068121>