1130b656e5
This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
163 lines
6.9 KiB
Plaintext
163 lines
6.9 KiB
Plaintext
<!-- $FreeBSD$ -->
|
|
<!-- The FreeBSD Documentation Project -->
|
|
|
|
|
|
<chapt><heading>Staying current with FreeBSD<label id="current"></heading>
|
|
|
|
<p><em>Contributed by &a.jkh;.</em>
|
|
|
|
<!--
|
|
|
|
THE FREEBSD CURRENT POLICY
|
|
|
|
Last updated: $Date: 1996/12/31 21:54:11 $
|
|
|
|
This document attempts to explain the rationale behind
|
|
FreeBSD-current, what you should expect should you decide to run it,
|
|
and states some prerequisites for making sure the process goes as
|
|
smoothly as possible.
|
|
-->
|
|
|
|
<sect><heading>What is FreeBSD-current?</heading>
|
|
|
|
<p>FreeBSD-current is, quite literally, nothing more than a daily
|
|
snapshot of the working sources for FreeBSD. These include work in
|
|
progress, experimental changes and transitional mechanisms that may or
|
|
may not be present in the next official release of the software.
|
|
While many of us compile almost daily from FreeBSD-current sources,
|
|
there are periods of time when the sources are literally un-compilable.
|
|
These problems are generally resolved as expeditiously as possible,
|
|
but whether or not FreeBSD-current sources bring disaster or greatly
|
|
desired functionality can literally be a matter of which part of any
|
|
given 24 hour period you grabbed them in!
|
|
|
|
Under certain circumstances we will sometimes make binaries for parts
|
|
of FreeBSD-current available, but only because we are interested in
|
|
getting something tested, not because we are in the business of
|
|
providing binary releases of current. If we do not offer, please do not
|
|
ask! It takes far too much time to do this as a general task.
|
|
|
|
<sect><heading>Who needs FreeBSD-current?</heading>
|
|
|
|
<p>FreeBSD-current is made generally available for 3 primary interest groups:
|
|
<enum>
|
|
<item> Members of the FreeBSD group who are actively working on some
|
|
part of the source tree and for whom keeping `current' is an
|
|
absolute requirement.
|
|
|
|
<item> Members of the FreeBSD group who are active testers,
|
|
willing to spend time working through problems in order to
|
|
ensure that FreeBSD-current remains as sane as possible. These
|
|
are also people who wish to make topical suggestions on changes
|
|
and the general direction of FreeBSD.
|
|
|
|
<item> Peripheral members of the FreeBSD (or some other) group who merely
|
|
wish to keep an eye on things and use the current sources for
|
|
reference purposes (e.g. for <em>reading</em>, not running). These
|
|
people also make the occasional comment or contribute code.
|
|
</enum>
|
|
|
|
<sect><heading>What is FreeBSD-current <em>NOT</em>?</heading>
|
|
|
|
<p><enum>
|
|
<item> A fast-track to getting pre-release bits because you heard there is
|
|
some cool new feature in there and you want to be the first on
|
|
your block to have it.
|
|
|
|
<item> A quick way of getting bug fixes.
|
|
|
|
<item> In any way ``officially supported'' by us.
|
|
|
|
We do our best to help people genuinely in one of the 3
|
|
``legitimate'' FreeBSD-current categories, but we simply <em>do not
|
|
have the time</em> to provide tech support for it.
|
|
This is not because we are mean and nasty people who do not like
|
|
helping people out (we would not even be doing FreeBSD if we were),
|
|
it is literally because we cannot answer 400 messages a day
|
|
<em>and</em> actually work on FreeBSD! I am sure that, if given
|
|
the choice between having us answer lots of questions or continuing to
|
|
improve FreeBSD, most of you would vote for us improving it.
|
|
</enum>
|
|
|
|
<sect><heading>Using FreeBSD-current</heading>
|
|
|
|
<p><enum> <item> Join the &a.current and the &a.cvsall .
|
|
This is not just a good idea, it is <em>essential</em>.
|
|
If you are not on the <em>FreeBSD-current</em> mailing list you
|
|
will not see the comments that people are making about the
|
|
current state of the system and thus will probably end up stumbling
|
|
over a lot of problems that others have already found and
|
|
solved. Even more importantly, you will miss out on
|
|
potentially critical information (e.g. ``Yo, Everybody!
|
|
Before you rebuild <tt>/usr/src</tt>, you <em>must</em>
|
|
rebuild the kernel or your system will crash horribly!").
|
|
|
|
The <em>cvs-all</em> mailing list will allow you to see the commit log
|
|
entry for each change as it is made along with any pertinent
|
|
information on possible side-effects.
|
|
|
|
To join these lists, send mail to &a.majordomo and specify:
|
|
<verb>
|
|
subscribe freebsd-current
|
|
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.
|
|
|
|
<item> Grab the sources from ftp.FreeBSD.ORG. You can do this in
|
|
three ways:
|
|
|
|
<enum>
|
|
<item> 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.
|
|
|
|
<item> Use the CMU <ref id="sup" name="sup"> program (Software Update
|
|
Protocol).
|
|
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 sup from cron
|
|
and keep their sources up-to-date automatically.
|
|
|
|
<item> Use ftp. The source tree for FreeBSD-current is always
|
|
"exported" on:
|
|
<htmlurl url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current"
|
|
name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current">
|
|
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> Essentially, if you need rapid on-demand access to the source and
|
|
communications bandwidth is not a consideration, use sup or ftp.
|
|
Otherwise, use CTM.
|
|
|
|
<item> If you are grabbing the sources to run, and not just look at,
|
|
then grab <em>all</em> of current, not just selected portions. The
|
|
reason for this is that various parts of the source depend on
|
|
updates elsewhere, and trying to compile just a subset is almost
|
|
guaranteed to get you into trouble.
|
|
|
|
<item> Before compiling current, read the Makefile in /usr/src
|
|
carefully. You should at least run a `make world' the first time
|
|
through as part of the upgrading process.
|
|
Reading the &a.current will keep you up-to-date on other
|
|
bootstrapping procedures that sometimes become necessary as we move
|
|
towards the next release.
|
|
|
|
<item> Be active! If you are running FreeBSD-current, we want to know
|
|
what you have to say about it, especially if you have suggestions
|
|
for enhancements or bug fixes. Suggestions with accompanying code
|
|
are received most enthusiastically!
|
|
</enum>
|