Gratuitously changed the file "busybox.defs.h" to the more
[people/mcb30/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 * Networking apps are probably going to be split out some time soon into a
10     separate package (named perhaps netkit-tiny?).  This would remove the
11     following items from BusyBox: hostid, hostname, nc, nslookup, telnet, and
12     ping.  nfs mounting and syslogd (network logging) will remain in BusyBox.
13
14  -Erik
15
16 -----------
17
18 * dnsdomainname
19 * traceroute/netstat
20 * hwclock
21 * stty
22 * tftp
23 * ftp
24 * group/commonize strings, remove dups (for i18n, l10n)
25
26 -----------------------
27
28 Running the following:
29
30     rm -f busybox && make LDFLAGS+=-nostdlib 2>&1 | \
31         sed -ne 's/.*undefined reference to `\(.*\)..*/\1/gp' | sort | uniq
32
33 reveals the list of all external (i.e. libc) things that BusyBox depends on.
34 It would be a very nice thing to reduce this list to an absolute minimum, and
35 then create a microLibc to provide these functions.  There is no good reason
36 for GNU libc to be so big.  I'm sure it can be a lot better.
37
38 (BTW, this is more informative if BB_FEATURE_NFSMOUNT is turned off...)
39
40 Most wanted list:
41
42     [andersen@slag busybox]$ grep -l getgroups *.[ch]
43     test.c
44
45 Policy violation.  getgroups uses libc nss, which is unlikely
46 to be present in an embedded system.
47
48 -----------------------
49
50 Compile with debugging on, run 'nm --size-sort ./busybox'
51 and then start with the biggest things and make them smaller...
52
53 -----------------------
54
55  du.c probably ought to have an -x switch like GNU du does...
56
57 ------------------------------------------------------------------