summaryrefslogtreecommitdiff
path: root/TODO
blob: 47ffe46defbf7f9cd57ec673f09074604e36477a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
TODO list for busybox in no particular order. Just because something
is listed here doesn't mean that it is going to be added to busybox,
or that doing so is even a good idea. It just means that I _might_ get
around to it some time. If you have any good ideas, please let me know.

* login/sulogin/passwd/getty/etc are part of tinylogin, and so are not
    needed or wanted in busybox (or else I'd have to link to libcrypt).

* We _were_ going to split networking apps into a new package called 
    netkit-tiny.  Per discussions on the mailing list, this isn't going
    to happen.  False alarm.  Sorry about the confusion.  

* The default busybox shell, lash, is really too weak for serious use,
    although it is possible to run many simple systems with it.  BusyBox
    0.52 now contains a rewritten shell, hush, which understands most
    Bourne grammar, with only about a 4 Kbyte binary size penalty.  You can
    engage hush at pre-compile time by "ln -sf hush.c sh.c; touch hush.c".
    Hush is young, and has plenty of bugs to shake out, so think twice before
    using it for production systems.  We welcome bug reports and patches.

 -Erik

-----------

Possible apps to include some time:

* hwclock
* group/commonize strings, remove dups (for i18n, l10n)

-----------

With sysvinit, reboot, poweroff and halt all used a named pipe, 
/dev/initctl, to communicate with the init process.  Busybox
currently uses signals to communicate with init.  This makes
busybox incompatible with sysvinit.  We should probably use
a named pipe as well so we can be compatible.

-----------------------

Run the following:

    rm -f busybox && make LDFLAGS+=-nostdlib 2>&1 | \
	sed -ne 's/.*undefined reference to `\(.*\)..*/\1/gp' | sort | uniq

reveals the list of all external (i.e. libc) things that BusyBox depends on.
It would be a very nice thing to reduce this list to an absolute minimum, to
reduce the footprint of busybox, especially when staticly linking with
libraries such as uClibc.

-----------------------

Compile with debugging on, run 'nm --size-sort ./busybox'
and then start with the biggest things and make them smaller...

-----------------------

 du.c probably ought to have an -x switch like GNU du does...

-----------------------

xargs could use a -l option

------------------------------------------------------------------