summaryrefslogtreecommitdiffhomepage
path: root/TODO
blob: 61127489b219d328d108432927c807fdb99278cd (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
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 busybox shell, lash, is really too weak for serious use, although it is
    possible to run many simple systems with it.  BusyBox 0.49 was supposed to
    have a new shell, updated to understand full Bourne grammar.  Well, that
    simply didn't happen in time for the release.  A rewrite is in progress
    that will result in a new shell that understands the full Bourne grammar.
    This new shell is being championed by Larry Doolittle
    <ldoolitt@recycle.lbl.gov>, and could use your help.  Please see the work
    in progress at http://doolittle.faludi.com/~larry/parser.html and help
    us out.

 -Erik

-----------

Possible apps to include some time:

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

-----------

Write a fixup_globals function to do just that right before calling
non-forking applets.  Or, just always fork in the shell...

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

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

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