A few updates (including the cp fix the Craig has been looking for)
[oweals/busybox.git] / TODO
1 TODO list for busybox in no particular order. Just because something
2 is listed here doesn't mean that it is going to be added to busybox,
3 or that doing so is even a good idea. It just means that I _might_ get
4 around to it some time. If you have any good ideas, please let me know.
5
6 * login/sulogin/passwd/getty/etc are part of tinylogin, and so are not
7     needed or wanted in busybox (or else I'd have to link in libcrypt).
8
9 * Networking apps are probably going to be split out some time soon into a
10     separate package (named perhaps tiny-netkit?).  This currently includes 
11     hostid, hostname, mnc, and ping.
12
13
14  -Erik
15
16 -----------
17
18 * Allow tar to create archives with sockets, devices, and other special files
19 * Make insmod actually work
20 * dnsdomainname
21 * traceroute/netstat
22 * rdate
23 * hwclock
24 * killall
25 * stty
26 * tr
27 * cut
28 * expr (maybe?)  (ash builtin?)
29
30
31
32 -----------------------
33
34 Compile with debugging on, run 'nm --size-sort ./busybox'
35 and then start with the biggest things and make them smaller...
36
37
38 -----------------------
39
40
41 busybox.defs.h is too big and hard to follow.
42
43 I either need to add a better build system (like the Linux kernel?)
44 or I need to split up busybox.defs.h into coherent chunks (i.e.
45 busybox.defs.h just has a bunch of: 
46
47 #include "fileutils.h"
48 #include "shellutils.h"
49
50 which would then have smaller sets of #defines...
51 Hmm.  Needs to be carefully thought out.
52
53 -----------------------
54
55
56 -rw-r--r-- 1000/1000      4398 2000-01-06 21:55 uniq.c
57 -rw-r--r-- 1000/1000      1568 1999-10-20 18:08 update.c
58 -rw-r----- 0/1000         1168 2000-01-29 21:03 update.o
59 -rw-r--r-- 1000/1000     22820 2000-01-05 11:36 utility.c
60 -rw-r----- 0/1000         7372 2000-01-29 21:03 utility.o
61 tar: Skipping to next file header
62 tar: Skipping to next file header
63 tar: Archive - EOF not on block boundary
64 tar: Error is not recoverable: exiting now
65
66
67 #1 You are storing by id instead of name like normal tar. Did you realize this?
68 (or am I missing some compile option? )ctar did not do this, and I don't think
69 it's a good idea for LRP.
70
71 #2
72 ctar did not produce the EOF error like your tar does. I believe you need to
73 pad the end of the archive with at least 2 tarsized (512byte) blocks. (I
74 think???)
75
76 #3
77 There is no exclude file(s) option to tar. LRP's packaging system can not
78 function without this. Will you have the time to add this soon?
79
80
81 -----------------------
82
83 cd /mnt
84 mkdir BACKUP
85 mv * BACKUP
86
87 Today, "mv" behaved as a cp -a and my disk becomed full. It does not
88 work properly either when renaming a directory into something else
89 (it produces a lot of disk activity when doing this).
90
91
92 -----------------------
93
94
95 Feature request:
96
97 /bin/busybox --install -s    which makes all links to commands that it
98   can support (an optionnal -s should be used for symbolic links instead
99   of hard links).
100
101
102 -----------------------
103
104
105 > Have you ever thought of doig network logging in busybox syslogd ? It
106 > would quite make sense on embedded systems... :)
107
108 So far I had not considered it.  Basically, you wish to have
109 messages from the embedded box logged to a remote network
110 syslog box, right?  I can see that this would be useful.
111 I'll add this to the TODO list,
112
113
114 -----------------------
115
116
117  In utility.c:copyFile: It uses followLinks for both source and
118  destination files... is that right for `mv'?  Will need to revisit
119  the GNU, freeBSD, and MINIX versions for this... Should read the
120  Unix98 and POSIX specs also.
121
122 -----------------------
123
124  I think that the add_inode &c in utility.c needs to also stow the
125  st_dev field, and that du.c should NOT call `reset_inode_list'
126  because there can be hard links from inside one argv/ to inside
127  another argv/.  du.c probably ought to have an -x switch like GNU du
128  does also...
129
130