the word "only" is repeated for CONFIG_FEATURE_SHADOWPASSWDS
[oweals/busybox.git] / TODO
diff --git a/TODO b/TODO
index b951767eac6ef7fcb5996dd5661b70752f160443..35bc11a24de3c17eec30d10de4812f9898424b52 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,28 +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...
 
 
-* 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).
+ -Erik
 
 
-* 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.
+-----------
 
 
+Possible apps to include some time:
 
 
- -Erik
+* group/commonize strings, remove dups (for i18n, l10n)
 
 -----------
 
 
 -----------
 
-* 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
+
+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 .