Fix up some silly messups with the debian packaging, and a dumb
bug with chroot.  I've had the package uploaded but perms set to
000, so I am going to re-tag things and re-cut the release.  Folks
who pulled from CVS in the last 30 minutes with just have to cope.
 -Erik
diff --git a/Makefile b/Makefile
index ca1a726..44d5b5e 100644
--- a/Makefile
+++ b/Makefile
@@ -227,7 +227,10 @@
 	    fgetpwent.c __getgrent.c grent.c getgrnam.c getgrgid.c fgetgrent.c \
 	    initgroups.c setgroups.c
     PWD_OBJS=$(patsubst %.c,$(PWD_GRP)/%.o, $(PWD_CSRC))
-    PWD_CFLAGS = -I$(PWD_GRP_DIR)
+ifneq ($(strip $(BB_SRC_DIR)),)
+    PWD_CFLAGS = -I- -I.
+endif
+    PWD_CFLAGS += -I$(PWD_GRP_DIR)
 else
     CFLAGS    += -DUSE_SYSTEM_PWD_GRP
 endif
@@ -249,9 +252,10 @@
 copyfd.c vherror_msg.c herror_msg.c herror_msg_and_die.c xgethostbyname.c \
 dirname.c make_directory.c create_icmp_socket.c u_signal_names.c arith.c
 LIBBB_OBJS=$(patsubst %.c,$(LIBBB)/%.o, $(LIBBB_CSRC))
-LIBBB_CFLAGS = -I$(LIBBB)
-ifneq ($(strip $(BB_SRC_DIR)),)
-    LIBBB_CFLAGS += -I$(BB_SRC_DIR)/$(LIBBB)
+ifeq ($(strip $(BB_SRC_DIR)),)
+    LIBBB_CFLAGS += -I$(LIBBB)
+else
+    LIBBB_CFLAGS = -I- -I. -I./$(LIBBB) -I$(BB_SRC_DIR)/$(LIBBB) -I$(BB_SRC_DIR)
 endif
 
 LIBBB_MSRC=libbb/messages.c
@@ -351,7 +355,11 @@
 nfsmount.o cmdedit.o: %.o: %.h
 ash.o hush.o lash.o msh.o: cmdedit.h
 $(OBJECTS): %.o: %.c Config.h busybox.h applets.h Makefile
+ifeq ($(strip $(BB_SRC_DIR)),)
 	$(CC) $(CFLAGS) -I. $(patsubst %,-I%,$(subst :, ,$(BB_SRC_DIR))) -c $< -o $*.o
+else
+	$(CC) $(CFLAGS) -I- -I. $(patsubst %,-I%,$(subst :, ,$(BB_SRC_DIR))) -c $< -o $*.o
+endif
 
 $(PWD_OBJS): %.o: %.c Config.h busybox.h applets.h Makefile
 	- mkdir -p $(PWD_GRP)
diff --git a/chroot.c b/chroot.c
index f2d9b4d..0440e46 100644
--- a/chroot.c
+++ b/chroot.c
@@ -48,17 +48,17 @@
 		prog = *argv;
 		execvp(*argv, argv);
 	} else {
-#ifndef BB_SH
-		prog = getenv("SHELL");
-		if (!prog)
-			prog = "/bin/sh";
-		execlp(prog, prog, NULL);
-#else
+#if defined(BB_SH) && defined BB_FEATURE_SH_STANDALONE_SHELL
 		char shell[] = "/bin/sh";
 		char *shell_argv[2] = { shell, NULL };
 		applet_name = shell;
 		shell_main(1, shell_argv);
 		return EXIT_SUCCESS;
+#else
+		prog = getenv("SHELL");
+		if (!prog)
+			prog = "/bin/sh";
+		execlp(prog, prog, NULL);
 #endif
 	}
 	perror_msg_and_die("cannot execute %s", prog);
diff --git a/coreutils/chroot.c b/coreutils/chroot.c
index f2d9b4d..0440e46 100644
--- a/coreutils/chroot.c
+++ b/coreutils/chroot.c
@@ -48,17 +48,17 @@
 		prog = *argv;
 		execvp(*argv, argv);
 	} else {
-#ifndef BB_SH
-		prog = getenv("SHELL");
-		if (!prog)
-			prog = "/bin/sh";
-		execlp(prog, prog, NULL);
-#else
+#if defined(BB_SH) && defined BB_FEATURE_SH_STANDALONE_SHELL
 		char shell[] = "/bin/sh";
 		char *shell_argv[2] = { shell, NULL };
 		applet_name = shell;
 		shell_main(1, shell_argv);
 		return EXIT_SUCCESS;
+#else
+		prog = getenv("SHELL");
+		if (!prog)
+			prog = "/bin/sh";
+		execlp(prog, prog, NULL);
 #endif
 	}
 	perror_msg_and_die("cannot execute %s", prog);
