Trying to commit Changelog and TODO. cvs is being weird :/
[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
14  -Erik
15
16 -----------
17
18 Possible apps to include some time:
19
20 * hwclock
21 * group/commonize strings, remove dups (for i18n, l10n)
22 * login/sulogin/passwd/etc are part of tinylogin.  These are 
23     being merged into busybox as time allows.
24
25 -----------
26
27 With sysvinit, reboot, poweroff and halt all used a named pipe, 
28 /dev/initctl, to communicate with the init process.  Busybox
29 currently uses signals to communicate with init.  This makes
30 busybox incompatible with sysvinit.  We should probably use
31 a named pipe as well so we can be compatible.
32
33 -----------------------
34
35 Run the following:
36
37     rm -f busybox && make LDFLAGS+=-nostdlib 2>&1 | \
38         sed -ne 's/.*undefined reference to `\(.*\)..*/\1/gp' | sort | uniq
39
40 reveals the list of all external (i.e., libc) things that BusyBox depends on.
41 It would be a very nice thing to reduce this list to an absolute minimum, to
42 reduce the footprint of busybox, especially when staticly linking with
43 libraries such as uClibc.
44
45 -----------------------
46
47 Compile with debugging on, run 'nm --size-sort ./busybox'
48 and then start with the biggest things and make them smaller...
49
50 -----------------------
51
52  du.c probably ought to have an -x switch like GNU du does...
53
54 -----------------------
55
56 xargs could use a -l option
57
58 ------------------------------------------------------------------
59
60 libbb/unzip.c and archival/gzip.c have common constant static arrays and
61 code for initializing the CRC array. Both use CRC-32 and could use
62 common code for CRC calculation. Within archival/gzip.c, the CRC
63 array should be malloc-ed as it is in libbb/unzip.c .