Yet more doc updates
authorEric Andersen <andersen@codepoet.org>
Tue, 6 Apr 2004 17:52:02 +0000 (17:52 -0000)
committerEric Andersen <andersen@codepoet.org>
Tue, 6 Apr 2004 17:52:02 +0000 (17:52 -0000)
AUTHORS
docs/busybox_footer.pod
include/usage.h

diff --git a/AUTHORS b/AUTHORS
index c73b47abf2018f523e60f9c60525534f0a6bfccd..ab5650fb9ff5153519152d91329cff58146597ba 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -14,6 +14,8 @@ Emanuele Aina <emanuele.aina@tiscali.it>
 Erik Andersen <andersen@codepoet.org>
     Tons of new stuff, major rewrite of most of the
     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>
     rpm2cpio, unzip, get_header_cpio, read_gz interface, rpm
index 4f1058573540f945bba1ae08e05df1fbb9b9ef4f..ddeef532cc6811bdd78d3596ccbac8676e7d4568 100644 (file)
@@ -6,29 +6,50 @@ Erik Andersen <andersen@codepoet.org>
 
 =head1 AUTHORS
 
-The following people have contributed code to BusyBox whether
-they know it or not.
+The following people have contributed code to BusyBox whether they know it or
+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>
 
 Erik Andersen <andersen@codepoet.org>
 
     Tons of new stuff, major rewrite of most of the
     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>
 
-John Beppu <beppu@codepoet.org>
+Laurence Anderson <l.d.anderson@warwick.ac.uk>
 
-    du, head, nslookup, sort, tee, uniq (so Kraai could rewrite them ;-),
-    documentation
+    rpm2cpio, unzip, get_header_cpio, read_gz interface, rpm
+
+=for html <br>
+
+Jeff Angielski <jeff@theptrgroup.com>
+
+    ftpput, ftpget
 
 =for html <br>
 
 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>
 
@@ -40,31 +61,51 @@ Brian Candler <B.Candler@pobox.com>
 
 Randolph Chung <tausq@debian.org>
 
-    fbset, ping, hostname, and mkfifo
+    fbset, ping, hostname
 
 =for html <br>
 
 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>
 
 Larry Doolittle <ldoolitt@recycle.lbl.gov>
 
-    various fixes, shell rewrite
+    pristine source directory compilation, lots of patches and fixes.
 
 =for html <br>
 
-Karl M. Hegbloom <karlheg@debian.org>
+Glenn Engel <glenne@engel.org>
 
-    cp_mv.c, the test suite, various fixes to utility.c, &c.
+    httpd
 
 =for html <br>
 
-Sterling Huxley <sterling@europa.com>
+Gennady Feldman <gfeldman@gena01.com>
 
-    vi (!!!)
+    Sysklogd (single threaded syslogd, IPC Circular buffer support,
+    logread), various fixes.
+
+=for html <br>
+
+Karl M. Hegbloom <karlheg@debian.org>
+
+    cp_mv.c, the test suite, various fixes to utility.c, &c.
 
 =for html <br>
 
@@ -74,27 +115,46 @@ Daniel Jacobowitz <dan@debian.org>
 
 =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>
 
 John Lombardo <john@deltanet.com>
 
-    dirname, tr
+    tr
 
 =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>
 
 Vladimir Oleynik <dzo@simtreas.ru>
 
-    cmdedit, xargs(current), httpd(current);
+    cmdedit; xargs(current), httpd(current);
     ports: ash, crond, fdisk, inetd, stty, traceroute, top;
     locale, various fixes
     and irreconcilable critic of everything not perfect.
@@ -103,7 +163,20 @@ Vladimir Oleynik <dzo@simtreas.ru>
 
 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>
 
@@ -133,7 +206,8 @@ Linus Torvalds <torvalds@transmeta.com>
 
 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>
 
@@ -149,10 +223,11 @@ Enrique Zanardi <ezanardi@ull.es>
 
 =for html <br>
 
-Glenn Engel <glenne@engel.org>
+Tito Ragusa <farmatito@tiscali.it>
 
-    httpd
+       devfsd and size optimizations in strings, openvt and deallocvt.
 
 =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 $
+
index c5f978956d62fbf612d1b642395fec8ff8668c07..4b7032308a5a01362a3524a8a3057c5f5debc0bc 100644 (file)
        "[options] [device] .."
 #define hdparm_full_usage \
        "Options:" \
