aboutsummaryrefslogtreecommitdiff
path: root/handbook/stable.sgml
blob: a4b4df316cf5d15841373b88a2bc1cdfb1340759 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<!-- $Id: stable.sgml,v 1.22 1999-02-19 16:09:05 billf Exp $ -->
<!-- The FreeBSD Documentation Project -->


<sect><heading>Staying Stable with FreeBSD<label id="stable"></heading>

<p><em>Contributed by &a.jkh;.</em>

<!--

                        THE FREEBSD STABLE POLICY 

Last updated: $Date: 1999-02-19 16:09:05 $

This document attempts to explain the rationale behind
FreeBSD-stable, what you should expect should you decide to run it,
and states some prerequisites for making sure the process goes as
smoothly as possible.
-->

<itemize>
<item><em>What is FreeBSD-stable?</em>

<p>FreeBSD-stable is our development branch for a more low-key and
conservative set of changes intended for our next mainstream release.
Changes of an experimental or untested nature do not go into this
branch (see <ref id="current" name="FreeBSD-current">).

<item><em>Who needs FreeBSD-stable?</em>

<p>If you are a commercial user or someone who puts maximum stability of
their FreeBSD system before all other concerns, you should consider tracking
<em>stable</em>.  This is especially true if you have installed the most
recent release (<url url="ftp://ftp.FreeBSD.org/pub/FreeBSD/&rel.current;-RELEASE"
name="&rel.current;-RELEASE"> at the time of this writing) since the <em>stable</em>
branch is effectively a bug-fix stream relative to the previous release.

<p>Please note that the <em>stable</em> tree endeavors, above all, to
be fully compilable and stable at all times, but we do occasionally
make mistakes (these are still active sources with quickly-transmitted
updates, after all).  We also do our best to thoroughly test fixes in
<em>current</em> before bringing them into <em>stable</em>, but sometimes
our tests fail to catch every case.  If something breaks for you in
<em>stable</em>, please let us know <em>immediately!</em> (see
next section).

<item><em>Getting FreeBSD-stable</em>

    <p><enum><item> Join the &a.stable .  This will
    keep you informed of build-dependencies that may appear in
    <em>stable</em> or any other issues requiring special attention.
    Developers will also make announcements in this mailing list when
    they are contemplating some controversial fix or update, giving
    the users a chance to respond if they have any issues to raise concerning
    the proposed change.

    The <em>cvs-all</em> mailing list also allows you to see the commit log
    entry for each change as it is made, along with any pertinent
    information on possible side-effects, and is another good mailing list
    to subscribe to.

    To join these lists, send mail to &a.majordomo and specify:
<verb>
       subscribe freebsd-stable
       subscribe cvs-all
</verb>
   In the body of your message.  Optionally, you can also say `help'
   and Majordomo will send you full help on how to subscribe and
   unsubscribe to the various other mailing lists we support.

    <p><item>If you're installing a new system and want it to be as -stable
	as possible, you can simply grab the latest dated branch snapshot
	from <url url="ftp://releng3.FreeBSD.org/pub/FreeBSD"
	name="ftp://releng3.FreeBSD.org/pub/FreeBSD"> and install it like
	any other release.

    <p><item>If you're already running a previous release of 2.2 and
	wish to upgrade via sources then you can easily do so from
	ftp.FreeBSD.ORG.  This can be done in one of three ways:

    <enum>
	<item><p>Use the <ref id="ctm" name="CTM"> facility.  Unless you 
            have a good TCP/IP connection at a flat rate, this is 
            the way to do it.

        <p><item><p>Use the <ref id="cvsup" name="cvsup"> program with
	    <url url="ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/src/share/examples/cvsup/stable-supfile" name="this supfile">.
            This is the second most recommended method, since it allows 
	    you to grab the entire collection once and then only what has
            changed from then on.  Many people run cvsup from cron
            to keep their sources up-to-date automatically.  For a fairly
	    easy interface to this, simply type:
<verb>
	pkg_add -f ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz
</verb>

        <p><item><p>Use ftp.  The source tree for FreeBSD-stable is always
            "exported" on:
            <htmlurl url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-stable"
            name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-stable">

            <p>We also use `wu-ftpd' which allows compressed/tar'd grabbing
            of whole trees.  e.g. you see:
<verb>
            usr.bin/lex
</verb>
            You can do:
<verb>
            ftp> cd usr.bin
            ftp> get lex.tar.Z
</verb>
            and it will get the whole directory for you as a compressed
            tar file.
    </enum>

    <item><p>Essentially, if you need rapid on-demand access to the source and
    communications bandwidth is not a consideration, use cvsup or ftp.
    Otherwise, use CTM.

    <item><p>Before compiling stable, read the Makefile in /usr/src
      carefully.  You should at least run a `<ref id="makeworld"
      name="make world">' the first time through as part of the upgrading
      process. Reading the &a.stable will keep you up-to-date on other
      bootstrapping procedures that sometimes become necessary as we move
      towards the next release.
</enum>
</itemize>