TODO list for busybox in no particular order. Just because something
is listed here doesn't mean that it is going to be added to busybox,
or that doing so is even a good idea. It just means that I _might_ get
around to it some time. If you have any good ideas, please let me know.

* login/sulogin/passwd/getty/etc are part of tinylogin, and so are not
    needed or wanted in busybox (or else I'd have to link in libcrypt).

* Networking apps are probably going to be split out some time soon into a
    separate package (named perhaps tiny-netkit?).  This currently includes 
    hostid, hostname, mnc, and ping.


 -Erik

-----------

* Allow tar to create archives with sockets, devices, and other special files
* Make insmod actually work
* dnsdomainname
* traceroute/netstat
* rdate
* hwclock
* killall
* stty
* tr
* cut
* expr (maybe?)  (ash builtin?)



-----------------------

Compile with debugging on, run 'nm --size-sort ./busybox'
and then start with the biggest things and make them smaller...


-----------------------


busybox.defs.h is too big and hard to follow.

I either need to add a better build system (like the Linux kernel?)
or I need to split up busybox.defs.h into coherent chunks (i.e.
busybox.defs.h just has a bunch of: 

#include "fileutils.h"
#include "shellutils.h"

which would then have smaller sets of #defines...
Hmm.  Needs to be carefully thought out.

-----------------------


-rw-r--r-- 1000/1000      4398 2000-01-06 21:55 uniq.c
-rw-r--r-- 1000/1000      1568 1999-10-20 18:08 update.c
-rw-r----- 0/1000         1168 2000-01-29 21:03 update.o
-rw-r--r-- 1000/1000     22820 2000-01-05 11:36 utility.c
-rw-r----- 0/1000         7372 2000-01-29 21:03 utility.o
tar: Skipping to next file header
tar: Skipping to next file header
tar: Archive - EOF not on block boundary
tar: Error is not recoverable: exiting now


#1 You are storing by id instead of name like normal tar. Did you realize this?
(or am I missing some compile option? )ctar did not do this, and I don't think
it's a good idea for LRP.

#2
ctar did not produce the EOF error like your tar does. I believe you need to
pad the end of the archive with at least 2 tarsized (512byte) blocks. (I
think???)

#3
There is no exclude file(s) option to tar. LRP's packaging system can not
function without this. Will you have the time to add this soon?


-----------------------

cd /mnt
mkdir BACKUP
mv * BACKUP

Today, "mv" behaved as a cp -a and my disk becomed full. It does not
work properly either when renaming a directory into something else
(it produces a lot of disk activity when doing this).


-----------------------


Feature request:

/bin/busybox --install -s    which makes all links to commands that it
  can support (an optionnal -s should be used for symbolic links instead
  of hard links).


-----------------------


> Have you ever thought of doig network logging in busybox syslogd ? It
> would quite make sense on embedded systems... :)

So far I had not considered it.  Basically, you wish to have
messages from the embedded box logged to a remote network
syslog box, right?  I can see that this would be useful.
I'll add this to the TODO list,


-----------------------


 In utility.c:copyFile: It uses followLinks for both source and
 destination files... is that right for `mv'?  Will need to revisit
 the GNU, freeBSD, and MINIX versions for this... Should read the
 Unix98 and POSIX specs also.

-----------------------

 I think that the add_inode &c in utility.c needs to also stow the
 st_dev field, and that du.c should NOT call `reset_inode_list'
 because there can be hard links from inside one argv/ to inside
 another argv/.  du.c probably ought to have an -x switch like GNU du
 does also...


------------------------------------------------------------------


Date: 	Fri, 25 Feb 2000 08:23:12 +0000 (GMT)
From: Riley Williams <rhw@MemAlpha.CX>
X-Sender: rhw@moo.cus.org.uk
To: almesber@lrc.di.epfl.ch
Cc: "Albert D. Cahalan" <acahalan@cs.uml.edu>,
	Linux Kernel <linux-kernel@vger.rutgers.edu>
Subject: Re: What /proc should contain [was: /proc/driver/microcode]
In-Reply-To: <20000224165245.A29790@lrc.di.epfl.ch>
Message-ID: <Pine.LNX.4.21.0002250806220.8741-100000@moo.cus.org.uk>
Sender: owner-linux-kernel@vger.rutgers.edu
Precedence: bulk

Hi there.

 >> Nope, most /proc access is does via programs written in C.

 > That varies a lot from file to file. E.g. I haven't seen any
 > programs that are specificly designed to read /proc/atm/* yet,
 > and I know of only one (fuser) that reads /proc/mounts,
 > extracting only partial information (just to pick two examples
 > that I'm quite familiar with).

As a point of reference, here's a slightly tweaked analysis of the
programs on the system I'm reading your mail on. Basically, I ran the
following script...

 Q> #!/bin/bash
 Q> function use() {
 Q>     for Z in $* ; do
 Q>         strings $Z | grep /proc | sed "s=^=$Z ="
 Q>     done
 Q> }
 Q> use /{,s}bin/* /usr/{,s}bin/* | sort -u | tee proc-usage

...and then went through it removing comments and print format
strings. Replace /proc with /dev and you'd soon have an equivalent
list for that - although I can report that such is MUCH larger...

There are three programs therein that refer to /proc/mounts ...

	/bin/mount
	/bin/umount
	/usr/bin/eject

...and, as you stated, none that refer to /proc/atm on this system.
However, as this is a RedHat Linux 5.0 based system, that's not
necessarily an up to date reference thereto...

Here's the list anyway...

/bin/kill /proc/%d/cmdline
/bin/kill /proc/%d/stat

/bin/mount /proc/devices
/bin/mount /proc/filesystems
/bin/mount /proc/mounts

/bin/netstat /proc/net
/bin/netstat /proc/net/appletalk
/bin/netstat /proc/net/ax25
/bin/netstat /proc/net/ax25_route
/bin/netstat /proc/net/dev
/bin/netstat /proc/net/ip_masquerade
/bin/netstat /proc/net/ipx
/bin/netstat /proc/net/ipx_route
/bin/netstat /proc/net/netstat
/bin/netstat /proc/net/nr
/bin/netstat /proc/net/nr_neigh
/bin/netstat /proc/net/nr_nodes
/bin/netstat /proc/net/raw
/bin/netstat /proc/net/route
/bin/netstat /proc/net/rt_cache
/bin/netstat /proc/net/snmp
/bin/netstat /proc/net/tcp
/bin/netstat /proc/net/udp
/bin/netstat /proc/net/unix

/bin/umount /proc/devices
/bin/umount /proc/mounts

/sbin/arp /proc/net/appletalk
/sbin/arp /proc/net/arp
/sbin/arp /proc/net/ax25
/sbin/arp /proc/net/ipx
/sbin/arp /proc/net/nr
/sbin/arp /proc/net/unix

/sbin/cardctl /proc/devices

/sbin/cardmgr /proc/devices

/sbin/fdisk /proc/ide/%s/media
/sbin/fdisk /proc/scsi/scsi

/sbin/getty /proc/version

/sbin/ifconfig /proc/net
/sbin/ifconfig /proc/net/appletalk
/sbin/ifconfig /proc/net/ax25
/sbin/ifconfig /proc/net/dev
/sbin/ifconfig /proc/net/ipx
/sbin/ifconfig /proc/net/nr
/sbin/ifconfig /proc/net/unix

/sbin/ifup /proc/sys/kernel/modprobe

/sbin/ipchains /proc/net/ip_fwchains
/sbin/ipchains /proc/net/ip_fwnames
/sbin/ipchains /proc/net/ip_masquerade
/sbin/ipchains /proc/sys/net/ipv4/ip_forward

/sbin/ipmaddr /proc/net/dev_mcast
/sbin/ipmaddr /proc/net/igmp
/sbin/ipmaddr /proc/net/igmp6

/sbin/iptunnel /proc/net/dev

/sbin/killall5 /proc/%s/cmdline
/sbin/killall5 /proc/%s/exe
/sbin/killall5 /proc/%s/stat
/sbin/killall5 /proc/version

/sbin/klogd /proc/kmsg

/sbin/lsmod /proc/modules

/sbin/modprobe /proc/modules

/sbin/pidof /proc/%s/cmdline
/sbin/pidof /proc/%s/exe
/sbin/pidof /proc/%s/stat
/sbin/pidof /proc/version

/sbin/probe /proc/pci

/sbin/rarp /proc/net/ax25
/sbin/rarp /proc/net/nr
/sbin/rarp /proc/net/rarp

/sbin/rmmod /proc/modules

/sbin/rmmod.static /proc/modules

/sbin/route /proc/net/appletalk
/sbin/route /proc/net/ax25
/sbin/route /proc/net/ax25_route
/sbin/route /proc/net/ipx
/sbin/route /proc/net/ipx_route
/sbin/route /proc/net/nr
/sbin/route /proc/net/nr_neigh
/sbin/route /proc/net/nr_nodes
/sbin/route /proc/net/route
/sbin/route /proc/net/rt_cache
/sbin/route /proc/net/unix

/sbin/scsi_info /proc/scsi
/sbin/scsi_info /proc/scsi/%s
/sbin/scsi_info /proc/scsi/scsi

/sbin/slattach /proc/net/ax25
/sbin/slattach /proc/net/nr

/sbin/swapoff /proc/swaps

/sbin/swapon /proc/swaps

/sbin/uugetty /proc/version

/usr/bin/dig /proc/
/usr/bin/dig /proc/interrupts
/usr/bin/dig /proc/meminfo
/usr/bin/dig /proc/rtc
/usr/bin/dig /proc/self/status
/usr/bin/dig /proc/stat

/usr/bin/dnsquery /proc/
/usr/bin/dnsquery /proc/interrupts
/usr/bin/dnsquery /proc/meminfo
/usr/bin/dnsquery /proc/rtc
/usr/bin/dnsquery /proc/self/status
/usr/bin/dnsquery /proc/stat

/usr/bin/eject /proc/mounts

/usr/bin/emacs /proc/loadavg

/usr/bin/fetchmail /proc/net/dev

/usr/bin/free /proc/meminfo

/usr/bin/gmake /proc/loadavg

/usr/bin/gpm-root /proc/loadavg
/usr/bin/gpm-root /proc/meminfo

/usr/bin/host /proc/
/usr/bin/host /proc/interrupts
/usr/bin/host /proc/meminfo
/usr/bin/host /proc/rtc
/usr/bin/host /proc/self/status
/usr/bin/host /proc/stat

/usr/bin/hoststat /proc/loadavg

/usr/bin/hwdiag /proc/cpuinfo
/usr/bin/hwdiag /proc/pci
/usr/bin/hwdiag /proc/scsi/scsi
/usr/bin/hwdiag /proc/version

/usr/bin/lsdev /proc/dma
/usr/bin/lsdev /proc/interrupts
/usr/bin/lsdev /proc/ioports

/usr/bin/mailq /proc/loadavg

/usr/bin/make /proc/loadavg

/usr/bin/mcookie /proc/loadavg
/usr/bin/mcookie /proc/stat

/usr/bin/newaliases /proc/loadavg

/usr/bin/nslookup /proc/
/usr/bin/nslookup /proc/interrupts
/usr/bin/nslookup /proc/meminfo
/usr/bin/nslookup /proc/rtc
/usr/bin/nslookup /proc/self/status
/usr/bin/nslookup /proc/stat

/usr/bin/nsupdate /proc/
/usr/bin/nsupdate /proc/interrupts
/usr/bin/nsupdate /proc/meminfo
/usr/bin/nsupdate /proc/rtc
/usr/bin/nsupdate /proc/self/status
/usr/bin/nsupdate /proc/stat

/usr/bin/pgp /proc/version
/usr/bin/pgpe /proc/version
/usr/bin/pgpk /proc/version
/usr/bin/pgps /proc/version
/usr/bin/pgpv /proc/version

/usr/bin/procinfo /proc/cmdline
/usr/bin/procinfo /proc/devices
/usr/bin/procinfo /proc/dma
/usr/bin/procinfo /proc/filesystems
/usr/bin/procinfo /proc/interrupts
/usr/bin/procinfo /proc/loadavg
/usr/bin/procinfo /proc/meminfo
/usr/bin/procinfo /proc/modules
/usr/bin/procinfo /proc/stat
/usr/bin/procinfo /proc/uptime
/usr/bin/procinfo /proc/version

/usr/bin/purgestat /proc/loadavg

/usr/bin/screen /proc/loadavg

/usr/bin/strace /proc/%d/stat

/usr/bin/top /proc/cpuinfo
/usr/bin/top /proc/meminfo
/usr/bin/top /proc/stat

/usr/bin/vmstat /proc/%s/stat
/usr/bin/vmstat /proc/meminfo
/usr/bin/vmstat /proc/stat

/usr/sbin/atd /proc/loadavg

/usr/sbin/dnskeygen /proc/
/usr/sbin/dnskeygen /proc/interrupts
/usr/sbin/dnskeygen /proc/meminfo
/usr/sbin/dnskeygen /proc/rtc
/usr/sbin/dnskeygen /proc/self/status
/usr/sbin/dnskeygen /proc/stat

/usr/sbin/fuser /proc/%d/stat
/usr/sbin/fuser /proc/net/%s
/usr/sbin/fuser /proc/net/unix

/usr/sbin/in.identd /proc/net/tcp

/usr/sbin/irpd /proc/
/usr/sbin/irpd /proc/interrupts
/usr/sbin/irpd /proc/meminfo
/usr/sbin/irpd /proc/rtc
/usr/sbin/irpd /proc/self/status
/usr/sbin/irpd /proc/stat

/usr/sbin/named /proc/
/usr/sbin/named /proc/interrupts
/usr/sbin/named /proc/meminfo
/usr/sbin/named /proc/rtc
/usr/sbin/named /proc/self/status
/usr/sbin/named /proc/stat

/usr/sbin/named-xfer /proc/
/usr/sbin/named-xfer /proc/interrupts
/usr/sbin/named-xfer /proc/meminfo
/usr/sbin/named-xfer /proc/rtc
/usr/sbin/named-xfer /proc/self/status
/usr/sbin/named-xfer /proc/stat

/usr/sbin/readprofile /proc/profile

/usr/sbin/rwhod /proc/loadavg
/usr/sbin/rwhod /proc/uptime

/usr/sbin/sendmail /proc/loadavg

/usr/sbin/setconsole /proc/openprom/options
/usr/sbin/setconsole /proc/openprom/options/${console}-mode
/usr/sbin/setconsole /proc/openprom/options/input-device
/usr/sbin/setconsole /proc/openprom/options/output-device

Best wishes from Riley.

 * Copyright (C) 1999, Memory Alpha Systems.
 * All rights and wrongs reserved.

+----------------------------------------------------------------------+
| There is something frustrating about the quality and speed of Linux  |
| development, ie., the quality is too high and the speed is too high, |
| in other words, I can implement this XXXX feature, but I bet someone |
| else has already done so and is just about to release their patch.   |
+----------------------------------------------------------------------+
 * http://www.memalpha.cx/Linux/Kernel/


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

