the word "only" is repeated for CONFIG_FEATURE_SHADOWPASSWDS
[oweals/busybox.git] / TODO
diff --git a/TODO b/TODO
index 4d209bb46f1ef2104ccb4def2ad7ee97c4cbcc3d..35bc11a24de3c17eec30d10de4812f9898424b52 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,23 +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.
-
-* 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).
+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
-* Make insmod actually work
-* dnsdomainname
-* traceroute/nslookup/netstat
-* rdate
-* hwclock
-* killall
-* stty
-* tr
-* expr (maybe?)  (ash builtin?)
+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 .