summaryrefslogtreecommitdiff
path: root/docs/contributing.txt
diff options
context:
space:
mode:
authorMark Whitley <markw@lineo.com>2001-03-22 22:59:33 +0000
committerMark Whitley <markw@lineo.com>2001-03-22 22:59:33 +0000
commit0b4d73a53cda7b63dac81089efefa152903d963b (patch)
treec2bd9829c9b87dd0cf86deae83e31ed73f148472 /docs/contributing.txt
parent82bb8a2bf821909496cfe23fd0530500533df6b1 (diff)
downloadbusybox-w32-0b4d73a53cda7b63dac81089efefa152903d963b.tar.gz
busybox-w32-0b4d73a53cda7b63dac81089efefa152903d963b.tar.bz2
busybox-w32-0b4d73a53cda7b63dac81089efefa152903d963b.zip
Some minor wordsmithing, an extra item in the list of "things Busybox doesn't
need", example of a testcase, more janitorial items, and a whole new section with guidelines on committing changes to CVS.
Diffstat (limited to '')
-rw-r--r--docs/contributing.txt87
1 files changed, 75 insertions, 12 deletions
diff --git a/docs/contributing.txt b/docs/contributing.txt
index 93e808c78..cafa6edc1 100644
--- a/docs/contributing.txt
+++ b/docs/contributing.txt
@@ -21,8 +21,9 @@ Checkout the Latest Code from CVS
21~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 21~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22 22
23This is a necessary first step. Please do not try to work with the last 23This is a necessary first step. Please do not try to work with the last
24released version, as there is a good chance that somebody has already worked 24released version, as there is a good chance that somebody has already fixed
25on the area you had in mind and your patch might already be obsolete. 25the bug you found. Somebody might have even added the feature you had in mind.
26Don't make your work obsolete before you start!
26 27
27For information on how to check out Busybox from CVS, please look at the 28For information on how to check out Busybox from CVS, please look at the
28following links: 29following links:
@@ -45,7 +46,8 @@ Archives can be found here:
45 http://opensource.lineo.com/lists/busybox/ 46 http://opensource.lineo.com/lists/busybox/
46 47
47If you have a serious interest in Busybox, i.e. you are using it day-to-day or 48If you have a serious interest in Busybox, i.e. you are using it day-to-day or
48as part of an embedded project, it's a good idea to join the mailing list. 49as part of an embedded project, it would be a good idea to join the mailing
50list.
49 51
50A web-based sign-up form can be found here: 52A web-based sign-up form can be found here:
51 53
@@ -58,7 +60,7 @@ Coordinate with the Applet Maintainer
58Some (not all) of the applets in Busybox are "owned" by a maintainer who has 60Some (not all) of the applets in Busybox are "owned" by a maintainer who has
59put significant effort into it and is probably more familiar with it than 61put significant effort into it and is probably more familiar with it than
60others. To find the maintainer of an applet, look at the top of the .c file 62others. To find the maintainer of an applet, look at the top of the .c file
61for a name following the word 'Copyright' or 'Written by'. 63for a name following the word 'Copyright' or 'Written by' or 'Maintainer'.
62 64
63Before plunging ahead, it's a good idea to send a message to the mailing list 65Before plunging ahead, it's a good idea to send a message to the mailing list
64that says: "Hey, I was thinking about adding the 'transmogrify' feature to the 66that says: "Hey, I was thinking about adding the 'transmogrify' feature to the
@@ -84,8 +86,8 @@ Knife" of embedded Linux, there are some applets that will not be accepted:
84 - Any filesystem manipulation tools: Busybox is filesystem independent and 86 - Any filesystem manipulation tools: Busybox is filesystem independent and
85 we do not want to start adding mkfs/fsck tools for every (or any) 87 we do not want to start adding mkfs/fsck tools for every (or any)
86 filesystem under the sun. (fsck_minix.c and mkfs_minix.c are living on 88 filesystem under the sun. (fsck_minix.c and mkfs_minix.c are living on
87 borrowed time.) There are far too many of these tools out there. Use 89 borrowed time.) There are far too many of these tools out there. Use
88 the upstream version. Not everything has to be part of Busybox. 90 the upstream version. Not everything has to be part of Busybox.
89 91
90 - Any partitioning tools: Partitioning a device is typically done once and 92 - Any partitioning tools: Partitioning a device is typically done once and
91 only once, and tools which do this generally do not need to reside on the 93 only once, and tools which do this generally do not need to reside on the
@@ -101,6 +103,12 @@ Knife" of embedded Linux, there are some applets that will not be accepted:
101 independent. Do not send us tools that cannot be used across multiple 103 independent. Do not send us tools that cannot be used across multiple
102 platforms / arches. 104 platforms / arches.
103 105
106 - Any daemons that are not essential to basic system operation. To date, only
107 syslogd and klogd meet this requirement. We do not need a web server, an
108 ftp daemon, a dhcp server, a mail transport agent or a dns resolver. If you
109 need one of those, you are welcome to ask the folks on the mailing list for
110 recommendations, but please don't bloat up Busybox with any of these.
111
104 112
105Bug Reporting 113Bug Reporting
106~~~~~~~~~~~~~ 114~~~~~~~~~~~~~
@@ -113,9 +121,19 @@ report to the tracking system can be found at:
113 121
114The README file that comes with Busybox also describes how to submit a bug. 122The README file that comes with Busybox also describes how to submit a bug.
115 123
116A well-written bug report will include a transcript of a shell session that 124A well-written bug report should include a transcript of a shell session that
117demonstrates the bad behavior and enables anyone else to duplicate the bug on 125demonstrates the bad behavior and enables anyone else to duplicate the bug on
118their own machine. 126their own machine. The following is such an example:
127
128 When I execute Busybox 'date' it produces unexpected results.
129
130 This is using GNU date:
131 $ date
132 Wed Mar 21 14:19:41 MST 2001
133
134 This is using Busybox date:
135 $ date
136 codswaddle
119 137
120 138
121Bug Triage 139Bug Triage
@@ -219,6 +237,10 @@ These are dirty jobs, but somebody's gotta do 'em.
219 - Where appropriate, replace preprocessor defined macros and values with 237 - Where appropriate, replace preprocessor defined macros and values with
220 compile-time equivalents. 238 compile-time equivalents.
221 239
240 - Style guide compliance. See: docs/style-guide.txt
241
242 - Add testcases to tests/testcases.
243
222 - Makefile improvements: 244 - Makefile improvements:
223 http://www.canb.auug.org.au/~millerp/rmch/recu-make-cons-harm.html 245 http://www.canb.auug.org.au/~millerp/rmch/recu-make-cons-harm.html
224 (I think the recursive problems are pretty much taken care of at this point, non?) 246 (I think the recursive problems are pretty much taken care of at this point, non?)
@@ -382,6 +404,51 @@ opposite effect.
382 404
383 405
384 406
407Committing Changes to CVS
408-------------------------
409
410If you submit several patches that demonstrate that you are a skilled and wise
411coder, you may be invited to become a committer, thus enabling you to commit
412changes directly to CVS. This is nice because you don't have to wait for
413someone else to commit your change for you, you can just do it yourself.
414
415But note that this is a priviledge that comes with some responsibilities. You
416should test your changes before you commit them. You should also talk to an
417applet maintainer before you make any kind of sweeping changes to somebody
418else's code. Big changes should still go to the mailing list first. Remember,
419being wise, polite, and discreet is more important than being clever.
420
421
422When To Commit
423~~~~~~~~~~~~~~
424
425Generally, you should feel free to commit a change if:
426
427 - Your changes are small and don't touch many files
428 - You are fixing a bug
429 - Somebody has told you that it's okay
430 - It's obviously the Right Thing
431
432The more of the above are true, the better it is to just commit a change
433directly to CVS.
434
435
436When Not To Commit
437~~~~~~~~~~~~~~~~~~
438
439Even if you have commit rights, you should probably still post a patch to the
440mailing list if:
441
442 - Your changes are broad and touch many different files
443 - You are adding a feature
444 - Your changes are speculative or experimental (i.e. trying a new algorithm)
445 - You are not the maintainer and your changes make the maintainer cringe
446
447The more of the above are true, the better it is to post a patch to the
448mailing list instead of committing.
449
450
451
385Final Words 452Final Words
386----------- 453-----------
387 454
@@ -391,8 +458,4 @@ document don't worry, the folks on the Busybox mailing list are a fairly
391good-natured bunch and will work with you to help get your patches into shape 458good-natured bunch and will work with you to help get your patches into shape
392or help you make contributions. 459or help you make contributions.
393 460
394If you submit several patches that demonstrate that you are a skilled and wise
395coder, you may be invited to become a committer, thus enabling you to commit
396changes directly to CVS.
397
398 461