- usage.h
[platform/upstream/busybox.git] / TODO
1 TODO list for busybox in no particular order. Just because something
2 is listed here doesn't mean that it is going to be added to busybox,
3 or that doing so is even a good idea. It just means that I _might_ get
4 around to it some time. If you have any good ideas, please let me know.
5
6 * login/sulogin/passwd/getty/etc are part of tinylogin, and so are not
7     needed or wanted in busybox (or else I'd have to link to libcrypt).
8
9 * We _were_ going to split networking apps into a new package called 
10     netkit-tiny.  Per discussions on the mailing list, this isn't going
11     to happen.  False alarm.  Sorry about the confusion.  
12
13 * The busybox shell, lash, is really too weak for serious use, although it is
14     possible to run many simple systems with it.  BusyBox 0.49 was supposed to
15     have a new shell, updated to understand full Bourne grammar.  Well, that
16     simply didn't happen in time for the release.  A rewrite is in progress
17     that will result in a new shell that understands the full Bourne grammar.
18     This new shell is being championed by Larry Doolittle
19     <ldoolitt@recycle.lbl.gov>, and could use your help.  Please see the work
20     in progress at http://doolittle.faludi.com/~larry/parser.html and help
21     us out.
22
23  -Erik
24
25 -----------
26
27 Possible apps to include some time:
28
29 * hwclock
30 * group/commonize strings, remove dups (for i18n, l10n)
31
32 -----------
33
34 Write a fixup_globals function to do just that right before calling
35 non-forking applets.  Or, just always fork in the shell...
36
37 -----------------------
38
39 Run the following:
40
41     rm -f busybox && make LDFLAGS+=-nostdlib 2>&1 | \
42         sed -ne 's/.*undefined reference to `\(.*\)..*/\1/gp' | sort | uniq
43
44 reveals the list of all external (i.e. libc) things that BusyBox depends on.
45 It would be a very nice thing to reduce this list to an absolute minimum, to
46 reduce the footprint of busybox, especially when staticly linking with
47 libraries such as uClibc.
48
49 -----------------------
50
51 Compile with debugging on, run 'nm --size-sort ./busybox'
52 and then start with the biggest things and make them smaller...
53
54 -----------------------
55
56  du.c probably ought to have an -x switch like GNU du does...
57
58 -----------------------
59
60 xargs could use a -l option
61
62 ------------------------------------------------------------------