the word "only" is repeated for CONFIG_FEATURE_SHADOWPASSWDS
[oweals/busybox.git] / TODO
diff --git a/TODO b/TODO
index 73660e950a991181cdab571c954ff6876e240eb4..35bc11a24de3c17eec30d10de4812f9898424b52 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,27 +1,49 @@
 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,
 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.
+or that doing so is even a good idea. It just means that we _might_ get
+around to it some time. If you have any good ideas, please send them
+on in...
 
  -Erik
 
 -----------
 
 
  -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
-* hwclock
-* killall
-* stty
-* sort/uniq
-* wc
-* tr
-* expr (maybe?)  (ash builtin?)
-* login/sulogin/passwd/getty  (These are actully now part of tinylogin, which 
-                                I've just started to maintain).
+Possible apps to include some time:
 
 
+* 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...
+
+-----------------------
+
+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 .