156 lines
		
	
	
	
		
			6.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			156 lines
		
	
	
	
		
			6.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
<!-- $Id: current.sgml,v 1.23 1997-09-02 08:22:31 jkh Exp $ -->
 | 
						|
<!-- The FreeBSD Documentation Project -->
 | 
						|
 | 
						|
 | 
						|
<sect><heading>Staying Current with FreeBSD<label id="current"></heading>
 | 
						|
 | 
						|
<p><em>Contributed by &a.jkh;.</em>
 | 
						|
 | 
						|
<!--
 | 
						|
 | 
						|
                        THE FREEBSD CURRENT POLICY 
 | 
						|
 | 
						|
Last updated: $Date: 1997-09-02 08:22:31 $
 | 
						|
 | 
						|
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.
 | 
						|
-->
 | 
						|
 | 
						|
<sect1><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!
 | 
						|
 | 
						|
<sect1><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>
 | 
						|
 | 
						|
<sect1><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>
 | 
						|
 | 
						|
<sect1><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 <ref id="cvsup" name="cvsup"> program with
 | 
						|
	    <url url="ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/examples/cvsup/standard-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
 | 
						|
            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 cvsup 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>
 |