X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=TODO;h=7962b9ecfe4d7192c30fd10b8572ad280f0115d0;hb=a0782684fd5076fd2ad5ca4f611249da83182108;hp=1c3b460e79b5f6bb85b949a8d1d4872d7c236b03;hpb=d7ce5e780282148f86941ebb6babc7ae4b50b07e;p=oweals%2Fbusybox.git diff --git a/TODO b/TODO index 1c3b460e7..7962b9ecf 100644 --- a/TODO +++ b/TODO @@ -3,71 +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. -* Networking apps are probably going to be split out some time soon into a - separate package (named perhaps tiny-netkit?). This currently includes - hostid, hostname, mnc, and ping. +* 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. -* init's waitfor() calls wait() which can catch and ignore the wrong pid - exiting. That other process is then not restarted. + -Erik +----------- +Possible apps to include some time: - -Erik +* 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. ----------- -* Allow tar to create archives with sockets, devices, and other special files -* Make insmod actually work -* dnsdomainname -* traceroute/nslookup/netstat -* rdate -* hwclock -* killall -* stty -* tr -* expr (maybe?) (ash builtin?) +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 -Some known bugs, todo items, etc... +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. ----------------------- - -[andersen@slag busybox]$ ./busybox du /bin -6213 /bin -[andersen@slag busybox]$ du /bin -2971 /bin -[andersen@slag busybox]$ du --block-size=512 /bin -5943 /bin +Compile with debugging on, run 'nm --size-sort ./busybox' +and then start with the biggest things and make them smaller... ----------------------- --rw-r--r-- 1000/1000 4398 2000-01-06 21:55 uniq.c --rw-r--r-- 1000/1000 1568 1999-10-20 18:08 update.c --rw-r----- 0/1000 1168 2000-01-29 21:03 update.o --rw-r--r-- 1000/1000 22820 2000-01-05 11:36 utility.c --rw-r----- 0/1000 7372 2000-01-29 21:03 utility.o -tar: Skipping to next file header -tar: Skipping to next file header -tar: Archive - EOF not on block boundary -tar: Error is not recoverable: exiting now + du.c probably ought to have an -x switch like GNU du does... +----------------------- -#1 You are storing by id instead of name like normal tar. Did you realize this? -(or am I missing some compile option? )ctar did not do this, and I don't think -it's a good idea for LRP. - -#2 -ctar did not produce the EOF error like your tar does. I believe you need to -pad the end of the archive with at least 2 tarsized (512byte) blocks. (I -think???) +xargs could use a -l option -#3 -There is no exclude file(s) option to tar. LRP's packaging system can not -function without this. Will you have the time to add this soon? +------------------------------------------------------------------ +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 .