summaryrefslogtreecommitdiffhomepage
path: root/TODO
blob: 378717d8bf0597200f01fa73908db3fee986ec7e (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.  


 -Erik

-----------

Possible apps to include some time:

* hwclock
* group/commonize strings, remove dups (for i18n, l10n)
* login/sulogin/passwd/etc are part of tinylogin.  These are 
    being merged into busybox as time allows.

-----------

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

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

libbb/unzip.c and archival/gzip.c have common constant static arrays and
code for initializing the CRC array. Both use CRC-32 and could use
common code for CRC calculation. Within archival/gzip.c, the CRC
array should be malloc-ed as it is in libbb/unzip.c .