-       " -a   get/set fs readahead\n" \
-       " -A   set drive read-lookahead flag (0/1)\n" \
-       " -b   get/set bus state (0 == off, 1 == on, 2 == tristate)\n" \
-       " -B   set Advanced Power Management setting (1-255)\n" \
-       " -c   get/set IDE 32-bit IO setting\n" \
-       " -C   check IDE power mode status\n" \
-       USAGE_GETSET_DMA(" -d   get/set using_dma flag\n") \
-       " -D   enable/disable drive defect-mgmt\n" \
-       " -f   flush buffer cache for device on exit\n" \
-       " -g   display drive geometry\n" \
-       " -h   display terse usage information\n" \
-       " -i   display drive identification\n" \
-       USAGE_HDPARM_IDENT(" -I   detailed/current information directly from drive\n") \
-       USAGE_HDPARM_IDENT(" -Istdin  similar to -I, but wants /proc/ide/" "*" "/hd?/identify as input\n") \
-       " -k   get/set keep_settings_over_reset flag (0/1)\n" \
-       " -K   set drive keep_features_over_reset flag (0/1)\n" \
-       " -L   set drive doorlock (0/1) (removable harddisks only)\n" \
-       " -m   get/set multiple sector count\n" \
-       " -n   get/set ignore-write-errors flag (0/1)\n" \
-       " -p   set PIO mode on IDE interface chipset (0,1,2,3,4,...)\n" \
-       " -P   set drive prefetch count\n" \
-       " -q   change next setting quietly\n" \
-       " -Q   get/set DMA tagged-queuing depth (if supported)\n" \
-       " -r   get/set readonly flag (DANGEROUS to set)\n" \
-       USAGE_SCAN_HWIF(" -R   register an IDE interface (DANGEROUS)\n") \
-       " -S   set standby (spindown) timeout\n" \
-       " -t   perform device read timings\n" \
-       " -T   perform cache read timings\n" \
-       " -u   get/set unmaskirq flag (0/1)\n" \
-       USAGE_UNREGISTER_HWIF(" -U   un-register an IDE interface (DANGEROUS)\n") \
-       " -v   defaults; same as -mcudkrag for IDE drives\n" \
-       " -V   display program version and exit immediately\n" \
-       USAGE_DRIVE_RESET(" -w   perform device reset (DANGEROUS)\n") \
-       " -W   set drive write-caching flag (0/1) (DANGEROUS)\n" \
-       USAGE_TRISTATE_HWIF(" -x   tristate device for hotswap (0/1) (DANGEROUS)\n") \
-       " -X   set IDE xfer mode (DANGEROUS)\n" \
-       " -y   put IDE drive in standby mode\n" \
-       " -Y   put IDE drive to sleep\n" \
-       " -Z   disable Seagate auto-powersaving mode\n" \
-       " -z   re-read partition table"
+       "\t-a   get/set fs readahead\n" \
+       "\t-A   set drive read-lookahead flag (0/1)\n" \
+       "\t-b   get/set bus state (0 == off, 1 == on, 2 == tristate)\n" \
+       "\t-B   set Advanced Power Management setting (1-255)\n" \
+       "\t-c   get/set IDE 32-bit IO setting\n" \
+       "\t-C   check IDE power mode status\n" \
+       USAGE_GETSET_DMA("\t-d   get/set using_dma flag\n") \
+       "\t-D   enable/disable drive defect-mgmt\n" \
+       "\t-f   flush buffer cache for device on exit\n" \
+       "\t-g   display drive geometry\n" \
+       "\t-h   display terse usage information\n" \
+       "\t-i   display drive identification\n" \
+       USAGE_HDPARM_IDENT("\t-I   detailed/current information directly from drive\n") \
+       USAGE_HDPARM_IDENT("\t-Istdin  similar to -I, but wants /proc/ide/" "*" "/hd?/identify as input\n") \
+       "\t-k   get/set keep_settings_over_reset flag (0/1)\n" \
+       "\t-K   set drive keep_features_over_reset flag (0/1)\n" \
+       "\t-L   set drive doorlock (0/1) (removable harddisks only)\n" \
+       "\t-m   get/set multiple sector count\n" \
+       "\t-n   get/set ignore-write-errors flag (0/1)\n" \
+       "\t-p   set PIO mode on IDE interface chipset (0,1,2,3,4,...)\n" \
+       "\t-P   set drive prefetch count\n" \
+       "\t-q   change next setting quietly\n" \
+       "\t-Q   get/set DMA tagged-queuing depth (if supported)\n" \
+       "\t-r   get/set readonly flag (DANGEROUS to set)\n" \
+       USAGE_SCAN_HWIF("\t-R   register an IDE interface (DANGEROUS)\n") \
+       "\t-S   set standby (spindown) timeout\n" \
+       "\t-t   perform device read timings\n" \
+       "\t-T   perform cache read timings\n" \
+       "\t-u   get/set unmaskirq flag (0/1)\n" \
+       USAGE_UNREGISTER_HWIF("\t-U   un-register an IDE interface (DANGEROUS)\n") \
+       "\t-v   defaults; same as -mcudkrag for IDE drives\n" \
+       "\t-V   display program version and exit immediately\n" \
+       USAGE_DRIVE_RESET("\t-w   perform device reset (DANGEROUS)\n") \
+       "\t-W   set drive write-caching flag (0/1) (DANGEROUS)\n" \
+       USAGE_TRISTATE_HWIF("\t-x   tristate device for hotswap (0/1) (DANGEROUS)\n") \
+       "\t-X   set IDE xfer mode (DANGEROUS)\n" \
+       "\t-y   put IDE drive in standby mode\n" \
+       "\t-Y   put IDE drive to sleep\n" \
+       "\t-Z   disable Seagate auto-powersaving mode\n" \
+       "\t-z   re-read partition table"
 
 #ifdef CONFIG_FEATURE_FANCY_HEAD
 #define USAGE_FANCY_HEAD(a) a
        "\t-l\tthe hardware clock is kept in local time"
 
 #ifdef CONFIG_SELINUX
