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 to libcrypt).

* Networking apps are probably going to be split out some time soon into a
    separate package (named perhaps netkit-tiny?).  This would remove the
    following items from BusyBox: hostid, hostname, nc, nslookup, telnet, 
    and ping.  nfs mounting and syslogd (when it supports network logging)
    will remain in BusyBox.

 -Erik

-----------

* dnsdomainname
* traceroute/netstat
* hwclock
* stty
* tftp
* ftp
* group/commonize strings, remove dups (for i18n, l10n)

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

Running the following:

    rm -f busybox && make LDFLAGS+=-nostdlib 2>&1 | \
	sed -ne 's/.*undefined reference to `\(.*\)..*/\1/gp' | sort | uniq

reveals the list of all external (i.e. libc) things that BusyBox depends on.
It would be a very nice thing to reduce this list to an absolute minimum, and
then create a microLibc to provide these functions.  There is no good reason
for GNU libc to be so big.  I'm sure it can be a lot better.

(BTW, this is more informative if BB_FEATURE_NFSMOUNT is turned off...)

Most wanted list:

    [andersen@slag busybox]$ grep -l getgroups *.[ch]
    test.c

Policy violation.  getgroups uses libc nss, which is unlikely
to be present in an embedded system.

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

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

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


 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...


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

An interesting email listing some apps that use /proc.  BusyBox
tries to avoid /proc as mush as is possible, so this stuff is
interesting (to me at least):


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/

