Yet more doc updates

This commit is contained in:
Eric Andersen 2004-04-06 17:52:02 +00:00
parent a151d19504
commit 15c03c315f
3 changed files with 180 additions and 95 deletions

View File

@ -14,6 +14,8 @@ Emanuele Aina <emanuele.aina@tiscali.it>
Erik Andersen <andersen@codepoet.org> Erik Andersen <andersen@codepoet.org>
Tons of new stuff, major rewrite of most of the Tons of new stuff, major rewrite of most of the
core apps, tons of new apps as noted in header files. core apps, tons of new apps as noted in header files.
Lots of tedious effort writing these boring docs that
nobody is going to actually read.
Laurence Anderson <l.d.anderson@warwick.ac.uk> Laurence Anderson <l.d.anderson@warwick.ac.uk>
rpm2cpio, unzip, get_header_cpio, read_gz interface, rpm rpm2cpio, unzip, get_header_cpio, read_gz interface, rpm

View File

@ -6,29 +6,50 @@ Erik Andersen <andersen@codepoet.org>
=head1 AUTHORS =head1 AUTHORS
The following people have contributed code to BusyBox whether The following people have contributed code to BusyBox whether they know it or
they know it or not. not. If you have written code included in BusyBox, you should probably be
listed here so you can obtain your bit of eternal glory. If you should be
listed here, or the description of what you have done needs more detail, or is
incorect, please send in an update.
=for html <br>
Emanuele Aina <emanuele.aina@tiscali.it>
run-parts
=for html <br> =for html <br>
Erik Andersen <andersen@codepoet.org> Erik Andersen <andersen@codepoet.org>
Tons of new stuff, major rewrite of most of the Tons of new stuff, major rewrite of most of the
core apps, tons of new apps as noted in header files. core apps, tons of new apps as noted in header files.
Lots of tedious effort writing these boring docs that
nobody is going to actually read.
=for html <br> =for html <br>
John Beppu <beppu@codepoet.org> Laurence Anderson <l.d.anderson@warwick.ac.uk>
du, head, nslookup, sort, tee, uniq (so Kraai could rewrite them ;-), rpm2cpio, unzip, get_header_cpio, read_gz interface, rpm
documentation
=for html <br>
Jeff Angielski <jeff@theptrgroup.com>
ftpput, ftpget
=for html <br> =for html <br>
Edward Betts <edward@debian.org> Edward Betts <edward@debian.org>
expr, hostid, logname, tty, wc, whoami, yes expr, hostid, logname, whoami
=for html <br>
John Beppu <beppu@codepoet.org>
du, nslookup, sort
=for html <br> =for html <br>
@ -40,19 +61,45 @@ Brian Candler <B.Candler@pobox.com>
Randolph Chung <tausq@debian.org> Randolph Chung <tausq@debian.org>
fbset, ping, hostname, and mkfifo fbset, ping, hostname
=for html <br> =for html <br>
Dave Cinege <dcinege@psychosis.com> Dave Cinege <dcinege@psychosis.com>
more(v2), makedevs, modularization, various fixes more(v2), makedevs, dutmp, modularization, auto links file,
various fixes, Linux Router Project maintenance
=for html <br>
Jordan Crouse <jordan@cosmicpenguin.net>
ipcalc
=for html <br>
Magnus Damm <damm@opensource.se>
tftp client insmod powerpc support
=for html <br> =for html <br>
Larry Doolittle <ldoolitt@recycle.lbl.gov> Larry Doolittle <ldoolitt@recycle.lbl.gov>
various fixes, shell rewrite pristine source directory compilation, lots of patches and fixes.
=for html <br>
Glenn Engel <glenne@engel.org>
httpd
=for html <br>
Gennady Feldman <gfeldman@gena01.com>
Sysklogd (single threaded syslogd, IPC Circular buffer support,
logread), various fixes.
=for html <br> =for html <br>
@ -62,39 +109,52 @@ Karl M. Hegbloom <karlheg@debian.org>
=for html <br> =for html <br>
Sterling Huxley <sterling@europa.com>
vi (!!!)
=for html <br>
Daniel Jacobowitz <dan@debian.org> Daniel Jacobowitz <dan@debian.org>
mktemp.c mktemp.c
=for html <br> =for html <br>
Matt Kraai <kraai@alumni.carnegiemellon.edu> Matt Kraai <kraai@alumni.cmu.edu>
documentation, bugfixes documentation, bugfixes, test suite
=for html <br>
Stephan Linz <linz@li-pro.net>
ipcalc, Red Hat equivalence
=for html <br> =for html <br>
John Lombardo <john@deltanet.com> John Lombardo <john@deltanet.com>
dirname, tr tr
=for html <br> =for html <br>
Glenn McGrath <bug1@netconnect.com.au> Glenn McGrath <bug1@optushome.com.au>
ar.c ar, dpkg, dpkg-deb
=for html <br>
Manuel Novoa III <mjn3@codepoet.org>
cat, head, mkfifo, mknod, rmdir, sleep, tee, tty, uniq, usleep, wc, yes,
mesg, vconfig, make_directory, parse_mode, dirname, mode_string,
get_last_path_component, simplify_path, and a number trivial libbb routines
also bug fixes, partial rewrites, and size optimizations in
ash, basename, cal, cmp, cp, df, du, echo, env, ln, logname, md5sum, mkdir,
mv, realpath, rm, sort, tail, touch, uname, watch, arith, human_readable,
interface, dutmp, ifconfig, route
=for html <br> =for html <br>
Vladimir Oleynik <dzo@simtreas.ru> Vladimir Oleynik <dzo@simtreas.ru>
cmdedit, xargs(current), httpd(current); cmdedit; xargs(current), httpd(current);
ports: ash, crond, fdisk, inetd, stty, traceroute, top; ports: ash, crond, fdisk, inetd, stty, traceroute, top;
locale, various fixes locale, various fixes
and irreconcilable critic of everything not perfect. and irreconcilable critic of everything not perfect.
@ -103,7 +163,20 @@ Vladimir Oleynik <dzo@simtreas.ru>
Bruce Perens <bruce@pixar.com> Bruce Perens <bruce@pixar.com>
Original author of BusyBox. His code is still in many apps. Original author of BusyBox in 1995, 1996. Some of his code can
still be found hiding here and there...
=for html <br>
Tim Riker <Tim@Rikers.org>
bug fixes, member of fan club
=for html <br>
Kent Robotti <robotti@metconnect.com>
reset, tons and tons of bug reports and patches.
=for html <br> =for html <br>
@ -133,7 +206,8 @@ Linus Torvalds <torvalds@transmeta.com>
Mark Whitley <markw@codepoet.org> Mark Whitley <markw@codepoet.org>
sed remix, bug fixes, style-guide, etc. grep, sed, cut, xargs(previous),
style-guide, new-applet-HOWTO, bug fixes, etc.
=for html <br> =for html <br>
@ -149,10 +223,11 @@ Enrique Zanardi <ezanardi@ull.es>
=for html <br> =for html <br>
Glenn Engel <glenne@engel.org> Tito Ragusa <farmatito@tiscali.it>
httpd devfsd and size optimizations in strings, openvt and deallocvt.
=cut =cut
# $Id: busybox_footer.pod,v 1.14 2004/03/27 09:40:15 andersen Exp $ # $Id: busybox_footer.pod,v 1.15 2004/04/06 17:52:02 andersen Exp $

