|author||Rob Landley <firstname.lastname@example.org>||2006-01-09 00:54:46 +0000|
|committer||Rob Landley <email@example.com>||2006-01-09 00:54:46 +0000|
Why we didn't take a watchdog.c suggestion this time 'round, in case anybody
comes up with a fix...
Diffstat (limited to 'TODO')
1 files changed, 38 insertions, 7 deletions
@@ -1,6 +1,6 @@
-Stuff that needs to be done
+Stuff that needs to be done. All of this is fair game for 1.2.
doesn't understand (), lots of susv3 stuff.
@@ -13,11 +13,20 @@ sh
way of adding the minimal set of bash features a given script uses is a big
job, but it would be a big improvement.
- Note: Rob Landley (firstname.lastname@example.org) is working on this one, but very slowly...
+ Note: Rob Landley (email@example.com) is working on a new unified shell called
+ bbsh, but it's a low priority...
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:
+ you can remove a file by sending out a context diff that compares
+ the file to be deleted with an empty file dated the Epoch. The
+ file will be removed unless patch is conforming to POSIX and the
+ -E or --remove-empty-files option is not given.
Should have simple fuzz factor support to apply patches at an offset which
@@ -31,12 +40,20 @@ man
anything, just one that can handle preformatted ascii man pages, possibly
compressed. This could probably be a script in the extras directory that
calls cat/zcat/bzcat | less
+ (How doclifter might work into this is anybody's guess.)
+ Write support?
@@ -44,9 +61,11 @@ bb_close() with fsync()
We should have a bb_close() in place of normal close, with a CONFIG_ option
to not just check the return value of close() for an error, but fsync().
Close can't reliably report anything useful because if write() accepted the
- data then it either went out or it's in cache or a pipe buffer. Either way,
- there's no guarantee it'll make it to its final destination before close()
- gets called, so there's no guarantee that any error will be reported.
+ data then it either went out to the network or it's in cache or a pipe
+ buffer. Either way, there's no guarantee it'll make it to its final
+ destination before close() gets called, so there's no guarantee that any
+ error will be reported.
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.
@@ -89,8 +108,8 @@ Unify archivers
"add this directory", "add this symlink" and so on.
This could clean up tar and zip, and make it cheaper to add cpio and ar
- write support, and possibly even cheaply add things like mkisofs someday,
- if it becomes relevant.
+ write support, and possibly even cheaply add things like mkisofs or
+ mksquashfs someday, if they become relevant.
Text buffer support.
Several existing applets (sort, vi, less...) read
@@ -126,6 +145,10 @@ buildroot - Make a "dogfood" option
One example of an existing system that does this already is Firmware Linux:
+ Busybox should have a sample initramfs build script. This depends on
+ involves bbsh, mdev, and switch_root.
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.
@@ -202,3 +225,11 @@ FEATURE_CLEAN_UP
render the existing FEATURE_CLEAN_UP code redundant.
For right now, exit() handles it just fine.
+ watchdog.c could autodetect the timer duration via:
+ 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.