From 69c8572f296380df78a20818ca9208b35b7dbd16 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Sat, 17 Feb 2001 00:41:05 +0000 Subject: [PATCH] Update the debian build stuff -Erik --- debian/Config.h-deb | 215 ++++++++++++---------- debian/Config.h-static | 402 +++++++++++++++++++++++++++++++++++++++++ debian/Config.h-udeb | 159 +++++++++------- debian/rules | 3 +- 4 files changed, 622 insertions(+), 157 deletions(-) create mode 100644 debian/Config.h-static diff --git a/debian/Config.h-deb b/debian/Config.h-deb index bbbedc8bc..c71b72731 100644 --- a/debian/Config.h-deb +++ b/debian/Config.h-deb @@ -14,108 +14,114 @@ #define BB_CHROOT #define BB_CHVT #define BB_CLEAR -#define BB_CMP +//#define BB_CMP #define BB_CP_MV #define BB_CUT #define BB_DATE -#define BB_DC +//#define BB_DC #define BB_DD -#define BB_DEALLOCVT +//#define BB_DEALLOCVT #define BB_DF #define BB_DIRNAME #define BB_DMESG -#define BB_DOS2UNIX -#define BB_DPKG_DEB -#define BB_DUTMP +//#define BB_DOS2UNIX +//#define BB_DPKG +//#define BB_DPKG_DEB +//#define BB_DUTMP #define BB_DU -#define BB_DUMPKMAP +//#define BB_DUMPKMAP #define BB_ECHO -#define BB_EXPR -#define BB_FBSET -#define BB_FDFLUSH +//#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_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_HOSTID +//#define BB_HOSTNAME #define BB_ID +//#define BB_IFCONFIG #define BB_INIT //#define BB_INSMOD #define BB_KILL #define BB_KILLALL -#define BB_LENGTH +//#define BB_LENGTH #define BB_LN -#define BB_LOADACM -#define BB_LOADFONT -#define BB_LOADKMAP +//#define BB_LOADACM +//#define BB_LOADFONT +//#define BB_LOADKMAP #define BB_LOGGER -#define BB_LOGNAME +//#define BB_LOGNAME #define BB_LS #define BB_LSMOD -#define BB_MAKEDEVS -#define BB_MD5SUM +//#define BB_MAKEDEVS +//#define BB_MD5SUM #define BB_MKDIR -#define BB_MKFIFO -#define BB_MKFS_MINIX +//#define BB_MKFIFO +//#define BB_MKFS_MINIX #define BB_MKNOD #define BB_MKSWAP -#define BB_MKTEMP -#define BB_NC +//#define BB_MKTEMP +//#define BB_NC #define BB_MORE #define BB_MOUNT -#define BB_MT -#define BB_NSLOOKUP -#define BB_PING +//#define BB_MT +//#define BB_NSLOOKUP +//#define BB_PING +//#define BB_PIVOT_ROOT #define BB_POWEROFF -#define BB_PRINTF +//#define BB_PRINTF #define BB_PS #define BB_PWD -#define BB_RDATE -#define BB_READLINK +//#define BB_RDATE +//#define BB_READLINK #define BB_REBOOT -#define BB_RENICE +//#define BB_RENICE #define BB_RESET #define BB_RM #define BB_RMDIR -#define BB_RMMOD -#define BB_RPMUNPACK +//#define BB_RMMOD +//#define BB_ROUTE +//#define BB_RPMUNPACK #define BB_SED -#define BB_SETKEYCODES +//#define BB_SETKEYCODES #define BB_SH #define BB_SLEEP #define BB_SORT +//#define BB_STTY #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_TEE +//#define BB_TEST +//#define BB_TELNET #define BB_TOUCH -#define BB_TR +//#define BB_TR #define BB_TRUE_FALSE #define BB_TTY +//#define BB_UUENCODE +//#define BB_UUDECODE +#define BB_UMOUNT +#define BB_UNIQ +#define BB_UNAME +//#define BB_UNIX2DOS +//#define BB_UPDATE #define BB_UPTIME -#define BB_USLEEP +//#define BB_USLEEP +//#define BB_WATCHDOG #define BB_WC -#define BB_WGET +//#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 @@ -128,28 +134,26 @@ // pretty/useful). // // +// 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 +// them put on the stack. For some very small machines with limited stack +// space, this can be deadly. For most folks, this works just fine... +//#define BB_FEATURE_BUFFERS_GO_ON_STACK // // 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: +// lots and lots memory for more important things. 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 +#define BB_FEATURE_TRIVIAL_HELP // // Use termios to manipulate the screen ('more' is prettier with this on) #define BB_FEATURE_USE_TERMIOS @@ -157,7 +161,7 @@ // calculate terminal & column widths (for more and ls) #define BB_FEATURE_AUTOWIDTH // -// show username/groupnames (bypasses libc6 NSS) for ls +// show username/groupnames for ls #define BB_FEATURE_LS_USERNAME // // show file timestamps in ls @@ -187,13 +191,8 @@ //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 +//#define BB_FEATURE_EXTRA_QUIET // //Should syslogd also provide klogd support? #define BB_FEATURE_KLOGD @@ -202,7 +201,7 @@ #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.) +//Both provide 'tail -f', but this cuts out -c, -q, -s, and -v. #define BB_FEATURE_SIMPLE_TAIL // // Enable support for loop devices in mount @@ -232,12 +231,14 @@ //// Enable reverse sort #define BB_FEATURE_SORT_REVERSE // -// Enable command line editing in the shell +// Enable command line editing in the shell. +// Only relevant if BB_SH is enabled. #define BB_FEATURE_SH_COMMAND_EDITING // //Allow the shell to invoke all the compiled in BusyBox applets as if they //were shell builtins. Nice for staticly linking an emergency rescue shell, //among other things. +// Only relevant if BB_SH is enabled. #define BB_FEATURE_SH_STANDALONE_SHELL // //When this is enabled, busybox shell applets can be called using full path @@ -246,29 +247,36 @@ //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. -//BB_FEATURE_SH_APPLETS_ALWAYS_WIN +// Only relevant if BB_SH is enabled. +#define BB_FEATURE_SH_APPLETS_ALWAYS_WIN // -// Enable tab completion in the shell (not yet -// working very well -- so don't turn this on) +// Enable tab completion in the shell. This is now working quite nicely. +// This feature adds a bit over 4k. Only relevant if BB_SH is enabled. //#define BB_FEATURE_SH_TAB_COMPLETION // +// Enable a simpler shell prompt of the form "path #" +// instead of the default "[username@hostname path]#" +// +// Some deeply embedded systems don't have usernames or even hostnames, +// and the default prompt can look rather hideous on them. Uncomment +// this option for a simpler, path-only prompt (which was the default until +// around BusyBox-0.48): +#define BB_FEATURE_SH_SIMPLE_PROMPT +// +// Attempts to match usernames in a ~-prefixed path +//#define BB_FEATURE_SH_USERNAME_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 insmod/lsmod/rmmod for post 2.1 kernels +//#define BB_FEATURE_NEW_MODULE_INTERFACE // -// You must enable one or both of these features -// Support modules status from pre 2.1 kernels -//#define BB_FEATURE_LSMOD_OLD_KERNEL -// Support modules status from kernel versions after 2.1.18 -#define BB_FEATURE_LSMOD_NEW_KERNEL +// Support insmod/lsmod/rmmod for pre 2.1 kernels +//#define BB_FEATURE_OLD_MODULE_INTERFACE // // Support module version checking //#define BB_FEATURE_INSMOD_VERSION_CHECKING @@ -280,16 +288,31 @@ // 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 +// #define BB_FEATURE_INSTALLER // // Enable a nifty progress meter in wget (adds just under 2k) -#define BB_FEATURE_STATUSBAR +#define BB_FEATURE_WGET_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 // +// Support for human readable output by ls, du, etc.(example 13k, 23M, 235G) +#define BB_FEATURE_HUMAN_READABLE +// +// Support for the find -type option. +#define BB_FEATURE_FIND_TYPE +// +// Support for the find -perm option. +#define BB_FEATURE_FIND_PERM +// +// Support for the find -mtine option. +#define BB_FEATURE_FIND_MTIME +// +// Support for the -A -B and -C context flags in grep +//#define BB_FEATURE_GREP_CONTEXT +// // End of Features List // // @@ -301,9 +324,13 @@ // Nothing beyond this point should ever be touched by // mere mortals so leave this stuff alone. // +#if defined BB_MOUNT || defined BB_UMOUNT || defined BB_DF #ifdef BB_FEATURE_MOUNT_MTAB_SUPPORT #define BB_MTAB #endif +#else +#undef BB_MTAB +#endif // #if defined BB_FEATURE_SH_COMMAND_EDITING && defined BB_SH #define BB_CMDEDIT @@ -315,11 +342,9 @@ #endif #endif // -#ifdef BB_FEATURE_LINUXRC #ifndef BB_INIT -#define BB_INIT -#endif -#define BB_LINUXRC +#undef BB_LINUXRC +#undef BB_FEATURE_LINUXRC #endif // #ifdef BB_GZIP @@ -328,6 +353,12 @@ #endif #endif // +#ifdef BB_DPKG +#ifndef BB_DPKG_DEB +#define BB_DPKG_DEB +#endif +#endif +// #ifdef BB_DPKG_DEB #ifndef BB_AR #define BB_AR @@ -364,8 +395,8 @@ #endif #endif // -#if defined BB_INSMOD -#ifndef BB_FEATURE_INSMOD_OLD_KERNEL -#define BB_FEATURE_INSMOD_NEW_KERNEL +#if defined BB_INSMOD || defined BB_LSMOD +#ifndef BB_FEATURE_NEW_MODULE_INTERFACE +#define BB_FEATURE_NEW_MODULE_INTERFACE #endif #endif diff --git a/debian/Config.h-static b/debian/Config.h-static new file mode 100644 index 000000000..9dc2215fd --- /dev/null +++ b/debian/Config.h-static @@ -0,0 +1,402 @@ +/* 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_DPKG +#define BB_DPKG_DEB +#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_IFCONFIG +#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_PIVOT_ROOT +#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_ROUTE +//#define BB_RPMUNPACK +#define BB_SED +#define BB_SETKEYCODES +#define BB_SH +#define BB_SLEEP +#define BB_SORT +#define BB_STTY +#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_UUENCODE +#define BB_UUDECODE +#define BB_UMOUNT +#define BB_UNIQ +#define BB_UNAME +#define BB_UNIX2DOS +#define BB_UPDATE +#define BB_UPTIME +#define BB_USLEEP +#define BB_WATCHDOG +#define BB_WC +#define BB_WGET +#define BB_WHICH +#define BB_WHOAMI +#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). +// +// +// 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 +// them put on the stack. For some very small machines with limited stack +// space, this can be deadly. For most folks, this works just fine... +//#define BB_FEATURE_BUFFERS_GO_ON_STACK +// +// 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. 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 +// +// 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 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 +// +//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', but this cuts out -c, -q, -s, and -v. +#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 need to mount with "-o nolock" if you are +// not running a local portmapper daemon... +#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" and "-X" for excluding files +#define BB_FEATURE_TAR_EXCLUDE +// +// Enable support for tar -z option (currently only works for inflating) +#define BB_FEATURE_TAR_GZIP +// +//// Enable reverse sort +#define BB_FEATURE_SORT_REVERSE +// +// Enable command line editing in the shell. +// Only relevant if BB_SH is enabled. +#define BB_FEATURE_SH_COMMAND_EDITING +// +//Allow the shell to invoke all the compiled in BusyBox applets as if they +//were shell builtins. Nice for staticly linking an emergency rescue shell, +//among other things. +// Only relevant if BB_SH is enabled. +#define BB_FEATURE_SH_STANDALONE_SHELL +// +//When this is enabled, busybox shell applets can be called using full path +//names. This causes applets (i.e., most busybox commands) 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. +// Only relevant if BB_SH is enabled. +#define BB_FEATURE_SH_APPLETS_ALWAYS_WIN +// +// Enable tab completion in the shell. This is now working quite nicely. +// This feature adds a bit over 4k. Only relevant if BB_SH is enabled. +#define BB_FEATURE_SH_TAB_COMPLETION +// +// Enable a simpler shell prompt of the form "path #" +// instead of the default "[username@hostname path]#" +// +// Some deeply embedded systems don't have usernames or even hostnames, +// and the default prompt can look rather hideous on them. Uncomment +// this option for a simpler, path-only prompt (which was the default until +// around BusyBox-0.48): +#define BB_FEATURE_SH_SIMPLE_PROMPT +// +// Attempts to match usernames in a ~-prefixed path +//#define BB_FEATURE_SH_USERNAME_COMPLETION +// +//Turn on extra fbset options +#define BB_FEATURE_FBSET_FANCY +// +//Turn on fbset readmode support +#define BB_FEATURE_FBSET_READMODE +// +// Support insmod/lsmod/rmmod for post 2.1 kernels +//#define BB_FEATURE_NEW_MODULE_INTERFACE +// +// Support insmod/lsmod/rmmod for pre 2.1 kernels +//#define BB_FEATURE_OLD_MODULE_INTERFACE +// +// 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_WGET_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 +// +// Support for human readable output by ls, du, etc.(example 13k, 23M, 235G) +#define BB_FEATURE_HUMAN_READABLE +// +// Support for the find -type option. +#define BB_FEATURE_FIND_TYPE +// +// Support for the find -perm option. +#define BB_FEATURE_FIND_PERM +// +// Support for the find -mtine option. +#define BB_FEATURE_FIND_MTIME +// +// Support for the -A -B and -C context flags in grep +//#define BB_FEATURE_GREP_CONTEXT +// +// End of Features List +// +// +// +// +// +// +//--------------------------------------------------- +// Nothing beyond this point should ever be touched by +// mere mortals so leave this stuff alone. +// +#if defined BB_MOUNT || defined BB_UMOUNT || defined BB_DF +#ifdef BB_FEATURE_MOUNT_MTAB_SUPPORT +#define BB_MTAB +#endif +#else +#undef 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 +// +#ifndef BB_INIT +#undef BB_LINUXRC +#undef BB_FEATURE_LINUXRC +#endif +// +#ifdef BB_GZIP +#ifndef BB_GUNZIP +#define BB_GUNZIP +#endif +#endif +// +#ifdef BB_DPKG +#ifndef BB_DPKG_DEB +#define BB_DPKG_DEB +#endif +#endif +// +#ifdef BB_DPKG_DEB +#ifndef BB_AR +#define BB_AR +#endif +#ifndef BB_TAR +#define BB_TAR +#endif +#ifndef BB_FEATURE_TAR_GZIP +#define BB_FEATURE_TAR_GZIP +#endif +#endif +// +#ifdef BB_TAR +#ifdef BB_FEATURE_TAR_GZIP +#ifndef BB_GUNZIP +#define BB_GUNZIP +#endif +#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 || defined BB_LSMOD +#ifndef BB_FEATURE_NEW_MODULE_INTERFACE +#define BB_FEATURE_NEW_MODULE_INTERFACE +#endif +#endif diff --git a/debian/Config.h-udeb b/debian/Config.h-udeb index 769ff284c..2bd3ed2fa 100644 --- a/debian/Config.h-udeb +++ b/debian/Config.h-udeb @@ -7,12 +7,12 @@ // // // BusyBox Applications -#define BB_AR +//#define BB_AR #define BB_BASENAME #define BB_CAT #define BB_CHMOD_CHOWN_CHGRP #define BB_CHROOT -//#define BB_CHVT +#define BB_CHVT #define BB_CLEAR //#define BB_CMP #define BB_CP_MV @@ -25,17 +25,18 @@ #define BB_DIRNAME #define BB_DMESG //#define BB_DOS2UNIX -#define BB_DPKG_DEB +//#define BB_DPKG +//#define BB_DPKG_DEB //#define BB_DUTMP #define BB_DU //#define BB_DUMPKMAP #define BB_ECHO -#define BB_EXPR -#define BB_FBSET +//#define BB_EXPR +//#define BB_FBSET //#define BB_FDFLUSH #define BB_FIND #define BB_FREE -#define BB_FREERAMDISK +//#define BB_FREERAMDISK //#define BB_FSCK_MINIX //#define BB_GETOPT #define BB_GREP @@ -43,9 +44,10 @@ #define BB_GZIP #define BB_HALT #define BB_HEAD -#define BB_HOSTID -#define BB_HOSTNAME +//#define BB_HOSTID +//#define BB_HOSTNAME #define BB_ID +//#define BB_IFCONFIG #define BB_INIT //#define BB_INSMOD #define BB_KILL @@ -58,7 +60,7 @@ #define BB_LOGGER //#define BB_LOGNAME #define BB_LS -//#define BB_LSMOD +#define BB_LSMOD //#define BB_MAKEDEVS //#define BB_MD5SUM #define BB_MKDIR @@ -66,13 +68,14 @@ //#define BB_MKFS_MINIX #define BB_MKNOD #define BB_MKSWAP -#define BB_MKTEMP +//#define BB_MKTEMP //#define BB_NC #define BB_MORE #define BB_MOUNT //#define BB_MT //#define BB_NSLOOKUP //#define BB_PING +//#define BB_PIVOT_ROOT #define BB_POWEROFF //#define BB_PRINTF #define BB_PS @@ -85,12 +88,14 @@ #define BB_RM #define BB_RMDIR //#define BB_RMMOD +//#define BB_ROUTE //#define BB_RPMUNPACK #define BB_SED //#define BB_SETKEYCODES -//#define BB_SH +#define BB_SH #define BB_SLEEP -//#define BB_SORT +#define BB_SORT +//#define BB_STTY #define BB_SWAPONOFF #define BB_SYNC #define BB_SYSLOGD @@ -102,20 +107,21 @@ #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_TTY //#define BB_UUENCODE //#define BB_UUDECODE #define BB_UMOUNT -//#define BB_UNIQ +#define BB_UNIQ #define BB_UNAME //#define BB_UNIX2DOS //#define BB_UPDATE +#define BB_UPTIME +//#define BB_USLEEP +//#define BB_WATCHDOG +#define BB_WC +//#define BB_WGET +#define BB_WHICH +#define BB_WHOAMI #define BB_XARGS #define BB_YES // End of Applications List @@ -128,25 +134,23 @@ // pretty/useful). // // +// 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 +// them put on the stack. For some very small machines with limited stack +// space, this can be deadly. For most folks, this works just fine... +//#define BB_FEATURE_BUFFERS_GO_ON_STACK // // 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: +// lots and lots memory for more important things. 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 @@ -157,7 +161,7 @@ // calculate terminal & column widths (for more and ls) #define BB_FEATURE_AUTOWIDTH // -// show username/groupnames (bypasses libc6 NSS) for ls +// show username/groupnames for ls #define BB_FEATURE_LS_USERNAME // // show file timestamps in ls @@ -187,11 +191,6 @@ //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 // @@ -199,10 +198,10 @@ #define BB_FEATURE_KLOGD // // enable syslogd -R remotehost -//#define BB_FEATURE_REMOTE_LOG +#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.) +//Both provide 'tail -f', but this cuts out -c, -q, -s, and -v. #define BB_FEATURE_SIMPLE_TAIL // // Enable support for loop devices in mount @@ -221,10 +220,10 @@ #define BB_FEATURE_MOUNT_FORCE // // Enable support for creation of tar files. -//#define BB_FEATURE_TAR_CREATE +#define BB_FEATURE_TAR_CREATE // // Enable support for "--exclude" and "-X" for excluding files -//#define BB_FEATURE_TAR_EXCLUDE +#define BB_FEATURE_TAR_EXCLUDE // // Enable support for tar -z option (currently only works for inflating) #define BB_FEATURE_TAR_GZIP @@ -232,13 +231,15 @@ //// Enable reverse sort #define BB_FEATURE_SORT_REVERSE // -// Enable command line editing in the shell +// Enable command line editing in the shell. +// Only relevant if BB_SH is enabled. #define BB_FEATURE_SH_COMMAND_EDITING // //Allow the shell to invoke all the compiled in BusyBox applets as if they //were shell builtins. Nice for staticly linking an emergency rescue shell, //among other things. -//#define BB_FEATURE_SH_STANDALONE_SHELL +// Only relevant if BB_SH is enabled. +#define BB_FEATURE_SH_STANDALONE_SHELL // //When this is enabled, busybox shell applets can be called using full path //names. This causes applets (i.e., most busybox commands) to override @@ -246,29 +247,36 @@ //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. -//BB_FEATURE_SH_APPLETS_ALWAYS_WIN +// Only relevant if BB_SH is enabled. +#define BB_FEATURE_SH_APPLETS_ALWAYS_WIN // -// Enable tab completion in the shell (not yet -// working very well -- so don't turn this on) +// Enable tab completion in the shell. This is now working quite nicely. +// This feature adds a bit over 4k. Only relevant if BB_SH is enabled. //#define BB_FEATURE_SH_TAB_COMPLETION // +// Enable a simpler shell prompt of the form "path #" +// instead of the default "[username@hostname path]#" +// +// Some deeply embedded systems don't have usernames or even hostnames, +// and the default prompt can look rather hideous on them. Uncomment +// this option for a simpler, path-only prompt (which was the default until +// around BusyBox-0.48): +#define BB_FEATURE_SH_SIMPLE_PROMPT +// +// Attempts to match usernames in a ~-prefixed path +//#define BB_FEATURE_SH_USERNAME_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 insmod/lsmod/rmmod for post 2.1 kernels +//#define BB_FEATURE_NEW_MODULE_INTERFACE // -// You must enable one or both of these features -// Support modules status from pre 2.1 kernels -//#define BB_FEATURE_LSMOD_OLD_KERNEL -// Support modules status from kernel versions after 2.1.18 -#define BB_FEATURE_LSMOD_NEW_KERNEL +// Support insmod/lsmod/rmmod for pre 2.1 kernels +//#define BB_FEATURE_OLD_MODULE_INTERFACE // // Support module version checking //#define BB_FEATURE_INSMOD_VERSION_CHECKING @@ -283,13 +291,28 @@ // #define BB_FEATURE_INSTALLER // // Enable a nifty progress meter in wget (adds just under 2k) -#define BB_FEATURE_STATUSBAR +#define BB_FEATURE_WGET_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 // +// Support for human readable output by ls, du, etc.(example 13k, 23M, 235G) +#define BB_FEATURE_HUMAN_READABLE +// +// Support for the find -type option. +#define BB_FEATURE_FIND_TYPE +// +// Support for the find -perm option. +#define BB_FEATURE_FIND_PERM +// +// Support for the find -mtine option. +#define BB_FEATURE_FIND_MTIME +// +// Support for the -A -B and -C context flags in grep +//#define BB_FEATURE_GREP_CONTEXT +// // End of Features List // // @@ -301,9 +324,13 @@ // Nothing beyond this point should ever be touched by // mere mortals so leave this stuff alone. // +#if defined BB_MOUNT || defined BB_UMOUNT || defined BB_DF #ifdef BB_FEATURE_MOUNT_MTAB_SUPPORT #define BB_MTAB #endif +#else +#undef BB_MTAB +#endif // #if defined BB_FEATURE_SH_COMMAND_EDITING && defined BB_SH #define BB_CMDEDIT @@ -315,11 +342,9 @@ #endif #endif // -#ifdef BB_FEATURE_LINUXRC #ifndef BB_INIT -#define BB_INIT -#endif -#define BB_LINUXRC +#undef BB_LINUXRC +#undef BB_FEATURE_LINUXRC #endif // #ifdef BB_GZIP @@ -328,6 +353,12 @@ #endif #endif // +#ifdef BB_DPKG +#ifndef BB_DPKG_DEB +#define BB_DPKG_DEB +#endif +#endif +// #ifdef BB_DPKG_DEB #ifndef BB_AR #define BB_AR @@ -364,8 +395,8 @@ #endif #endif // -#if defined BB_INSMOD -#ifndef BB_FEATURE_INSMOD_OLD_KERNEL -#define BB_FEATURE_INSMOD_NEW_KERNEL +#if defined BB_INSMOD || defined BB_LSMOD +#ifndef BB_FEATURE_NEW_MODULE_INTERFACE +#define BB_FEATURE_NEW_MODULE_INTERFACE #endif #endif diff --git a/debian/rules b/debian/rules index 078478627..6604a3592 100755 --- a/debian/rules +++ b/debian/rules @@ -27,6 +27,7 @@ debian/build-stamp-busybox: dh_testdir mkdir -p $(bbbd) cp Makefile $(bbbd) + -(cd $(bbbd); $(MAKE) "BB_SRC_DIR=../../" applet_source_list) cp debian/Config.h-deb $(bbbd)/Config.h (cd $(bbbd); $(MAKE) "BB_SRC_DIR=../../") touch debian/build-stamp-busybox @@ -52,7 +53,7 @@ debian/build-stamp-busybox-static: dh_testdir mkdir -p $(bbsbd) cp Makefile $(bbsbd) - cp debian/Config.h-deb $(bbsbd)/Config.h + cp debian/Config.h-static $(bbsbd)/Config.h (cd $(bbsbd); $(MAKE) DOSTATIC=true "BB_SRC_DIR=../../") touch debian/build-stamp-busybox-static -- 2.25.1