diff options
author | Rob Landley <rob@landley.net> | 2006-01-09 00:54:46 +0000 |
---|---|---|
committer | Rob Landley <rob@landley.net> | 2006-01-09 00:54:46 +0000 |
commit | 8bcc6e964bd5e427046c0893ff5aef7fdb147a93 (patch) | |
tree | 02001ae153433ff96cdebfd46b92e0528ae7d398 /TODO | |
parent | e87ae0bd4f6d88b891d2c9593b8cc7670dd25597 (diff) | |
download | busybox-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-- | TODO | 45 |
1 files changed, 38 insertions, 7 deletions
@@ -1,6 +1,6 @@ | |||
1 | Busybox TODO | 1 | Busybox TODO |
2 | 2 | ||
3 | Stuff that needs to be done | 3 | Stuff that needs to be done. All of this is fair game for 1.2. |
4 | 4 | ||
5 | find | 5 | find |
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 | --- |
18 | diff | 19 | diff |
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 | --- |
22 | patch | 31 | patch |
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 | --- |
35 | bzip2 | 46 | bzip2 |
36 | Compression-side support. | 47 | Compression-side support. |
37 | --- | 48 | --- |
38 | init | 49 | init |
39 | General cleanup. | 50 | General cleanup. |
51 | --- | ||
52 | ar | ||
53 | Write support? | ||
54 | --- | ||
55 | mdev | ||
56 | Micro-udev. | ||
40 | 57 | ||
41 | Architectural issues: | 58 | Architectural 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 | --- |
95 | Text buffer support. | 114 | Text 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 | --- |
148 | initramfs | ||
149 | Busybox should have a sample initramfs build script. This depends on | ||
150 | involves bbsh, mdev, and switch_root. | ||
151 | --- | ||
129 | Memory Allocation | 152 | Memory 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 | |||
231 | Minor 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. | ||