Fixed segfault with 'cut -f 1 -d:' and added 'cut -s' suport.
[oweals/busybox.git] / TODO
diff --git a/TODO b/TODO
index 5c642cb8dc061892134592940b9b006d058639c7..a4bfa0c0087da9c70533754217a3877c25cd01c7 100644 (file)
--- a/TODO
+++ b/TODO
@@ -7,31 +7,85 @@ around to it some time. If you have any good ideas, please let me know.
     needed or wanted in busybox (or else I'd have to link to libcrypt).
 
 * 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.
-
+    separate package (named perhaps netkit-tiny?).  This would remove the
+    following items from BusyBox: hostid, hostname, nc, nslookup, telnet, 
+    and ping.  nfs mounting and syslogd (when it supports network logging)
+    will remain in BusyBox.
 
  -Erik
 
 -----------
 
+Bugs that need fixing:
+
+ - 'ln -n' has been disabled for this release, till we can fix a memory
+    corruption bug.
+ - fix 'cp' (or test suite script) so that it passes the last item in
+    the test suite.
+ - ps dirent race bug (need to stat the file before attempting chdir)
+ - Make 'ln -s /tmp/file .' work the way GNU ln does (i.e. makes a link to 
+    /tmp/file in the current directory, rather then trying and failing to create
+    a symlink named "." in the current working directory).
+ - Prune sfdisk, graft in std fdisk instead
+
+
+We will rework these to use libc regex functions instead (as per the mailing
+list discussion):
+ - 'grep foo$ file' doesn't work
+ - 'grep *foo file' segfaults
+
+
+-----------
+
+Linux 2.4.x kernels
+
+BusyBox 0.46 currently will not work with the Linux 2.4.x kernels.  
+I know of the following problems:
+
+1) BusyBox NFS support is broken with 2.4.x (needs to be adjusted for NFSv3 and
+    kernel header changes).
+
+As long as I have BB_FEATURE_NFSMOUNT turned off, everything compiles cleanly
+for me with linux2.4.0test2.  I use Debian potato (gcc 2.95.2, GNU libc 2.1.3).
+Of course, as noted above, compiling != working.
+
+-----------
+
 * Make insmod actually work
 * dnsdomainname
 * traceroute/netstat
 * rdate
 * hwclock
 * stty
-* cut
 * expr
 * wget (or whatever I call it)
 * tftp
 * ftp
-
+* group/commonize strings, remove dups (for i18n, l10n)
+* consider making a unified option parser (if it can be done 
+    modular, small, etc.) 
 
 -----------------------
 
-Add a compile option to turn off all the compiled in help
-and usage information.  Some folks don't need or want it...
+Running 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, and
+then create a microLibc to provide these functions.  There is no good reason
+for GNU libc to be so big.  I'm sure it can be a lot better.
+
+(BTW, this is more informative if BB_FEATURE_NFSMOUNT is turned off...)
+
+Most wanted list:
+
+    [andersen@slag busybox]$ grep -l getgroups *.[ch]
+    test.c
+
+Policy violation.  getgroups uses libc nss, which is unlikely
+to be present in an embedded system.
 
 -----------------------
 
@@ -76,6 +130,10 @@ I'll add this to the TODO list,
 
 ------------------------------------------------------------------
 
+An interesting email listing some apps that use /proc.  BusyBox
+tries to avoid /proc as mush as is possible, so this stuff is
+interesting (to me at least):
+
 
 Date:  Fri, 25 Feb 2000 08:23:12 +0000 (GMT)
 From: Riley Williams <rhw@MemAlpha.CX>