Update for handling .udebs and building using a pristine source dir...
diff --git a/debian/Config.h-deb b/debian/Config.h-deb
new file mode 100644
index 0000000..10264d6
--- /dev/null
+++ b/debian/Config.h-deb
@@ -0,0 +1,339 @@
+/* vi: set sw=4 ts=4: */
+// 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.
+//
+//// This file is parsed by sed. You MUST use single line comments.
+//   i.e.  //#define BB_BLAH
+//
+//
+// BusyBox Applications
+#define BB_AR
+#define BB_BASENAME
+#define BB_CAT
+#define BB_CHMOD_CHOWN_CHGRP
+#define BB_CHROOT
+#define BB_CHVT
+#define BB_CLEAR
+#define BB_CMP
+#define BB_CP_MV
+#define BB_CUT
+#define BB_DATE
+#define BB_DC
+#define BB_DD
+#define BB_DEALLOCVT
+#define BB_DF
+#define BB_DIRNAME
+#define BB_DMESG
+#define BB_DOS2UNIX
+#define BB_DUTMP
+#define BB_DU
+#define BB_DUMPKMAP
+#define BB_ECHO
+#define BB_EXPR
+#define BB_FBSET
+#define BB_FDFLUSH
+#define BB_FIND
+#define BB_FREE
+#define BB_FREERAMDISK
+#define BB_FSCK_MINIX
+#define BB_GETOPT
+#define BB_GREP
+#define BB_GUNZIP
+#define BB_GZIP
+#define BB_HALT
+#define BB_HEAD
+#define BB_HOSTID
+#define BB_HOSTNAME
+#define BB_ID
+#define BB_INIT
+#define BB_INSMOD
+#define BB_KILL
+#define BB_KILLALL
+#define BB_LENGTH
+#define BB_LN
+#define BB_LOADACM
+#define BB_LOADFONT
+#define BB_LOADKMAP
+#define BB_LOGGER
+#define BB_LOGNAME
+#define BB_LS
+#define BB_LSMOD
+#define BB_MAKEDEVS
+#define BB_MD5SUM
+#define BB_MKDIR
+#define BB_MKFIFO
+#define BB_MKFS_MINIX
+#define BB_MKNOD
+#define BB_MKSWAP
+#define BB_MKTEMP
+#define BB_NC
+#define BB_MORE
+#define BB_MOUNT
+#define BB_MT
+#define BB_NSLOOKUP
+#define BB_PING
+#define BB_POWEROFF
+#define BB_PRINTF
+#define BB_PS
+#define BB_PWD
+#define BB_RDATE
+#define BB_READLINK
+#define BB_REBOOT
+#define BB_RENICE
+#define BB_RESET
+#define BB_RM
+#define BB_RMDIR
+#define BB_RMMOD
+#define BB_RPMUNPACK
+#define BB_SED
+#define BB_SETKEYCODES
+#define BB_SH
+#define BB_SLEEP
+#define BB_SORT
+#define BB_SWAPONOFF
+#define BB_SYNC
+#define BB_SYSLOGD
+#define BB_TAIL
+#define BB_TAR
+#define BB_TEE
+#define BB_TEST
+#define BB_TELNET
+#define BB_TOUCH
+#define BB_TR
+#define BB_TRUE_FALSE
+#define BB_TTY
+#define BB_UPTIME
+#define BB_USLEEP
+#define BB_WC
+#define BB_WGET
+#define BB_WHICH
+#define BB_WHOAMI
+#define BB_UUENCODE
+#define BB_UUDECODE
+#define BB_UMOUNT
+#define BB_UNIQ
+#define BB_UNAME
+#define BB_UNIX2DOS
+#define BB_UPDATE
+#define BB_XARGS
+#define BB_YES
+// End of Applications List
+//
+//
+//
+// ---------------------------------------------------------
+// This is where feature definitions go.  Generally speaking,
+// turning this stuff off makes things a bit smaller (and less 
+// pretty/useful).
+//
+//
+//
+// Turn this on to use Erik's very cool devps, and devmtab kernel drivers,
+// thereby eliminating the need for the /proc filesystem and thereby saving
+// lots and lots memory for more important things.  You can not use this and
+// USE_PROCFS at the same time...  NOTE:  If you enable this feature, you
+// _must_ have patched the kernel to include the devps patch that is included
+// in the busybox/kernel-patches directory.  You will also need to create some
+// device special files in /dev on your embedded system:
+//        mknod /dev/mtab c 10 22
+//        mknod /dev/ps c 10 21
+// I emailed Linus and this patch will not be going into the stock kernel.
+//#define BB_FEATURE_USE_DEVPS_PATCH
+//
+// enable features that use the /proc filesystem (apps that 
+// break without this will tell you on compile)...
+// You can't use this and BB_FEATURE_USE_DEVPS_PATCH 
+// at the same time...
+#define BB_FEATURE_USE_PROCFS
+//
+// This compiles out everything but the most 
+// trivial --help usage information (i.e. reduces binary size)
+//#define BB_FEATURE_TRIVIAL_HELP
+//
+// Use termios to manipulate the screen ('more' is prettier with this on)
+#define BB_FEATURE_USE_TERMIOS
+//
+// calculate terminal & column widths (for more and ls)
+#define BB_FEATURE_AUTOWIDTH
+//
+// show username/groupnames (bypasses libc6 NSS) for ls
+#define BB_FEATURE_LS_USERNAME
+//
+// show file timestamps in ls
+#define BB_FEATURE_LS_TIMESTAMPS
+//
+// enable ls -p and -F
+#define BB_FEATURE_LS_FILETYPES
+//
+// sort the file names (still a bit buggy)
+#define BB_FEATURE_LS_SORTFILES
+//
+// enable ls -R
+#define BB_FEATURE_LS_RECURSIVE
+//
+// enable ls -L
+#define BB_FEATURE_LS_FOLLOWLINKS
+//
+// Change ping implementation -- simplified, featureless, but really small.
+//#define BB_FEATURE_SIMPLE_PING
+//
+// Make init use a simplified /etc/inittab file (recommended).
+//#define BB_FEATURE_USE_INITTAB
+//
+//Enable init being called as /linuxrc
+#define BB_FEATURE_LINUXRC
+//
+//Have init enable core dumping for child processes (for debugging only) 
+//#define BB_FEATURE_INIT_COREDUMPS
+//
+// Allow init to permenently chroot, and umount the old root fs
+// just like an initrd does.  Requires a kernel patch by Werner Almesberger. 
+// ftp://icaftp.epfl.ch/pub/people/almesber/misc/umount-root-*.tar.gz
+//#define BB_FEATURE_INIT_CHROOT
+//
+//Make sure nothing is printed to the console on boot
+//#define BB_FEATURE_EXTRA_QUIET
+//
+//Should syslogd also provide klogd support?
+#define BB_FEATURE_KLOGD
+//
+// enable syslogd -R remotehost
+#define BB_FEATURE_REMOTE_LOG
+//
+//Simple tail implementation (2.34k vs 3k for the full one).
+//Both provide 'tail -f' support (only one file at a time.)
+#define BB_FEATURE_SIMPLE_TAIL
+//
+// Enable support for loop devices in mount
+#define BB_FEATURE_MOUNT_LOOP
+//
+// Enable support for a real /etc/mtab file instead of /proc/mounts
+//#define BB_FEATURE_MOUNT_MTAB_SUPPORT
+//
+// Enable support for mounting remote NFS volumes
+#define BB_FEATURE_NFSMOUNT
+//
+// Enable support forced filesystem unmounting 
+// (i.e. in case of an unreachable NFS system).
+#define BB_FEATURE_MOUNT_FORCE
+//
+// Enable support for creation of tar files.
+#define BB_FEATURE_TAR_CREATE
+//
+// Enable support for "--exclude" for excluding files
+#define BB_FEATURE_TAR_EXCLUDE
+//
+//// Enable reverse sort
+#define BB_FEATURE_SORT_REVERSE
+//
+// Enable command line editing in the shell
+#define BB_FEATURE_SH_COMMAND_EDITING
+//
+//Allow the shell to invoke all the compiled in BusyBox commands as if they
+//were shell builtins.  Nice for staticly linking an emergency rescue shell
+//among other thing.
+#define BB_FEATURE_SH_STANDALONE_SHELL
+//
+//When this is enabled, busybox shell builtins can be called using full path
+//names.  This causes builtins (i.e. every single busybox command) to override
+//real commands on the filesystem.  For example, if you run run /bin/cat, it
+//will use BusyBox cat even if /bin/cat exists on the filesystem and is _not_
+//busybox.  Some systems want this, others do not.  Choose wisely.  :-) This
+//only has meaning when BB_FEATURE_SH_STANDALONE_SHELL is enabled.
+#define BB_FEATURE_SH_BUILTINS_ALWAYS_WIN
+//
+// Enable tab completion in the shell (not yet 
+// working very well -- so don't turn this on)
+//#define BB_FEATURE_SH_TAB_COMPLETION
+//
+//Turn on extra fbset options
+//#define BB_FEATURE_FBSET_FANCY
+//
+//Turn on fbset readmode support
+//#define BB_FEATURE_FBSET_READMODE
+//
+// You must enable one or both of these features
+// Support installing modules from pre 2.1 kernels
+//#define BB_FEATURE_INSMOD_OLD_KERNEL
+// Support installing modules from kernel versions after 2.1.18
+#define BB_FEATURE_INSMOD_NEW_KERNEL
+//
+// Support module version checking
+//#define BB_FEATURE_INSMOD_VERSION_CHECKING
+//
+// Support for Minix filesystem, version 2
+//#define BB_FEATURE_MINIX2
+//
+//
+// Enable busybox --install [-s]
+// to create links (or symlinks) for all the commands that are 
+// compiled into the binary.  (needs /proc filesystem)
+#define BB_FEATURE_INSTALLER
+//
+// Enable a nifty progress meter in wget (adds just under 2k)
+#define BB_FEATURE_STATUSBAR
+//
+// Clean up all memory before exiting -- usually not needed
+// as the OS can clean up...  Don't enable this unless you
+// have a really good reason for cleaning things up manually.
+//#define BB_FEATURE_CLEAN_UP
+//
+// End of Features List
+//
+//
+//
+//
+//
+//
+//---------------------------------------------------
+// Nothing beyond this point should ever be touched by 
+// mere mortals so leave this stuff alone.
+//
+#ifdef BB_FEATURE_MOUNT_MTAB_SUPPORT
+#define BB_MTAB
+#endif
+//
+#if defined BB_FEATURE_SH_COMMAND_EDITING && defined BB_SH
+#define BB_CMDEDIT
+#endif
+//
+#ifdef BB_KILLALL
+#ifndef BB_KILL
+#define BB_KILL
+#endif
+#endif
+//
+#ifdef BB_FEATURE_LINUXRC
+#ifndef BB_INIT
+#define BB_INIT
+#endif
+#define BB_LINUXRC
+#endif
+//
+#ifdef BB_GZIP
+#ifndef BB_GUNZIP
+#define BB_GUNZIP
+#endif
+#endif
+//
+#if defined BB_MOUNT && defined BB_FEATURE_NFSMOUNT
+#define BB_NFSMOUNT
+#endif
+//
+#if defined BB_FEATURE_SH_COMMAND_EDITING
+#ifndef BB_FEATURE_USE_TERMIOS
+#define BB_FEATURE_USE_TERMIOS
+#endif
+#endif
+//
+#if defined BB_FEATURE_AUTOWIDTH
+#ifndef BB_FEATURE_USE_TERMIOS
+#define BB_FEATURE_USE_TERMIOS
+#endif
+#endif
+//
+#if defined BB_INSMOD
+#ifndef BB_FEATURE_INSMOD_OLD_KERNEL
+#define BB_FEATURE_INSMOD_NEW_KERNEL
+#endif
+#endif
diff --git a/debian/Config.h-udeb b/debian/Config.h-udeb
new file mode 100644
index 0000000..fa8cbdd
--- /dev/null
+++ b/debian/Config.h-udeb
@@ -0,0 +1,340 @@
+/* vi: set sw=4 ts=4: */
+// 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.
+//
+//// This file is parsed by sed. You MUST use single line comments.
+//   i.e.  //#define BB_BLAH
+//
+//
+// BusyBox Applications
+#define BB_AR
+#define BB_BASENAME
+#define BB_CAT
+#define BB_CHMOD_CHOWN_CHGRP
+#define BB_CHROOT
+//#define BB_CHVT
+#define BB_CLEAR
+//#define BB_CMP
+#define BB_CP_MV
+#define BB_CUT
+#define BB_DATE
+//#define BB_DC
+#define BB_DD
+//#define BB_DEALLOCVT
+#define BB_DF
+#define BB_DIRNAME
+#define BB_DMESG
+//#define BB_DOS2UNIX
+//#define BB_DUTMP
+#define BB_DU
+//#define BB_DUMPKMAP
+#define BB_ECHO
+//#define BB_EXPR
+#define BB_FBSET
+//#define BB_FDFLUSH
+#define BB_FIND
+#define BB_FREE
+#define BB_FREERAMDISK
+//#define BB_FSCK_MINIX
+//#define BB_GETOPT
+#define BB_GREP
+#define BB_GUNZIP
+#define BB_GZIP
+#define BB_HALT
+#define BB_HEAD
+#define BB_HOSTID
+#define BB_HOSTNAME
+#define BB_ID
+#define BB_INIT
+//#define BB_INSMOD
+#define BB_KILL
+#define BB_KILLALL
+//#define BB_LENGTH
+#define BB_LN
+//#define BB_LOADACM
+//#define BB_LOADFONT
+//#define BB_LOADKMAP
+#define BB_LOGGER
+//#define BB_LOGNAME
+#define BB_LS
+//#define BB_LSMOD
+//#define BB_MAKEDEVS
+//#define BB_MD5SUM
+#define BB_MKDIR
+//#define BB_MKFIFO
+//#define BB_MKFS_MINIX
+#define BB_MKNOD
+#define BB_MKSWAP
+#define BB_MKTEMP
+//#define BB_NC
+#define BB_MORE
+#define BB_MOUNT
+//#define BB_MT
+#define BB_NSLOOKUP
+#define BB_PING
+#define BB_POWEROFF
+//#define BB_PRINTF
+#define BB_PS
+#define BB_PWD
+//#define BB_RDATE
+//#define BB_READLINK
+#define BB_REBOOT
+//#define BB_RENICE
+#define BB_RESET
+#define BB_RM
+#define BB_RMDIR
+//#define BB_RMMOD
+//#define BB_RPMUNPACK
+#define BB_SED
+//#define BB_SETKEYCODES
+//#define BB_SH
+#define BB_SLEEP
+//#define BB_SORT
+#define BB_SWAPONOFF
+#define BB_SYNC
+#define BB_SYSLOGD
+#define BB_TAIL
+#define BB_TAR
+//#define BB_TEE
+//#define BB_TEST
+//#define BB_TELNET
+#define BB_TOUCH
+//#define BB_TR
+#define BB_TRUE_FALSE
+//#define BB_TTY
+#define BB_UPTIME
+//#define BB_USLEEP
+//#define BB_WC
+#define BB_WGET
+#define BB_WHICH
+#define BB_WHOAMI
+//#define BB_UUENCODE
+//#define BB_UUDECODE
+#define BB_UMOUNT
+//#define BB_UNIQ
+#define BB_UNAME
+//#define BB_UNIX2DOS
+//#define BB_UPDATE
+#define BB_XARGS
+#define BB_YES
+// End of Applications List
+//
+//
+//
+// ---------------------------------------------------------
+// This is where feature definitions go.  Generally speaking,
+// turning this stuff off makes things a bit smaller (and less 
+// pretty/useful).
+//
+//
+//
+// Turn this on to use Erik's very cool devps, and devmtab kernel drivers,
+// thereby eliminating the need for the /proc filesystem and thereby saving
+// lots and lots memory for more important things.  You can not use this and
+// USE_PROCFS at the same time...  NOTE:  If you enable this feature, you
+// _must_ have patched the kernel to include the devps patch that is included
+// in the busybox/kernel-patches directory.  You will also need to create some
+// device special files in /dev on your embedded system:
+//        mknod /dev/mtab c 10 22
+//        mknod /dev/ps c 10 21
+// I emailed Linus and this patch will not be going into the stock kernel.
+//#define BB_FEATURE_USE_DEVPS_PATCH
+//
+// enable features that use the /proc filesystem (apps that 
+// break without this will tell you on compile)...
+// You can't use this and BB_FEATURE_USE_DEVPS_PATCH 
+// at the same time...
+#define BB_FEATURE_USE_PROCFS
+//
+// This compiles out everything but the most 
+// trivial --help usage information (i.e. reduces binary size)
+#define BB_FEATURE_TRIVIAL_HELP
+//
+// Use termios to manipulate the screen ('more' is prettier with this on)
+#define BB_FEATURE_USE_TERMIOS
+//
+// calculate terminal & column widths (for more and ls)
+#define BB_FEATURE_AUTOWIDTH
+//
+// show username/groupnames (bypasses libc6 NSS) for ls
+#define BB_FEATURE_LS_USERNAME
+//
+// show file timestamps in ls
+#define BB_FEATURE_LS_TIMESTAMPS
+//
+// enable ls -p and -F
+#define BB_FEATURE_LS_FILETYPES
+//
+// sort the file names
+#define BB_FEATURE_LS_SORTFILES
+//
+// enable ls -R
+#define BB_FEATURE_LS_RECURSIVE
+//
+// enable ls -L
+#define BB_FEATURE_LS_FOLLOWLINKS
+//
+// Change ping implementation -- simplified, featureless, but really small.
+//#define BB_FEATURE_SIMPLE_PING
+//
+// Make init use a simplified /etc/inittab file (recommended).
+#define BB_FEATURE_USE_INITTAB
+//
+//Enable init being called as /linuxrc
+#define BB_FEATURE_LINUXRC
+//
+//Have init enable core dumping for child processes (for debugging only) 
+//#define BB_FEATURE_INIT_COREDUMPS
+//
+// Allow init to permenently chroot, and umount the old root fs
+// just like an initrd does.  Requires a kernel patch by Werner Almesberger. 
+// ftp://icaftp.epfl.ch/pub/people/almesber/misc/umount-root-*.tar.gz
+//#define BB_FEATURE_INIT_CHROOT
+//
+//Make sure nothing is printed to the console on boot
+//#define BB_FEATURE_EXTRA_QUIET
+//
+//Should syslogd also provide klogd support?
+#define BB_FEATURE_KLOGD
+//
+// enable syslogd -R remotehost
+//#define BB_FEATURE_REMOTE_LOG
+//
+//Simple tail implementation (2.34k vs 3k for the full one).
+//Both provide 'tail -f' support (only one file at a time.)
+#define BB_FEATURE_SIMPLE_TAIL
+//
+// Enable support for loop devices in mount
+#define BB_FEATURE_MOUNT_LOOP
+//
+// Enable support for a real /etc/mtab file instead of /proc/mounts
+//#define BB_FEATURE_MOUNT_MTAB_SUPPORT
+//
+// Enable support for mounting remote NFS volumes. 
+// You may no -o nolock if no local portmapper is running.
+#define BB_FEATURE_NFSMOUNT
+//
+// Enable support forced filesystem unmounting 
+// (i.e. in case of an unreachable NFS system).
+#define BB_FEATURE_MOUNT_FORCE
+//
+// Enable support for creation of tar files.
+//#define BB_FEATURE_TAR_CREATE
+//
+// Enable support for "--exclude" for excluding files
+//#define BB_FEATURE_TAR_EXCLUDE
+//
+//// Enable reverse sort
+//#define BB_FEATURE_SORT_REVERSE
+//
+// Enable command line editing in the shell
+//#define BB_FEATURE_SH_COMMAND_EDITING
+//
+//Allow the shell to invoke all the compiled in BusyBox commands as if they
+//were shell builtins.  Nice for staticly linking an emergency rescue shell
+//among other thing.
+//#define BB_FEATURE_SH_STANDALONE_SHELL
+//
+//When this is enabled, busybox shell builtins can be called using full path
+//names.  This causes builtins (i.e. every single busybox command) to override
+//real commands on the filesystem.  For example, if you run run /bin/cat, it
+//will use BusyBox cat even if /bin/cat exists on the filesystem and is _not_
+//busybox.  Some systems want this, others do not.  Choose wisely.  :-) This
+//only has meaning when BB_FEATURE_SH_STANDALONE_SHELL is enabled.
+//#define BB_FEATURE_SH_BUILTINS_ALWAYS_WIN
+//
+// Enable tab completion in the shell (not yet 
+// working very well -- so don't turn this on)
+//#define BB_FEATURE_SH_TAB_COMPLETION
+//
+//Turn on extra fbset options
+//#define BB_FEATURE_FBSET_FANCY
+//
+//Turn on fbset readmode support
+//#define BB_FEATURE_FBSET_READMODE
+//
+// You must enable one or both of these features
+// Support installing modules from pre 2.1 kernels
+//#define BB_FEATURE_INSMOD_OLD_KERNEL
+// Support installing modules from kernel versions after 2.1.18
+//#define BB_FEATURE_INSMOD_NEW_KERNEL
+//
+// Support module version checking
+//#define BB_FEATURE_INSMOD_VERSION_CHECKING
+//
+// Support for Minix filesystem, version 2
+//#define BB_FEATURE_MINIX2
+//
+//
+// Enable busybox --install [-s]
+// to create links (or symlinks) for all the commands that are 
+// compiled into the binary.  (needs /proc filesystem)
+//#define BB_FEATURE_INSTALLER
+//
+// Enable a nifty progress meter in wget (adds just under 2k)
+#define BB_FEATURE_STATUSBAR
+//
+// Clean up all memory before exiting -- usually not needed
+// as the OS can clean up...  Don't enable this unless you
+// have a really good reason for cleaning things up manually.
+//#define BB_FEATURE_CLEAN_UP
+//
+// End of Features List
+//
+//
+//
+//
+//
+//
+//---------------------------------------------------
+// Nothing beyond this point should ever be touched by 
+// mere mortals so leave this stuff alone.
+//
+#ifdef BB_FEATURE_MOUNT_MTAB_SUPPORT
+#define BB_MTAB
+#endif
+//
+#if defined BB_FEATURE_SH_COMMAND_EDITING && defined BB_SH
+#define BB_CMDEDIT
+#endif
+//
+#ifdef BB_KILLALL
+#ifndef BB_KILL
+#define BB_KILL
+#endif
+#endif
+//
+#ifdef BB_FEATURE_LINUXRC
+#ifndef BB_INIT
+#define BB_INIT
+#endif
+#define BB_LINUXRC
+#endif
+//
+#ifdef BB_GZIP
+#ifndef BB_GUNZIP
+#define BB_GUNZIP
+#endif
+#endif
+//
+#if defined BB_MOUNT && defined BB_FEATURE_NFSMOUNT
+#define BB_NFSMOUNT
+#endif
+//
+#if defined BB_FEATURE_SH_COMMAND_EDITING
+#ifndef BB_FEATURE_USE_TERMIOS
+#define BB_FEATURE_USE_TERMIOS
+#endif
+#endif
+//
+#if defined BB_FEATURE_AUTOWIDTH
+#ifndef BB_FEATURE_USE_TERMIOS
+#define BB_FEATURE_USE_TERMIOS
+#endif
+#endif
+//
+#if defined BB_INSMOD
+#ifndef BB_FEATURE_INSMOD_OLD_KERNEL
+#define BB_FEATURE_INSMOD_NEW_KERNEL
+#endif
+#endif
diff --git a/debian/changelog b/debian/changelog
index 3300927..89c9167 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,10 +1,12 @@
 busybox (0.48pre-1) unstable; urgency=low
 