diff --git a/debian/Config.h-deb b/debian/Config.h-deb
index f8b2bdc..892ce13 100644
--- a/debian/Config.h-deb
+++ b/debian/Config.h-deb
@@ -78,13 +78,15 @@
 #define BB_MKNOD
 #define BB_MKSWAP
 //#define BB_MKTEMP
-//#define BB_NC
+//#define BB_MODPROBE
 #define BB_MORE
 #define BB_MOUNT
 //#define BB_MSH
 //#define BB_MT
 #define BB_MV
+//#define BB_NC
 //#define BB_NSLOOKUP
+//#define BB_PIDOF
 #define BB_PING
 //#define BB_PIVOT_ROOT
 #define BB_POWEROFF
@@ -117,6 +119,7 @@
 //#define BB_TFTP
 #define BB_TOUCH
 #define BB_TR
+//#define BB_TRACEROUTE
 #define BB_TRUE_FALSE
 #define BB_TTY
 //#define BB_UNIX2DOS
@@ -468,4 +471,3 @@
 # define BB_SH
 # define shell_main msh_main
 #endif
-
diff --git a/debian/Config.h-static b/debian/Config.h-static
index 90d7e15..71f6df0 100644
--- a/debian/Config.h-static
+++ b/debian/Config.h-static
@@ -52,7 +52,7 @@
 #define BB_HEAD
 #define BB_HOSTID
 #define BB_HOSTNAME
-#define BB_HUSH
+//#define BB_HUSH
 #define BB_ID
 #define BB_IFCONFIG
 #define BB_INIT
@@ -60,7 +60,7 @@
 #define BB_KILL
 #define BB_KILLALL
 #define BB_KLOGD
-#define BB_LASH
+//#define BB_LASH
 #define BB_LENGTH
 #define BB_LN
 #define BB_LOADACM
@@ -78,13 +78,15 @@
 #define BB_MKNOD
 #define BB_MKSWAP
 #define BB_MKTEMP
-#define BB_NC
+//#define BB_MODPROBE
 #define BB_MORE
 #define BB_MOUNT
-#define BB_MSH
+//#define BB_MSH
 #define BB_MT
 #define BB_MV
+#define BB_NC
 #define BB_NSLOOKUP
+#define BB_PIDOF
 #define BB_PING
 #define BB_PIVOT_ROOT
 #define BB_POWEROFF
@@ -117,6 +119,7 @@
 #define BB_TFTP
 #define BB_TOUCH
 #define BB_TR
+#define BB_TRACEROUTE
 #define BB_TRUE_FALSE
 #define BB_TTY
 #define BB_UNIX2DOS
@@ -148,10 +151,10 @@
 //
 // If you enabled one or more of the shells, you may select which one
 // should be run when sh is invoked:
-//#define BB_FEATURE_SH_IS_ASH
+#define BB_FEATURE_SH_IS_ASH
 //#define BB_FEATURE_SH_IS_HUSH
 //#define BB_FEATURE_SH_IS_LASH
-#define BB_FEATURE_SH_IS_MSH
+//#define BB_FEATURE_SH_IS_MSH
 //
 // BusyBox will, by default, malloc space for its buffers.  This costs code
 // size for the call to xmalloc.  You can use the following feature to have
@@ -468,5 +471,3 @@
 # define BB_SH
 # define shell_main msh_main
 #endif
-
-
diff --git a/debian/Config.h-udeb b/debian/Config.h-udeb
index d3994a4..51446ff 100644
--- a/debian/Config.h-udeb
+++ b/debian/Config.h-udeb
@@ -78,13 +78,15 @@
 #define BB_MKNOD
 #define BB_MKSWAP
 //#define BB_MKTEMP
-//#define BB_NC
+//#define BB_MODPROBE
 #define BB_MORE
 #define BB_MOUNT
 //#define BB_MSH
 //#define BB_MT
 #define BB_MV
+//#define BB_NC
 //#define BB_NSLOOKUP
+//#define BB_PIDOF
 #define BB_PING
 #define BB_PIVOT_ROOT
 #define BB_POWEROFF
@@ -117,6 +119,7 @@
 //#define BB_TFTP
 #define BB_TOUCH
 #define BB_TR
+//#define BB_TRACEROUTE
 #define BB_TRUE_FALSE
 #define BB_TTY
 //#define BB_UNIX2DOS
@@ -468,6 +471,3 @@
 # define BB_SH
 # define shell_main msh_main
 #endif
-
-
-