View File

@ -874,46 +874,46 @@
"[options] [device] .." "[options] [device] .."
#define hdparm_full_usage \ #define hdparm_full_usage \
"Options:" \ "Options:" \
" -a get/set fs readahead\n" \ "\t-a get/set fs readahead\n" \
" -A set drive read-lookahead flag (0/1)\n" \ "\t-A set drive read-lookahead flag (0/1)\n" \
" -b get/set bus state (0 == off, 1 == on, 2 == tristate)\n" \ "\t-b get/set bus state (0 == off, 1 == on, 2 == tristate)\n" \
" -B set Advanced Power Management setting (1-255)\n" \ "\t-B set Advanced Power Management setting (1-255)\n" \
" -c get/set IDE 32-bit IO setting\n" \ "\t-c get/set IDE 32-bit IO setting\n" \
" -C check IDE power mode status\n" \ "\t-C check IDE power mode status\n" \
USAGE_GETSET_DMA(" -d get/set using_dma flag\n") \ USAGE_GETSET_DMA("\t-d get/set using_dma flag\n") \
" -D enable/disable drive defect-mgmt\n" \ "\t-D enable/disable drive defect-mgmt\n" \
" -f flush buffer cache for device on exit\n" \ "\t-f flush buffer cache for device on exit\n" \
" -g display drive geometry\n" \ "\t-g display drive geometry\n" \
" -h display terse usage information\n" \ "\t-h display terse usage information\n" \
" -i display drive identification\n" \ "\t-i display drive identification\n" \
USAGE_HDPARM_IDENT(" -I detailed/current information directly from drive\n") \ USAGE_HDPARM_IDENT("\t-I detailed/current information directly from drive\n") \
USAGE_HDPARM_IDENT(" -Istdin similar to -I, but wants /proc/ide/" "*" "/hd?/identify as input\n") \ USAGE_HDPARM_IDENT("\t-Istdin similar to -I, but wants /proc/ide/" "*" "/hd?/identify as input\n") \
" -k get/set keep_settings_over_reset flag (0/1)\n" \ "\t-k get/set keep_settings_over_reset flag (0/1)\n" \
" -K set drive keep_features_over_reset flag (0/1)\n" \ "\t-K set drive keep_features_over_reset flag (0/1)\n" \
" -L set drive doorlock (0/1) (removable harddisks only)\n" \ "\t-L set drive doorlock (0/1) (removable harddisks only)\n" \
" -m get/set multiple sector count\n" \ "\t-m get/set multiple sector count\n" \
" -n get/set ignore-write-errors flag (0/1)\n" \ "\t-n get/set ignore-write-errors flag (0/1)\n" \
" -p set PIO mode on IDE interface chipset (0,1,2,3,4,...)\n" \ "\t-p set PIO mode on IDE interface chipset (0,1,2,3,4,...)\n" \
" -P set drive prefetch count\n" \ "\t-P set drive prefetch count\n" \
" -q change next setting quietly\n" \ "\t-q change next setting quietly\n" \
" -Q get/set DMA tagged-queuing depth (if supported)\n" \ "\t-Q get/set DMA tagged-queuing depth (if supported)\n" \
" -r get/set readonly flag (DANGEROUS to set)\n" \ "\t-r get/set readonly flag (DANGEROUS to set)\n" \
USAGE_SCAN_HWIF(" -R register an IDE interface (DANGEROUS)\n") \ USAGE_SCAN_HWIF("\t-R register an IDE interface (DANGEROUS)\n") \
" -S set standby (spindown) timeout\n" \ "\t-S set standby (spindown) timeout\n" \
" -t perform device read timings\n" \ "\t-t perform device read timings\n" \
" -T perform cache read timings\n" \ "\t-T perform cache read timings\n" \
" -u get/set unmaskirq flag (0/1)\n" \ "\t-u get/set unmaskirq flag (0/1)\n" \
USAGE_UNREGISTER_HWIF(" -U un-register an IDE interface (DANGEROUS)\n") \ USAGE_UNREGISTER_HWIF("\t-U un-register an IDE interface (DANGEROUS)\n") \
" -v defaults; same as -mcudkrag for IDE drives\n" \ "\t-v defaults; same as -mcudkrag for IDE drives\n" \
" -V display program version and exit immediately\n" \ "\t-V display program version and exit immediately\n" \
USAGE_DRIVE_RESET(" -w perform device reset (DANGEROUS)\n") \ USAGE_DRIVE_RESET("\t-w perform device reset (DANGEROUS)\n") \
" -W set drive write-caching flag (0/1) (DANGEROUS)\n" \ "\t-W set drive write-caching flag (0/1) (DANGEROUS)\n" \
USAGE_TRISTATE_HWIF(" -x tristate device for hotswap (0/1) (DANGEROUS)\n") \ USAGE_TRISTATE_HWIF("\t-x tristate device for hotswap (0/1) (DANGEROUS)\n") \
" -X set IDE xfer mode (DANGEROUS)\n" \ "\t-X set IDE xfer mode (DANGEROUS)\n" \
" -y put IDE drive in standby mode\n" \ "\t-y put IDE drive in standby mode\n" \
" -Y put IDE drive to sleep\n" \ "\t-Y put IDE drive to sleep\n" \
" -Z disable Seagate auto-powersaving mode\n" \ "\t-Z disable Seagate auto-powersaving mode\n" \
" -z re-read partition table" "\t-z re-read partition table"
#ifdef CONFIG_FEATURE_FANCY_HEAD #ifdef CONFIG_FEATURE_FANCY_HEAD
#define USAGE_FANCY_HEAD(a) a #define USAGE_FANCY_HEAD(a) a
@ -1027,9 +1027,9 @@
"\t-l\tthe hardware clock is kept in local time" "\t-l\tthe hardware clock is kept in local time"
#ifdef CONFIG_SELINUX #ifdef CONFIG_SELINUX
#define USAGE_SELINUX(a, b) a #define USAGE_SELINUX(a) a
#else #else
#define USAGE_SELINUX(a, b) b #define USAGE_SELINUX(a)
#endif #endif
#define id_trivial_usage \ #define id_trivial_usage \
@ -1037,11 +1037,11 @@
#define id_full_usage \ #define id_full_usage \
"Print information for USERNAME or the current user\n\n" \ "Print information for USERNAME or the current user\n\n" \
"Options:\n" \ "Options:\n" \
USAGE_SELINUX("\t-c\tprints only the security context\n") \
"\t-g\tprints only the group ID\n" \ "\t-g\tprints only the group ID\n" \
"\t-u\tprints only the user ID\n" \ "\t-u\tprints only the user ID\n" \
USAGE_SELINUX("\t-c\tprints only the security context\n", "") \ "\t-n\tprint a name instead of a number\n" \
"\t-n\tprint a name instead of a number (with for -ug)\n" \ "\t-r\tprints the real user ID instead of the effective ID"
"\t-r\tprints the real user ID instead of the effective ID (with -ug)"
#define id_example_usage \ #define id_example_usage \
"$ id\n" \ "$ id\n" \
"uid=1000(andersen) gid=1000(andersen)\n" "uid=1000(andersen) gid=1000(andersen)\n"
@ -1298,11 +1298,11 @@
#define ipaddr_full_usage \ #define ipaddr_full_usage \
"ipaddr {add|del} IFADDR dev STRING\n" \ "ipaddr {add|del} IFADDR dev STRING\n" \
"ipaddr {show|flush} [ dev STRING ] [ scope SCOPE-ID ]\n" \ "ipaddr {show|flush} [ dev STRING ] [ scope SCOPE-ID ]\n" \
" [ to PREFIX ] [ label PATTERN ]\n" \ "\t\t\t[ to PREFIX ] [ label PATTERN ]\n" \
"IFADDR := PREFIX | ADDR peer PREFIX\n" \ "\t\t\tIFADDR := PREFIX | ADDR peer PREFIX\n" \
" [ broadcast ADDR ] [ anycast ADDR ]\n" \ "\t\t\t[ broadcast ADDR ] [ anycast ADDR ]\n" \
" [ label STRING ] [ scope SCOPE-ID ]\n" \ "\t\t\t[ label STRING ] [ scope SCOPE-ID ]\n" \
"SCOPE-ID := [ host | link | global | NUMBER ]" "\t\t\tSCOPE-ID := [ host | link | global | NUMBER ]"
#ifndef CONFIG_FEATURE_IPCALC_FANCY #ifndef CONFIG_FEATURE_IPCALC_FANCY
#define ipcalc_trivial_usage \ #define ipcalc_trivial_usage \
@ -1332,9 +1332,9 @@
"{ set DEVICE { up | down | arp { on | off } | show [ DEVICE ] }" "{ set DEVICE { up | down | arp { on | off } | show [ DEVICE ] }"
#define iplink_full_usage \ #define iplink_full_usage \
"iplink set DEVICE { up | down | arp { on | off } |\n" \ "iplink set DEVICE { up | down | arp { on | off } |\n" \
" dynamic { on | off } |\n" \ "\t\t\tdynamic { on | off } |\n" \
" mtu MTU }\n" \ "\t\t\tmtu MTU }\n" \
"iplink show [ DEVICE ]" "\tiplink show [ DEVICE ]"
#define iproute_trivial_usage \ #define iproute_trivial_usage \
"{ list | flush | { add | del | change | append |\n" \ "{ list | flush | { add | del | change | append |\n" \
@ -1342,10 +1342,10 @@
#define iproute_full_usage \ #define iproute_full_usage \
"iproute { list | flush } SELECTOR\n" \ "iproute { list | flush } SELECTOR\n" \
"iproute get ADDRESS [ from ADDRESS iif STRING ]\n" \ "iproute get ADDRESS [ from ADDRESS iif STRING ]\n" \
" [ oif STRING ] [ tos TOS ]\n" \ "\t\t\t[ oif STRING ] [ tos TOS ]\n" \
"iproute { add | del | change | append | replace | monitor } ROUTE\n" \ "\tiproute { add | del | change | append | replace | monitor } ROUTE\n" \
"SELECTOR := [ root PREFIX ] [ match PREFIX ] [ proto RTPROTO ]\n" \ "\t\t\tSELECTOR := [ root PREFIX ] [ match PREFIX ] [ proto RTPROTO ]\n" \
"ROUTE := [ TYPE ] PREFIX [ tos TOS ] [ proto RTPROTO ]" "\t\t\tROUTE := [ TYPE ] PREFIX [ tos TOS ] [ proto RTPROTO ]"
#define iptunnel_trivial_usage \ #define iptunnel_trivial_usage \
"{ add | change | del | show } [ NAME ]\n" \ "{ add | change | del | show } [ NAME ]\n" \
@ -1353,9 +1353,9 @@
"\t\t[ remote ADDR ] [ local ADDR ] [ ttl TTL ]" "\t\t[ remote ADDR ] [ local ADDR ] [ ttl TTL ]"
#define iptunnel_full_usage \ #define iptunnel_full_usage \
"iptunnel { add | change | del | show } [ NAME ]\n" \ "iptunnel { add | change | del | show } [ NAME ]\n" \
" [ mode { ipip | gre | sit } ] [ remote ADDR ] [ local ADDR ]\n" \ "\t\t\t[ mode { ipip | gre | sit } ] [ remote ADDR ] [ local ADDR ]\n" \
" [ [i|o]seq ] [ [i|o]key KEY ] [ [i|o]csum ]\n" \ "\t\t\t[ [i|o]seq ] [ [i|o]key KEY ] [ [i|o]csum ]\n" \
" [ ttl TTL ] [ tos TOS ] [ [no]pmtudisc ] [ dev PHYS_DEV ]" "\t\t\t[ ttl TTL ] [ tos TOS ] [ [no]pmtudisc ] [ dev PHYS_DEV ]"
#define kill_trivial_usage \ #define kill_trivial_usage \
"[-signal] process-id [process-id ...]" "[-signal] process-id [process-id ...]"
@ -1501,8 +1501,9 @@
#else #else
#define USAGE_AUTOWIDTH(a) #define USAGE_AUTOWIDTH(a)
#endif #endif
#define ls_trivial_usage \ #define ls_trivial_usage \
"[-1Aa" USAGE_LS_TIMESTAMPS("c") "Cd" USAGE_LS_TIMESTAMPS("e") USAGE_LS_FILETYPES("F") "iln" USAGE_LS_FILETYPES("p") USAGE_LS_FOLLOWLINKS("L") USAGE_LS_RECURSIVE("R") USAGE_LS_SORTFILES("rS") "s" USAGE_AUTOWIDTH("T") USAGE_LS_TIMESTAMPS("tu") USAGE_LS_SORTFILES("v") USAGE_AUTOWIDTH("w") "x" USAGE_LS_SORTFILES("X") USAGE_HUMAN_READABLE("h") USAGE_NOT_HUMAN_READABLE("") "k" USAGE_SELINUX("K", "") "] [filenames...]" "[-1Aa" USAGE_LS_TIMESTAMPS("c") "Cd" USAGE_LS_TIMESTAMPS("e") USAGE_LS_FILETYPES("F") "iln" USAGE_LS_FILETYPES("p") USAGE_LS_FOLLOWLINKS("L") USAGE_LS_RECURSIVE("R") USAGE_LS_SORTFILES("rS") "s" USAGE_AUTOWIDTH("T") USAGE_LS_TIMESTAMPS("tu") USAGE_LS_SORTFILES("v") USAGE_AUTOWIDTH("w") "x" USAGE_LS_SORTFILES("X") USAGE_HUMAN_READABLE("h") USAGE_NOT_HUMAN_READABLE("") "k" USAGE_SELINUX("K") "] [filenames...]"
#define ls_full_usage \ #define ls_full_usage \
"List directory contents\n\n" \ "List directory contents\n\n" \
"Options:\n" \ "Options:\n" \
@ -1531,8 +1532,9 @@
"\t-x\tlist entries by lines instead of by columns\n" \ "\t-x\tlist entries by lines instead of by columns\n" \
USAGE_LS_SORTFILES("\t-X\tsort the listing by extension\n") \ USAGE_LS_SORTFILES("\t-X\tsort the listing by extension\n") \
USAGE_HUMAN_READABLE( \ USAGE_HUMAN_READABLE( \
"\t-h\tprint sizes in human readable format (e.g., 1K 243M 2G )\n" \ "\t-h\tprint sizes in human readable format (e.g., 1K 243M 2G )\n") \
USAGE_SELINUX("\t-k\tprint security context\n\t-K\tprint security context in long format\n", "")) USAGE_SELINUX("\t-k\tprint security context\n") \
USAGE_SELINUX("\t-K\tprint security context in long format\n")
#define lsmod_trivial_usage \ #define lsmod_trivial_usage \
"" ""
@ -1944,12 +1946,18 @@
"$ printf "Val=%d\\n" 5\n" \ "$ printf "Val=%d\\n" 5\n" \
"Val=5\n" "Val=5\n"
#ifdef CONFIG_SELINUX
#define USAGE_NONSELINUX(a)
#else
#define USAGE_NONSELINUX(a) a
#endif
#define ps_trivial_usage \ #define ps_trivial_usage \
"" ""
#define ps_full_usage \ #define ps_full_usage \
"Report process status\n" \ "Report process status\n" \
USAGE_SELINUX("\nOptions:\n\t-c\tshow SE Linux context", \ USAGE_NONSELINUX("\n\tThis version of ps accepts no options.") \
"\nThis version of ps accepts no options.") USAGE_SELINUX("\nOptions:\n\t-c\tshow SE Linux context")
#define ps_example_usage \ #define ps_example_usage \
"$ ps\n" \ "$ ps\n" \
@ -2172,7 +2180,7 @@
USAGE_NOT_FANCY_SLEEP("Pause for N seconds.") \ USAGE_NOT_FANCY_SLEEP("Pause for N seconds.") \
USAGE_FANCY_SLEEP( \ USAGE_FANCY_SLEEP( \
"Pause for a time equal to the total of the args given, where each arg can\n" \ "Pause for a time equal to the total of the args given, where each arg can\n" \
"have an optional suffix of (s)econds, (m)inutes, (h)ours, or (d)ays.") "\t\thave an optional suffix of (s)econds, (m)inutes, (h)ours, or (d)ays.")
#define sleep_example_usage \ #define sleep_example_usage \
"$ sleep 2\n" \ "$ sleep 2\n" \
"[2 second delay results]\n" \ "[2 second delay results]\n" \
@ -2559,8 +2567,8 @@
"hello world\n" "hello world\n"
#define traceroute_trivial_usage \ #define traceroute_trivial_usage \
"[-dnrv] [-m max_ttl] [-p port#] [-q nqueries]\n\ "[-dnrv] [-m max_ttl] [-p port#] [-q nqueries]\n"\
[-s src_addr] [-t tos] [-w wait] host [data size]" "\t[-s src_addr] [-t tos] [-w wait] host [data size]"
#define traceroute_full_usage \ #define traceroute_full_usage \
"trace the route ip packets follow going to \"host\"\n" \ "trace the route ip packets follow going to \"host\"\n" \
"Options:\n" \ "Options:\n" \
@ -2803,7 +2811,7 @@
#define wget_trivial_usage \ #define wget_trivial_usage \
"[-c|--continue] [-q|--quiet] [-O|--output-document file]\n" \ "[-c|--continue] [-q|--quiet] [-O|--output-document file]\n" \
"\t[--header 'header: value'] [-Y|--proxy on/off] [-P DIR] url" "\t\t[--header 'header: value'] [-Y|--proxy on/off] [-P DIR] url"
#define wget_full_usage \ #define wget_full_usage \
"wget retrieves files via HTTP or FTP\n\n" \ "wget retrieves files via HTTP or FTP\n\n" \
"Options:\n" \ "Options:\n" \