-#define USAGE_SELINUX(a, b) a
+  #define USAGE_SELINUX(a) a
 #else
-#define USAGE_SELINUX(a, b) b
+  #define USAGE_SELINUX(a)
 #endif
 
 #define id_trivial_usage \
 #define id_full_usage \
        "Print information for USERNAME or the current user\n\n" \
        "Options:\n" \
+       USAGE_SELINUX("\t-c\tprints only the security context\n") \
        "\t-g\tprints only the group 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 (with for -ug)\n" \
-       "\t-r\tprints the real user ID instead of the effective ID (with -ug)"
+       "\t-n\tprint a name instead of a number\n" \
+       "\t-r\tprints the real user ID instead of the effective ID"
 #define id_example_usage \
        "$ id\n" \
        "uid=1000(andersen) gid=1000(andersen)\n"
 #define ipaddr_full_usage \
        "ipaddr {add|del} IFADDR dev STRING\n" \
        "ipaddr {show|flush} [ dev STRING ] [ scope SCOPE-ID ]\n" \
-       "                    [ to PREFIX ] [ label PATTERN ]\n" \
-       "IFADDR := PREFIX | ADDR peer PREFIX\n" \
-       "          [ broadcast ADDR ] [ anycast ADDR ]\n" \
-       "          [ label STRING ] [ scope SCOPE-ID ]\n" \
-       "SCOPE-ID := [ host | link | global | NUMBER ]"
+       "\t\t\t[ to PREFIX ] [ label PATTERN ]\n" \
+       "\t\t\tIFADDR := PREFIX | ADDR peer PREFIX\n" \
+       "\t\t\t[ broadcast ADDR ] [ anycast ADDR ]\n" \
+       "\t\t\t[ label STRING ] [ scope SCOPE-ID ]\n" \
+       "\t\t\tSCOPE-ID := [ host | link | global | NUMBER ]"
 
 #ifndef CONFIG_FEATURE_IPCALC_FANCY
 #define ipcalc_trivial_usage \
        "{ set DEVICE { up | down | arp { on | off } | show [ DEVICE ] }"
 #define iplink_full_usage \
        "iplink set DEVICE { up | down | arp { on | off } |\n" \
