Gratuitously changed the file "busybox.defs.h" to the more
sensible and noticable "Config.h".
 -Erik
diff --git a/Changelog b/Changelog
index a605a1c..b374845 100644
--- a/Changelog
+++ b/Changelog
@@ -1,33 +1,39 @@
 0.47
 
-	* Tons of bugfixes.
 	* A bug in syslogd was fixed that allowed it to potentially fork-bomb
 	    your system.
-	* chroot can now call the builtin shell - Pavel Roskin <proski@gnu.org>
-	* added 'renice' command, thanks to Dave Cinege <dcinege@psychosis.com>
-	* 'make install' now creates relative symlinks, and added a new
-	    'make install-hardlinks' target to (tada) install hardlinks.
+	* Renamed busybox.defs.h to the more sensible "Config.h"
+	* Improved portability between different libcs.
+	* Many apps ported to use getopt()
+	* Common handling of '--help'
+	* All usage messages centralized.
+	* Added a bunch of new commands:
+	    * 'rdate' contributed by Sterling Huxley <sterling@europa.com>
+	    * 'wget' contributed by Chip Rosenthal <chip@unicom.com>, 
+		    <crosenth@covad.com> and Covad Communications
+	    * 'getopt' from "Alfred M. Szmidt" <ams@trillian.itslinux.org>
+	    * dos2unix, unix2dos, reset, and unrpm.c (and lots of help
+		debugging) thanks to robotti@metconnect.com.
+	    * 'renice' command, thanks to Dave Cinege <dcinege@psychosis.com>
+	    * 'xargs' (written by me)
+	    * 'expr' contributed by Edward Betts <edward@debian.org>, based
+		on GNY expr
+	* lsmod now uses the query_module syscall, rather then /proc (me)
 	* syslogd can now log messages to remote hosts -- patch thanks
 	    to Gyepi Sam <gyepi@praxis-sw.com>
+	* chroot can now call the builtin shell - Pavel Roskin <proski@gnu.org>
+	* 'make install' now creates relative symlinks, and added a new
+	    'make install-hardlinks' target to (tada) install hardlinks.
 	* Rewrite of 'tail' to make it simpler, smaller, and more robust.  
 	    It now weighs only 2.25k (3k when full featured).  The code is
 	    cleaner too, thanks to Allen Soard <esp-software@mail.hypermart.net>
 	* Add optional ls file sorting, thanks to a patch from 
 	    Sterling Huxley <sterling@europa.com>
-	* Added 'rdate' command from Sterling Huxley <sterling@europa.com>
-	* Added 'wget' command, contributed by Chip Rosenthal <chip@unicom.com>, 
-		<crosenth@covad.com> and Covad Communications
-	* Added 'getopt' from "Alfred M. Szmidt" <ams@trillian.itslinux.org>
-	* Added dos2unix, unix2dos, and unrpm.c thanks to robotti@metconnect.com.
-	* Added xargs (written by me)
-	* lsmod now uses the query_module syscall, rather then /proc (me)
 	* Fixed chmod option parsing so things like 'chmod -r /tmp/file'
-	    wouldn't work (since it thought -r was an option).  Doh!
+	    now work (previously it thought -r was an option).  Doh!
 	* Fixed tar handling of stdin and stdout
-	* Many apps ported to use getopt()
-	* All usage messages centralized.
-	* Common handling of '--help'
-	* Improved portability between different libcs.
+	* Preliminary support for GNU HURD.
+	* Tons of other bugfixes.
 
 
 	 -Erik Andersen
diff --git a/busybox.def.h b/Config.h
similarity index 100%
rename from busybox.def.h
rename to Config.h
diff --git a/busybox.def.h.Hurd b/Config.h.Hurd
similarity index 98%
rename from busybox.def.h.Hurd
rename to Config.h.Hurd
index cfd6873..60a5c6e 100644
--- a/busybox.def.h.Hurd
+++ b/Config.h.Hurd
@@ -1,7 +1,7 @@
 /* vi: set sw=4 ts=4: */
 
 // NOTE: This file only defines features usefull under the Hurd,
-// To compile for the Hurd raname this to busybox.def.h prior to make
+// To compile for the Hurd raname this to Config.h prior to make
 
 // This file defines the feature set to be compiled into busybox.
 // When you turn things off here, they won't be compiled in at all.
diff --git a/Makefile b/Makefile
index 15d13c5..4695390 100644
--- a/Makefile
+++ b/Makefile
@@ -19,7 +19,7 @@
 #
 
 PROG      := busybox
-VERSION   := 0.47pre
+VERSION   := 0.47
 BUILDTIME := $(shell TZ=UTC date --utc "+%Y.%m.%d-%H:%M%z")
 export VERSION
 
@@ -173,11 +173,11 @@
 	$(CC) $(LDFLAGS) -o $@ $^ $(LIBRARIES)
 	$(STRIP)
 
-busybox.links: busybox.def.h
+busybox.links: Config.h
 	- ./busybox.mkll | sort >$@
 
 nfsmount.o cmdedit.o: %.o: %.h
