163 lines
		
	
	
	
		
			6.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			163 lines
		
	
	
	
		
			6.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| <!-- $Id: current.sgml,v 1.26 1999-01-29 18:37:28 wosch 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: 1999-01-29 18:37:28 $
 | |
| 
 | |
| 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.
 | |
| -->
 | |
| 
 | |
| <itemize>
 | |
| <item><em>What is FreeBSD-current?</em>
 | |
| 
 | |
| <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!
 | |
| 
 | |
| <item><em>Who needs FreeBSD-current?</em>
 | |
| 
 | |
| <p>FreeBSD-current is aimed at 3 primary interest groups:
 | |
| 
 | |
| <p><enum>
 | |
|     <item><p>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><p>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><p>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>
 | |
| 
 | |
| <item><em>What is FreeBSD-current NOT?</em>
 | |
| 
 | |
| <p><enum>
 | |
|     <item><p>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><p>A quick way of getting bug fixes.
 | |
| 
 | |
|     <item><p>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>
 | |
| 
 | |
| <item><em>Using FreeBSD-current</em>
 | |
| 
 | |
| <p><enum>
 | |
|     <item><p>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 important
 | |
|     bulletins which may be critical to your system's continued health.
 | |
| 
 | |
|     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-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><p>Grab the sources from ftp.FreeBSD.ORG.  You can do this 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.
 | |
| 
 | |
|         <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/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
 | |
|             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>
 | |
| 
 | |
|         <item><p>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>
 | |
| 
 | |
|     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.
 | |
| 
 | |
|     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.
 | |
| 
 | |
|     Before compiling current, 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.current will keep you up-to-date on other
 | |
|     bootstrapping procedures that sometimes become necessary as we move
 | |
|     towards the next release.
 | |
| 
 | |
|     <item><p>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>
 | |
| </itemize>
 |