Commit | Line | Data |
---|---|---|
bc4bfb91 GCI |
1 | THE FREEBSD CURRENT POLICY |
2 | ||
3 | This document attempts to explain the rationale behind FreeBSD-current, | |
4 | what you should expect should you decide to run it, and states some | |
5 | prerequisites for making sure the process goes as smoothly as possible. | |
6 | ||
7 | ||
8 | 1. What is FreeBSD-current? | |
9 | ||
10 | FreeBSD-current is, quite literally, nothing more than a daily snapshot of | |
11 | the working sources for FreeBSD. These include work in progress, experimental | |
12 | changes, and transitional mechanisms that may or may not be present in | |
13 | the next official release of the software. While many of us compile | |
14 | almost daily from FreeBSD-current sources, there are periods of time when | |
15 | the sources are literally uncompilable. These problems are generally resolved | |
16 | as expeditiously as possible, but whether or not FreeBSD-current sources bring | |
17 | disaster or greatly desired functionality can literally be a matter of which | |
18 | part of any given 24 hour period you grabbed them in! Please read on.. | |
19 | ||
20 | Under certain circumstances we will sometimes make binaries for parts of | |
21 | FreeBSD-current available, but only because we're interested in getting | |
22 | something tested, not because we're in the business of providing binary | |
23 | releases of current. If we don't offer, please don't ask! It takes far | |
24 | too much time to do this as a general task. | |
25 | ||
26 | ||
27 | 2. Who needs FreeBSD-current? | |
28 | ||
29 | FreeBSD-current is made generally available for 3 primary interest groups: | |
30 | ||
31 | 1. Members of the FreeBSD group who are actively working on one | |
32 | part or another of the source tree and for whom keeping `current' | |
33 | is an absolute requirement. | |
34 | ||
35 | 2. Members of the FreeBSD group who are active ALPHA/BETA testers | |
36 | and willing to spend time working through problems in order to | |
37 | ensure that FreeBSD-current remains as sane as possible. These | |
38 | are also people who wish to make topical suggestions on changes | |
39 | and the general direction of FreeBSD. | |
40 | ||
41 | 3. Peripheral members of the FreeBSD (or some other) group who merely | |
42 | wish to keep an eye on things and use the current sources for | |
43 | reference purposes (e.g. for *reading*, not running). These | |
44 | people also make the occasional comment or contribute code. | |
45 | ||
46 | ||
47 | 3. What is FreeBSD-current _NOT_? | |
48 | ||
49 | 1. A fast-track to getting pre-release bits because there's something | |
50 | you heard was pretty cool in there and you want to be the first on | |
51 | your block to have it. | |
52 | ||
53 | 2. A quick way of getting bug fixes. | |
54 | ||
55 | 3. In any way "officially supported" by us. | |
56 | ||
57 | We do our best to help people genuinely in one of the 3 | |
58 | "legitimate" FreeBSD-current catagories, but we simply DO NOT | |
59 | HAVE THE TIME to help every person who jumps into FreeBSD-current | |
60 | with more enthusiasm than knowledge of how to deal with | |
61 | experimental system software. This is not because we're mean and | |
62 | nasty people who don't like helping people out (we wouldn't even be | |
63 | doing FreeBSD if we were), it's literally because we can't answer | |
64 | 400 messages a day AND actually work on FreeBSD! I'm sure if | |
65 | given the choice between having us answer lots of questions or | |
66 | continue to improve FreeBSD, most of you would vote for us | |
67 | improving it (and so would we! :-). | |
68 | ||
69 | ||
70 | 4. Ok. I still think I "qualify" for FreeBSD-current, so what do I do? | |
71 | ||
72 | 1. Join the freebsd-hackers and freebsd-commit mailing lists. | |
73 | This is not just a good idea, it's ESSENTIAL. If you aren't on | |
74 | freebsd-hackers, you won't read the comments that people are | |
75 | making about the current state of the system and thus will end | |
76 | up stumbling over a lot of problems that others have already | |
77 | found and solved. Even more importantly, you will miss out on | |
78 | potentially critical information (e.g. "Yo, Everybody! Before you | |
79 | rebuild /usr/src, you MUST rebuild the kernel or your system | |
80 | will crash horribly!"). | |
81 | ||
82 | The freebsd-commit list will allow you to see the commit log | |
83 | entry for each change as its made. This can also contain | |
84 | important information, and will let you know what parts of the | |
85 | system are being actively changed. | |
86 | ||
87 | To join these lists, send mail to `majordomo@freefall.cdrom.com' | |
88 | and say: | |
89 | ||
90 | subscribe freebsd-hackers | |
91 | subscribe freebsd-commit | |
92 | ||
93 | In the body of your message. Optionally, you can also say `help' | |
94 | and MajorDomo will send you full help on how to subscribe and | |
95 | unsubscribe to the various other mailing lists we support. | |
96 | ||
97 | 2. Grab the sources from freebsd.cdrom.com. You can do this in | |
98 | two ways: | |
99 | ||
100 | 1. Use the CMU `sup' program (Software Update Protocol). | |
101 | This is the most recommended method, since it allows you | |
102 | to grab the entire collection once and then only what's | |
103 | changed from then on. Many people run sup from cron | |
104 | and keep their sources up-to-date automatically. | |
105 | ||
106 | To get a binary of the sup program for FreeBSD, as well | |
107 | as the documentation and some sample configuration files, | |
108 | look in: | |
109 | ||
110 | freefall.cdrom.com:~ftp/pub/sup | |
111 | ||
112 | 2. Use ftp. The source tree for FreeBSD-current is always | |
113 | "exported" on: | |
114 | ||
115 | freebsd.cdrom.com:~ftp/pub/FreeBSD/FreeBSD-current | |
116 | ||
117 | We use `wu-ftpd' which allows compressed/tar'd grabbing | |
118 | of whole trees. e.g. you see: | |
119 | ||
120 | usr.bin/lex | |
121 | ||
122 | You can do: | |
123 | ||
124 | ftp> cd usr.bin | |
125 | ftp> get lex.tar.Z | |
126 | ||
127 | And it will get the whole directory for you as a compressed | |
128 | tar file. | |
129 | ||
130 | 3. If you're grabbing the sources to run, and not just look at, | |
131 | then grab ALL of current, not just selected portions. The | |
132 | reason for this is that various parts of the source depend on | |
133 | updates elsewhere and trying to compile just a subset is almost | |
134 | guaranteed to get you into trouble. | |
135 | ||
136 | 4. Before compiling current, read the Makefile in /usr/src | |
137 | carefully. You'll see one-time targets like `bootstrapld' | |
138 | which *MUST* be run as part of the upgrading process. Reading | |
139 | freebsd-hackers will keep you up-to-date on other bootstrapping | |
140 | procedures that sometimes become necessary as we move towards | |
141 | the next release. | |
142 | ||
143 | 5. Be active! If you're running FreeBSD-current, we want to know | |
144 | what you have to say about it, especially if you have suggestions | |
145 | for enhancements or bug fixes. Suggestions with accompanying code | |
146 | are received most enthusiastically! :-) | |
147 | ||
148 | ||
149 | Thank you for taking the time to read this all the way through. We're | |
150 | always very keen to remain "open" and share the fruits of our labor | |
151 | with the widest possible audience, but sharing development sources has | |
152 | always had certain pitfalls associated with it (which is why most | |
153 | commercial organizations won't even consider it) and I want to make | |
154 | sure that people at least come into this with their eyes open, and | |
155 | don't make the leap unless they're good at working without a net! | |
156 | ||
157 | Jordan | |
158 | ||
159 | ||
160 |