Move sed over to the generic llist_t for append. Saves about 90 bytes.
[oweals/busybox.git] / TODO
diff --git a/TODO b/TODO
index a765627b5f4d0858bbd69d1ae803e40923508d9f..b3d950790f2d5bd236703440f68452fa119e292a 100644 (file)
--- a/TODO
+++ b/TODO
@@ -2,6 +2,11 @@ Busybox TODO
 
 Stuff that needs to be done.  All of this is fair game for 1.2.
 
+build system
+  make -j is broken, -j1 is forced atm
+  Make sure that the flags get pinned in e.g. Rules.mak so when expanding them
+  later on you get the cached result without the need to re-evaluate them.
+----
 find
   doesn't understand (), lots of susv3 stuff.
 ----
@@ -17,9 +22,6 @@ sh
   bbsh, but it's a low priority...
 ---
 diff
-  We should have a diff -u command.  We have patch, we should have diff
-  (we only need to support unified diffs though).
-
   Also, make sure we handle empty files properly:
     From the patch man page:
 
@@ -54,6 +56,9 @@ ar
 ---
 mdev
   Micro-udev.
+---
+crond
+  turn FEATURE_DEBUG_OPT into ENABLE_FEATURE_CROND_DEBUG_OPT
 
 Architectural issues:
 
@@ -69,6 +74,14 @@ bb_close() with fsync()
   You need to call fsync() if you care about errors that occur after write(),
   but that can have a big performance impact.  So make it a config option.
 ---
+Unify base64 handling.
+  There's base64 encoding and decoding going on in:
+    networking/wget.c:base64enc()
+    coreutils/uudecode.c:read_base64()
+    coreutils/uuencode.c:tbl_base64[]
+    networking/httpd.c:decodeBase64()
+  And probably elsewhere.  That needs to be unified into libbb functions.
+---
 Do a SUSv3 audit
   Look at the full Single Unix Specification version 3 (available online at
   "http://www.opengroup.org/onlinepubs/009695399/nfindex.html") and
@@ -147,13 +160,14 @@ buildroot - Make a "dogfood" option
 ---
 initramfs
   Busybox should have a sample initramfs build script.  This depends on
-  involves bbsh, mdev, and switch_root.
+  bbsh, mdev, and switch_root.
 ---
 Memory Allocation
   We have a CONFIG_BUFFER mechanism that lets us select whether to do memory
   allocation on the stack or the heap.  Unfortunately, we're not using it much.
   We need to audit our memory allocations and turn a lot of malloc/free calls
   into RESERVE_CONFIG_BUFFER/RELEASE_CONFIG_BUFFER.
+  For a start, see e.g. make CFLAGS_EXTRA=-Wlarger-than-64
 
   And while we're at it, many of the CONFIG_FEATURE_CLEAN_UP #ifdefs will be
   optimized out by the compiler in the stack allocation case (since there's no
@@ -233,3 +247,16 @@ Minor stuff:
     if(!ioctl (fd, WDIOC_GETTIMEOUT, &tmo)) timer_duration = 1 + (tmo / 2);
   Unfortunately, that needs linux/watchdog.h and that contains unfiltered
   kernel types on some distros, which breaks the build.
+
+
+Code cleanup:
+
+Replace deprecated functions.
+
+bzero() -> memset()
+---
+sigblock(), siggetmask(), sigsetmask(), sigmask() -> sigprocmask et al
+---
+vdprintf() -> similar sized functionality
+---
+