summaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2006-01-09 00:54:46 +0000
committerRob Landley <rob@landley.net>2006-01-09 00:54:46 +0000
commit8bcc6e964bd5e427046c0893ff5aef7fdb147a93 (patch)
tree02001ae153433ff96cdebfd46b92e0528ae7d398 /TODO
parente87ae0bd4f6d88b891d2c9593b8cc7670dd25597 (diff)
downloadbusybox-w32-8bcc6e964bd5e427046c0893ff5aef7fdb147a93.tar.gz
busybox-w32-8bcc6e964bd5e427046c0893ff5aef7fdb147a93.tar.bz2
busybox-w32-8bcc6e964bd5e427046c0893ff5aef7fdb147a93.zip
Why we didn't take a watchdog.c suggestion this time 'round, in case anybody
comes up with a fix...
Diffstat (limited to 'TODO')
-rw-r--r--TODO45
1 files changed, 38 insertions, 7 deletions
diff --git a/TODO b/TODO
index 92fd403a9..a765627b5 100644
--- a/TODO
+++ b/TODO
@@ -1,6 +1,6 @@
1Busybox TODO 1Busybox TODO
2 2
3Stuff that needs to be done 3Stuff that needs to be done. All of this is fair game for 1.2.
4 4
5find 5find
6 doesn't understand (), lots of susv3 stuff. 6 doesn't understand (), lots of susv3 stuff.
@@ -13,11 +13,20 @@ sh
13 way of adding the minimal set of bash features a given script uses is a big 13 way of adding the minimal set of bash features a given script uses is a big
14 job, but it would be a big improvement. 14 job, but it would be a big improvement.
15 15
16 Note: Rob Landley (rob@landley.net) is working on this one, but very slowly... 16 Note: Rob Landley (rob@landley.net) is working on a new unified shell called
17 bbsh, but it's a low priority...
17--- 18---
18diff 19diff
19 We should have a diff -u command. We have patch, we should have diff 20 We should have a diff -u command. We have patch, we should have diff
20 (we only need to support unified diffs though). 21 (we only need to support unified diffs though).
22
23 Also, make sure we handle empty files properly:
24 From the patch man page:
25
26   you can remove a file by sending out a context diff that compares
27   the file to be deleted with an empty file dated the Epoch.  The
28   file will be removed unless patch is conforming to POSIX and the
29   -E or --remove-empty-files option is not given.
21--- 30---
22patch 31patch
23 Should have simple fuzz factor support to apply patches at an offset which 32 Should have simple fuzz factor support to apply patches at an offset which
@@ -31,12 +40,20 @@ man
31 anything, just one that can handle preformatted ascii man pages, possibly 40 anything, just one that can handle preformatted ascii man pages, possibly
32 compressed. This could probably be a script in the extras directory that 41 compressed. This could probably be a script in the extras directory that
33 calls cat/zcat/bzcat | less 42 calls cat/zcat/bzcat | less
43
44 (How doclifter might work into this is anybody's guess.)
34--- 45---
35bzip2 46bzip2
36 Compression-side support. 47 Compression-side support.
37--- 48---
38init 49init
39 General cleanup. 50 General cleanup.
51---
52ar
53 Write support?
54---
55mdev
56 Micro-udev.
40 57
41Architectural issues: 58Architectural issues:
42 59
@@ -44,9 +61,11 @@ bb_close() with fsync()
44 We should have a bb_close() in place of normal close, with a CONFIG_ option 61 We should have a bb_close() in place of normal close, with a CONFIG_ option
45 to not just check the return value of close() for an error, but fsync(). 62 to not just check the return value of close() for an error, but fsync().
46 Close can't reliably report anything useful because if write() accepted the 63 Close can't reliably report anything useful because if write() accepted the
47 data then it either went out or it's in cache or a pipe buffer. Either way, 64 data then it either went out to the network or it's in cache or a pipe
48 there's no guarantee it'll make it to its final destination before close() 65 buffer. Either way, there's no guarantee it'll make it to its final
49 gets called, so there's no guarantee that any error will be reported. 66 destination before close() gets called, so there's no guarantee that any
67 error will be reported.
68
50 You need to call fsync() if you care about errors that occur after write(), 69 You need to call fsync() if you care about errors that occur after write(),
51 but that can have a big performance impact. So make it a config option. 70 but that can have a big performance impact. So make it a config option.
52--- 71---
@@ -89,8 +108,8 @@ Unify archivers
89 "add this directory", "add this symlink" and so on. 108 "add this directory", "add this symlink" and so on.
90 109
91 This could clean up tar and zip, and make it cheaper to add cpio and ar 110 This could clean up tar and zip, and make it cheaper to add cpio and ar
92 write support, and possibly even cheaply add things like mkisofs someday, 111 write support, and possibly even cheaply add things like mkisofs or
93 if it becomes relevant. 112 mksquashfs someday, if they become relevant.
94--- 113---
95Text buffer support. 114Text buffer support.
96 Several existing applets (sort, vi, less...) read 115 Several existing applets (sort, vi, less...) read
@@ -126,6 +145,10 @@ buildroot - Make a "dogfood" option
126 One example of an existing system that does this already is Firmware Linux: 145 One example of an existing system that does this already is Firmware Linux:
127 http://www.landley.net/code/firmware 146 http://www.landley.net/code/firmware
128--- 147---
148initramfs
149 Busybox should have a sample initramfs build script. This depends on
150 involves bbsh, mdev, and switch_root.
151---
129Memory Allocation 152Memory Allocation
130 We have a CONFIG_BUFFER mechanism that lets us select whether to do memory 153 We have a CONFIG_BUFFER mechanism that lets us select whether to do memory
131 allocation on the stack or the heap. Unfortunately, we're not using it much. 154 allocation on the stack or the heap. Unfortunately, we're not using it much.
@@ -202,3 +225,11 @@ FEATURE_CLEAN_UP
202 render the existing FEATURE_CLEAN_UP code redundant. 225 render the existing FEATURE_CLEAN_UP code redundant.
203 226
204 For right now, exit() handles it just fine. 227 For right now, exit() handles it just fine.
228
229
230
231Minor stuff:
232 watchdog.c could autodetect the timer duration via:
233 if(!ioctl (fd, WDIOC_GETTIMEOUT, &tmo)) timer_duration = 1 + (tmo / 2);
234 Unfortunately, that needs linux/watchdog.h and that contains unfiltered
235 kernel types on some distros, which breaks the build.