-$(OBJECTS): %.o: busybox.def.h internal.h  %.c Makefile
+$(OBJECTS): %.o: Config.h internal.h  %.c Makefile
 
 utility.o: loop.h
 
diff --git a/README b/README
index 17e7722..8d1845a 100644
--- a/README
+++ b/README
@@ -20,7 +20,7 @@
 As of version 0.20 there is a version number. : ) Also as of version 0.20,
 BusyBox is now modularized to easily allow you to build only the components you
 need, thereby reducing binary size. To turn off unwanted Busybox components,
-simply edit the file busybox.def.h and comment out the components you do not
+simply edit the file "Config.h" and comment out the components you do not
 need using C++ style (//) comments.
 
 After the build is complete a busybox.links file is generated which is then
diff --git a/TODO b/TODO
index 6a4dfe3..0756fd0 100644
--- a/TODO
+++ b/TODO
@@ -8,9 +8,8 @@
 
 * 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.
+    following items from BusyBox: hostid, hostname, nc, nslookup, telnet, and
+    ping.  nfs mounting and syslogd (network logging) will remain in BusyBox.
 
  -Erik
 
@@ -53,353 +52,6 @@
 
 -----------------------
 
-
- 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...
-
+ du.c probably ought to have an -x switch like GNU du does...
 
 ------------------------------------------------------------------
-
-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/
-
diff --git a/applets/busybox.mkll b/applets/busybox.mkll
index c650feb..d8ea7b3 100755
--- a/applets/busybox.mkll
+++ b/applets/busybox.mkll
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Make busybox links list file.
 
-DF="busybox.def.h"
+DF="Config.h"
 MF="busybox.c"
 
 LIST="$(gcc -E -dM $DF | sed -n -e '/^.*BB_FEATURE.*$/d;s/^#define.*\<BB_\(.*\)\>/BB_\1/gp;' | sort)"
diff --git a/applets/busybox.sh b/applets/busybox.sh
index 2b45210..e01b881 100755
--- a/applets/busybox.sh
+++ b/applets/busybox.sh
@@ -3,7 +3,7 @@
 # I added in the extra "ls" so only source files that
 # actually exist will show up in the compile list.
 ls -1 ` \
-    gcc -E -dM busybox.def.h | \
+    gcc -E -dM Config.h | \
     sed -n -e '/^.*BB_FEATURE.*$/d;s/^#define.*\<BB_\(.*\)\>/\1.c/gp;' \
     | tr '[:upper:]' '[:lower:]' | sort
 ` 2>/dev/null | sed -e 's/\.c$/\.o/g'
diff --git a/busybox.mkll b/busybox.mkll
index c650feb..d8ea7b3 100755
--- a/busybox.mkll
+++ b/busybox.mkll
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Make busybox links list file.
 
-DF="busybox.def.h"
+DF="Config.h"
 MF="busybox.c"
 
 LIST="$(gcc -E -dM $DF | sed -n -e '/^.*BB_FEATURE.*$/d;s/^#define.*\<BB_\(.*\)\>/BB_\1/gp;' | sort)"
diff --git a/busybox.sh b/busybox.sh
index 2b45210..e01b881 100755
--- a/busybox.sh
+++ b/busybox.sh
@@ -3,7 +3,7 @@
 # I added in the extra "ls" so only source files that
 # actually exist will show up in the compile list.
 ls -1 ` \
-    gcc -E -dM busybox.def.h | \
+    gcc -E -dM Config.h | \
     sed -n -e '/^.*BB_FEATURE.*$/d;s/^#define.*\<BB_\(.*\)\>/\1.c/gp;' \
     | tr '[:upper:]' '[:lower:]' | sort
 ` 2>/dev/null | sed -e 's/\.c$/\.o/g'
diff --git a/busybox.spec b/busybox.spec
index cb185a7..c11756b 100644
--- a/busybox.spec
+++ b/busybox.spec
@@ -1,5 +1,5 @@
 Name: busybox
-Version: 0.47pre
+Version: 0.47
 Release: 1
 Group: System/Utilities
 Summary: BusyBox is a tiny suite of Unix utilities in a multi-call binary.
diff --git a/examples/busybox.spec b/examples/busybox.spec
index cb185a7..c11756b 100644
--- a/examples/busybox.spec
+++ b/examples/busybox.spec
@@ -1,5 +1,5 @@
 Name: busybox
-Version: 0.47pre
+Version: 0.47
 Release: 1
 Group: System/Utilities
 Summary: BusyBox is a tiny suite of Unix utilities in a multi-call binary.
diff --git a/internal.h b/internal.h
index f8dd128..69f4554 100644
--- a/internal.h
+++ b/internal.h
@@ -24,7 +24,7 @@
 #ifndef	_BB_INTERNAL_H_
 #define	_BB_INTERNAL_H_    1
 
-#include "busybox.def.h"
+#include "Config.h"
 
 #ifdef DMALLOC
 #include "dmalloc.h"