-       "                     dynamic { on | off } |\n" \
-       "                     mtu MTU }\n" \
-       "iplink show [ DEVICE ]"
+       "\t\t\tdynamic { on | off } |\n" \
+       "\t\t\tmtu MTU }\n" \
+       "\tiplink show [ DEVICE ]"
 
 #define iproute_trivial_usage \
        "{ list | flush | { add | del | change | append |\n" \
 #define iproute_full_usage \
        "iproute { list | flush } SELECTOR\n" \
        "iproute get ADDRESS [ from ADDRESS iif STRING ]\n" \
-       "                     [ oif STRING ]  [ tos TOS ]\n" \
-       "iproute { add | del | change | append | replace | monitor } ROUTE\n" \
-       "SELECTOR := [ root PREFIX ] [ match PREFIX ] [ proto RTPROTO ]\n" \
-       "ROUTE := [ TYPE ] PREFIX [ tos TOS ] [ proto RTPROTO ]"
+       "\t\t\t[ oif STRING ]  [ tos TOS ]\n" \
+       "\tiproute { add | del | change | append | replace | monitor } ROUTE\n" \
+       "\t\t\tSELECTOR := [ root PREFIX ] [ match PREFIX ] [ proto RTPROTO ]\n" \
+       "\t\t\tROUTE := [ TYPE ] PREFIX [ tos TOS ] [ proto RTPROTO ]"
 
 #define iptunnel_trivial_usage \
        "{ add | change | del | show } [ NAME ]\n" \
        "\t\t[ remote ADDR ] [ local ADDR ] [ ttl TTL ]"
 #define iptunnel_full_usage \
        "iptunnel { add | change | del | show } [ NAME ]\n" \
-       "          [ mode { ipip | gre | sit } ] [ remote ADDR ] [ local ADDR ]\n" \
-       "          [ [i|o]seq ] [ [i|o]key KEY ] [ [i|o]csum ]\n" \
-       "          [ ttl TTL ] [ tos TOS ] [ [no]pmtudisc ] [ dev PHYS_DEV ]"
+       "\t\t\t[ mode { ipip | gre | sit } ] [ remote ADDR ] [ local ADDR ]\n" \
+       "\t\t\t[ [i|o]seq ] [ [i|o]key KEY ] [ [i|o]csum ]\n" \
+       "\t\t\t[ ttl TTL ] [ tos TOS ] [ [no]pmtudisc ] [ dev PHYS_DEV ]"
 
 #define kill_trivial_usage \
        "[-signal] process-id [process-id ...]"
 #else
   #define USAGE_AUTOWIDTH(a)
 #endif
+
 #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 \
        "List directory contents\n\n" \
        "Options:\n" \
        "\t-x\tlist entries by lines instead of by columns\n" \
        USAGE_LS_SORTFILES("\t-X\tsort the listing by extension\n") \
        USAGE_HUMAN_READABLE( \
-       "\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", ""))
+       "\t-h\tprint sizes in human readable format (e.g., 1K 243M 2G )\n") \
+       USAGE_SELINUX("\t-k\tprint security context\n") \
+       USAGE_SELINUX("\t-K\tprint security context in long format\n")
 
 #define lsmod_trivial_usage \
        ""
        "$ printf "Val=%d\\n" 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_full_usage \
        "Report process status\n" \
-       USAGE_SELINUX("\nOptions:\n\t-c\tshow SE Linux context", \
-               "\nThis version of ps accepts no options.")
+       USAGE_NONSELINUX("\n\tThis version of ps accepts no options.") \
+       USAGE_SELINUX("\nOptions:\n\t-c\tshow SE Linux context")
 
 #define ps_example_usage \
        "$ ps\n" \
        USAGE_NOT_FANCY_SLEEP("Pause for N seconds.") \
        USAGE_FANCY_SLEEP( \
        "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 \
        "$ sleep 2\n" \
        "[2 second delay results]\n" \
        "hello world\n"
 
 #define traceroute_trivial_usage \
-       "[-dnrv] [-m max_ttl] [-p port#] [-q nqueries]\n\
-       [-s src_addr] [-t tos] [-w wait] host [data size]"
+       "[-dnrv] [-m max_ttl] [-p port#] [-q nqueries]\n"\
+       "\t[-s src_addr] [-t tos] [-w wait] host [data size]"
 #define traceroute_full_usage \
        "trace the route ip packets follow going to \"host\"\n" \
        "Options:\n" \
 
 #define wget_trivial_usage \
        "[-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 \
        "wget retrieves files via HTTP or FTP\n\n" \
        "Options:\n" \