mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-19 10:53:58 +00:00
171 lines
7.3 KiB
Plaintext
171 lines
7.3 KiB
Plaintext
THE FREEBSD CURRENT POLICY
|
|
|
|
Last updated: $Date: 1994/10/03 03:48:39 $
|
|
|
|
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.
|
|
|
|
|
|
1. What is FreeBSD-current?
|
|
|
|
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 uncompilable. 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! Please read on..
|
|
|
|
Under certain circumstances we will sometimes make binaries for parts of
|
|
FreeBSD-current available, but only because we're interested in getting
|
|
something tested, not because we're in the business of providing binary
|
|
releases of current. If we don't offer, please don't ask! It takes far
|
|
too much time to do this as a general task.
|
|
|
|
|
|
2. Who needs FreeBSD-current?
|
|
|
|
FreeBSD-current is made generally available for 3 primary interest groups:
|
|
|
|
1. Members of the FreeBSD group who are actively working on one
|
|
part or another of the source tree and for whom keeping `current'
|
|
is an absolute requirement.
|
|
|
|
2. Members of the FreeBSD group who are active ALPHA/BETA testers
|
|
and 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.
|
|
|
|
3. 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 *reading*, not running). These
|
|
people also make the occasional comment or contribute code.
|
|
|
|
|
|
3. What is FreeBSD-current _NOT_?
|
|
|
|
1. A fast-track to getting pre-release bits because there's something
|
|
you heard was pretty cool in there and you want to be the first on
|
|
your block to have it.
|
|
|
|
2. A quick way of getting bug fixes.
|
|
|
|
3. In any way "officially supported" by us.
|
|
|
|
We do our best to help people genuinely in one of the 3
|
|
"legitimate" FreeBSD-current catagories, but we simply DO NOT
|
|
HAVE THE TIME to help every person who jumps into FreeBSD-current
|
|
with more enthusiasm than knowledge of how to deal with
|
|
experimental system software. This is not because we're mean and
|
|
nasty people who don't like helping people out (we wouldn't even be
|
|
doing FreeBSD if we were), it's literally because we can't answer
|
|
400 messages a day AND actually work on FreeBSD! I'm sure if
|
|
given the choice between having us answer lots of questions or
|
|
continue to improve FreeBSD, most of you would vote for us
|
|
improving it (and so would we! :-).
|
|
|
|
|
|
4. Ok. I still think I "qualify" for FreeBSD-current, so what do I do?
|
|
|
|
1. Join the freebsd-hackers and freebsd-commit mailing lists.
|
|
This is not just a good idea, it's ESSENTIAL. If you aren't on
|
|
freebsd-hackers, you won't read the comments that people are
|
|
making about the current state of the system and thus will 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 /usr/src, you MUST rebuild the kernel or your system
|
|
will crash horribly!").
|
|
|
|
The freebsd-commit list will allow you to see the commit log
|
|
entry for each change as its made. This can also contain
|
|
important information, and will let you know what parts of the
|
|
system are being actively changed.
|
|
|
|
To join these lists, send mail to `majordomo@FreeBSD.ORG'
|
|
and say:
|
|
|
|
subscribe freebsd-hackers
|
|
subscribe freebsd-commit
|
|
|
|
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.
|
|
|
|
2. Grab the sources from ftp.FreeBSD.ORG. You can do this in
|
|
three ways:
|
|
|
|
1. Using the CTM facility. Read the ctm.FAQ file for more
|
|
information. Unless you have a good TCP/IP connection at
|
|
a flat rate, this is the way to do it.
|
|
|
|
2. Use the CMU `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's
|
|
changed from then on. Many people run sup from cron
|
|
and keep their sources up-to-date automatically.
|
|
|
|
The problem is that sup does not use the bandwidth efficient,
|
|
unless the round-trip is very fast. If the cost of connection
|
|
or the duration of the session is a concern, use CTM.
|
|
|
|
To get a binary of the sup program for FreeBSD, as well
|
|
as the documentation and some sample configuration files,
|
|
look in:
|
|
|
|
FreeBSD.ORG:~ftp/pub/sup
|
|
|
|
3. Use ftp. The source tree for FreeBSD-current is always
|
|
"exported" on:
|
|
|
|
ftp.FreeBSD.ORG:~ftp/pub/FreeBSD/FreeBSD-current
|
|
|
|
We use `wu-ftpd' which allows compressed/tar'd grabbing
|
|
of whole trees. e.g. you see:
|
|
|
|
usr.bin/lex
|
|
|
|
You can do:
|
|
|
|
ftp> cd usr.bin
|
|
ftp> get lex.tar.Z
|
|
|
|
And it will get the whole directory for you as a compressed
|
|
tar file.
|
|
|
|
3. If you're grabbing the sources to run, and not just look at,
|
|
then grab ALL 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.
|
|
|
|
4. Before compiling current, read the Makefile in /usr/src
|
|
carefully. You'll see one-time targets like `bootstrapld'
|
|
which *MUST* be run as part of the upgrading process. Reading
|
|
freebsd-hackers will keep you up-to-date on other bootstrapping
|
|
procedures that sometimes become necessary as we move towards
|
|
the next release.
|
|
|
|
5. Be active! If you're 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! :-)
|
|
|
|
|
|
Thank you for taking the time to read this all the way through. We're
|
|
always very keen to remain "open" and share the fruits of our labor
|
|
with the widest possible audience, but sharing development sources has
|
|
always had certain pitfalls associated with it (which is why most
|
|
commercial organizations won't even consider it) and I want to make
|
|
sure that people at least come into this with their eyes open, and
|
|
don't make the leap unless they're good at working without a net!
|
|
|
|
Jordan
|
|
|
|
|
|
|