X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=TODO;h=7962b9ecfe4d7192c30fd10b8572ad280f0115d0;hb=8042f65398adafbe7931646b0d8833f7b650d010;hp=6c0471ed29482ccd588d8031107193608d65c0d9;hpb=1c5b2589d1287008899c07f45541286fe8c37508;p=oweals%2Fbusybox.git diff --git a/TODO b/TODO index 6c0471ed2..7962b9ecf 100644 --- a/TODO +++ b/TODO @@ -3,26 +3,62 @@ 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 in libcrypt). +* login/sulogin/passwd/etc are part of tinylogin. We are in the + process of merging these applications into busybox, since the + new build system allows us to add Libraries (i.e. libcrypt), + when certain applets are enabled. + +* 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 ----------- -* Allow tar to create archives with sockets, devices, and other special files -* Add in a mini insmod, rmmod, lsmod -* init clearly needs to support some type of minimalist /etc/inittab. I - currently have _way_ too much policy hardcoded in the source. Adding - support for getty has made me realize how much that sucks. -* dnsdomainname -* traceroute/nslookup/netstat -* rdate +Possible apps to include some time: + * hwclock -* killall -* stty -* sort/uniq -* wc -* tr -* expr (maybe?) (ash builtin?) +* 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 .