Use the new &os;, &os.stable;, and &os.current; entities where

appropriate.  This document's spelling of "FreeBSD-STABLE" and the
like is now consistent with itself.
This commit is contained in:
Dima Dorfman 2001-06-08 01:15:08 +00:00
parent 786c87df58
commit a682caddc1
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=9574
2 changed files with 156 additions and 158 deletions

View file

@ -1,7 +1,7 @@
<!-- <!--
The FreeBSD Documentation Project The FreeBSD Documentation Project
$FreeBSD: doc/en_US.ISO_8859-1/books/handbook/cutting-edge/chapter.sgml,v 1.68 2001/05/12 03:20:47 eric Exp $ $FreeBSD: doc/en_US.ISO_8859-1/books/handbook/cutting-edge/chapter.sgml,v 1.69 2001/05/24 17:46:52 schweikh Exp $
--> -->
<chapter id="cutting-edge"> <chapter id="cutting-edge">
@ -14,7 +14,7 @@
<sect1> <sect1>
<title>Synopsis</title> <title>Synopsis</title>
<para>FreeBSD is under constant development between releases. For <para>&os; is under constant development between releases. For
people who want to be on the cutting edge, there are several easy people who want to be on the cutting edge, there are several easy
mechanisms for keeping your system in sync with the latest mechanisms for keeping your system in sync with the latest
developments. Be warned&mdash;the cutting edge is not for everyone! developments. Be warned&mdash;the cutting edge is not for everyone!
@ -24,60 +24,60 @@
</sect1> </sect1>
<sect1 id="current-stable"> <sect1 id="current-stable">
<title>-CURRENT vs. -STABLE</title> <title>&os.current; vs. &os.stable;</title>
<para>There are two development branches to FreeBSD; -CURRENT and <para>There are two development branches to FreeBSD; &os.current; and
-STABLE. This section will explain a bit about each and describe &os.stable;. This section will explain a bit about each and describe
how to keep your system up-to-date with each respective tree. how to keep your system up-to-date with each respective tree.
-CURRENT will be discussed first, then -STABLE.</para> &os.current; will be discussed first, then &os.stable;.</para>
<sect2 id="current"> <sect2 id="current">
<title>Staying Current with FreeBSD</title> <title>Staying Current with &os;</title>
<para>As you are reading this, keep in mind that -CURRENT is the <para>As you are reading this, keep in mind that &os.current; is the
<quote>bleeding edge</quote> of FreeBSD development and that if you <quote>bleeding edge</quote> of &os; development and that if you
are new to FreeBSD, you are most likely going to want to think are new to &os;, you are most likely going to want to think
twice about running it.</para> twice about running it.</para>
<sect3> <sect3>
<title>What is FreeBSD-CURRENT?</title> <title>What is &os.current;?</title>
<para>FreeBSD-CURRENT is, quite literally, nothing more than a <para>&os.current; is, quite literally, nothing more than a
daily snapshot of the working sources for FreeBSD. These daily snapshot of the working sources for &os;. These
include work in progress, experimental changes and transitional include work in progress, experimental changes and transitional
mechanisms that may or may not be present in the next official mechanisms that may or may not be present in the next official
release of the software. While many of us compile almost daily release of the software. While many of us compile almost daily
from FreeBSD-CURRENT sources, there are periods of time when the from &os.current; sources, there are periods of time when the
sources are literally un-compilable. These problems are sources are literally un-compilable. These problems are
generally resolved as expeditiously as possible, but whether or generally resolved as expeditiously as possible, but whether or
not FreeBSD-CURRENT sources bring disaster or greatly desired not &os.current; sources bring disaster or greatly desired
functionality can literally be a matter of which part of any functionality can literally be a matter of which part of any
given 24 hour period you grabbed them in!</para> given 24 hour period you grabbed them in!</para>
</sect3> </sect3>
<sect3> <sect3>
<title>Who needs FreeBSD-CURRENT?</title> <title>Who needs &os.current;?</title>
<para>FreeBSD-CURRENT is made generally available for 3 primary <para>&os.current; is made generally available for 3 primary
interest groups:</para> interest groups:</para>
<orderedlist> <orderedlist>
<listitem> <listitem>
<para>Members of the FreeBSD group who are actively working on <para>Members of the &os; group who are actively working on
some part of the source tree and for whom keeping some part of the source tree and for whom keeping
<quote>current</quote> is an absolute requirement.</para> <quote>current</quote> is an absolute requirement.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Members of the FreeBSD group who are active testers, <para>Members of the &os; group who are active testers,
willing to spend time working through problems in order to willing to spend time working through problems in order to
ensure that FreeBSD-CURRENT remains as sane as possible. ensure that &os.current; remains as sane as possible.
These are also people who wish to make topical suggestions These are also people who wish to make topical suggestions
on changes and the general direction of FreeBSD.</para> on changes and the general direction of &os;.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Peripheral members of the FreeBSD (or some other) group <para>Peripheral members of the &os; (or some other) group
who merely wish to keep an eye on things and use the current who merely wish to keep an eye on things and use the current
sources for reference purposes (e.g. for sources for reference purposes (e.g. for
<emphasis>reading</emphasis>, not running). These people <emphasis>reading</emphasis>, not running). These people
@ -87,7 +87,7 @@
</sect3> </sect3>
<sect3> <sect3>
<title>What is FreeBSD-CURRENT <emphasis>not</emphasis>?</title> <title>What is &os.current; <emphasis>not</emphasis>?</title>
<orderedlist> <orderedlist>
<listitem> <listitem>
@ -103,14 +103,14 @@
<listitem> <listitem>
<para>In any way <quote>officially supported</quote> by us. <para>In any way <quote>officially supported</quote> by us.
We do our best to help people genuinely in one of the 3 We do our best to help people genuinely in one of the 3
<quote>legitimate</quote> FreeBSD-CURRENT categories, but we <quote>legitimate</quote> &os.current; categories, but we
simply <emphasis>do not have the time</emphasis> to provide simply <emphasis>do not have the time</emphasis> to provide
tech support for it. This is not because we are mean and tech support for it. This is not because we are mean and
nasty people who do not like helping people out (we would nasty people who do not like helping people out (we would
not even be doing FreeBSD if we were), it is literally not even be doing &os; if we were), it is literally
because we cannot answer 400 messages a day because we cannot answer 400 messages a day
<emphasis>and</emphasis> actually work on FreeBSD! Given the <emphasis>and</emphasis> actually work on FreeBSD! Given the
choice between improving FreeBSD and answering lots of choice between improving &os; and answering lots of
questions, most developers, and users, would probably opt for questions, most developers, and users, would probably opt for
the former.</para> the former.</para>
</listitem> </listitem>
@ -118,14 +118,14 @@
</sect3> </sect3>
<sect3> <sect3>
<title>Using FreeBSD-CURRENT</title> <title>Using &os.current;</title>
<orderedlist> <orderedlist>
<listitem> <listitem>
<para>Join the &a.current; and the &a.cvsall; . This is not <para>Join the &a.current; and the &a.cvsall; . This is not
just a good idea, it is <emphasis>essential</emphasis>. If just a good idea, it is <emphasis>essential</emphasis>. If
you are not on the <emphasis>FreeBSD-CURRENT</emphasis> you are not on the <emphasis>&a.current;</emphasis>,
mailing list, you will not see the comments that people are you will not see the comments that people are
making about the current state of the system and thus will making about the current state of the system and thus will
probably end up stumbling over a lot of problems that others probably end up stumbling over a lot of problems that others
have already found and solved. Even more importantly, you have already found and solved. Even more importantly, you
@ -171,7 +171,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
<listitem> <listitem>
<para>Use <command>ftp</command>. The source tree for <para>Use <command>ftp</command>. The source tree for
FreeBSD-CURRENT is always <quote>exported</quote> on: &os.current; is always <quote>exported</quote> on:
<ulink <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/">ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/</ulink>. url="ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/">ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/</ulink>.
We also use <command>wu-ftpd</command> which allows We also use <command>wu-ftpd</command> which allows
@ -205,13 +205,13 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
<listitem> <listitem>
<para>If you are grabbing the sources to run, and not just <para>If you are grabbing the sources to run, and not just
look at, then grab <emphasis>all</emphasis> of current, not look at, then grab <emphasis>all</emphasis> of &os.current;, not
just selected portions. The reason for this is that various just selected portions. The reason for this is that various
parts of the source depend on updates elsewhere, and trying parts of the source depend on updates elsewhere, and trying
to compile just a subset is almost guaranteed to get you to compile just a subset is almost guaranteed to get you
into trouble.</para> into trouble.</para>
<para>Before compiling current, read the <para>Before compiling &os.current;, read the
<filename>Makefile</filename>in <filename>/usr/src</filename> <filename>Makefile</filename>in <filename>/usr/src</filename>
carefully. You should at least run a <link carefully. You should at least run a <link
linkend="makeworld">make world</link> the first time through linkend="makeworld">make world</link> the first time through
@ -222,7 +222,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
</listitem> </listitem>
<listitem> <listitem>
<para>Be active! If you are running FreeBSD-CURRENT, we want <para>Be active! If you are running &os.current;, we want
to know what you have to say about it, especially if you to know what you have to say about it, especially if you
have suggestions for enhancements or bug fixes. Suggestions have suggestions for enhancements or bug fixes. Suggestions
with accompanying code are received most with accompanying code are received most
@ -233,63 +233,62 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
</sect2> </sect2>
<sect2 id="stable"> <sect2 id="stable">
<title>Staying Stable with FreeBSD</title> <title>Staying Stable with &os;</title>
<para>If you are using FreeBSD in a production environment and want <para>If you are using &os; in a production environment and want
to make sure you have the latest fixes from the -CURRENT branch, to make sure you have the latest fixes from the &os.current; branch,
you want to be running -STABLE. This is the tree that -RELEASEs you want to be running &os.stable;. This is the tree that -RELEASEs
are branched from when we are putting together a new release. For are branched from when we are putting together a new release. For
example, if you have a copy of 3.4-RELEASE, that is really just a example, if you have a copy of 3.4-RELEASE, that is really just a
<quote>snapshot</quote> from the -STABLE branch that we put on <quote>snapshot</quote> from the &os.stable; branch that we put on
CDROM. In order to get any changes merged into -STABLE after the CDROM. In order to get any changes merged into &os.stable; after the
-RELEASE, you need to <quote>track</quote> the -STABLE -RELEASE, you need to <quote>track</quote> the &os.stable;
branch.</para> branch.</para>
<sect3> <sect3>
<title>What is FreeBSD-STABLE?</title> <title>What is &os.stable;?</title>
<para>FreeBSD-STABLE is our development branch for a more low-key <para>&os.stable; is our development branch for a more low-key
and conservative set of changes intended for our next mainstream and conservative set of changes intended for our next mainstream
release. Changes of an experimental or untested nature do not release. Changes of an experimental or untested nature do not
go into this branch (see <link go into this branch.</para>
linkend="current">FreeBSD-CURRENT</link>).</para>
</sect3> </sect3>
<sect3> <sect3>
<title>Who needs FreeBSD-STABLE?</title> <title>Who needs &os.stable;?</title>
<para>If you are a commercial user or someone who puts maximum <para>If you are a commercial user or someone who puts maximum
stability of their FreeBSD system before all other concerns, you stability of their &os; system before all other concerns, you
should consider tracking <emphasis>stable</emphasis>. This is should consider tracking &os.stable;. This is
especially true if you have installed the most recent release especially true if you have installed the most recent release
(<ulink (<ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/">&rel.current;-RELEASE</ulink> url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/">&rel.current;-RELEASE</ulink>
at the time of this writing) since the at the time of this writing) since the &os.stable;
<emphasis>stable</emphasis> branch is effectively a bug-fix branch is effectively a bug-fix
stream relative to the previous release.</para> stream relative to the previous release.</para>
<warning> <warning>
<para>The <emphasis>stable</emphasis> tree endeavors, above all, <para>The &os.stable; tree endeavors, above all,
to be fully compilable and stable at all times, but we do to be fully compilable and stable at all times, but we do
occasionally make mistakes (these are still active sources occasionally make mistakes (these are still active sources
with quickly-transmitted updates, after all). We also do our with quickly-transmitted updates, after all). We also do our
best to thoroughly test fixes in <emphasis>current</emphasis> best to thoroughly test fixes in &os.current;
before bringing them into <emphasis>stable</emphasis>, but before bringing them into &os.stable;, but
sometimes our tests fail to catch every case. If something sometimes our tests fail to catch every case. If something
breaks for you in <emphasis>stable</emphasis>, please let us breaks for you in &os.stable;, please let us
know <emphasis>immediately!</emphasis> (see next know <emphasis>immediately!</emphasis> (see next
section).</para> section).</para>
</warning> </warning>
</sect3> </sect3>
<sect3> <sect3>
<title>Using FreeBSD-STABLE</title> <title>Using &os.stable;</title>
<orderedlist> <orderedlist>
<listitem> <listitem>
<para>Join the &a.stable;. This will keep you informed of <para>Join the &a.stable;. This will keep you informed of
build-dependencies that may appear in build-dependencies that may appear in &os.stable;
<emphasis>stable</emphasis> or any other issues requiring or any other issues requiring
special attention. Developers will also make announcements special attention. Developers will also make announcements
in this mailing list when they are contemplating some in this mailing list when they are contemplating some
controversial fix or update, giving the users a chance to controversial fix or update, giving the users a chance to
@ -319,7 +318,7 @@ subscribe cvs-all</programlisting>
url="ftp://releng4.FreeBSD.org/pub/FreeBSD/">ftp://releng4.FreeBSD.org/pub/FreeBSD/</ulink> url="ftp://releng4.FreeBSD.org/pub/FreeBSD/">ftp://releng4.FreeBSD.org/pub/FreeBSD/</ulink>
and install it like any other release.</para> and install it like any other release.</para>
<para>If you are already running a previous release of FreeBSD <para>If you are already running a previous release of &os;
and wish to upgrade via sources then you can easily do so and wish to upgrade via sources then you can easily do so
from <hostid role="fqdn">ftp.FreeBSD.org</hostid>. This can from <hostid role="fqdn">ftp.FreeBSD.org</hostid>. This can
be done in one of three ways:</para> be done in one of three ways:</para>
@ -349,7 +348,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
<listitem> <listitem>
<para>Use <command>ftp</command>. The source tree for <para>Use <command>ftp</command>. The source tree for
FreeBSD-STABLE is always <quote>exported</quote> on: &os.stable; is always <quote>exported</quote> on:
<ulink <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-stable/">ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-stable/</ulink></para> url="ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-stable/">ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-stable/</ulink></para>
@ -376,7 +375,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
</listitem> </listitem>
<listitem> <listitem>
<para>Before compiling stable, read the <para>Before compiling sta, read the
<filename>Makefile</filename> in <filename>/usr/src</filename> <filename>Makefile</filename> in <filename>/usr/src</filename>
carefully. You should at least run a <link carefully. You should at least run a <link
linkend="makeworld">make world</link> the first time through linkend="makeworld">make world</link> the first time through
@ -394,7 +393,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
<title>Synchronizing Your Source</title> <title>Synchronizing Your Source</title>
<para>There are various ways of using an Internet (or email) <para>There are various ways of using an Internet (or email)
connection to stay up-to-date with any given area of the FreeBSD connection to stay up-to-date with any given area of the &os;
project sources, or all areas, depending on what interests you. The project sources, or all areas, depending on what interests you. The
primary services we offer are <link linkend="anoncvs">Anonymous primary services we offer are <link linkend="anoncvs">Anonymous
CVS</link>, <link linkend="cvsup">CVSup</link>, and <link CVS</link>, <link linkend="cvsup">CVSup</link>, and <link
@ -464,8 +463,8 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
<title>Using <command>make world</command></title> <title>Using <command>make world</command></title>
<para>Once you have synchronized your local source tree against a <para>Once you have synchronized your local source tree against a
particular version of FreeBSD (<literal>stable</literal>, particular version of &os; (&os.stable;, &os.current;, and so on)
<literal>current</literal> and so on) you can then use the source you can then use the source
tree to rebuild the system.</para> tree to rebuild the system.</para>
<warning> <warning>
@ -486,9 +485,9 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
<warning> <warning>
<title>Subscribe to the right mailing list</title> <title>Subscribe to the right mailing list</title>
<para>The -STABLE and -CURRENT FreeBSD code branches are, by their <para>The &os.stable; and &os.current; branches are, by their
nature, <emphasis>in development</emphasis>. People that nature, <emphasis>in development</emphasis>. People that
contribute to FreeBSD are human, and mistakes occasionally contribute to &os; are human, and mistakes occasionally
happen.</para> happen.</para>
<para>Sometimes these mistakes can be quite harmless, just causing <para>Sometimes these mistakes can be quite harmless, just causing
@ -502,7 +501,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
clear</quote> announcement is posted when the problem has been clear</quote> announcement is posted when the problem has been
solved.</para> solved.</para>
<para>If you try and track -STABLE or -CURRENT and do not read the <para>If you try and track &os.stable; or &os.current; and do not read the
<email>stable@FreeBSD.org</email> or <email>stable@FreeBSD.org</email> or
<email>current@FreeBSD.org</email> mailing lists then you are <email>current@FreeBSD.org</email> mailing lists then you are
asking for trouble.</para> asking for trouble.</para>
@ -662,7 +661,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
&man.make.1; to another file. If something goes wrong you will &man.make.1; to another file. If something goes wrong you will
have a copy of the error message. While this might not help you have a copy of the error message. While this might not help you
in diagnosing what has gone wrong, it can help others if you post in diagnosing what has gone wrong, it can help others if you post
your problem to one of the FreeBSD mailing lists.</para> your problem to one of the &os; mailing lists.</para>
<para>The easiest way to do this is to use the &man.script.1; <para>The easiest way to do this is to use the &man.script.1;
command, with a parameter that specifies the name of the file to command, with a parameter that specifies the name of the file to
@ -697,7 +696,7 @@ Script done, &hellip;</screen>
<para>To rebuild the world you use the &man.make.1; command. This <para>To rebuild the world you use the &man.make.1; command. This
command reads instructions from the <filename>Makefile</filename>, command reads instructions from the <filename>Makefile</filename>,
which describes how the programs that comprise FreeBSD should be which describes how the programs that comprise &os; should be
rebuilt, the order in which they should be built, and so on.</para> rebuilt, the order in which they should be built, and so on.</para>
<para>The general format of the command line you will type is as <para>The general format of the command line you will type is as
@ -744,9 +743,9 @@ Script done, &hellip;</screen>
<screen>&prompt.root; <userinput>make <replaceable>target</replaceable></userinput></screen> <screen>&prompt.root; <userinput>make <replaceable>target</replaceable></userinput></screen>
<para>Beginning with version 2.2.5 of FreeBSD (actually, it was <para>Beginning with version 2.2.5 of &os; (actually, it was
first created on the -CURRENT branch, and then retrofitted to first created on the &os.current; branch, and then retrofitted to
-STABLE midway between 2.2.2 and 2.2.5) the &os.stable; midway between 2.2.2 and 2.2.5) the
<maketarget>world</maketarget> target has been split in <maketarget>world</maketarget> target has been split in
two. <maketarget>buildworld</maketarget> and two. <maketarget>buildworld</maketarget> and
<maketarget>installworld</maketarget>.</para> <maketarget>installworld</maketarget>.</para>
@ -811,8 +810,8 @@ Script done, &hellip;</screen>
<para>Many factors influence the build time, but currently a 500MHz <para>Many factors influence the build time, but currently a 500MHz
Pentium 3 with 128MB of RAM takes about 3 and a half hours to build Pentium 3 with 128MB of RAM takes about 3 and a half hours to build
the -CURRENT tree, with no tricks or shortcuts used during the the &os.current; tree, with no tricks or shortcuts used during the
process. A -STABLE tree will build somewhat faster.</para> process. A &os.stable; tree will build somewhat faster.</para>
</sect3> </sect3>
</sect2> </sect2>
@ -835,7 +834,7 @@ Script done, &hellip;</screen>
can then build a new kernel based on your normal kernel config can then build a new kernel based on your normal kernel config
file.</para> file.</para>
<para>If you are upgrading to FreeBSD 4.0 or above then the standard <para>If you are upgrading to &os; 4.0 or above then the standard
kernel build procedure (as described in <xref linkend="kernelconfig">) kernel build procedure (as described in <xref linkend="kernelconfig">)
is deprecated. Instead, you should run these commands.</para> is deprecated. Instead, you should run these commands.</para>
@ -843,7 +842,7 @@ Script done, &hellip;</screen>
&prompt.root; <userinput>make buildkernel</userinput> &prompt.root; <userinput>make buildkernel</userinput>
&prompt.root; <userinput>make installkernel</userinput></screen> &prompt.root; <userinput>make installkernel</userinput></screen>
<para>If you are upgrading to a version of FreeBSD below 4.0 you should <para>If you are upgrading to a version of &os; below 4.0 you should
use the standard kernel build procedure. However, it is recommended use the standard kernel build procedure. However, it is recommended
that you use the new version of &man.config.8;, using a command line that you use the new version of &man.config.8;, using a command line
like this.</para> like this.</para>
@ -862,7 +861,7 @@ Script done, &hellip;</screen>
<sect2> <sect2>
<title>Install the new system binaries</title> <title>Install the new system binaries</title>
<para>If you were building a version of FreeBSD recent enough to have <para>If you were building a version of &os; recent enough to have
used <command>make buildworld</command> then you should now use the used <command>make buildworld</command> then you should now use the
<maketarget>installworld</maketarget> to install the new system <maketarget>installworld</maketarget> to install the new system
binaries.</para> binaries.</para>
@ -1161,7 +1160,7 @@ Script done, &hellip;</screen>
<sect2> <sect2>
<title>Finished</title> <title>Finished</title>
<para>You should now have successfully upgraded your FreeBSD system. <para>You should now have successfully upgraded your &os; system.
Congratulations.</para> Congratulations.</para>
<para>If things went slightly wrong, it is easy to rebuild a particular <para>If things went slightly wrong, it is easy to rebuild a particular
@ -1210,8 +1209,8 @@ Script done, &hellip;</screen>
spot all the dependencies.</para> spot all the dependencies.</para>
<para>And, of course, this all depends on how often you want to <para>And, of course, this all depends on how often you want to
upgrade, and whether you are tracking -STABLE or upgrade, and whether you are tracking &os.stable; or
-CURRENT.</para> &os.current;.</para>
</answer> </answer>
</qandaentry> </qandaentry>
@ -1259,7 +1258,7 @@ Script done, &hellip;</screen>
builds run much faster, since most of sources will not need to builds run much faster, since most of sources will not need to
be recompiled. The flip side of this is that subtle dependency be recompiled. The flip side of this is that subtle dependency
problems can creep in, causing your build to fail in odd ways. problems can creep in, causing your build to fail in odd ways.
This frequently generates noise on the FreeBSD mailing lists, This frequently generates noise on the &os; mailing lists,
when one person complains that their build has failed, not when one person complains that their build has failed, not
realising that it is because they have tried to cut realising that it is because they have tried to cut
corners.</para> corners.</para>