-  * Non-release.
+  * Now includes .udeb support for the debian-installer -- note that this
+    is not really a released version of BusyBox (though the code is quite 
+    solid).  I'm just getting the .udeb support out there to facilitate
+    further work on the debian-installer.
   * See changelog for details.
-  * Now includes .udeb support for the debian-installer.
 
- -- Erik Andersen <andersee@debian.org>  Mon, 25 Sep 2000 23:00:56 -0600
+ -- Erik Andersen <andersee@debian.org>  Fri,  1 Dec 2000 15:39:30 -0700
 
 busybox (0.47-1) unstable; urgency=low
 
diff --git a/debian/control b/debian/control
index 54475b7..5a66241 100644
--- a/debian/control
+++ b/debian/control
@@ -48,7 +48,7 @@
 Architecture: any
 Depends: ${shlibs:Depends}
 Section: debian-installer
-Description: Tiny utilities for the debian-installer and for embedded systems. 
+Description: Tiny utilities for the debian-installer
  BusyBox combines tiny versions of many common UNIX utilities into a single
  small executable. It provides minimalist replacements for the most common
  utilities you would usually find on your desktop system (i.e. ls, cp, mv,
@@ -57,8 +57,7 @@
  provide the expected functionality and behave very much like their GNU
  counterparts.
  .
- BusyBox is used by the debian-installer.  Installing BusyBox onto your Debian
- system is not recommended, unless you are intended to make a very small
- embedded system.  Chances are good that for embedded systems, you will want to
- recompile to only include the tools and utilities you wish to include.
+ busybox-udeb is used by the debian-installer, so unless you are working
+ on the debian-installer, this package is not for you.  Installing this 
+ on your Debian system is a very, very bad idea.  You have been warned.
 
diff --git a/debian/rules b/debian/rules
index 67741b1..d3e1686 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,61 +1,60 @@
 #!/usr/bin/make -f
 
 # This is a bit unusual, in that I have to completely recompile everything
-# twice.  The first is the normal, dynamically linked package.  The second is
-# for the statically linked package.  This file has been adjusted accordingly.
+# for each package I build (obviously static and dynamic builds require
+# things to be recompiled...)
 
 # This is the debhelper compatability version to use.
-export DH_COMPAT=1
+#export DH_COMPAT=1
 
+bbbd=debian/busybox_builddir
 bb=debian/tmp
-bbbd=debian/bb_builddir
+bbsbd=debian/busybox_static_builddir
 bbs=debian/busybox-static
-bbsbd=debian/bb-static_builddir
-
-#For the debian-installer .udeb package
-PACKAGE=busybox-udeb
-VERSION=$(shell dpkg-parsechangelog | grep ^Version: | cut -d ' ' -f 2)
-ARCH=$(shell dpkg --print-architecture)
-FILENAME=$(PACKAGE)_$(VERSION)_$(ARCH).udeb
-PRIORITY=$(shell grep ^Priority: debian/control | cut -d ' ' -f 2)
+bbubd=debian/busybox_udeb_builddir
+bbu=debian/busybox-udeb
 
 clean:
 	dh_testdir
 	dh_testroot
-	rm -f build-stamp-busybox build-stamp-busybox-static
+	rm -f debian/build-stamp-busybox debian/build-stamp-busybox-static debian/build-stamp-busybox-udeb
 	-$(MAKE) clean
-	-rm -rf $(bb) $(bbbd) $(bbs) $(bbsbd)
+	-rm -rf $(bb) $(bbbd) $(bbs) $(bbsbd) $(bbubd) $(bbu)
 	dh_clean
 
-half_clean:
-	dh_testdir
-	dh_testroot
-	rm -rf $(bbs) build-stamp-busybox-static
-	-$(MAKE) clean
-
-build: build-stamp-busybox
-build-stamp-busybox:
+build: debian/build-stamp-busybox
+debian/build-stamp-busybox:
 	dh_testdir
 	mkdir -p $(bbbd)
-	cp Makefile Config.h $(bbbd)
+	cp Makefile $(bbbd)
+	cp debian/Config.h-deb $(bbbd)/Config.h
 	(cd $(bbbd); $(MAKE) "BB_SRC_DIR=../../")
-	touch build-stamp-busybox
+	touch debian/build-stamp-busybox
 
 install: build
 	dh_testdir
 	dh_testroot
 	dh_clean -k
 	dh_installdirs
-	(cd $(bbbd); $(MAKE) "BB_SRC_DIR=../../" "PREFIX=../../$(bb)" install)
+	# Do not run 'make install', since we do not want all the symlinks. 
+	# This just installes the busybox binary...
+	#(cd $(bbbd); $(MAKE) "BB_SRC_DIR=../../" "PREFIX=../../$(bb)" install)
+	mkdir -p $(bb)/bin/
+	cp $(bbbd)/busybox $(bb)/bin/busybox
+	mkdir -p $(bb)/usr/share/doc/busybox/busybox.lineo.com
+	cp $(bbbd)/docs/busybox.lineo.com/BusyBox.html $(bb)/usr/share/doc/busybox/busybox.lineo.com/
 	mkdir -p $(bb)/usr/share/man/man1
-	cp docs/BusyBox.1 $(bb)/usr/share/man/man1/busybox.1
+	cp $(bbbd)/docs/BusyBox.1 $(bb)/usr/share/man/man1/busybox.1
 
 # Now for the statically linked stuff
-build-static: build-stamp-busybox-static
-build-stamp-busybox-static:
+build-static: debian/build-stamp-busybox-static
+debian/build-stamp-busybox-static:
 	dh_testdir
-	$(MAKE) DOSTATIC=true
-	touch build-stamp-busybox-static
+	mkdir -p $(bbsbd)
+	cp Makefile $(bbsbd)
+	cp debian/Config.h-deb $(bbsbd)/Config.h
+	(cd $(bbsbd); $(MAKE) DOSTATIC=true "BB_SRC_DIR=../../")
+	touch debian/build-stamp-busybox-static
 
 install-static: build
 	dh_testdir
@@ -64,15 +63,59 @@
 	dh_installdirs
 	# Do not run 'make install', since we do not want all the symlinks. 
 	# This just installes the busybox binary...
-	#$(MAKE) "PREFIX=$(bbs)" install
+	#(cd $(bbsbd); $(MAKE) "BB_SRC_DIR=../../" "PREFIX=../../$(bbs)" install)
 	mkdir -p $(bbs)/bin/
-	cp busybox $(bbs)/bin/busybox
+	cp $(bbsbd)/busybox $(bbs)/bin/busybox
+	mkdir -p $(bbs)/usr/share/doc/busybox-static/busybox.lineo.com
+	cp $(bbsbd)/docs/busybox.lineo.com/BusyBox.html $(bbs)/usr/share/doc/busybox-static/busybox.lineo.com/
 	mkdir -p $(bbs)/usr/share/man/man1/
-	cp docs/BusyBox.1 $(bbs)/usr/share/man/man1/busybox.1
+	cp $(bbsbd)/docs/BusyBox.1 $(bbs)/usr/share/man/man1/busybox.1
+
+half_clean:
+	dh_testdir
+	dh_testroot
+	rm -rf $(bbs) debian/build-stamp-busybox-static
+	-$(MAKE) clean
 
 do_static: half_clean build-static install-static
 
 
+
+# Now for the .udeb stuff
+PACKAGE=busybox
+VERSION=$(shell dpkg-parsechangelog | grep ^Version: | cut -d ' ' -f 2)
+ARCH=$(shell dpkg --print-architecture)
+FILENAME=$(PACKAGE)_$(VERSION)_$(ARCH).udeb
+PRIORITY=$(shell grep ^Priority: debian/control | cut -d ' ' -f 2)
+
+build-udeb: debian/build-stamp-busybox-udeb
+debian/build-stamp-busybox-udeb:
+	dh_testdir
+	mkdir -p $(bbubd)
+	cp Makefile $(bbubd)
+	cp debian/Config.h-udeb $(bbubd)/Config.h
+	(cd $(bbubd); $(MAKE) "BB_SRC_DIR=../../")
+	touch debian/build-stamp-busybox-udeb
+
+install-udeb: build
+	dh_testdir
+	dh_testroot
+	dh_clean -k
+	dh_installdirs
+	(cd $(bbubd); $(MAKE) "BB_SRC_DIR=../../" "PREFIX=../../$(bbu)" install)
+	mkdir -p $(bbu)/usr/share/man/man1/
+	cp $(bbubd)/docs/BusyBox.1 $(bbu)/usr/share/man/man1/busybox.1
+
+three_quarter_clean:
+	dh_testdir
+	dh_testroot
+	rm -rf $(bbu) debian/build-stamp-busybox-udeb
+	-$(MAKE) clean
+
+do_udeb: three_quarter_clean build-udeb install-udeb
+
+
+
 # Build architecture-independent files here.
 binary-indep:
 # We have nothing to do by default.
@@ -85,30 +128,18 @@
 	dh_testdir
 	dh_testroot
 	dh_installdirs
-	#
-	#Note that for busybox, we do not install any docs,
-	# or man apges or anything else.  This is in blatent violation of every
-	# Debian policy out there, since this package is intended to be used
-	# _only_ by the debian-installer.
-	#
-	#dh_installdocs       -p$@ docs/BusyBox.txt \
-	#	docs/BusyBox.html docs/busybox.lineo.com AUTHORS README TODO
-	#rm -rf $(bb)/usr/share/doc/busybox/busybox.lineo.com/CVS \
-	#	$(bb)/usr/share/doc/busybox/busybox.lineo.com/.cvsignore \
-	#	$(bb)/usr/share/doc/busybox/busybox.lineo.com/images/CVS \
-	#	$(bb)/usr/share/doc/busybox/busybox.lineo.com/images/.cvsignore
-	#dh_undocumented      -p$@
-	#dh_installchangelogs -p$@ Changelog
+	dh_installdocs       -p$@  $(bbbd)/docs/BusyBox.txt \
+		$(bbbd)/docs/BusyBox.html docs/style-guide.txt \
+		docs/busybox.lineo.com AUTHORS README TODO
+	rm -rf `find $(bb) -name CVS`
+	rm -f `find $(bb) -name .cvsignore`
+	dh_installchangelogs -p$@ Changelog
+	dh_undocumented      -p$@
 	dh_strip             -p$@
 	dh_compress          -p$@
 	dh_fixperms          -p$@
 	dh_installdeb        -p$@
 	dh_shlibdeps         -p$@
-	#
-	#Make _very_ sure there are no docs lurking about.
-	#
-	rm -rf $(bb)/usr/share/doc
-	rm -rf $(bb)/usr/share/man
 	dh_gencontrol        -p$@
 	dh_md5sums           -p$@
 	dh_builddeb          -p$@
@@ -119,14 +150,13 @@
 	dh_testdir
 	dh_testroot
 	dh_installdirs
-	dh_installdocs       -p$@ docs/BusyBox.txt \
-		docs/BusyBox.html docs/busybox.lineo.com AUTHORS README TODO
-	rm -rf $(bbs)/usr/share/doc/busybox-static/busybox.lineo.com/CVS \
-		$(bbs)/usr/share/doc/busybox-static/busybox.lineo.com/.cvsignore \
-		$(bbs)/usr/share/doc/busybox-static/busybox.lineo.com/images/CVS \
-		$(bbs)/usr/share/doc/busybox-static/busybox.lineo.com/images/.cvsignore
-	dh_undocumented      -p$@
+	dh_installdocs       -p$@  $(bbsbd)/docs/BusyBox.txt \
+		$(bbsbd)/docs/BusyBox.html docs/style-guide.txt \
+		docs/busybox.lineo.com AUTHORS README TODO
+	rm -rf `find $(bbs) -name CVS`
+	rm -f `find $(bbs) -name .cvsignore`
 	dh_installchangelogs -p$@ Changelog
+	dh_undocumented      -p$@
 	dh_strip             -p$@
 	dh_compress          -p$@
 	dh_fixperms          -p$@
@@ -139,38 +169,21 @@
 
 # Note that this builds a .udeb, which is not policy compliant or anything.
 #
-busybox-udeb: install
+busybox-udeb: do_udeb
 	@echo "--- Building: $@"
 	dh_testdir
 	dh_testroot
 	dh_installdirs
-	#
-	#Note that for busybox, we do not install any docs,
-	# or man apges or anything else.  This is in blatent violation of every
-	# Debian policy out there, since this package is intended to be used
-	# _only_ by the debian-installer.
-	#
-	#dh_installdocs       -p$@ docs/BusyBox.txt \
-	#	docs/BusyBox.html docs/busybox.lineo.com AUTHORS README TODO
-	#rm -rf $(bb)/usr/share/doc/busybox/busybox.lineo.com/CVS \
-	#	$(bb)/usr/share/doc/busybox/busybox.lineo.com/.cvsignore \
-	#	$(bb)/usr/share/doc/busybox/busybox.lineo.com/images/CVS \
-	#	$(bb)/usr/share/doc/busybox/busybox.lineo.com/images/.cvsignore
-	#dh_undocumented      -p$@
-	#dh_installchangelogs -p$@ Changelog
 	dh_strip             -p$@
 	dh_compress          -p$@
 	dh_fixperms          -p$@
 	dh_installdeb        -p$@
 	dh_shlibdeps         -p$@
-	#
 	#Make _very_ sure there are no docs lurking about.
-	#
-	rm -rf $(bb)/usr/share/doc
-	rm -rf $(bb)/usr/share/man
-	dh_gencontrol        -p$@
+	rm -rf $(bbu)/usr/share/man
+	#dh_gencontrol        -p$@
 	# Don't write your stupid guesses to debian/files.
-	#dh_gencontrol        -p$@ -- -fdebian/files~
+	dh_gencontrol        -p$@ -- -fdebian/files~
 	# Register file manually.
 	dpkg-distaddfile $(FILENAME) debian-installer $(PRIORITY)
 	dh_md5sums           -p$@