View file

@ -1,7 +1,7 @@
<!-- <!--
The FreeBSD Documentation Project The FreeBSD Documentation Project
$FreeBSD: doc/en_US.ISO_8859-1/books/handbook/cutting-edge/chapter.sgml,v 1.68 2001/05/12 03:20:47 eric Exp $ $FreeBSD: doc/en_US.ISO_8859-1/books/handbook/cutting-edge/chapter.sgml,v 1.69 2001/05/24 17:46:52 schweikh Exp $
--> -->
<chapter id="cutting-edge"> <chapter id="cutting-edge">
@ -14,7 +14,7 @@
<sect1> <sect1>
<title>Synopsis</title> <title>Synopsis</title>
<para>FreeBSD is under constant development between releases. For <para>&os; is under constant development between releases. For
people who want to be on the cutting edge, there are several easy people who want to be on the cutting edge, there are several easy
mechanisms for keeping your system in sync with the latest mechanisms for keeping your system in sync with the latest
developments. Be warned&mdash;the cutting edge is not for everyone! developments. Be warned&mdash;the cutting edge is not for everyone!
@ -24,60 +24,60 @@
</sect1> </sect1>
<sect1 id="current-stable"> <sect1 id="current-stable">
<title>-CURRENT vs. -STABLE</title> <title>&os.current; vs. &os.stable;</title>
<para>There are two development branches to FreeBSD; -CURRENT and <para>There are two development branches to FreeBSD; &os.current; and
-STABLE. This section will explain a bit about each and describe &os.stable;. This section will explain a bit about each and describe
how to keep your system up-to-date with each respective tree. how to keep your system up-to-date with each respective tree.
-CURRENT will be discussed first, then -STABLE.</para> &os.current; will be discussed first, then &os.stable;.</para>
<sect2 id="current"> <sect2 id="current">
<title>Staying Current with FreeBSD</title> <title>Staying Current with &os;</title>
<para>As you are reading this, keep in mind that -CURRENT is the <para>As you are reading this, keep in mind that &os.current; is the
<quote>bleeding edge</quote> of FreeBSD development and that if you <quote>bleeding edge</quote> of &os; development and that if you
are new to FreeBSD, you are most likely going to want to think are new to &os;, you are most likely going to want to think
twice about running it.</para> twice about running it.</para>
<sect3> <sect3>
<title>What is FreeBSD-CURRENT?</title> <title>What is &os.current;?</title>
<para>FreeBSD-CURRENT is, quite literally, nothing more than a <para>&os.current; is, quite literally, nothing more than a
daily snapshot of the working sources for FreeBSD. These daily snapshot of the working sources for &os;. These
include work in progress, experimental changes and transitional include work in progress, experimental changes and transitional
mechanisms that may or may not be present in the next official mechanisms that may or may not be present in the next official
release of the software. While many of us compile almost daily release of the software. While many of us compile almost daily
from FreeBSD-CURRENT sources, there are periods of time when the from &os.current; sources, there are periods of time when the
sources are literally un-compilable. These problems are sources are literally un-compilable. These problems are
generally resolved as expeditiously as possible, but whether or generally resolved as expeditiously as possible, but whether or
not FreeBSD-CURRENT sources bring disaster or greatly desired not &os.current; sources bring disaster or greatly desired
functionality can literally be a matter of which part of any functionality can literally be a matter of which part of any
given 24 hour period you grabbed them in!</para> given 24 hour period you grabbed them in!</para>
</sect3> </sect3>
<sect3> <sect3>
<title>Who needs FreeBSD-CURRENT?</title> <title>Who needs &os.current;?</title>
<para>FreeBSD-CURRENT is made generally available for 3 primary <para>&os.current; is made generally available for 3 primary
interest groups:</para> interest groups:</para>
<orderedlist> <orderedlist>
<listitem> <listitem>
<para>Members of the FreeBSD group who are actively working on <para>Members of the &os; group who are actively working on
some part of the source tree and for whom keeping some part of the source tree and for whom keeping
<quote>current</quote> is an absolute requirement.</para> <quote>current</quote> is an absolute requirement.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Members of the FreeBSD group who are active testers, <para>Members of the &os; group who are active testers,
willing to spend time working through problems in order to willing to spend time working through problems in order to
ensure that FreeBSD-CURRENT remains as sane as possible. ensure that &os.current; remains as sane as possible.
These are also people who wish to make topical suggestions These are also people who wish to make topical suggestions
on changes and the general direction of FreeBSD.</para> on changes and the general direction of &os;.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Peripheral members of the FreeBSD (or some other) group <para>Peripheral members of the &os; (or some other) group
who merely wish to keep an eye on things and use the current who merely wish to keep an eye on things and use the current
sources for reference purposes (e.g. for sources for reference purposes (e.g. for
<emphasis>reading</emphasis>, not running). These people <emphasis>reading</emphasis>, not running). These people
@ -87,7 +87,7 @@
</sect3> </sect3>
<sect3> <sect3>
<title>What is FreeBSD-CURRENT <emphasis>not</emphasis>?</title> <title>What is &os.current; <emphasis>not</emphasis>?</title>
<orderedlist> <orderedlist>
<listitem> <listitem>
@ -103,14 +103,14 @@
<listitem> <listitem>
<para>In any way <quote>officially supported</quote> by us. <para>In any way <quote>officially supported</quote> by us.
We do our best to help people genuinely in one of the 3 We do our best to help people genuinely in one of the 3
<quote>legitimate</quote> FreeBSD-CURRENT categories, but we <quote>legitimate</quote> &os.current; categories, but we
simply <emphasis>do not have the time</emphasis> to provide simply <emphasis>do not have the time</emphasis> to provide
tech support for it. This is not because we are mean and tech support for it. This is not because we are mean and
nasty people who do not like helping people out (we would nasty people who do not like helping people out (we would
not even be doing FreeBSD if we were), it is literally not even be doing &os; if we were), it is literally
because we cannot answer 400 messages a day because we cannot answer 400 messages a day
<emphasis>and</emphasis> actually work on FreeBSD! Given the <emphasis>and</emphasis> actually work on FreeBSD! Given the
choice between improving FreeBSD and answering lots of choice between improving &os; and answering lots of
questions, most developers, and users, would probably opt for questions, most developers, and users, would probably opt for
the former.</para> the former.</para>
</listitem> </listitem>
@ -118,14 +118,14 @@
</sect3> </sect3>
<sect3> <sect3>
<title>Using FreeBSD-CURRENT</title> <title>Using &os.current;</title>
<orderedlist> <orderedlist>
<listitem> <listitem>
<para>Join the &a.current; and the &a.cvsall; . This is not <para>Join the &a.current; and the &a.cvsall; . This is not
just a good idea, it is <emphasis>essential</emphasis>. If just a good idea, it is <emphasis>essential</emphasis>. If
you are not on the <emphasis>FreeBSD-CURRENT</emphasis> you are not on the <emphasis>&a.current;</emphasis>,
mailing list, you will not see the comments that people are you will not see the comments that people are
making about the current state of the system and thus will making about the current state of the system and thus will
probably end up stumbling over a lot of problems that others probably end up stumbling over a lot of problems that others
have already found and solved. Even more importantly, you have already found and solved. Even more importantly, you
@ -171,7 +171,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
<listitem> <listitem>
<para>Use <command>ftp</command>. The source tree for <para>Use <command>ftp</command>. The source tree for
FreeBSD-CURRENT is always <quote>exported</quote> on: &os.current; is always <quote>exported</quote> on:
<ulink <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/">ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/</ulink>. url="ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/">ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/</ulink>.
We also use <command>wu-ftpd</command> which allows We also use <command>wu-ftpd</command> which allows
@ -205,13 +205,13 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
<listitem> <listitem>
<para>If you are grabbing the sources to run, and not just <para>If you are grabbing the sources to run, and not just
look at, then grab <emphasis>all</emphasis> of current, not look at, then grab <emphasis>all</emphasis> of &os.current;, not
just selected portions. The reason for this is that various just selected portions. The reason for this is that various
parts of the source depend on updates elsewhere, and trying parts of the source depend on updates elsewhere, and trying
to compile just a subset is almost guaranteed to get you to compile just a subset is almost guaranteed to get you
into trouble.</para> into trouble.</para>
<para>Before compiling current, read the <para>Before compiling &os.current;, read the
<filename>Makefile</filename>in <filename>/usr/src</filename> <filename>Makefile</filename>in <filename>/usr/src</filename>
carefully. You should at least run a <link carefully. You should at least run a <link
linkend="makeworld">make world</link> the first time through linkend="makeworld">make world</link> the first time through
@ -222,7 +222,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
</listitem> </listitem>
<listitem> <listitem>
<para>Be active! If you are running FreeBSD-CURRENT, we want <para>Be active! If you are running &os.current;, we want
to know what you have to say about it, especially if you to know what you have to say about it, especially if you
have suggestions for enhancements or bug fixes. Suggestions have suggestions for enhancements or bug fixes. Suggestions
with accompanying code are received most with accompanying code are received most
@ -233,63 +233,62 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
</sect2> </sect2>
<sect2 id="stable"> <sect2 id="stable">
<title>Staying Stable with FreeBSD</title> <title>Staying Stable with &os;</title>
<para>If you are using FreeBSD in a production environment and want <para>If you are using &os; in a production environment and want
to make sure you have the latest fixes from the -CURRENT branch, to make sure you have the latest fixes from the &os.current; branch,
you want to be running -STABLE. This is the tree that -RELEASEs you want to be running &os.stable;. This is the tree that -RELEASEs
are branched from when we are putting together a new release. For are branched from when we are putting together a new release. For
example, if you have a copy of 3.4-RELEASE, that is really just a example, if you have a copy of 3.4-RELEASE, that is really just a
<quote>snapshot</quote> from the -STABLE branch that we put on <quote>snapshot</quote> from the &os.stable; branch that we put on
CDROM. In order to get any changes merged into -STABLE after the CDROM. In order to get any changes merged into &os.stable; after the
-RELEASE, you need to <quote>track</quote> the -STABLE -RELEASE, you need to <quote>track</quote> the &os.stable;
branch.</para> branch.</para>
<sect3> <sect3>
<title>What is FreeBSD-STABLE?</title> <title>What is &os.stable;?</title>
<para>FreeBSD-STABLE is our development branch for a more low-key <para>&os.stable; is our development branch for a more low-key
and conservative set of changes intended for our next mainstream and conservative set of changes intended for our next mainstream
release. Changes of an experimental or untested nature do not release. Changes of an experimental or untested nature do not
go into this branch (see <link go into this branch.</para>
linkend="current">FreeBSD-CURRENT</link>).</para>
</sect3> </sect3>
<sect3> <sect3>
<title>Who needs FreeBSD-STABLE?</title> <title>Who needs &os.stable;?</title>
<para>If you are a commercial user or someone who puts maximum <para>If you are a commercial user or someone who puts maximum
stability of their FreeBSD system before all other concerns, you stability of their &os; system before all other concerns, you
should consider tracking <emphasis>stable</emphasis>. This is should consider tracking &os.stable;. This is
especially true if you have installed the most recent release especially true if you have installed the most recent release
(<ulink (<ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/">&rel.current;-RELEASE</ulink> url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/">&rel.current;-RELEASE</ulink>
at the time of this writing) since the at the time of this writing) since the &os.stable;
<emphasis>stable</emphasis> branch is effectively a bug-fix branch is effectively a bug-fix
stream relative to the previous release.</para> stream relative to the previous release.</para>
<warning> <warning>
<para>The <emphasis>stable</emphasis> tree endeavors, above all, <para>The &os.stable; tree endeavors, above all,
to be fully compilable and stable at all times, but we do to be fully compilable and stable at all times, but we do
occasionally make mistakes (these are still active sources occasionally make mistakes (these are still active sources
with quickly-transmitted updates, after all). We also do our with quickly-transmitted updates, after all). We also do our
best to thoroughly test fixes in <emphasis>current</emphasis> best to thoroughly test fixes in &os.current;
before bringing them into <emphasis>stable</emphasis>, but before bringing them into &os.stable;, but
sometimes our tests fail to catch every case. If something sometimes our tests fail to catch every case. If something
breaks for you in <emphasis>stable</emphasis>, please let us breaks for you in &os.stable;, please let us
know <emphasis>immediately!</emphasis> (see next know <emphasis>immediately!</emphasis> (see next
section).</para> section).</para>
</warning> </warning>
</sect3> </sect3>
<sect3> <sect3>
<title>Using FreeBSD-STABLE</title> <title>Using &os.stable;</title>
<orderedlist> <orderedlist>
<listitem> <listitem>
<para>Join the &a.stable;. This will keep you informed of <para>Join the &a.stable;. This will keep you informed of
build-dependencies that may appear in build-dependencies that may appear in &os.stable;
<emphasis>stable</emphasis> or any other issues requiring or any other issues requiring
special attention. Developers will also make announcements special attention. Developers will also make announcements
in this mailing list when they are contemplating some in this mailing list when they are contemplating some
controversial fix or update, giving the users a chance to controversial fix or update, giving the users a chance to
@ -319,7 +318,7 @@ subscribe cvs-all</programlisting>
url="ftp://releng4.FreeBSD.org/pub/FreeBSD/">ftp://releng4.FreeBSD.org/pub/FreeBSD/</ulink> url="ftp://releng4.FreeBSD.org/pub/FreeBSD/">ftp://releng4.FreeBSD.org/pub/FreeBSD/</ulink>
and install it like any other release.</para> and install it like any other release.</para>
<para>If you are already running a previous release of FreeBSD <para>If you are already running a previous release of &os;
and wish to upgrade via sources then you can easily do so and wish to upgrade via sources then you can easily do so
from <hostid role="fqdn">ftp.FreeBSD.org</hostid>. This can from <hostid role="fqdn">ftp.FreeBSD.org</hostid>. This can
be done in one of three ways:</para> be done in one of three ways:</para>
@ -349,7 +348,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
<listitem> <listitem>
<para>Use <command>ftp</command>. The source tree for <para>Use <command>ftp</command>. The source tree for
FreeBSD-STABLE is always <quote>exported</quote> on: &os.stable; is always <quote>exported</quote> on:
<ulink <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-stable/">ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-stable/</ulink></para> url="ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-stable/">ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-stable/</ulink></para>
@ -376,7 +375,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
</listitem> </listitem>
<listitem> <listitem>
<para>Before compiling stable, read the <para>Before compiling sta, read the
<filename>Makefile</filename> in <filename>/usr/src</filename> <filename>Makefile</filename> in <filename>/usr/src</filename>
carefully. You should at least run a <link carefully. You should at least run a <link
linkend="makeworld">make world</link> the first time through linkend="makeworld">make world</link> the first time through
@ -394,7 +393,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
<title>Synchronizing Your Source</title> <title>Synchronizing Your Source</title>
<para>There are various ways of using an Internet (or email) <para>There are various ways of using an Internet (or email)
connection to stay up-to-date with any given area of the FreeBSD connection to stay up-to-date with any given area of the &os;
project sources, or all areas, depending on what interests you. The project sources, or all areas, depending on what interests you. The
primary services we offer are <link linkend="anoncvs">Anonymous primary services we offer are <link linkend="anoncvs">Anonymous
CVS</link>, <link linkend="cvsup">CVSup</link>, and <link CVS</link>, <link linkend="cvsup">CVSup</link>, and <link
@ -464,8 +463,8 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
<title>Using <command>make world</command></title> <title>Using <command>make world</command></title>
<para>Once you have synchronized your local source tree against a <para>Once you have synchronized your local source tree against a
particular version of FreeBSD (<literal>stable</literal>, particular version of &os; (&os.stable;, &os.current;, and so on)
<literal>current</literal> and so on) you can then use the source you can then use the source
tree to rebuild the system.</para> tree to rebuild the system.</para>
<warning> <warning>
@ -486,9 +485,9 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
<warning> <warning>
<title>Subscribe to the right mailing list</title> <title>Subscribe to the right mailing list</title>
<para>The -STABLE and -CURRENT FreeBSD code branches are, by their <para>The &os.stable; and &os.current; branches are, by their
nature, <emphasis>in development</emphasis>. People that nature, <emphasis>in development</emphasis>. People that
contribute to FreeBSD are human, and mistakes occasionally contribute to &os; are human, and mistakes occasionally
happen.</para> happen.</para>
<para>Sometimes these mistakes can be quite harmless, just causing <para>Sometimes these mistakes can be quite harmless, just causing
@ -502,7 +501,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
clear</quote> announcement is posted when the problem has been clear</quote> announcement is posted when the problem has been
solved.</para> solved.</para>
<para>If you try and track -STABLE or -CURRENT and do not read the <para>If you try and track &os.stable; or &os.current; and do not read the
<email>stable@FreeBSD.org</email> or <email>stable@FreeBSD.org</email> or
<email>current@FreeBSD.org</email> mailing lists then you are <email>current@FreeBSD.org</email> mailing lists then you are
asking for trouble.</para> asking for trouble.</para>
@ -662,7 +661,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
&man.make.1; to another file. If something goes wrong you will &man.make.1; to another file. If something goes wrong you will
have a copy of the error message. While this might not help you have a copy of the error message. While this might not help you
in diagnosing what has gone wrong, it can help others if you post in diagnosing what has gone wrong, it can help others if you post
your problem to one of the FreeBSD mailing lists.</para> your problem to one of the &os; mailing lists.</para>
<para>The easiest way to do this is to use the &man.script.1; <para>The easiest way to do this is to use the &man.script.1;
command, with a parameter that specifies the name of the file to command, with a parameter that specifies the name of the file to
@ -697,7 +696,7 @@ Script done, &hellip;</screen>
<para>To rebuild the world you use the &man.make.1; command. This <para>To rebuild the world you use the &man.make.1; command. This
command reads instructions from the <filename>Makefile</filename>, command reads instructions from the <filename>Makefile</filename>,
which describes how the programs that comprise FreeBSD should be which describes how the programs that comprise &os; should be
rebuilt, the order in which they should be built, and so on.</para> rebuilt, the order in which they should be built, and so on.</para>
<para>The general format of the command line you will type is as <para>The general format of the command line you will type is as
@ -744,9 +743,9 @@ Script done, &hellip;</screen>
<screen>&prompt.root; <userinput>make <replaceable>target</replaceable></userinput></screen> <screen>&prompt.root; <userinput>make <replaceable>target</replaceable></userinput></screen>
<para>Beginning with version 2.2.5 of FreeBSD (actually, it was <para>Beginning with version 2.2.5 of &os; (actually, it was
first created on the -CURRENT branch, and then retrofitted to first created on the &os.current; branch, and then retrofitted to
-STABLE midway between 2.2.2 and 2.2.5) the &os.stable; midway between 2.2.2 and 2.2.5) the
<maketarget>world</maketarget> target has been split in <maketarget>world</maketarget> target has been split in
two. <maketarget>buildworld</maketarget> and two. <maketarget>buildworld</maketarget> and
<maketarget>installworld</maketarget>.</para> <maketarget>installworld</maketarget>.</para>
@ -811,8 +810,8 @@ Script done, &hellip;</screen>
<para>Many factors influence the build time, but currently a 500MHz <para>Many factors influence the build time, but currently a 500MHz
Pentium 3 with 128MB of RAM takes about 3 and a half hours to build Pentium 3 with 128MB of RAM takes about 3 and a half hours to build
the -CURRENT tree, with no tricks or shortcuts used during the the &os.current; tree, with no tricks or shortcuts used during the
process. A -STABLE tree will build somewhat faster.</para> process. A &os.stable; tree will build somewhat faster.</para>
</sect3> </sect3>
</sect2> </sect2>
@ -835,7 +834,7 @@ Script done, &hellip;</screen>
can then build a new kernel based on your normal kernel config can then build a new kernel based on your normal kernel config
file.</para> file.</para>
<para>If you are upgrading to FreeBSD 4.0 or above then the standard <para>If you are upgrading to &os; 4.0 or above then the standard
kernel build procedure (as described in <xref linkend="kernelconfig">) kernel build procedure (as described in <xref linkend="kernelconfig">)
is deprecated. Instead, you should run these commands.</para> is deprecated. Instead, you should run these commands.</para>
@ -843,7 +842,7 @@ Script done, &hellip;</screen>
&prompt.root; <userinput>make buildkernel</userinput> &prompt.root; <userinput>make buildkernel</userinput>
&prompt.root; <userinput>make installkernel</userinput></screen> &prompt.root; <userinput>make installkernel</userinput></screen>
<para>If you are upgrading to a version of FreeBSD below 4.0 you should <para>If you are upgrading to a version of &os; below 4.0 you should
use the standard kernel build procedure. However, it is recommended use the standard kernel build procedure. However, it is recommended
that you use the new version of &man.config.8;, using a command line that you use the new version of &man.config.8;, using a command line
like this.</para> like this.</para>
@ -862,7 +861,7 @@ Script done, &hellip;</screen>
<sect2> <sect2>
<title>Install the new system binaries</title> <title>Install the new system binaries</title>
<para>If you were building a version of FreeBSD recent enough to have <para>If you were building a version of &os; recent enough to have
used <command>make buildworld</command> then you should now use the used <command>make buildworld</command> then you should now use the
<maketarget>installworld</maketarget> to install the new system <maketarget>installworld</maketarget> to install the new system
binaries.</para> binaries.</para>
@ -1161,7 +1160,7 @@ Script done, &hellip;</screen>
<sect2> <sect2>
<title>Finished</title> <title>Finished</title>
<para>You should now have successfully upgraded your FreeBSD system. <para>You should now have successfully upgraded your &os; system.
Congratulations.</para> Congratulations.</para>
<para>If things went slightly wrong, it is easy to rebuild a particular <para>If things went slightly wrong, it is easy to rebuild a particular
@ -1210,8 +1209,8 @@ Script done, &hellip;</screen>
spot all the dependencies.</para> spot all the dependencies.</para>
<para>And, of course, this all depends on how often you want to <para>And, of course, this all depends on how often you want to
upgrade, and whether you are tracking -STABLE or upgrade, and whether you are tracking &os.stable; or
-CURRENT.</para> &os.current;.</para>
</answer> </answer>
</qandaentry> </qandaentry>
@ -1259,7 +1258,7 @@ Script done, &hellip;</screen>
builds run much faster, since most of sources will not need to builds run much faster, since most of sources will not need to
be recompiled. The flip side of this is that subtle dependency be recompiled. The flip side of this is that subtle dependency
problems can creep in, causing your build to fail in odd ways. problems can creep in, causing your build to fail in odd ways.
This frequently generates noise on the FreeBSD mailing lists, This frequently generates noise on the &os; mailing lists,
when one person complains that their build has failed, not when one person complains that their build has failed, not
realising that it is because they have tried to cut realising that it is because they have tried to cut
corners.</para> corners.</para>