Browse Source

package/busybox: Update stored config files

When updating busybox, these files must be updated - otherwise the
config written to busybox source tree when building may be incomplete,
causing the build to hang.

Fixes: e4800c73e63e5 ("busybox: update to latest")
Signed-off-by: Phil Sutter <phil@nwl.cc>
Phil Sutter 3 years ago
parent
commit
0820b94a83

File diff suppressed because it is too large
+ 421 - 522
package/busybox/config/Config.in


+ 247 - 297
package/busybox/config/archival/Config.in

@@ -1,7 +1,7 @@
 # DO NOT EDIT. This file is generated from Config.src
 # DO NOT EDIT. This file is generated from Config.src
 #
 #
 # For a description of the syntax of this configuration file,
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 #
 
 
 menu "Archival Utilities"
 menu "Archival Utilities"
@@ -9,453 +9,403 @@ menu "Archival Utilities"
 config BUSYBOX_FEATURE_SEAMLESS_XZ
 config BUSYBOX_FEATURE_SEAMLESS_XZ
 	bool "Make tar, rpm, modprobe etc understand .xz data"
 	bool "Make tar, rpm, modprobe etc understand .xz data"
 	default y
 	default y
-	help
-	  Make tar, rpm, modprobe etc understand .xz data.
 
 
 config BUSYBOX_FEATURE_SEAMLESS_LZMA
 config BUSYBOX_FEATURE_SEAMLESS_LZMA
 	bool "Make tar, rpm, modprobe etc understand .lzma data"
 	bool "Make tar, rpm, modprobe etc understand .lzma data"
 	default y
 	default y
-	help
-	  Make tar, rpm, modprobe etc understand .lzma data.
 
 
 config BUSYBOX_FEATURE_SEAMLESS_BZ2
 config BUSYBOX_FEATURE_SEAMLESS_BZ2
 	bool "Make tar, rpm, modprobe etc understand .bz2 data"
 	bool "Make tar, rpm, modprobe etc understand .bz2 data"
 	default y
 	default y
-	help
-	  Make tar, rpm, modprobe etc understand .bz2 data.
 
 
 config BUSYBOX_FEATURE_SEAMLESS_GZ
 config BUSYBOX_FEATURE_SEAMLESS_GZ
 	bool "Make tar, rpm, modprobe etc understand .gz data"
 	bool "Make tar, rpm, modprobe etc understand .gz data"
 	default y
 	default y
-	help
-	  Make tar, rpm, modprobe etc understand .gz data.
 
 
 config BUSYBOX_FEATURE_SEAMLESS_Z
 config BUSYBOX_FEATURE_SEAMLESS_Z
-	bool "tar, rpm, modprobe etc understand .Z data"
-	default n
-	help
-	  Make tar, rpm, modprobe etc understand .Z data.
+	bool "Make tar, rpm, modprobe etc understand .Z data"
+	default n  # it is ancient
 
 
 config BUSYBOX_AR
 config BUSYBOX_AR
-	bool "ar"
-	depends on !BUSYBOX_DISABLE_AR
+	bool "ar (9.5 kb)"
 	default n  # needs to be improved to be able to replace binutils ar
 	default n  # needs to be improved to be able to replace binutils ar
 	help
 	help
-	  ar is an archival utility program used to create, modify, and
-	  extract contents from archives. An archive is a single file holding
-	  a collection of other files in a structure that makes it possible to
-	  retrieve the original individual files (called archive members).
-	  The original files' contents, mode (permissions), timestamp, owner,
-	  and group are preserved in the archive, and can be restored on
-	  extraction.
+	ar is an archival utility program used to create, modify, and
+	extract contents from archives. In practice, it is used exclusively
+	for object module archives used by compilers.
 
 
-	  The stored filename is limited to 15 characters. (for more information
-	  see long filename support).
-	  ar has 60 bytes of overheads for every stored file.
-
-	  This implementation of ar can extract archives, it cannot create or
-	  modify them.
-	  On an x86 system, the ar applet adds about 1K.
-
-	  Unless you have a specific application which requires ar, you should
-	  probably say N here.
+	Unless you have a specific application which requires ar, you should
+	probably say N here: most compilers come with their own ar utility.
 
 
 config BUSYBOX_FEATURE_AR_LONG_FILENAMES
 config BUSYBOX_FEATURE_AR_LONG_FILENAMES
-	bool "Support for long filenames (not needed for debs)"
+	bool "Support long filenames (not needed for debs)"
 	default y
 	default y
 	depends on BUSYBOX_AR
 	depends on BUSYBOX_AR
 	help
 	help
-	  By default the ar format can only store the first 15 characters
-	  of the filename, this option removes that limitation.
-	  It supports the GNU ar long filename method which moves multiple long
-	  filenames into a the data section of a new ar entry.
+	By default the ar format can only store the first 15 characters
+	of the filename, this option removes that limitation.
+	It supports the GNU ar long filename method which moves multiple long
+	filenames into a the data section of a new ar entry.
 
 
 config BUSYBOX_FEATURE_AR_CREATE
 config BUSYBOX_FEATURE_AR_CREATE
 	bool "Support archive creation"
 	bool "Support archive creation"
 	default y
 	default y
 	depends on BUSYBOX_AR
 	depends on BUSYBOX_AR
 	help
 	help
-	  This enables archive creation (-c and -r) with busybox ar.
+	This enables archive creation (-c and -r) with busybox ar.
+config BUSYBOX_UNCOMPRESS
+	bool "uncompress (7.1 kb)"
+	default n  # ancient
+	help
+	uncompress is used to decompress archives created by compress.
+	Not much used anymore, replaced by gzip/gunzip.
+config BUSYBOX_GUNZIP
+	bool "gunzip (11 kb)"
+	default y
+	select BUSYBOX_FEATURE_GZIP_DECOMPRESS
+	help
+	gunzip is used to decompress archives created by gzip.
+	You can use the '-t' option to test the integrity of
+	an archive, without decompressing it.
+
+config BUSYBOX_ZCAT
+	bool "zcat (24 kb)"
+	default y
+	select BUSYBOX_FEATURE_GZIP_DECOMPRESS
+	help
+	Alias to "gunzip -c".
 
 
+config BUSYBOX_FEATURE_GUNZIP_LONG_OPTIONS
+	bool "Enable long options"
+	default y
+	depends on (BUSYBOX_GUNZIP || BUSYBOX_ZCAT) && BUSYBOX_LONG_OPTS
 config BUSYBOX_BUNZIP2
 config BUSYBOX_BUNZIP2
-	bool "bunzip2"
-	depends on !BUSYBOX_DISABLE_BUNZIP2
-	default n
+	bool "bunzip2 (8.7 kb)"
+	default y
+	select BUSYBOX_FEATURE_BZIP2_DECOMPRESS
 	help
 	help
-	  bunzip2 is a compression utility using the Burrows-Wheeler block
-	  sorting text compression algorithm, and Huffman coding. Compression
-	  is generally considerably better than that achieved by more
-	  conventional LZ77/LZ78-based compressors, and approaches the
-	  performance of the PPM family of statistical compressors.
+	bunzip2 is a compression utility using the Burrows-Wheeler block
+	sorting text compression algorithm, and Huffman coding. Compression
+	is generally considerably better than that achieved by more
+	conventional LZ77/LZ78-based compressors, and approaches the
+	performance of the PPM family of statistical compressors.
 
 
-	  Unless you have a specific application which requires bunzip2, you
-	  should probably say N here.
+	Unless you have a specific application which requires bunzip2, you
+	should probably say N here.
 
 
 config BUSYBOX_BZCAT
 config BUSYBOX_BZCAT
-	bool "bzcat"
+	bool "bzcat (8.7 kb)"
 	default y
 	default y
+	select BUSYBOX_FEATURE_BZIP2_DECOMPRESS
 	help
 	help
-	  Alias to "bunzip2 -c".
+	Alias to "bunzip2 -c".
+config BUSYBOX_UNLZMA
+	bool "unlzma (7.5 kb)"
+	default y
+	help
+	unlzma is a compression utility using the Lempel-Ziv-Markov chain
+	compression algorithm, and range coding. Compression
+	is generally considerably better than that achieved by the bzip2
+	compressors.
 
 
-config BUSYBOX_BZIP2
-	bool "bzip2"
-	depends on !BUSYBOX_DISABLE_BZIP2
-	default n
+config BUSYBOX_LZCAT
+	bool "lzcat (7.5 kb)"
+	default y
+	help
+	Alias to "unlzma -c".
+
+config BUSYBOX_LZMA
+	bool "lzma -d"
+	default y
+	help
+	Enable this option if you want commands like "lzma -d" to work.
+	IOW: you'll get lzma applet, but it will always require -d option.
+config BUSYBOX_UNXZ
+	bool "unxz (13 kb)"
+	default y
 	help
 	help
-	  bzip2 is a compression utility using the Burrows-Wheeler block
-	  sorting text compression algorithm, and Huffman coding. Compression
-	  is generally considerably better than that achieved by more
-	  conventional LZ77/LZ78-based compressors, and approaches the
-	  performance of the PPM family of statistical compressors.
+	unxz is a unlzma successor.
 
 
-	  Unless you have a specific application which requires bzip2, you
-	  should probably say N here.
+config BUSYBOX_XZCAT
+	bool "xzcat (13 kb)"
+	default y
+	help
+	Alias to "unxz -c".
 
 
+config BUSYBOX_XZ
+	bool "xz -d"
+	default y
+	help
+	Enable this option if you want commands like "xz -d" to work.
+	IOW: you'll get xz applet, but it will always require -d option.
+config BUSYBOX_BZIP2
+	bool "bzip2 (16 kb)"
+	default y
+	help
+	bzip2 is a compression utility using the Burrows-Wheeler block
+	sorting text compression algorithm, and Huffman coding. Compression
+	is generally considerably better than that achieved by more
+	conventional LZ77/LZ78-based compressors, and approaches the
+	performance of the PPM family of statistical compressors.
+
+	Unless you have a specific application which requires bzip2, you
+	should probably say N here.
+
+config BUSYBOX_BZIP2_SMALL
+	int "Trade bytes for speed (0:fast, 9:small)"
+	default 8  # all "fast or small" options default to small
+	range 0 9
+	depends on BUSYBOX_BZIP2
+	help
+	Trade code size versus speed.
+	Approximate values with gcc-6.3.0 "bzip -9" compressing
+	linux-4.15.tar were:
+	value         time (sec)  code size (386)
+	9 (smallest)       70.11             7687
+	8                  67.93             8091
+	7                  67.88             8405
+	6                  67.78             8624
+	5                  67.05             9427
+	4-0 (fastest)      64.14            12083
+
+config BUSYBOX_FEATURE_BZIP2_DECOMPRESS
+	bool "Enable decompression"
+	default y
+	depends on BUSYBOX_BZIP2 || BUSYBOX_BUNZIP2 || BUSYBOX_BZCAT
+	help
+	Enable -d (--decompress) and -t (--test) options for bzip2.
+	This will be automatically selected if bunzip2 or bzcat is
+	enabled.
 config BUSYBOX_CPIO
 config BUSYBOX_CPIO
-	bool "cpio"
-	depends on !BUSYBOX_DISABLE_CPIO
-	default n
+	bool "cpio (15 kb)"
+	default y
 	help
 	help
-	  cpio is an archival utility program used to create, modify, and
-	  extract contents from archives.
-	  cpio has 110 bytes of overheads for every stored file.
+	cpio is an archival utility program used to create, modify, and
+	extract contents from archives.
+	cpio has 110 bytes of overheads for every stored file.
 
 
-	  This implementation of cpio can extract cpio archives created in the
-	  "newc" or "crc" format, it cannot create or modify them.
+	This implementation of cpio can extract cpio archives created in the
+	"newc" or "crc" format.
 
 
-	  Unless you have a specific application which requires cpio, you
-	  should probably say N here.
+	Unless you have a specific application which requires cpio, you
+	should probably say N here.
 
 
 config BUSYBOX_FEATURE_CPIO_O
 config BUSYBOX_FEATURE_CPIO_O
-	bool "Support for archive creation"
+	bool "Support archive creation"
 	default y
 	default y
 	depends on BUSYBOX_CPIO
 	depends on BUSYBOX_CPIO
 	help
 	help
-	  This implementation of cpio can create cpio archives in the "newc"
-	  format only.
+	This implementation of cpio can create cpio archives in the "newc"
+	format only.
 
 
 config BUSYBOX_FEATURE_CPIO_P
 config BUSYBOX_FEATURE_CPIO_P
-	bool "Support for passthrough mode"
+	bool "Support passthrough mode"
 	default y
 	default y
 	depends on BUSYBOX_FEATURE_CPIO_O
 	depends on BUSYBOX_FEATURE_CPIO_O
 	help
 	help
-	  Passthrough mode. Rarely used.
-
+	Passthrough mode. Rarely used.
 config BUSYBOX_DPKG
 config BUSYBOX_DPKG
-	bool "dpkg"
-	default n
+	bool "dpkg (43 kb)"
+	default y
 	select BUSYBOX_FEATURE_SEAMLESS_GZ
 	select BUSYBOX_FEATURE_SEAMLESS_GZ
 	help
 	help
-	  dpkg is a medium-level tool to install, build, remove and manage
-	  Debian packages.
-
-	  This implementation of dpkg has a number of limitations,
-	  you should use the official dpkg if possible.
+	dpkg is a medium-level tool to install, build, remove and manage
+	Debian packages.
 
 
+	This implementation of dpkg has a number of limitations,
+	you should use the official dpkg if possible.
 config BUSYBOX_DPKG_DEB
 config BUSYBOX_DPKG_DEB
-	bool "dpkg_deb"
-	default n
-	select BUSYBOX_FEATURE_SEAMLESS_GZ
-	help
-	  dpkg-deb unpacks and provides information about Debian archives.
-
-	  This implementation of dpkg-deb cannot pack archives.
-
-	  Unless you have a specific application which requires dpkg-deb,
-	  say N here.
-
-config BUSYBOX_FEATURE_DPKG_DEB_EXTRACT_ONLY
-	bool "Extract only (-x)"
-	default n
-	depends on BUSYBOX_DPKG_DEB
-	help
-	  This reduces dpkg-deb to the equivalent of
-	  "ar -p <deb> data.tar.gz | tar -zx". However it saves space as none
-	  of the extra dpkg-deb, ar or tar options are needed, they are linked
-	  to internally.
-
-config BUSYBOX_GUNZIP
-	bool "gunzip"
-	default y
-	help
-	  gunzip is used to decompress archives created by gzip.
-	  You can use the `-t' option to test the integrity of
-	  an archive, without decompressing it.
-
-config BUSYBOX_ZCAT
-	bool "zcat"
+	bool "dpkg-deb (30 kb)"
 	default y
 	default y
+	select BUSYBOX_FEATURE_SEAMLESS_GZ
 	help
 	help
-	  Alias to "gunzip -c".
+	dpkg-deb unpacks and provides information about Debian archives.
 
 
-config BUSYBOX_FEATURE_GUNZIP_LONG_OPTIONS
-	bool "Enable long options"
-	default y
-	depends on BUSYBOX_GUNZIP && BUSYBOX_LONG_OPTS
-	help
-	  Enable use of long options.
+	This implementation of dpkg-deb cannot pack archives.
 
 
+	Unless you have a specific application which requires dpkg-deb,
+	say N here.
 config BUSYBOX_GZIP
 config BUSYBOX_GZIP
-	bool "gzip"
+	bool "gzip (17 kb)"
 	default y
 	default y
 	help
 	help
-	  gzip is used to compress files.
-	  It's probably the most widely used UNIX compression program.
+	gzip is used to compress files.
+	It's probably the most widely used UNIX compression program.
 
 
 config BUSYBOX_FEATURE_GZIP_LONG_OPTIONS
 config BUSYBOX_FEATURE_GZIP_LONG_OPTIONS
 	bool "Enable long options"
 	bool "Enable long options"
 	default y
 	default y
 	depends on BUSYBOX_GZIP && BUSYBOX_LONG_OPTS
 	depends on BUSYBOX_GZIP && BUSYBOX_LONG_OPTS
-	help
-	  Enable use of long options, increases size by about 106 Bytes
 
 
 config BUSYBOX_GZIP_FAST
 config BUSYBOX_GZIP_FAST
-	int "Trade memory for gzip speed (0:small,slow - 2:fast,big)"
+	int "Trade memory for speed (0:small,slow - 2:fast,big)"
 	default 0
 	default 0
 	range 0 2
 	range 0 2
 	depends on BUSYBOX_GZIP
 	depends on BUSYBOX_GZIP
 	help
 	help
-	  Enable big memory options for gzip.
-	  0: small buffers, small hash-tables
-	  1: larger buffers, larger hash-tables
-	  2: larger buffers, largest hash-tables
-	  Larger models may give slightly better compression
+	Enable big memory options for gzip.
+	0: small buffers, small hash-tables
+	1: larger buffers, larger hash-tables
+	2: larger buffers, largest hash-tables
+	Larger models may give slightly better compression
 
 
-config BUSYBOX_LZOP
-	bool "lzop"
+config BUSYBOX_FEATURE_GZIP_LEVELS
+	bool "Enable compression levels"
 	default n
 	default n
+	depends on BUSYBOX_GZIP
 	help
 	help
-	  Lzop compression/decompresion.
+	Enable support for compression levels 4-9. The default level
+	is 6. If levels 1-3 are specified, 4 is used.
+	If this option is not selected, -N options are ignored and -6
+	is used.
 
 
-config BUSYBOX_UNLZOP
-	bool "unlzop"
-	default n
+config BUSYBOX_FEATURE_GZIP_DECOMPRESS
+	bool "Enable decompression"
+	default y
+	depends on BUSYBOX_GZIP || BUSYBOX_GUNZIP || BUSYBOX_ZCAT
 	help
 	help
-	  Lzop decompresion.
-
-config BUSYBOX_LZOPCAT
-	bool "lzopcat"
+	Enable -d (--decompress) and -t (--test) options for gzip.
+	This will be automatically selected if gunzip or zcat is
+	enabled.
+config BUSYBOX_IPKG
+	bool "ipkg"
 	default n
 	default n
 	help
 	help
-	  Alias to "unlzop -c".
+	  ipkg is a tool to install, build, remove and manage
+	  packages.
 
 
-config BUSYBOX_LZOP_COMPR_HIGH
-	bool "lzop compression levels 7,8,9 (not very useful)"
-	default n
-	depends on BUSYBOX_LZOP
+config BUSYBOX_LZOP
+	bool "lzop (12 kb)"
+	default y
 	help
 	help
-	  High levels (7,8,9) of lzop compression. These levels
-	  are actually slower than gzip at equivalent compression ratios
-	  and take up 3.2K of code.
+	Lzop compression/decompresion.
 
 
-config BUSYBOX_FEATURE_GZIP_LEVELS
-	bool "Enable compression levels"
-	default n
-	depends on BUSYBOX_GZIP
+config BUSYBOX_UNLZOP
+	bool "unlzop (13 kb)"
+	default n  # INCOMPAT: upstream lzop does not provide such tool
 	help
 	help
-	  Enable support for compression levels 4-9. The default level
-	  is 6. If levels 1-3 are specified, 4 is used.
-	  If this option is not selected, -N options are ignored and -9
-	  is used.
+	Lzop decompresion.
 
 
-config BUSYBOX_IPKG
-	bool "ipkg"
-	default n
+config BUSYBOX_LZOPCAT
+	bool "lzopcat (13 kb)"
+	default n  # INCOMPAT: upstream lzop does not provide such tool
 	help
 	help
-	  ipkg is the itsy package management system.
+	Alias to "lzop -dc".
 
 
-config BUSYBOX_RPM2CPIO
-	bool "rpm2cpio"
-	depends on !BUSYBOX_DISABLE_RPM
+config BUSYBOX_LZOP_COMPR_HIGH
+	bool "lzop compression levels 7,8,9 (not very useful)"
 	default n
 	default n
+	depends on BUSYBOX_LZOP || BUSYBOX_UNLZOP || BUSYBOX_LZOPCAT
 	help
 	help
-	  Converts a RPM file into a CPIO archive.
-
+	High levels (7,8,9) of lzop compression. These levels
+	are actually slower than gzip at equivalent compression ratios
+	and take up 3.2K of code.
 config BUSYBOX_RPM
 config BUSYBOX_RPM
-	bool "rpm"
-	depends on !BUSYBOX_DISABLE_RPM
-	default n
+	bool "rpm (32 kb)"
+	default y
 	help
 	help
-	  Mini RPM applet - queries and extracts RPM packages.
-
+	Mini RPM applet - queries and extracts RPM packages.
+config BUSYBOX_RPM2CPIO
+	bool "rpm2cpio (21 kb)"
+	default y
+	help
+	Converts a RPM file into a CPIO archive.
 config BUSYBOX_TAR
 config BUSYBOX_TAR
-	bool "tar"
-	depends on !BUSYBOX_DISABLE_TAR
+	bool "tar (39 kb)"
 	default y
 	default y
 	help
 	help
-	  tar is an archiving program. It's commonly used with gzip to
-	  create compressed archives. It's probably the most widely used
-	  UNIX archive program.
+	tar is an archiving program. It's commonly used with gzip to
+	create compressed archives. It's probably the most widely used
+	UNIX archive program.
+
+config BUSYBOX_FEATURE_TAR_LONG_OPTIONS
+	bool "Enable long options"
+	default y
+	depends on BUSYBOX_TAR && BUSYBOX_LONG_OPTS
 
 
 config BUSYBOX_FEATURE_TAR_CREATE
 config BUSYBOX_FEATURE_TAR_CREATE
-	bool "Enable archive creation"
+	bool "Enable -c (archive creation)"
 	default y
 	default y
 	depends on BUSYBOX_TAR
 	depends on BUSYBOX_TAR
-	help
-	  If you enable this option you'll be able to create
-	  tar archives using the `-c' option.
 
 
 config BUSYBOX_FEATURE_TAR_AUTODETECT
 config BUSYBOX_FEATURE_TAR_AUTODETECT
 	bool "Autodetect compressed tarballs"
 	bool "Autodetect compressed tarballs"
 	default y
 	default y
 	depends on BUSYBOX_TAR && (BUSYBOX_FEATURE_SEAMLESS_Z || BUSYBOX_FEATURE_SEAMLESS_GZ || BUSYBOX_FEATURE_SEAMLESS_BZ2 || BUSYBOX_FEATURE_SEAMLESS_LZMA || BUSYBOX_FEATURE_SEAMLESS_XZ)
 	depends on BUSYBOX_TAR && (BUSYBOX_FEATURE_SEAMLESS_Z || BUSYBOX_FEATURE_SEAMLESS_GZ || BUSYBOX_FEATURE_SEAMLESS_BZ2 || BUSYBOX_FEATURE_SEAMLESS_LZMA || BUSYBOX_FEATURE_SEAMLESS_XZ)
 	help
 	help
-	  With this option tar can automatically detect compressed
-	  tarballs. Currently it works only on files (not pipes etc).
+	With this option tar can automatically detect compressed
+	tarballs. Currently it works only on files (not pipes etc).
 
 
 config BUSYBOX_FEATURE_TAR_FROM
 config BUSYBOX_FEATURE_TAR_FROM
-	bool "Enable -X (exclude from) and -T (include from) options)"
+	bool "Enable -X (exclude from) and -T (include from) options"
 	default y
 	default y
 	depends on BUSYBOX_TAR
 	depends on BUSYBOX_TAR
 	help
 	help
-	  If you enable this option you'll be able to specify
-	  a list of files to include or exclude from an archive.
+	If you enable this option you'll be able to specify
+	a list of files to include or exclude from an archive.
 
 
 config BUSYBOX_FEATURE_TAR_OLDGNU_COMPATIBILITY
 config BUSYBOX_FEATURE_TAR_OLDGNU_COMPATIBILITY
-	bool "Support for old tar header format"
+	bool "Support old tar header format"
 	default y
 	default y
 	depends on BUSYBOX_TAR || BUSYBOX_DPKG
 	depends on BUSYBOX_TAR || BUSYBOX_DPKG
 	help
 	help
-	  This option is required to unpack archives created in
-	  the old GNU format; help to kill this old format by
-	  repacking your ancient archives with the new format.
+	This option is required to unpack archives created in
+	the old GNU format; help to kill this old format by
+	repacking your ancient archives with the new format.
 
 
 config BUSYBOX_FEATURE_TAR_OLDSUN_COMPATIBILITY
 config BUSYBOX_FEATURE_TAR_OLDSUN_COMPATIBILITY
 	bool "Enable untarring of tarballs with checksums produced by buggy Sun tar"
 	bool "Enable untarring of tarballs with checksums produced by buggy Sun tar"
-	default n
+	default y
 	depends on BUSYBOX_TAR || BUSYBOX_DPKG
 	depends on BUSYBOX_TAR || BUSYBOX_DPKG
 	help
 	help
-	  This option is required to unpack archives created by some old
-	  version of Sun's tar (it was calculating checksum using signed
-	  arithmetic). It is said to be fixed in newer Sun tar, but "old"
-	  tarballs still exist.
+	This option is required to unpack archives created by some old
+	version of Sun's tar (it was calculating checksum using signed
+	arithmetic). It is said to be fixed in newer Sun tar, but "old"
+	tarballs still exist.
 
 
 config BUSYBOX_FEATURE_TAR_GNU_EXTENSIONS
 config BUSYBOX_FEATURE_TAR_GNU_EXTENSIONS
-	bool "Support for GNU tar extensions (long filenames)"
+	bool "Support GNU tar extensions (long filenames)"
 	default y
 	default y
 	depends on BUSYBOX_TAR || BUSYBOX_DPKG
 	depends on BUSYBOX_TAR || BUSYBOX_DPKG
-	help
-	  With this option busybox supports GNU long filenames and
-	  linknames.
-
-config BUSYBOX_FEATURE_TAR_LONG_OPTIONS
-	bool "Enable long options"
-	default y
-	depends on BUSYBOX_TAR && BUSYBOX_LONG_OPTS
-	help
-	  Enable use of long options, increases size by about 400 Bytes
 
 
 config BUSYBOX_FEATURE_TAR_TO_COMMAND
 config BUSYBOX_FEATURE_TAR_TO_COMMAND
-	bool "Support for writing to an external program"
+	bool "Support writing to an external program (--to-command)"
 	default y
 	default y
 	depends on BUSYBOX_TAR && BUSYBOX_FEATURE_TAR_LONG_OPTIONS
 	depends on BUSYBOX_TAR && BUSYBOX_FEATURE_TAR_LONG_OPTIONS
 	help
 	help
-	  If you enable this option you'll be able to instruct tar to send
-	  the contents of each extracted file to the standard input of an
-	  external program.
+	If you enable this option you'll be able to instruct tar to send
+	the contents of each extracted file to the standard input of an
+	external program.
 
 
 config BUSYBOX_FEATURE_TAR_UNAME_GNAME
 config BUSYBOX_FEATURE_TAR_UNAME_GNAME
 	bool "Enable use of user and group names"
 	bool "Enable use of user and group names"
 	default y
 	default y
 	depends on BUSYBOX_TAR
 	depends on BUSYBOX_TAR
 	help
 	help
-	  Enables use of user and group names in tar. This affects contents
-	  listings (-t) and preserving permissions when unpacking (-p).
-	  +200 bytes.
+	Enable use of user and group names in tar. This affects contents
+	listings (-t) and preserving permissions when unpacking (-p).
+	+200 bytes.
 
 
 config BUSYBOX_FEATURE_TAR_NOPRESERVE_TIME
 config BUSYBOX_FEATURE_TAR_NOPRESERVE_TIME
-	bool "Enable -m (do not preserve time) option"
+	bool "Enable -m (do not preserve time) GNU option"
 	default y
 	default y
 	depends on BUSYBOX_TAR
 	depends on BUSYBOX_TAR
-	help
-	  With this option busybox supports GNU tar -m
-	  (do not preserve time) option.
 
 
 config BUSYBOX_FEATURE_TAR_SELINUX
 config BUSYBOX_FEATURE_TAR_SELINUX
-	bool "Support for extracting SELinux labels"
+	bool "Support extracting SELinux labels"
 	default n
 	default n
 	depends on BUSYBOX_TAR && BUSYBOX_SELINUX
 	depends on BUSYBOX_TAR && BUSYBOX_SELINUX
 	help
 	help
-	  With this option busybox supports restoring SELinux labels
-	  when extracting files from tar archives.
-
-config BUSYBOX_UNCOMPRESS
-	bool "uncompress"
-	default n
-	help
-	  uncompress is used to decompress archives created by compress.
-	  Not much used anymore, replaced by gzip/gunzip.
-
-config BUSYBOX_UNLZMA
-	bool "unlzma"
-	default n
-	help
-	  unlzma is a compression utility using the Lempel-Ziv-Markov chain
-	  compression algorithm, and range coding. Compression
-	  is generally considerably better than that achieved by the bzip2
-	  compressors.
-
-	  The BusyBox unlzma applet is limited to decompression only.
-	  On an x86 system, this applet adds about 4K.
-
-config BUSYBOX_FEATURE_LZMA_FAST
-	bool "Optimize unlzma for speed"
-	default n
-	depends on BUSYBOX_UNLZMA || BUSYBOX_LZCAT || BUSYBOX_LZMA
-	help
-	  This option reduces decompression time by about 25% at the cost of
-	  a 1K bigger binary.
-
-config BUSYBOX_LZCAT
-	bool "lzcat"
-	default n
-	help
-	  unlzma is a compression utility using the Lempel-Ziv-Markov chain
-	  compression algorithm, and range coding. Compression
-	  is generally considerably better than that achieved by the bzip2
-	  compressors.
-
-	  The BusyBox unlzma applet is limited to decompression only.
-	  On an x86 system, this applet adds about 4K.
-
-config BUSYBOX_LZMA
-	bool "Provide lzma alias which supports only unpacking"
-	default n
-	help
-	  Enable this option if you want commands like "lzma -d" to work.
-	  IOW: you'll get lzma applet, but it will always require -d option.
-
-config BUSYBOX_UNXZ
-	bool "unxz"
-	depends on !BUSYBOX_DISABLE_UNXZ
-	default n
-	help
-	  unxz is a unlzma successor.
-
-config BUSYBOX_XZCAT
-	bool "xzcat"
-	default n
-	help
-	  Alias to "unxz -c".
-
-config BUSYBOX_XZ
-	bool "Provide xz alias which supports only unpacking"
-	depends on !BUSYBOX_DISABLE_XZ
-	default n
-	help
-	  Enable this option if you want commands like "xz -d" to work.
-	  IOW: you'll get xz applet, but it will always require -d option.
-
+	With this option busybox supports restoring SELinux labels
+	when extracting files from tar archives.
 config BUSYBOX_UNZIP
 config BUSYBOX_UNZIP
-	bool "unzip"
-	depends on !BUSYBOX_DISABLE_UNZIP
-	default n
+	bool "unzip (26 kb)"
+	default y
 	help
 	help
-	  unzip will list or extract files from a ZIP archive,
-	  commonly found on DOS/WIN systems. The default behavior
-	  (with no options) is to extract the archive into the
-	  current directory. Use the `-d' option to extract to a
-	  directory of your choice.
+	unzip will list or extract files from a ZIP archive,
+	commonly found on DOS/WIN systems. The default behavior
+	(with no options) is to extract the archive into the
+	current directory.
 
 
 config BUSYBOX_FEATURE_UNZIP_CDF
 config BUSYBOX_FEATURE_UNZIP_CDF
 	bool "Read and use Central Directory data"
 	bool "Read and use Central Directory data"

+ 97 - 115
package/busybox/config/console-tools/Config.in

@@ -1,175 +1,157 @@
 # DO NOT EDIT. This file is generated from Config.src
 # DO NOT EDIT. This file is generated from Config.src
 #
 #
 # For a description of the syntax of this configuration file,
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 #
 
 
 menu "Console Utilities"
 menu "Console Utilities"
 
 
 config BUSYBOX_CHVT
 config BUSYBOX_CHVT
-	bool "chvt"
-	default n
-	select BUSYBOX_PLATFORM_LINUX
-	help
-	  This program is used to change to another terminal.
-	  Example: chvt 4 (change to terminal /dev/tty4)
-
-config BUSYBOX_FGCONSOLE
-	bool "fgconsole"
-	default n
+	bool "chvt (2 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  This program prints active (foreground) console number.
-
+	This program is used to change to another terminal.
+	Example: chvt 4 (change to terminal /dev/tty4)
 config BUSYBOX_CLEAR
 config BUSYBOX_CLEAR
-	bool "clear"
-	default n
+	bool "clear (tiny)"
+	default y
 	help
 	help
-	  This program clears the terminal screen.
-
+	This program clears the terminal screen.
 config BUSYBOX_DEALLOCVT
 config BUSYBOX_DEALLOCVT
-	bool "deallocvt"
-	default n
+	bool "deallocvt (1.9 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  This program deallocates unused virtual consoles.
-
+	This program deallocates unused virtual consoles.
 config BUSYBOX_DUMPKMAP
 config BUSYBOX_DUMPKMAP
-	bool "dumpkmap"
-	default n
+	bool "dumpkmap (1.6 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  This program dumps the kernel's keyboard translation table to
-	  stdout, in binary format. You can then use loadkmap to load it.
-
+	This program dumps the kernel's keyboard translation table to
+	stdout, in binary format. You can then use loadkmap to load it.
+config BUSYBOX_FGCONSOLE
+	bool "fgconsole (1.5 kb)"
+	default y
+	select BUSYBOX_PLATFORM_LINUX
+	help
+	This program prints active (foreground) console number.
 config BUSYBOX_KBD_MODE
 config BUSYBOX_KBD_MODE
-	bool "kbd_mode"
-	default n
+	bool "kbd_mode (4.1 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  This program reports and sets keyboard mode.
-
+	This program reports and sets keyboard mode.
 config BUSYBOX_LOADFONT
 config BUSYBOX_LOADFONT
-	bool "loadfont"
-	default n
+	bool "loadfont (5.2 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  This program loads a console font from standard input.
+	This program loads a console font from standard input.
 
 
-config BUSYBOX_LOADKMAP
-	bool "loadkmap"
-	default n
+config BUSYBOX_SETFONT
+	bool "setfont (24 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  This program loads a keyboard translation table from
-	  standard input.
+	Allows to load console screen map. Useful for i18n.
+
+config BUSYBOX_FEATURE_SETFONT_TEXTUAL_MAP
+	bool "Support reading textual screen maps"
+	default y
+	depends on BUSYBOX_SETFONT
+	help
+	Support reading textual screen maps.
+
+config BUSYBOX_DEFAULT_SETFONT_DIR
+	string "Default directory for console-tools files"
+	default ""
+	depends on BUSYBOX_SETFONT
+	help
+	Directory to use if setfont's params are simple filenames
+	(not /path/to/file or ./file). Default is "" (no default directory).
 
 
+comment "Common options for loadfont and setfont"
+	depends on BUSYBOX_LOADFONT || BUSYBOX_SETFONT
+
+config BUSYBOX_FEATURE_LOADFONT_PSF2
+	bool "Support PSF2 console fonts"
+	default y
+	depends on BUSYBOX_LOADFONT || BUSYBOX_SETFONT
+
+config BUSYBOX_FEATURE_LOADFONT_RAW
+	bool "Support old (raw) console fonts"
+	default y
+	depends on BUSYBOX_LOADFONT || BUSYBOX_SETFONT
+config BUSYBOX_LOADKMAP
+	bool "loadkmap (1.8 kb)"
+	default y
+	select BUSYBOX_PLATFORM_LINUX
+	help
+	This program loads a keyboard translation table from
+	standard input.
 config BUSYBOX_OPENVT
 config BUSYBOX_OPENVT
-	bool "openvt"
-	default n
+	bool "openvt (7.2 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  This program is used to start a command on an unused
-	  virtual terminal.
-
+	This program is used to start a command on an unused
+	virtual terminal.
 config BUSYBOX_RESET
 config BUSYBOX_RESET
-	bool "reset"
-	default n
+	bool "reset (345 bytes)"
+	default y
 	help
 	help
-	  This program is used to reset the terminal screen, if it
-	  gets messed up.
-
+	This program is used to reset the terminal screen, if it
+	gets messed up.
 config BUSYBOX_RESIZE
 config BUSYBOX_RESIZE
-	bool "resize"
-	default n
+	bool "resize (903 bytes)"
+	default y
 	help
 	help
-	  This program is used to (re)set the width and height of your current
-	  terminal.
+	This program is used to (re)set the width and height of your current
+	terminal.
 
 
 config BUSYBOX_FEATURE_RESIZE_PRINT
 config BUSYBOX_FEATURE_RESIZE_PRINT
 	bool "Print environment variables"
 	bool "Print environment variables"
 	default y
 	default y
 	depends on BUSYBOX_RESIZE
 	depends on BUSYBOX_RESIZE
 	help
 	help
-	  Prints the newly set size (number of columns and rows) of
-	  the terminal.
-	  E.g.:
-	  COLUMNS=80;LINES=44;export COLUMNS LINES;
-
+	Prints the newly set size (number of columns and rows) of
+	the terminal.
+	E.g.:
+	COLUMNS=80;LINES=44;export COLUMNS LINES;
 config BUSYBOX_SETCONSOLE
 config BUSYBOX_SETCONSOLE
-	bool "setconsole"
-	default n
+	bool "setconsole (3.6 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  This program redirects the system console to another device,
-	  like the current tty while logged in via telnet.
+	Redirect writes to /dev/console to another device,
+	like the current tty while logged in via telnet.
+	This does not redirect kernel log, only writes
+	from user space.
 
 
 config BUSYBOX_FEATURE_SETCONSOLE_LONG_OPTIONS
 config BUSYBOX_FEATURE_SETCONSOLE_LONG_OPTIONS
 	bool "Enable long options"
 	bool "Enable long options"
 	default y
 	default y
 	depends on BUSYBOX_SETCONSOLE && BUSYBOX_LONG_OPTS
 	depends on BUSYBOX_SETCONSOLE && BUSYBOX_LONG_OPTS
-	help
-	  Support long options for the setconsole applet.
-
-config BUSYBOX_SETFONT
-	bool "setfont"
-	default n
-	select BUSYBOX_PLATFORM_LINUX
-	help
-	  Allows to load console screen map. Useful for i18n.
-
-config BUSYBOX_FEATURE_SETFONT_TEXTUAL_MAP
-	bool "Support reading textual screen maps"
-	default y
-	depends on BUSYBOX_SETFONT
-	help
-	  Support reading textual screen maps.
-
-config BUSYBOX_DEFAULT_SETFONT_DIR
-	string "Default directory for console-tools files"
-	default ""
-	depends on BUSYBOX_SETFONT
-	help
-	  Directory to use if setfont's params are simple filenames
-	  (not /path/to/file or ./file). Default is "" (no default directory).
-
 config BUSYBOX_SETKEYCODES
 config BUSYBOX_SETKEYCODES
-	bool "setkeycodes"
-	default n
+	bool "setkeycodes (2.1 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  This program loads entries into the kernel's scancode-to-keycode
-	  map, allowing unusual keyboards to generate usable keycodes.
-
+	This program loads entries into the kernel's scancode-to-keycode
+	map, allowing unusual keyboards to generate usable keycodes.
 config BUSYBOX_SETLOGCONS
 config BUSYBOX_SETLOGCONS
-	bool "setlogcons"
-	default n
+	bool "setlogcons (1.8 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  This program redirects the output console of kernel messages.
-
+	This program redirects the output console of kernel messages.
 config BUSYBOX_SHOWKEY
 config BUSYBOX_SHOWKEY
-	bool "showkey"
-	default n
-	select BUSYBOX_PLATFORM_LINUX
-	help
-	  Shows keys pressed.
-
-comment "Common options for loadfont and setfont"
-	depends on BUSYBOX_LOADFONT || BUSYBOX_SETFONT
-
-config BUSYBOX_FEATURE_LOADFONT_PSF2
-	bool "Support for PSF2 console fonts"
+	bool "showkey (4.7 kb)"
 	default y
 	default y
-	depends on BUSYBOX_LOADFONT || BUSYBOX_SETFONT
-	help
-	  Support PSF2 console fonts.
-
-config BUSYBOX_FEATURE_LOADFONT_RAW
-	bool "Support for old (raw) console fonts"
-	default y
-	depends on BUSYBOX_LOADFONT || BUSYBOX_SETFONT
+	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  Support old (raw) console fonts.
+	Shows keys pressed.
 
 
 endmenu
 endmenu

File diff suppressed because it is too large
+ 311 - 530
package/busybox/config/coreutils/Config.in


+ 36 - 50
package/busybox/config/debianutils/Config.in

@@ -1,84 +1,70 @@
 # DO NOT EDIT. This file is generated from Config.src
 # DO NOT EDIT. This file is generated from Config.src
 #
 #
 # For a description of the syntax of this configuration file,
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 #
 
 
 menu "Debian Utilities"
 menu "Debian Utilities"
 
 
-config BUSYBOX_MKTEMP
-	bool "mktemp"
-	default n
-	help
-	  mktemp is used to create unique temporary files
-
 config BUSYBOX_PIPE_PROGRESS
 config BUSYBOX_PIPE_PROGRESS
-	bool "pipe_progress"
-	default n
+	bool "pipe_progress (275 bytes)"
+	default y
 	help
 	help
-	  Display a dot to indicate pipe activity.
-
+	Display a dot to indicate pipe activity.
 config BUSYBOX_RUN_PARTS
 config BUSYBOX_RUN_PARTS
-	bool "run-parts"
-	default n
+	bool "run-parts (6.1 kb)"
+	default y
 	help
 	help
-	  run-parts is a utility designed to run all the scripts in a directory.
+	run-parts is a utility designed to run all the scripts in a directory.
 
 
-	  It is useful to set up a directory like cron.daily, where you need to
-	  execute all the scripts in that directory.
+	It is useful to set up a directory like cron.daily, where you need to
+	execute all the scripts in that directory.
 
 
-	  In this implementation of run-parts some features (such as report
-	  mode) are not implemented.
+	In this implementation of run-parts some features (such as report
+	mode) are not implemented.
 
 
-	  Unless you know that run-parts is used in some of your scripts
-	  you can safely say N here.
+	Unless you know that run-parts is used in some of your scripts
+	you can safely say N here.
 
 
 config BUSYBOX_FEATURE_RUN_PARTS_LONG_OPTIONS
 config BUSYBOX_FEATURE_RUN_PARTS_LONG_OPTIONS
 	bool "Enable long options"
 	bool "Enable long options"
-	default n
+	default y
 	depends on BUSYBOX_RUN_PARTS && BUSYBOX_LONG_OPTS
 	depends on BUSYBOX_RUN_PARTS && BUSYBOX_LONG_OPTS
-	help
-	  Support long options for the run-parts applet.
 
 
 config BUSYBOX_FEATURE_RUN_PARTS_FANCY
 config BUSYBOX_FEATURE_RUN_PARTS_FANCY
 	bool "Support additional arguments"
 	bool "Support additional arguments"
-	default n
+	default y
 	depends on BUSYBOX_RUN_PARTS
 	depends on BUSYBOX_RUN_PARTS
 	help
 	help
-	  Support additional options:
-	  -l --list print the names of the all matching files (not
-	            limited to executables), but don't actually run them.
-
+	Support additional options:
+	-l --list print the names of the all matching files (not
+	limited to executables), but don't actually run them.
 config BUSYBOX_START_STOP_DAEMON
 config BUSYBOX_START_STOP_DAEMON
-	bool "start-stop-daemon"
-	default n
+	bool "start-stop-daemon (12 kb)"
+	default y
 	help
 	help
-	  start-stop-daemon is used to control the creation and
-	  termination of system-level processes, usually the ones
-	  started during the startup of the system.
-
-config BUSYBOX_FEATURE_START_STOP_DAEMON_FANCY
-	bool "Support additional arguments"
-	default n
-	depends on BUSYBOX_START_STOP_DAEMON
-	help
-	  Support additional arguments.
-	  -o|--oknodo ignored since we exit with 0 anyway
-	  -v|--verbose
-	  -N|--nicelevel N
+	start-stop-daemon is used to control the creation and
+	termination of system-level processes, usually the ones
+	started during the startup of the system.
 
 
 config BUSYBOX_FEATURE_START_STOP_DAEMON_LONG_OPTIONS
 config BUSYBOX_FEATURE_START_STOP_DAEMON_LONG_OPTIONS
 	bool "Enable long options"
 	bool "Enable long options"
-	default n
+	default y
 	depends on BUSYBOX_START_STOP_DAEMON && BUSYBOX_LONG_OPTS
 	depends on BUSYBOX_START_STOP_DAEMON && BUSYBOX_LONG_OPTS
-	help
-	  Support long options for the start-stop-daemon applet.
 
 
+config BUSYBOX_FEATURE_START_STOP_DAEMON_FANCY
+	bool "Support additional arguments"
+	default y
+	depends on BUSYBOX_START_STOP_DAEMON
+	help
+	-o|--oknodo ignored since we exit with 0 anyway
+	-v|--verbose
+	-N|--nicelevel N
 config BUSYBOX_WHICH
 config BUSYBOX_WHICH
-	bool "which"
-	default n
+	bool "which (3.8 kb)"
+	default y
 	help
 	help
-	  which is used to find programs in your PATH and
-	  print out their pathnames.
+	which is used to find programs in your PATH and
+	print out their pathnames.
 
 
 endmenu
 endmenu

+ 25 - 28
package/busybox/config/e2fsprogs/Config.in

@@ -1,16 +1,35 @@
 # DO NOT EDIT. This file is generated from Config.src
 # DO NOT EDIT. This file is generated from Config.src
 #
 #
 # For a description of the syntax of this configuration file,
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 #
 
 
 menu "Linux Ext2 FS Progs"
 menu "Linux Ext2 FS Progs"
 
 
 config BUSYBOX_CHATTR
 config BUSYBOX_CHATTR
-	bool "chattr"
-	default n
+	bool "chattr (3.8 kb)"
+	default y
 	help
 	help
-	  chattr changes the file attributes on a second extended file system.
+	chattr changes the file attributes on a second extended file system.
+config BUSYBOX_FSCK
+	bool "fsck (7.4 kb)"
+	default y
+	help
+	fsck is used to check and optionally repair one or more filesystems.
+	In actuality, fsck is simply a front-end for the various file system
+	checkers (fsck.fstype) available under Linux.
+config BUSYBOX_LSATTR
+	bool "lsattr (5.5 kb)"
+	default y
+	select BUSYBOX_PLATFORM_LINUX
+	help
+	lsattr lists the file attributes on a second extended file system.
+config BUSYBOX_TUNE2FS
+	bool "tune2fs (4.4 kb)"
+	default n  # off: it is too limited compared to upstream version
+	help
+	tune2fs allows the system administrator to adjust various tunable
+	filesystem parameters on Linux ext2/ext3 filesystems.
 
 
 ### config E2FSCK
 ### config E2FSCK
 ###	bool "e2fsck"
 ###	bool "e2fsck"
@@ -21,35 +40,13 @@ config BUSYBOX_CHATTR
 ###	  The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also
 ###	  The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also
 ###	  provided.
 ###	  provided.
 
 
-config BUSYBOX_FSCK
-	bool "fsck"
-	default n
-	help
-	  fsck is used to check and optionally repair one or more filesystems.
-	  In actuality, fsck is simply a front-end for the various file system
-	  checkers (fsck.fstype) available under Linux.
-
-config BUSYBOX_LSATTR
-	bool "lsattr"
-	default n
-	select BUSYBOX_PLATFORM_LINUX
-	help
-	  lsattr lists the file attributes on a second extended file system.
-
-### config MKE2FS
+### config BUSYBOX_MKE2FS
 ###	bool "mke2fs"
 ###	bool "mke2fs"
 ###	default y
 ###	default y
 ###	help
 ###	help
 ###	  mke2fs is used to create an ext2/ext3 filesystem. The normal compat
 ###	  mke2fs is used to create an ext2/ext3 filesystem. The normal compat
 ###	  symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
 ###	  symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
 
 
-config BUSYBOX_TUNE2FS
-	bool "tune2fs"
-	default n  # off: it is too limited compared to upstream version
-	help
-	  tune2fs allows the system administrator to adjust various tunable
-	  filesystem parameters on Linux ext2/ext3 filesystems.
-
 ### config E2LABEL
 ### config E2LABEL
 ###	bool "e2label"
 ###	bool "e2label"
 ###	default y
 ###	default y
@@ -59,7 +56,7 @@ config BUSYBOX_TUNE2FS
 ###	  filesystem located on device.
 ###	  filesystem located on device.
 
 
 ### NB: this one is now provided by util-linux/volume_id/*
 ### NB: this one is now provided by util-linux/volume_id/*
-### config FINDFS
+### config BUSYBOX_FINDFS
 ###	bool "findfs"
 ###	bool "findfs"
 ###	default y
 ###	default y
 ###	depends on BUSYBOX_TUNE2FS
 ###	depends on BUSYBOX_TUNE2FS

+ 0 - 69
package/busybox/config/e2fsprogs/old_e2fsprogs/Config.in

@@ -1,69 +0,0 @@
-# DO NOT EDIT. This file is generated from Config.src
-#
-# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
-#
-
-menu "Linux Ext2 FS Progs"
-
-
-config BUSYBOX_CHATTR
-	bool "chattr"
-	default n
-	help
-	  chattr changes the file attributes on a second extended file system.
-
-config BUSYBOX_E2FSCK
-	bool "e2fsck"
-	default n
-	help
-	  e2fsck is used to check Linux second extended file systems (ext2fs).
-	  e2fsck also supports ext2 filesystems countaining a journal (ext3).
-	  The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also
-	  provided.
-
-config BUSYBOX_FSCK
-	bool "fsck"
-	default n
-	help
-	  fsck is used to check and optionally repair one or more filesystems.
-	  In actuality, fsck is simply a front-end for the various file system
-	  checkers (fsck.fstype) available under Linux.
-
-config BUSYBOX_LSATTR
-	bool "lsattr"
-	default n
-	help
-	  lsattr lists the file attributes on a second extended file system.
-
-config BUSYBOX_MKE2FS
-	bool "mke2fs"
-	default n
-	help
-	  mke2fs is used to create an ext2/ext3 filesystem. The normal compat
-	  symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
-
-config BUSYBOX_TUNE2FS
-	bool "tune2fs"
-	default n
-	help
-	  tune2fs allows the system administrator to adjust various tunable
-	  filesystem parameters on Linux ext2/ext3 filesystems.
-
-config BUSYBOX_E2LABEL
-	bool "e2label"
-	default n
-	depends on BUSYBOX_TUNE2FS
-	help
-	  e2label will display or change the filesystem label on the ext2
-	  filesystem located on device.
-
-config BUSYBOX_FINDFS
-	bool "findfs"
-	default n
-	depends on BUSYBOX_TUNE2FS
-	help
-	  findfs will search the disks in the system looking for a filesystem
-	  which has a label matching label or a UUID equal to uuid.
-
-endmenu

+ 117 - 136
package/busybox/config/editors/Config.in

@@ -1,152 +1,207 @@
 # DO NOT EDIT. This file is generated from Config.src
 # DO NOT EDIT. This file is generated from Config.src
 #
 #
 # For a description of the syntax of this configuration file,
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 #
 
 
 menu "Editors"
 menu "Editors"
 
 
-config BUSYBOX_PATCH
-	bool "patch"
-	depends on !BUSYBOX_DISABLE_PATCH
-	default n
+config BUSYBOX_AWK
+	bool "awk (23 kb)"
+	default y
+	help
+	Awk is used as a pattern scanning and processing language.
+
+config BUSYBOX_FEATURE_AWK_LIBM
+	bool "Enable math functions (requires libm)"
+	default y
+	depends on BUSYBOX_AWK
 	help
 	help
-	  Apply a unified diff formatted patch.
+	Enable math functions of the Awk programming language.
+	NOTE: This requires libm to be present for linking.
 
 
+config BUSYBOX_FEATURE_AWK_GNU_EXTENSIONS
+	bool "Enable a few GNU extensions"
+	default y
+	depends on BUSYBOX_AWK
+	help
+	Enable a few features from gawk:
+	* command line option -e AWK_PROGRAM
+	* simultaneous use of -f and -e on the command line.
+	This enables the use of awk library files.
+	Example: awk -f mylib.awk -e '{print myfunction($1);}' ...
+config BUSYBOX_CMP
+	bool "cmp (4.9 kb)"
+	default y
+	help
+	cmp is used to compare two files and returns the result
+	to standard output.
+config BUSYBOX_DIFF
+	bool "diff (13 kb)"
+	default y
+	help
+	diff compares two files or directories and outputs the
+	differences between them in a form that can be given to
+	the patch command.
+
+config BUSYBOX_FEATURE_DIFF_LONG_OPTIONS
+	bool "Enable long options"
+	default y
+	depends on BUSYBOX_DIFF && BUSYBOX_LONG_OPTS
+
+config BUSYBOX_FEATURE_DIFF_DIR
+	bool "Enable directory support"
+	default y
+	depends on BUSYBOX_DIFF
+	help
+	This option enables support for directory and subdirectory
+	comparison.
+config BUSYBOX_ED
+	bool "ed (21 kb)"
+	default y
+	help
+	The original 1970's Unix text editor, from the days of teletypes.
+	Small, simple, evil. Part of SUSv3. If you're not already using
+	this, you don't need it.
+config BUSYBOX_PATCH
+	bool "patch (9.4 kb)"
+	default y
+	help
+	Apply a unified diff formatted patch.
+config BUSYBOX_SED
+	bool "sed (12 kb)"
+	default y
+	help
+	sed is used to perform text transformations on a file
+	or input from a pipeline.
 config BUSYBOX_VI
 config BUSYBOX_VI
-	bool "vi"
+	bool "vi (23 kb)"
 	default y
 	default y
 	help
 	help
-	  'vi' is a text editor. More specifically, it is the One True
-	  text editor <grin>. It does, however, have a rather steep
-	  learning curve. If you are not already comfortable with 'vi'
-	  you may wish to use something else.
+	'vi' is a text editor. More specifically, it is the One True
+	text editor <grin>. It does, however, have a rather steep
+	learning curve. If you are not already comfortable with 'vi'
+	you may wish to use something else.
 
 
 config BUSYBOX_FEATURE_VI_MAX_LEN
 config BUSYBOX_FEATURE_VI_MAX_LEN
-	int "Maximum screen width in vi"
+	int "Maximum screen width"
 	range 256 16384
 	range 256 16384
 	default 4096
 	default 4096
 	depends on BUSYBOX_VI
 	depends on BUSYBOX_VI
 	help
 	help
-	  Contrary to what you may think, this is not eating much.
-	  Make it smaller than 4k only if you are very limited on memory.
+	Contrary to what you may think, this is not eating much.
+	Make it smaller than 4k only if you are very limited on memory.
 
 
 config BUSYBOX_FEATURE_VI_8BIT
 config BUSYBOX_FEATURE_VI_8BIT
-	bool "Allow vi to display 8-bit chars (otherwise shows dots)"
+	bool "Allow to display 8-bit chars (otherwise shows dots)"
 	default n
 	default n
 	depends on BUSYBOX_VI
 	depends on BUSYBOX_VI
 	help
 	help
-	  If your terminal can display characters with high bit set,
-	  you may want to enable this. Note: vi is not Unicode-capable.
-	  If your terminal combines several 8-bit bytes into one character
-	  (as in Unicode mode), this will not work properly.
+	If your terminal can display characters with high bit set,
+	you may want to enable this. Note: vi is not Unicode-capable.
+	If your terminal combines several 8-bit bytes into one character
+	(as in Unicode mode), this will not work properly.
 
 
 config BUSYBOX_FEATURE_VI_COLON
 config BUSYBOX_FEATURE_VI_COLON
 	bool "Enable \":\" colon commands (no \"ex\" mode)"
 	bool "Enable \":\" colon commands (no \"ex\" mode)"
 	default y
 	default y
 	depends on BUSYBOX_VI
 	depends on BUSYBOX_VI
 	help
 	help
-	  Enable a limited set of colon commands for vi. This does not
-	  provide an "ex" mode.
+	Enable a limited set of colon commands. This does not
+	provide an "ex" mode.
 
 
 config BUSYBOX_FEATURE_VI_YANKMARK
 config BUSYBOX_FEATURE_VI_YANKMARK
 	bool "Enable yank/put commands and mark cmds"
 	bool "Enable yank/put commands and mark cmds"
 	default y
 	default y
 	depends on BUSYBOX_VI
 	depends on BUSYBOX_VI
 	help
 	help
-	  This will enable you to use yank and put, as well as mark in
-	  busybox vi.
+	This enables you to use yank and put, as well as mark.
 
 
 config BUSYBOX_FEATURE_VI_SEARCH
 config BUSYBOX_FEATURE_VI_SEARCH
 	bool "Enable search and replace cmds"
 	bool "Enable search and replace cmds"
 	default y
 	default y
 	depends on BUSYBOX_VI
 	depends on BUSYBOX_VI
 	help
 	help
-	  Select this if you wish to be able to do search and replace in
-	  busybox vi.
+	Select this if you wish to be able to do search and replace.
 
 
 config BUSYBOX_FEATURE_VI_REGEX_SEARCH
 config BUSYBOX_FEATURE_VI_REGEX_SEARCH
 	bool "Enable regex in search and replace"
 	bool "Enable regex in search and replace"
 	default n   # Uses GNU regex, which may be unavailable. FIXME
 	default n   # Uses GNU regex, which may be unavailable. FIXME
 	depends on BUSYBOX_FEATURE_VI_SEARCH
 	depends on BUSYBOX_FEATURE_VI_SEARCH
 	help
 	help
-	  Use extended regex search.
+	Use extended regex search.
 
 
 config BUSYBOX_FEATURE_VI_USE_SIGNALS
 config BUSYBOX_FEATURE_VI_USE_SIGNALS
 	bool "Catch signals"
 	bool "Catch signals"
 	default y
 	default y
 	depends on BUSYBOX_VI
 	depends on BUSYBOX_VI
 	help
 	help
-	  Selecting this option will make busybox vi signal aware. This will
-	  make busybox vi support SIGWINCH to deal with Window Changes, catch
-	  Ctrl-Z and Ctrl-C and alarms.
+	Selecting this option will make vi signal aware. This will support
+	SIGWINCH to deal with Window Changes, catch ^Z and ^C and alarms.
 
 
 config BUSYBOX_FEATURE_VI_DOT_CMD
 config BUSYBOX_FEATURE_VI_DOT_CMD
 	bool "Remember previous cmd and \".\" cmd"
 	bool "Remember previous cmd and \".\" cmd"
 	default y
 	default y
 	depends on BUSYBOX_VI
 	depends on BUSYBOX_VI
 	help
 	help
-	  Make busybox vi remember the last command and be able to repeat it.
+	Make vi remember the last command and be able to repeat it.
 
 
 config BUSYBOX_FEATURE_VI_READONLY
 config BUSYBOX_FEATURE_VI_READONLY
 	bool "Enable -R option and \"view\" mode"
 	bool "Enable -R option and \"view\" mode"
 	default y
 	default y
 	depends on BUSYBOX_VI
 	depends on BUSYBOX_VI
 	help
 	help
-	  Enable the read-only command line option, which allows the user to
-	  open a file in read-only mode.
+	Enable the read-only command line option, which allows the user to
+	open a file in read-only mode.
 
 
 config BUSYBOX_FEATURE_VI_SETOPTS
 config BUSYBOX_FEATURE_VI_SETOPTS
-	bool "Enable set-able options, ai ic showmatch"
+	bool "Enable settable options, ai ic showmatch"
 	default y
 	default y
 	depends on BUSYBOX_VI
 	depends on BUSYBOX_VI
 	help
 	help
-	  Enable the editor to set some (ai, ic, showmatch) options.
+	Enable the editor to set some (ai, ic, showmatch) options.
 
 
 config BUSYBOX_FEATURE_VI_SET
 config BUSYBOX_FEATURE_VI_SET
-	bool "Support for :set"
+	bool "Support :set"
 	default y
 	default y
 	depends on BUSYBOX_VI
 	depends on BUSYBOX_VI
-	help
-	  Support for ":set".
 
 
 config BUSYBOX_FEATURE_VI_WIN_RESIZE
 config BUSYBOX_FEATURE_VI_WIN_RESIZE
 	bool "Handle window resize"
 	bool "Handle window resize"
 	default y
 	default y
 	depends on BUSYBOX_VI
 	depends on BUSYBOX_VI
 	help
 	help
-	  Make busybox vi behave nicely with terminals that get resized.
+	Behave nicely with terminals that get resized.
 
 
 config BUSYBOX_FEATURE_VI_ASK_TERMINAL
 config BUSYBOX_FEATURE_VI_ASK_TERMINAL
 	bool "Use 'tell me cursor position' ESC sequence to measure window"
 	bool "Use 'tell me cursor position' ESC sequence to measure window"
 	default y
 	default y
 	depends on BUSYBOX_VI
 	depends on BUSYBOX_VI
 	help
 	help
-	  If terminal size can't be retrieved and $LINES/$COLUMNS are not set,
-	  this option makes vi perform a last-ditch effort to find it:
-	  position cursor to 999,999 and ask terminal to report real
-	  cursor position using "ESC [ 6 n" escape sequence, then read stdin.
-
-	  This is not clean but helps a lot on serial lines and such.
+	If terminal size can't be retrieved and $LINES/$COLUMNS are not set,
+	this option makes vi perform a last-ditch effort to find it:
+	position cursor to 999,999 and ask terminal to report real
+	cursor position using "ESC [ 6 n" escape sequence, then read stdin.
+	This is not clean but helps a lot on serial lines and such.
 
 
 config BUSYBOX_FEATURE_VI_UNDO
 config BUSYBOX_FEATURE_VI_UNDO
-	bool "Support undo command 'u'"
+	bool "Support undo command \"u\""
 	default y
 	default y
 	depends on BUSYBOX_VI
 	depends on BUSYBOX_VI
 	help
 	help
-	  Support the 'u' command to undo insertion, deletion, and replacement
-	  of text.
+	Support the 'u' command to undo insertion, deletion, and replacement
+	of text.
 
 
 config BUSYBOX_FEATURE_VI_UNDO_QUEUE
 config BUSYBOX_FEATURE_VI_UNDO_QUEUE
 	bool "Enable undo operation queuing"
 	bool "Enable undo operation queuing"
 	default y
 	default y
 	depends on BUSYBOX_FEATURE_VI_UNDO
 	depends on BUSYBOX_FEATURE_VI_UNDO
 	help
 	help
-	  The vi undo functions can use an intermediate queue to greatly lower
-	  malloc() calls and overhead. When the maximum size of this queue is
-	  reached, the contents of the queue are committed to the undo stack.
-	  This increases the size of the undo code and allows some undo
-	  operations (especially un-typing/backspacing) to be far more useful.
+	The vi undo functions can use an intermediate queue to greatly lower
+	malloc() calls and overhead. When the maximum size of this queue is
+	reached, the contents of the queue are committed to the undo stack.
+	This increases the size of the undo code and allows some undo
+	operations (especially un-typing/backspacing) to be far more useful.
 
 
 config BUSYBOX_FEATURE_VI_UNDO_QUEUE_MAX
 config BUSYBOX_FEATURE_VI_UNDO_QUEUE_MAX
 	int "Maximum undo character queue size"
 	int "Maximum undo character queue size"
@@ -154,94 +209,20 @@ config BUSYBOX_FEATURE_VI_UNDO_QUEUE_MAX
 	range 32 65536
 	range 32 65536
 	depends on BUSYBOX_FEATURE_VI_UNDO_QUEUE
 	depends on BUSYBOX_FEATURE_VI_UNDO_QUEUE
 	help
 	help
-	  This option sets the number of bytes used at runtime for the queue.
-	  Smaller values will create more undo objects and reduce the amount
-	  of typed or backspaced characters that are grouped into one undo
-	  operation; larger values increase the potential size of each undo
-	  and will generally malloc() larger objects and less frequently.
-	  Unless you want more (or less) frequent "undo points" while typing,
-	  you should probably leave this unchanged.
-
-config BUSYBOX_AWK
-	bool "awk"
-	default n
-	help
-	  Awk is used as a pattern scanning and processing language. This is
-	  the BusyBox implementation of that programming language.
-
-config BUSYBOX_FEATURE_AWK_LIBM
-	bool "Enable math functions (requires libm)"
-	default n
-	depends on BUSYBOX_AWK
-	help
-	  Enable math functions of the Awk programming language.
-	  NOTE: This will require libm to be present for linking.
-
-config BUSYBOX_FEATURE_AWK_GNU_EXTENSIONS
-	bool "Enable a few GNU extensions"
-	default n
-	depends on BUSYBOX_AWK
-	help
-	  Enable a few features from gawk:
-	  * command line option -e AWK_PROGRAM
-	  * simultaneous use of -f and -e on the command line.
-	    This enables the use of awk library files.
-	    Ex: awk -f mylib.awk -e '{print myfunction($1);}' ...
-
-config BUSYBOX_CMP
-	bool "cmp"
-	default n
-	help
-	  cmp is used to compare two files and returns the result
-	  to standard output.
-
-config BUSYBOX_DIFF
-	bool "diff"
-	depends on !BUSYBOX_DISABLE_DIFF
-	default n
-	help
-	  diff compares two files or directories and outputs the
-	  differences between them in a form that can be given to
-	  the patch command.
-
-config BUSYBOX_FEATURE_DIFF_LONG_OPTIONS
-	bool "Enable long options"
-	default n
-	depends on BUSYBOX_DIFF && BUSYBOX_LONG_OPTS
-	help
-	  Enable use of long options.
-
-config BUSYBOX_FEATURE_DIFF_DIR
-	bool "Enable directory support"
-	default n
-	depends on BUSYBOX_DIFF
-	help
-	  This option enables support for directory and subdirectory
-	  comparison.
-
-config BUSYBOX_ED
-	bool "ed"
-	depends on !BUSYBOX_DISABLE_ED
-	default n
-	help
-	  The original 1970's Unix text editor, from the days of teletypes.
-	  Small, simple, evil. Part of SUSv3. If you're not already using
-	  this, you don't need it.
-
-config BUSYBOX_SED
-	bool "sed"
-	depends on !BUSYBOX_DISABLE_SED
-	default n
-	help
-	  sed is used to perform text transformations on a file
-	  or input from a pipeline.
+	This option sets the number of bytes used at runtime for the queue.
+	Smaller values will create more undo objects and reduce the amount
+	of typed or backspaced characters that are grouped into one undo
+	operation; larger values increase the potential size of each undo
+	and will generally malloc() larger objects and less frequently.
+	Unless you want more (or less) frequent "undo points" while typing,
+	you should probably leave this unchanged.
 
 
 config BUSYBOX_FEATURE_ALLOW_EXEC
 config BUSYBOX_FEATURE_ALLOW_EXEC
 	bool "Allow vi and awk to execute shell commands"
 	bool "Allow vi and awk to execute shell commands"
-	default n
+	default y
 	depends on BUSYBOX_VI || BUSYBOX_AWK
 	depends on BUSYBOX_VI || BUSYBOX_AWK
 	help
 	help
-	  Enables vi and awk features which allows user to execute
-	  shell commands (using system() C call).
+	Enables vi and awk features which allow user to execute
+	shell commands (using system() C call).
 
 
 endmenu
 endmenu

+ 66 - 86
package/busybox/config/findutils/Config.in

@@ -1,58 +1,55 @@
 # DO NOT EDIT. This file is generated from Config.src
 # DO NOT EDIT. This file is generated from Config.src
 #
 #
 # For a description of the syntax of this configuration file,
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 #
 
 
 menu "Finding Utilities"
 menu "Finding Utilities"
 
 
 config BUSYBOX_FIND
 config BUSYBOX_FIND
-	bool "find"
-	depends on !BUSYBOX_DISABLE_FIND
+	bool "find (14 kb)"
 	default y
 	default y
 	help
 	help
-	  find is used to search your system to find specified files.
+	find is used to search your system to find specified files.
 
 
 config BUSYBOX_FEATURE_FIND_PRINT0
 config BUSYBOX_FEATURE_FIND_PRINT0
 	bool "Enable -print0: NUL-terminated output"
 	bool "Enable -print0: NUL-terminated output"
 	default y
 	default y
 	depends on BUSYBOX_FIND
 	depends on BUSYBOX_FIND
 	help
 	help
-	  Causes output names to be separated by a NUL character
-	  rather than a newline. This allows names that contain
-	  newlines and other whitespace to be more easily
-	  interpreted by other programs.
+	Causes output names to be separated by a NUL character
+	rather than a newline. This allows names that contain
+	newlines and other whitespace to be more easily
+	interpreted by other programs.
 
 
 config BUSYBOX_FEATURE_FIND_MTIME
 config BUSYBOX_FEATURE_FIND_MTIME
 	bool "Enable -mtime: modified time matching"
 	bool "Enable -mtime: modified time matching"
 	default y
 	default y
 	depends on BUSYBOX_FIND
 	depends on BUSYBOX_FIND
 	help
 	help
-	  Allow searching based on the modification time of
-	  files, in days.
+	Allow searching based on the modification time of
+	files, in days.
 
 
 config BUSYBOX_FEATURE_FIND_MMIN
 config BUSYBOX_FEATURE_FIND_MMIN
 	bool "Enable -mmin: modified time matching by minutes"
 	bool "Enable -mmin: modified time matching by minutes"
 	default y
 	default y
 	depends on BUSYBOX_FIND
 	depends on BUSYBOX_FIND
 	help
 	help
-	  Allow searching based on the modification time of
-	  files, in minutes.
+	Allow searching based on the modification time of
+	files, in minutes.
 
 
 config BUSYBOX_FEATURE_FIND_PERM
 config BUSYBOX_FEATURE_FIND_PERM
 	bool "Enable -perm: permissions matching"
 	bool "Enable -perm: permissions matching"
 	default y
 	default y
 	depends on BUSYBOX_FIND
 	depends on BUSYBOX_FIND
-	help
-	  Enable searching based on file permissions.
 
 
 config BUSYBOX_FEATURE_FIND_TYPE
 config BUSYBOX_FEATURE_FIND_TYPE
 	bool "Enable -type: file type matching (file/dir/link/...)"
 	bool "Enable -type: file type matching (file/dir/link/...)"
 	default y
 	default y
 	depends on BUSYBOX_FIND
 	depends on BUSYBOX_FIND
 	help
 	help
-	  Enable searching based on file type (file,
-	  directory, socket, device, etc.).
+	Enable searching based on file type (file,
+	directory, socket, device, etc.).
 
 
 config BUSYBOX_FEATURE_FIND_EXECUTABLE
 config BUSYBOX_FEATURE_FIND_EXECUTABLE
 	bool "Enable -executable: file is executable"
 	bool "Enable -executable: file is executable"
@@ -63,108 +60,88 @@ config BUSYBOX_FEATURE_FIND_XDEV
 	bool "Enable -xdev: 'stay in filesystem'"
 	bool "Enable -xdev: 'stay in filesystem'"
 	default y
 	default y
 	depends on BUSYBOX_FIND
 	depends on BUSYBOX_FIND
-	help
-	  This option allows find to restrict searches to a single filesystem.
 
 
 config BUSYBOX_FEATURE_FIND_MAXDEPTH
 config BUSYBOX_FEATURE_FIND_MAXDEPTH
 	bool "Enable -mindepth N and -maxdepth N"
 	bool "Enable -mindepth N and -maxdepth N"
 	default y
 	default y
 	depends on BUSYBOX_FIND
 	depends on BUSYBOX_FIND
-	help
-	  This option enables -mindepth N and -maxdepth N option.
 
 
 config BUSYBOX_FEATURE_FIND_NEWER
 config BUSYBOX_FEATURE_FIND_NEWER
 	bool "Enable -newer: compare file modification times"
 	bool "Enable -newer: compare file modification times"
 	default y
 	default y
 	depends on BUSYBOX_FIND
 	depends on BUSYBOX_FIND
 	help
 	help
-	  Support the 'find -newer' option for finding any files which have
-	  modification time that is more recent than the specified FILE.
+	Support the 'find -newer' option for finding any files which have
+	modification time that is more recent than the specified FILE.
 
 
 config BUSYBOX_FEATURE_FIND_INUM
 config BUSYBOX_FEATURE_FIND_INUM
 	bool "Enable -inum: inode number matching"
 	bool "Enable -inum: inode number matching"
 	default y
 	default y
 	depends on BUSYBOX_FIND
 	depends on BUSYBOX_FIND
-	help
-	  Support the 'find -inum' option for searching by inode number.
-
-config BUSYBOX_FEATURE_FIND_EMPTY
-       bool "Enable -empty option matching empty files and directories"
-       default y
-       depends on BUSYBOX_FIND
-       help
-         Support the 'find -empty' option for searching empty files 
-         and directories.
 
 
 config BUSYBOX_FEATURE_FIND_EXEC
 config BUSYBOX_FEATURE_FIND_EXEC
 	bool "Enable -exec: execute commands"
 	bool "Enable -exec: execute commands"
 	default y
 	default y
 	depends on BUSYBOX_FIND
 	depends on BUSYBOX_FIND
 	help
 	help
-	  Support the 'find -exec' option for executing commands based upon
-	  the files matched.
+	Support the 'find -exec' option for executing commands based upon
+	the files matched.
 
 
 config BUSYBOX_FEATURE_FIND_EXEC_PLUS
 config BUSYBOX_FEATURE_FIND_EXEC_PLUS
 	bool "Enable -exec ... {} +"
 	bool "Enable -exec ... {} +"
 	default y
 	default y
 	depends on BUSYBOX_FEATURE_FIND_EXEC
 	depends on BUSYBOX_FEATURE_FIND_EXEC
 	help
 	help
-	  Support the 'find -exec ... {} +' option for executing commands
-	  for all matched files at once.
-	  Without this option, -exec + is a synonym for -exec ;
-	  (IOW: it works correctly, but without expected speedup)
+	Support the 'find -exec ... {} +' option for executing commands
+	for all matched files at once.
+	Without this option, -exec + is a synonym for -exec ;
+	(IOW: it works correctly, but without expected speedup)
 
 
 config BUSYBOX_FEATURE_FIND_USER
 config BUSYBOX_FEATURE_FIND_USER
 	bool "Enable -user: username/uid matching"
 	bool "Enable -user: username/uid matching"
 	default y
 	default y
 	depends on BUSYBOX_FIND
 	depends on BUSYBOX_FIND
-	help
-	  Support the 'find -user' option for searching by username or uid.
 
 
 config BUSYBOX_FEATURE_FIND_GROUP
 config BUSYBOX_FEATURE_FIND_GROUP
 	bool "Enable -group: group/gid matching"
 	bool "Enable -group: group/gid matching"
 	default y
 	default y
 	depends on BUSYBOX_FIND
 	depends on BUSYBOX_FIND
-	help
-	  Support the 'find -group' option for searching by group name or gid.
 
 
 config BUSYBOX_FEATURE_FIND_NOT
 config BUSYBOX_FEATURE_FIND_NOT
 	bool "Enable the 'not' (!) operator"
 	bool "Enable the 'not' (!) operator"
 	default y
 	default y
 	depends on BUSYBOX_FIND
 	depends on BUSYBOX_FIND
 	help
 	help
-	  Support the '!' operator to invert the test results.
-	  If 'Enable full-blown desktop' is enabled, then will also support
-	  the non-POSIX notation '-not'.
+	Support the '!' operator to invert the test results.
+	If 'Enable full-blown desktop' is enabled, then will also support
+	the non-POSIX notation '-not'.
 
 
 config BUSYBOX_FEATURE_FIND_DEPTH
 config BUSYBOX_FEATURE_FIND_DEPTH
 	bool "Enable -depth"
 	bool "Enable -depth"
 	default y
 	default y
 	depends on BUSYBOX_FIND
 	depends on BUSYBOX_FIND
 	help
 	help
-	  Process each directory's contents before the directory itself.
+	Process each directory's contents before the directory itself.
 
 
 config BUSYBOX_FEATURE_FIND_PAREN
 config BUSYBOX_FEATURE_FIND_PAREN
 	bool "Enable parens in options"
 	bool "Enable parens in options"
 	default y
 	default y
 	depends on BUSYBOX_FIND
 	depends on BUSYBOX_FIND
 	help
 	help
-	  Enable usage of parens '(' to specify logical order of arguments.
+	Enable usage of parens '(' to specify logical order of arguments.
 
 
 config BUSYBOX_FEATURE_FIND_SIZE
 config BUSYBOX_FEATURE_FIND_SIZE
 	bool "Enable -size: file size matching"
 	bool "Enable -size: file size matching"
 	default y
 	default y
 	depends on BUSYBOX_FIND
 	depends on BUSYBOX_FIND
-	help
-	  Support the 'find -size' option for searching by file size.
 
 
 config BUSYBOX_FEATURE_FIND_PRUNE
 config BUSYBOX_FEATURE_FIND_PRUNE
 	bool "Enable -prune: exclude subdirectories"
 	bool "Enable -prune: exclude subdirectories"
 	default y
 	default y
 	depends on BUSYBOX_FIND
 	depends on BUSYBOX_FIND
 	help
 	help
-	  If the file is a directory, dont descend into it. Useful for
-	  exclusion .svn and CVS directories.
+	If the file is a directory, don't descend into it. Useful for
+	exclusion .svn and CVS directories.
 
 
 config BUSYBOX_FEATURE_FIND_QUIT
 config BUSYBOX_FEATURE_FIND_QUIT
 	bool "Enable -quit: exit"
 	bool "Enable -quit: exit"
@@ -178,113 +155,116 @@ config BUSYBOX_FEATURE_FIND_DELETE
 	default y
 	default y
 	depends on BUSYBOX_FIND && BUSYBOX_FEATURE_FIND_DEPTH
 	depends on BUSYBOX_FIND && BUSYBOX_FEATURE_FIND_DEPTH
 	help
 	help
-	  Support the 'find -delete' option for deleting files and directories.
-	  WARNING: This option can do much harm if used wrong. Busybox will not
-	  try to protect the user from doing stupid things. Use with care.
+	Support the 'find -delete' option for deleting files and directories.
+	WARNING: This option can do much harm if used wrong. Busybox will not
+	try to protect the user from doing stupid things. Use with care.
+
+config BUSYBOX_FEATURE_FIND_EMPTY
+	bool "Enable -empty: match empty files or directories"
+	default y
+	depends on BUSYBOX_FIND
+	help
+	Support the 'find -empty' option to find empty regular files
+	or directories.
 
 
 config BUSYBOX_FEATURE_FIND_PATH
 config BUSYBOX_FEATURE_FIND_PATH
 	bool "Enable -path: match pathname with shell pattern"
 	bool "Enable -path: match pathname with shell pattern"
 	default y
 	default y
 	depends on BUSYBOX_FIND
 	depends on BUSYBOX_FIND
 	help
 	help
-	  The -path option matches whole pathname instead of just filename.
+	The -path option matches whole pathname instead of just filename.
 
 
 config BUSYBOX_FEATURE_FIND_REGEX
 config BUSYBOX_FEATURE_FIND_REGEX
 	bool "Enable -regex: match pathname with regex"
 	bool "Enable -regex: match pathname with regex"
 	default y
 	default y
 	depends on BUSYBOX_FIND
 	depends on BUSYBOX_FIND
 	help
 	help
-	  The -regex option matches whole pathname against regular expression.
+	The -regex option matches whole pathname against regular expression.
 
 
 config BUSYBOX_FEATURE_FIND_CONTEXT
 config BUSYBOX_FEATURE_FIND_CONTEXT
 	bool "Enable -context: security context matching"
 	bool "Enable -context: security context matching"
 	default n
 	default n
 	depends on BUSYBOX_FIND && BUSYBOX_SELINUX
 	depends on BUSYBOX_FIND && BUSYBOX_SELINUX
 	help
 	help
-	  Support the 'find -context' option for matching security context.
+	Support the 'find -context' option for matching security context.
 
 
 config BUSYBOX_FEATURE_FIND_LINKS
 config BUSYBOX_FEATURE_FIND_LINKS
 	bool "Enable -links: link count matching"
 	bool "Enable -links: link count matching"
 	default y
 	default y
 	depends on BUSYBOX_FIND
 	depends on BUSYBOX_FIND
 	help
 	help
-	  Support the 'find -links' option for matching number of links.
-
+	Support the 'find -links' option for matching number of links.
 config BUSYBOX_GREP
 config BUSYBOX_GREP
-	bool "grep"
-	depends on !BUSYBOX_DISABLE_GREP
+	bool "grep (8.6 kb)"
 	default y
 	default y
 	help
 	help
-	  grep is used to search files for a specified pattern.
+	grep is used to search files for a specified pattern.
 
 
 config BUSYBOX_EGREP
 config BUSYBOX_EGREP
-	bool "egrep"
-	depends on !BUSYBOX_DISABLE_GREP
+	bool "egrep (7.8 kb)"
 	default y
 	default y
 	help
 	help
-	  Alias to "grep -E"
+	Alias to "grep -E".
 
 
 config BUSYBOX_FGREP
 config BUSYBOX_FGREP
-	bool "fgrep"
-	depends on !BUSYBOX_DISABLE_GREP
+	bool "fgrep (7.8 kb)"
 	default y
 	default y
 	help
 	help
-	  Alias to "grep -F"
+	Alias to "grep -F".
 
 
 config BUSYBOX_FEATURE_GREP_CONTEXT
 config BUSYBOX_FEATURE_GREP_CONTEXT
 	bool "Enable before and after context flags (-A, -B and -C)"
 	bool "Enable before and after context flags (-A, -B and -C)"
 	default y
 	default y
-	depends on BUSYBOX_GREP
+	depends on BUSYBOX_GREP || BUSYBOX_EGREP || BUSYBOX_FGREP
 	help
 	help
-	  Print the specified number of leading (-B) and/or trailing (-A)
-	  context surrounding our matching lines.
-	  Print the specified number of context lines (-C).
-
+	Print the specified number of leading (-B) and/or trailing (-A)
+	context surrounding our matching lines.
+	Print the specified number of context lines (-C).
 config BUSYBOX_XARGS
 config BUSYBOX_XARGS
-	bool "xargs"
-	default n
+	bool "xargs (7.2 kb)"
+	default y
 	help
 	help
-	  xargs is used to execute a specified command for
-	  every item from standard input.
+	xargs is used to execute a specified command for
+	every item from standard input.
 
 
 config BUSYBOX_FEATURE_XARGS_SUPPORT_CONFIRMATION
 config BUSYBOX_FEATURE_XARGS_SUPPORT_CONFIRMATION
 	bool "Enable -p: prompt and confirmation"
 	bool "Enable -p: prompt and confirmation"
 	default y
 	default y
 	depends on BUSYBOX_XARGS
 	depends on BUSYBOX_XARGS
 	help
 	help
-	  Support -p: prompt the user whether to run each command
-	  line and read a line from the terminal.
+	Support -p: prompt the user whether to run each command
+	line and read a line from the terminal.
 
 
 config BUSYBOX_FEATURE_XARGS_SUPPORT_QUOTES
 config BUSYBOX_FEATURE_XARGS_SUPPORT_QUOTES
 	bool "Enable single and double quotes and backslash"
 	bool "Enable single and double quotes and backslash"
 	default y
 	default y
 	depends on BUSYBOX_XARGS
 	depends on BUSYBOX_XARGS
 	help
 	help
-	  Support quoting in the input.
+	Support quoting in the input.
 
 
 config BUSYBOX_FEATURE_XARGS_SUPPORT_TERMOPT
 config BUSYBOX_FEATURE_XARGS_SUPPORT_TERMOPT
 	bool "Enable -x: exit if -s or -n is exceeded"
 	bool "Enable -x: exit if -s or -n is exceeded"
 	default y
 	default y
 	depends on BUSYBOX_XARGS
 	depends on BUSYBOX_XARGS
 	help
 	help
-	  Support -x: exit if the command size (see the -s or -n option)
-	  is exceeded.
+	Support -x: exit if the command size (see the -s or -n option)
+	is exceeded.
 
 
 config BUSYBOX_FEATURE_XARGS_SUPPORT_ZERO_TERM
 config BUSYBOX_FEATURE_XARGS_SUPPORT_ZERO_TERM
 	bool "Enable -0: NUL-terminated input"
 	bool "Enable -0: NUL-terminated input"
 	default y
 	default y
 	depends on BUSYBOX_XARGS
 	depends on BUSYBOX_XARGS
 	help
 	help
-	  Support -0: input items are terminated by a NUL character
-	  instead of whitespace, and the quotes and backslash
-	  are not special.
+	Support -0: input items are terminated by a NUL character
+	instead of whitespace, and the quotes and backslash
+	are not special.
 
 
 config BUSYBOX_FEATURE_XARGS_SUPPORT_REPL_STR
 config BUSYBOX_FEATURE_XARGS_SUPPORT_REPL_STR
 	bool "Enable -I STR: string to replace"
 	bool "Enable -I STR: string to replace"
 	default y
 	default y
 	depends on BUSYBOX_XARGS
 	depends on BUSYBOX_XARGS
 	help
 	help
-	  Support -I STR and -i[STR] options.
+	Support -I STR and -i[STR] options.
 
 
 config BUSYBOX_FEATURE_XARGS_SUPPORT_PARALLEL
 config BUSYBOX_FEATURE_XARGS_SUPPORT_PARALLEL
 	bool "Enable -P N: processes to run in parallel"
 	bool "Enable -P N: processes to run in parallel"

+ 95 - 120
package/busybox/config/init/Config.in

@@ -1,67 +1,66 @@
 # DO NOT EDIT. This file is generated from Config.src
 # DO NOT EDIT. This file is generated from Config.src
 #
 #
 # For a description of the syntax of this configuration file,
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 #
 
 
 menu "Init Utilities"
 menu "Init Utilities"
 
 
 config BUSYBOX_BOOTCHARTD
 config BUSYBOX_BOOTCHARTD
-	bool "bootchartd"
-	default n
+	bool "bootchartd (10 kb)"
+	default y
 	help
 	help
-	  bootchartd is commonly used to profile the boot process
-	  for the purpose of speeding it up. In this case, it is started
-	  by the kernel as the init process. This is configured by adding
-	  the init=/sbin/bootchartd option to the kernel command line.
+	bootchartd is commonly used to profile the boot process
+	for the purpose of speeding it up. In this case, it is started
+	by the kernel as the init process. This is configured by adding
+	the init=/sbin/bootchartd option to the kernel command line.
 
 
-	  It can also be used to monitor the resource usage of a specific
-	  application or the running system in general. In this case,
-	  bootchartd is started interactively by running bootchartd start
-	  and stopped using bootchartd stop.
+	It can also be used to monitor the resource usage of a specific
+	application or the running system in general. In this case,
+	bootchartd is started interactively by running bootchartd start
+	and stopped using bootchartd stop.
 
 
 config BUSYBOX_FEATURE_BOOTCHARTD_BLOATED_HEADER
 config BUSYBOX_FEATURE_BOOTCHARTD_BLOATED_HEADER
 	bool "Compatible, bloated header"
 	bool "Compatible, bloated header"
 	default y
 	default y
 	depends on BUSYBOX_BOOTCHARTD
 	depends on BUSYBOX_BOOTCHARTD
 	help
 	help
-	  Create extended header file compatible with "big" bootchartd.
-	  "Big" bootchartd is a shell script and it dumps some
-	  "convenient" info int the header, such as:
-	    title = Boot chart for `hostname` (`date`)
-	    system.uname = `uname -srvm`
-	    system.release = `cat /etc/DISTRO-release`
-	    system.cpu = `grep '^model name' /proc/cpuinfo | head -1` ($cpucount)
-	    system.kernel.options = `cat /proc/cmdline`
-	  This data is not mandatory for bootchart graph generation,
-	  and is considered bloat. Nevertheless, this option
-	  makes bootchartd applet to dump a subset of it.
+	Create extended header file compatible with "big" bootchartd.
+	"Big" bootchartd is a shell script and it dumps some
+	"convenient" info into the header, such as:
+		title = Boot chart for `hostname` (`date`)
+		system.uname = `uname -srvm`
+		system.release = `cat /etc/DISTRO-release`
+		system.cpu = `grep '^model name' /proc/cpuinfo | head -1` ($cpucount)
+		system.kernel.options = `cat /proc/cmdline`
+	This data is not mandatory for bootchart graph generation,
+	and is considered bloat. Nevertheless, this option
+	makes bootchartd applet to dump a subset of it.
 
 
 config BUSYBOX_FEATURE_BOOTCHARTD_CONFIG_FILE
 config BUSYBOX_FEATURE_BOOTCHARTD_CONFIG_FILE
 	bool "Support bootchartd.conf"
 	bool "Support bootchartd.conf"
 	default y
 	default y
 	depends on BUSYBOX_BOOTCHARTD
 	depends on BUSYBOX_BOOTCHARTD
 	help
 	help
-	  Enable reading and parsing of $PWD/bootchartd.conf
-	  and /etc/bootchartd.conf files.
-
+	Enable reading and parsing of $PWD/bootchartd.conf
+	and /etc/bootchartd.conf files.
 config BUSYBOX_HALT
 config BUSYBOX_HALT
-	bool "halt"
+	bool "halt (4 kb)"
 	default y
 	default y
 	help
 	help
-	  Stop all processes and either halt, reboot, or power off the system.
+	Stop all processes and halt the system.
 
 
 config BUSYBOX_POWEROFF
 config BUSYBOX_POWEROFF
-	bool "poweroff"
+	bool "poweroff (4 kb)"
 	default y
 	default y
 	help
 	help
-	  Stop all processes and power off the system.
+	Stop all processes and power off the system.
 
 
 config BUSYBOX_REBOOT
 config BUSYBOX_REBOOT
-	bool "reboot"
+	bool "reboot (4 kb)"
 	default y
 	default y
 	help
 	help
-	  Stop all processes and reboot the system.
+	Stop all processes and reboot the system.
 
 
 config BUSYBOX_FEATURE_WAIT_FOR_INIT
 config BUSYBOX_FEATURE_WAIT_FOR_INIT
 	bool "Before signaling init, make sure it is ready for it"
 	bool "Before signaling init, make sure it is ready for it"
@@ -76,58 +75,56 @@ config BUSYBOX_FEATURE_WAIT_FOR_INIT
 
 
 config BUSYBOX_FEATURE_CALL_TELINIT
 config BUSYBOX_FEATURE_CALL_TELINIT
 	bool "Call telinit on shutdown and reboot"
 	bool "Call telinit on shutdown and reboot"
-	default n
-	depends on BUSYBOX_HALT && !BUSYBOX_INIT
+	default y
+	depends on (BUSYBOX_HALT || BUSYBOX_POWEROFF || BUSYBOX_REBOOT) && !BUSYBOX_INIT
 	help
 	help
-	  Call an external program (normally telinit) to facilitate
-	  a switch to a proper runlevel.
+	Call an external program (normally telinit) to facilitate
+	a switch to a proper runlevel.
 
 
-	  This option is only available if you selected halt and friends,
-	  but did not select init.
+	This option is only available if you selected halt and friends,
+	but did not select init.
 
 
 config BUSYBOX_TELINIT_PATH
 config BUSYBOX_TELINIT_PATH
 	string "Path to telinit executable"
 	string "Path to telinit executable"
 	default "/sbin/telinit"
 	default "/sbin/telinit"
 	depends on BUSYBOX_FEATURE_CALL_TELINIT
 	depends on BUSYBOX_FEATURE_CALL_TELINIT
 	help
 	help
-	  When busybox halt and friends have to call external telinit
-	  to facilitate proper shutdown, this path is to be used when
-	  locating telinit executable.
-
+	When busybox halt and friends have to call external telinit
+	to facilitate proper shutdown, this path is to be used when
+	locating telinit executable.
 config BUSYBOX_INIT
 config BUSYBOX_INIT
-	bool "init"
+	bool "init (10 kb)"
 	default y
 	default y
-	depends on !ADK_PACKAGE_SIMPLEINIT
 	select BUSYBOX_FEATURE_SYSLOG
 	select BUSYBOX_FEATURE_SYSLOG
 	help
 	help
-	  init is the first program run when the system boots.
+	init is the first program run when the system boots.
 
 
 config BUSYBOX_LINUXRC
 config BUSYBOX_LINUXRC
-	bool "Support running init from within an initrd (not initramfs)"
-	default n
+	bool "linuxrc: support running init from initrd (not initramfs)"
+	default y
 	select BUSYBOX_FEATURE_SYSLOG
 	select BUSYBOX_FEATURE_SYSLOG
 	help
 	help
-	  Legacy support for running init under the old-style initrd. Allows
-	  the name linuxrc to act as init, and it doesn't assume init is PID 1.
+	Legacy support for running init under the old-style initrd. Allows
+	the name linuxrc to act as init, and it doesn't assume init is PID 1.
 
 
-	  This does not apply to initramfs, which runs /init as PID 1 and
-	  requires no special support.
+	This does not apply to initramfs, which runs /init as PID 1 and
+	requires no special support.
 
 
 config BUSYBOX_FEATURE_USE_INITTAB
 config BUSYBOX_FEATURE_USE_INITTAB
 	bool "Support reading an inittab file"
 	bool "Support reading an inittab file"
 	default y
 	default y
-	depends on BUSYBOX_INIT
+	depends on BUSYBOX_INIT || BUSYBOX_LINUXRC
 	help
 	help
-	  Allow init to read an inittab file when the system boot.
+	Allow init to read an inittab file when the system boot.
 
 
 config BUSYBOX_FEATURE_KILL_REMOVED
 config BUSYBOX_FEATURE_KILL_REMOVED
 	bool "Support killing processes that have been removed from inittab"
 	bool "Support killing processes that have been removed from inittab"
 	default n
 	default n
 	depends on BUSYBOX_FEATURE_USE_INITTAB
 	depends on BUSYBOX_FEATURE_USE_INITTAB
 	help
 	help
-	  When respawn entries are removed from inittab and a SIGHUP is
-	  sent to init, this option will make init kill the processes
-	  that have been removed.
+	When respawn entries are removed from inittab and a SIGHUP is
+	sent to init, this option will make init kill the processes
+	that have been removed.
 
 
 config BUSYBOX_FEATURE_KILL_DELAY
 config BUSYBOX_FEATURE_KILL_DELAY
 	int "How long to wait between TERM and KILL (0 - send TERM only)" if FEATURE_KILL_REMOVED
 	int "How long to wait between TERM and KILL (0 - send TERM only)" if FEATURE_KILL_REMOVED
@@ -135,97 +132,75 @@ config BUSYBOX_FEATURE_KILL_DELAY
 	default 0
 	default 0
 	depends on BUSYBOX_FEATURE_KILL_REMOVED
 	depends on BUSYBOX_FEATURE_KILL_REMOVED
 	help
 	help
-	  With nonzero setting, init sends TERM, forks, child waits N
-	  seconds, sends KILL and exits. Setting it too high is unwise
-	  (child will hang around for too long and could actually kill
-	  the wrong process!)
+	With nonzero setting, init sends TERM, forks, child waits N
+	seconds, sends KILL and exits. Setting it too high is unwise
+	(child will hang around for too long and could actually kill
+	the wrong process!)
 
 
 config BUSYBOX_FEATURE_INIT_SCTTY
 config BUSYBOX_FEATURE_INIT_SCTTY
 	bool "Run commands with leading dash with controlling tty"
 	bool "Run commands with leading dash with controlling tty"
 	default y
 	default y
-	depends on BUSYBOX_INIT
-	help
-	  If this option is enabled, init will try to give a controlling
-	  tty to any command which has leading hyphen (often it's "-/bin/sh").
-	  More precisely, init will do "ioctl(STDIN_FILENO, TIOCSCTTY, 0)".
-	  If device attached to STDIN_FILENO can be a ctty but is not yet
-	  a ctty for other session, it will become this process' ctty.
-	  This is not the traditional init behavour, but is often what you want
-	  in an embedded system where the console is only accessed during
-	  development or for maintenance.
-	  NB: using cttyhack applet may work better.
+	depends on BUSYBOX_INIT || BUSYBOX_LINUXRC
+	help
+	If this option is enabled, init will try to give a controlling
+	tty to any command which has leading hyphen (often it's "-/bin/sh").
+	More precisely, init will do "ioctl(STDIN_FILENO, TIOCSCTTY, 0)".
+	If device attached to STDIN_FILENO can be a ctty but is not yet
+	a ctty for other session, it will become this process' ctty.
+	This is not the traditional init behavour, but is often what you want
+	in an embedded system where the console is only accessed during
+	development or for maintenance.
+	NB: using cttyhack applet may work better.
 
 
 config BUSYBOX_FEATURE_INIT_SYSLOG
 config BUSYBOX_FEATURE_INIT_SYSLOG
 	bool "Enable init to write to syslog"
 	bool "Enable init to write to syslog"
 	default y
 	default y
-	depends on BUSYBOX_INIT
+	depends on BUSYBOX_INIT || BUSYBOX_LINUXRC
+	help
+	If selected, some init messages are sent to syslog.
+	Otherwise, they are sent to VT #5 if linux virtual tty is detected
+	(if not, no separate logging is done).
 
 
 config BUSYBOX_FEATURE_INIT_QUIET
 config BUSYBOX_FEATURE_INIT_QUIET
 	bool "Be quiet on boot (no 'init started:' message)"
 	bool "Be quiet on boot (no 'init started:' message)"
 	default y
 	default y
 	depends on BUSYBOX_INIT || BUSYBOX_LINUXRC
 	depends on BUSYBOX_INIT || BUSYBOX_LINUXRC
 
 
-config BUSYBOX_FEATURE_EXTRA_QUIET
-	bool "Be _extra_ quiet on boot"
-	default y
-	depends on BUSYBOX_INIT
-	help
-	  Prevent init from logging some messages to the console during boot.
-
 config BUSYBOX_FEATURE_INIT_COREDUMPS
 config BUSYBOX_FEATURE_INIT_COREDUMPS
 	bool "Support dumping core for child processes (debugging only)"
 	bool "Support dumping core for child processes (debugging only)"
-	default n
-	depends on BUSYBOX_INIT
+	default n	# not Y because this is a debug option
+	depends on BUSYBOX_INIT || BUSYBOX_LINUXRC
 	help
 	help
-	  If this option is enabled and the file /.init_enable_core
-	  exists, then init will call setrlimit() to allow unlimited
-	  core file sizes. If this option is disabled, processes
-	  will not generate any core files.
+	If this option is enabled and the file /.init_enable_core
+	exists, then init will call setrlimit() to allow unlimited
+	core file sizes. If this option is disabled, processes
+	will not generate any core files.
 
 
 config BUSYBOX_INIT_TERMINAL_TYPE
 config BUSYBOX_INIT_TERMINAL_TYPE
 	string "Initial terminal type"
 	string "Initial terminal type"
 	default "linux"
 	default "linux"
-	depends on BUSYBOX_INIT
+	depends on BUSYBOX_INIT || BUSYBOX_LINUXRC
 	help
 	help
-	  This is the initial value set by init for the TERM environment
-	  variable. This variable is used by programs which make use of
-	  extended terminal capabilities.
+	This is the initial value set by init for the TERM environment
+	variable. This variable is used by programs which make use of
+	extended terminal capabilities.
 
 
-	  Note that on Linux, init attempts to detect serial terminal and
-	  sets TERM to "vt102" if one is found.
+	Note that on Linux, init attempts to detect serial terminal and
+	sets TERM to "vt102" if one is found.
 
 
 config BUSYBOX_FEATURE_INIT_MODIFY_CMDLINE
 config BUSYBOX_FEATURE_INIT_MODIFY_CMDLINE
-	bool "Modify the command-line to \"init\""
-	default n
-	depends on BUSYBOX_INIT || BUSYBOX_LINUXRC
-	help
-	  When launched as PID 1 and after parsing its arguments, init
-	  wipes all the arguments but argv[0] and rewrites argv[0] to
-	  contain only "init", so that its command-line appears solely as
-	  "init" in tools such as ps.
-	  If this option is set to Y, init will keep its original behavior,
-	  otherwise, all the arguments including argv[0] will be preserved,
-	  be they parsed or ignored by init.
-	  The original command-line used to launch init can then be
-	  retrieved in /proc/1/cmdline on Linux, for example.
-
-config BUSYBOX_MESG
-	bool "mesg"
-	default n
-	help
-	  Mesg controls access to your terminal by others. It is typically
-	  used to allow or disallow other users to write to your terminal
-
-config BUSYBOX_FEATURE_MESG_ENABLE_ONLY_GROUP
-	bool "Enable writing to tty only by group, not by everybody"
+	bool "Clear init's command line"
 	default y
 	default y
-	depends on BUSYBOX_MESG
+	depends on BUSYBOX_INIT || BUSYBOX_LINUXRC
 	help
 	help
-	  Usually, ttys are owned by group "tty", and "write" tool is
-	  setgid to this group. This way, "mesg y" only needs to enable
-	  "write by owning group" bit in tty mode.
-
-	  If you set this option to N, "mesg y" will enable writing
-	  by anybody at all. This is not recommended.
+	When launched as PID 1 and after parsing its arguments, init
+	wipes all the arguments but argv[0] and rewrites argv[0] to
+	contain only "init", so that its command line appears solely as
+	"init" in tools such as ps.
+	If this option is set to Y, init will keep its original behavior,
+	otherwise, all the arguments including argv[0] will be preserved,
+	be they parsed or ignored by init.
+	The original command-line used to launch init can then be
+	retrieved in /proc/1/cmdline on Linux, for example.
 
 
 endmenu
 endmenu

+ 283 - 138
package/busybox/config/libbb/Config.in

@@ -1,56 +1,55 @@
 # DO NOT EDIT. This file is generated from Config.src
 # DO NOT EDIT. This file is generated from Config.src
 #
 #
 # For a description of the syntax of this configuration file,
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 #
 
 
-menu "Busybox Library Tuning"
+comment "Library Tuning"
 
 
 config BUSYBOX_FEATURE_USE_BSS_TAIL
 config BUSYBOX_FEATURE_USE_BSS_TAIL
 	bool "Use the end of BSS page"
 	bool "Use the end of BSS page"
 	default n
 	default n
 	help
 	help
-	  Attempt to reclaim a small unused part of BSS.
-
-	  Executables have the following parts:
-	  = read-only executable code and constants, also known as "text"
-	  = read-write data
-	  = non-initialized (zeroed on demand) data, also known as "bss"
-
-	  At link time, "text" is padded to a full page. At runtime, all "text"
-	  pages are mapped RO and executable.
-	  "Data" starts on the next page boundary, but is not padded
-	  to a full page at the end. "Bss" starts wherever "data" ends.
-	  At runtime, "data" pages are mapped RW and they are file-backed
-	  (this includes a small portion of "bss" which may live in the last
-	  partial page of "data").
-	  Pages which are fully in "bss" are mapped to anonymous memory.
-
-	  "Bss" end is usually not page-aligned. There is an unused space
-	  in the last page. Linker marks its start with the "_end" symbol.
-
-	  This option will attempt to use that space for bb_common_bufsiz1[]
-	  array. If it fits after _end, it will be used, and COMMON_BUFSIZE
-	  will be enlarged from its guaranteed minimum size of 1 kbyte.
-	  This may require recompilation a second time, since value of _end
-	  is known only after final link.
-
-	  If you are getting a build error like this:
-	        appletlib.c:(.text.main+0xd): undefined reference to '_end'
-	  disable this option.
-
+	Attempt to reclaim a small unused part of BSS.
+
+	Executables have the following parts:
+	= read-only executable code and constants, also known as "text"
+	= read-write data
+	= non-initialized (zeroed on demand) data, also known as "bss"
+
+	At link time, "text" is padded to a full page. At runtime, all "text"
+	pages are mapped RO and executable.
+
+	"Data" starts on the next page boundary, but is not padded
+	to a full page at the end. "Bss" starts wherever "data" ends.
+	At runtime, "data" pages are mapped RW and they are file-backed
+	(this includes a small portion of "bss" which may live in the last
+	partial page of "data").
+	Pages which are fully in "bss" are mapped to anonymous memory.
+
+	"Bss" end is usually not page-aligned. There is an unused space
+	in the last page. Linker marks its start with the "_end" symbol.
+
+	This option will attempt to use that space for bb_common_bufsiz1[]
+	array. If it fits after _end, it will be used, and COMMON_BUFSIZE
+	will be enlarged from its guaranteed minimum size of 1 kbyte.
+	This may require recompilation a second time, since value of _end
+	is known only after final link.
+
+	If you are getting a build error like this:
+		appletlib.c:(.text.main+0xd): undefined reference to '_end'
+	disable this option.
 config BUSYBOX_FLOAT_DURATION
 config BUSYBOX_FLOAT_DURATION
 	bool "Enable fractional duration arguments"
 	bool "Enable fractional duration arguments"
 	default y
 	default y
 	help
 	help
 	Allow sleep N.NNN, top -d N.NNN etc.
 	Allow sleep N.NNN, top -d N.NNN etc.
-
 config BUSYBOX_FEATURE_RTMINMAX
 config BUSYBOX_FEATURE_RTMINMAX
 	bool "Support RTMIN[+n] and RTMAX[-n] signal names"
 	bool "Support RTMIN[+n] and RTMAX[-n] signal names"
 	default y
 	default y
 	help
 	help
-	  Support RTMIN[+n] and RTMAX[-n] signal names
-	  in kill, killall etc. This costs ~250 bytes.
+	Support RTMIN[+n] and RTMAX[-n] signal names
+	in kill, killall etc. This costs ~250 bytes.
 
 
 config BUSYBOX_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS
 config BUSYBOX_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS
 	bool "Use the definitions of SIGRTMIN/SIGRTMAX provided by libc"
 	bool "Use the definitions of SIGRTMIN/SIGRTMAX provided by libc"
@@ -64,51 +63,74 @@ config BUSYBOX_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS
 	of SIGRTMIN, and not the raw definition provided by the kernel.
 	of SIGRTMIN, and not the raw definition provided by the kernel.
 	This behavior matches "kill -l RTMIN+n" from bash.
 	This behavior matches "kill -l RTMIN+n" from bash.
 
 
+choice
+	prompt "Buffer allocation policy"
+	default BUSYBOX_FEATURE_BUFFERS_USE_MALLOC
+	help
+	There are 3 ways busybox can handle buffer allocations:
+	- Use malloc. This costs code size for the call to xmalloc.
+	- Put them on stack. For some very small machines with limited stack
+	space, this can be deadly. For most folks, this works just fine.
+	- Put them in BSS. This works beautifully for computers with a real
+	MMU (and OS support), but wastes runtime RAM for uCLinux. This
+	behavior was the only one available for versions 0.48 and earlier.
+
+config BUSYBOX_FEATURE_BUFFERS_USE_MALLOC
+	bool "Allocate with Malloc"
+
+config BUSYBOX_FEATURE_BUFFERS_GO_ON_STACK
+	bool "Allocate on the Stack"
+
+config BUSYBOX_FEATURE_BUFFERS_GO_IN_BSS
+	bool "Allocate in the .bss section"
+
+endchoice
+
 config BUSYBOX_PASSWORD_MINLEN
 config BUSYBOX_PASSWORD_MINLEN
 	int "Minimum password length"
 	int "Minimum password length"
 	default 6
 	default 6
 	range 5 32
 	range 5 32
 	help
 	help
-	  Minimum allowable password length.
+	Minimum allowable password length.
 
 
 config BUSYBOX_MD5_SMALL
 config BUSYBOX_MD5_SMALL
 	int "MD5: Trade bytes for speed (0:fast, 3:slow)"
 	int "MD5: Trade bytes for speed (0:fast, 3:slow)"
-	default 1
+	default 1  # all "fast or small" options default to small
 	range 0 3
 	range 0 3
 	help
 	help
-	  Trade binary size versus speed for the md5sum algorithm.
-	  Approximate values running uClibc and hashing
-	  linux-2.4.4.tar.bz2 were:
-	                    user times (sec)  text size (386)
-	  0 (fastest)         1.1                6144
-	  1                   1.4                5392
-	  2                   3.0                5088
-	  3 (smallest)        5.1                4912
+	Trade binary size versus speed for the md5sum algorithm.
+	Approximate values running uClibc and hashing
+	linux-2.4.4.tar.bz2 were:
+	value               user times (sec)  text size (386)
+	0 (fastest)         1.1                6144
+	1                   1.4                5392
+	2                   3.0                5088
+	3 (smallest)        5.1                4912
 
 
 config BUSYBOX_SHA3_SMALL
 config BUSYBOX_SHA3_SMALL
-       int "SHA3: Trade bytes for speed (0:fast, 1:slow)"
-       default 1
-       range 0 1
-       help
-         Trade binary size versus speed for the sha3sum algorithm.
-         SHA3_SMALL=0 compared to SHA3_SMALL=1 (approximate):
-         64-bit x86: +270 bytes of code, 45% faster
-         32-bit x86: +450 bytes of code, 75% faster
+	int "SHA3: Trade bytes for speed (0:fast, 1:slow)"
+	default 1  # all "fast or small" options default to small
+	range 0 1
+	help
+	Trade binary size versus speed for the sha3sum algorithm.
+	SHA3_SMALL=0 compared to SHA3_SMALL=1 (approximate):
+	64-bit x86: +270 bytes of code, 45% faster
+	32-bit x86: +450 bytes of code, 75% faster
 
 
 config BUSYBOX_FEATURE_FAST_TOP
 config BUSYBOX_FEATURE_FAST_TOP
 	bool "Faster /proc scanning code (+100 bytes)"
 	bool "Faster /proc scanning code (+100 bytes)"
-	default y
+	default n  # all "fast or small" options default to small
 	help
 	help
-	  This option makes top (and ps) ~20% faster (or 20% less CPU hungry),
-	  but code size is slightly bigger.
+	This option makes top and ps ~20% faster (or 20% less CPU hungry),
+	but code size is slightly bigger.
 
 
 config BUSYBOX_FEATURE_ETC_NETWORKS
 config BUSYBOX_FEATURE_ETC_NETWORKS
-	bool "Support for /etc/networks"
+	bool "Support /etc/networks"
 	default n
 	default n
 	help
 	help
-	  Enable support for network names in /etc/networks. This is
-	  a rarely used feature which allows you to use names
-	  instead of IP/mask pairs in route command.
+	Enable support for network names in /etc/networks. This is
+	a rarely used feature which allows you to use names
+	instead of IP/mask pairs in route command.
 
 
 config BUSYBOX_FEATURE_ETC_SERVICES
 config BUSYBOX_FEATURE_ETC_SERVICES
 	bool "Consult /etc/services even for well-known ports"
 	bool "Consult /etc/services even for well-known ports"
@@ -122,23 +144,11 @@ config BUSYBOX_FEATURE_ETC_SERVICES
 	specified as a service name (e.g. "telnet HOST PORTNAME"),
 	specified as a service name (e.g. "telnet HOST PORTNAME"),
 	it will still be looked up in /etc/services.
 	it will still be looked up in /etc/services.
 
 
-
-config BUSYBOX_FEATURE_USE_TERMIOS
-	bool "Use termios to manipulate the screen"
-	default y
-	depends on BUSYBOX_MORE || BUSYBOX_TOP || BUSYBOX_POWERTOP
-	help
-	  This option allows utilities such as 'more' and 'top' to determine
-	  the size of the screen. If you leave this disabled, your utilities
-	  that display things on the screen will be especially primitive and
-	  will be unable to determine the current screen size, and will be
-	  unable to move the cursor.
-
 config BUSYBOX_FEATURE_EDITING
 config BUSYBOX_FEATURE_EDITING
 	bool "Command line editing"
 	bool "Command line editing"
 	default y
 	default y
 	help
 	help
-	  Enable line editing (mainly for shell command line).
+	Enable line editing (mainly for shell command line).
 
 
 config BUSYBOX_FEATURE_EDITING_MAX_LEN
 config BUSYBOX_FEATURE_EDITING_MAX_LEN
 	int "Maximum length of input"
 	int "Maximum length of input"
@@ -146,17 +156,17 @@ config BUSYBOX_FEATURE_EDITING_MAX_LEN
 	default 1024
 	default 1024
 	depends on BUSYBOX_FEATURE_EDITING
 	depends on BUSYBOX_FEATURE_EDITING
 	help
 	help
-	  Line editing code uses on-stack buffers for storage.
-	  You may want to decrease this parameter if your target machine
-	  benefits from smaller stack usage.
+	Line editing code uses on-stack buffers for storage.
+	You may want to decrease this parameter if your target machine
+	benefits from smaller stack usage.
 
 
 config BUSYBOX_FEATURE_EDITING_VI
 config BUSYBOX_FEATURE_EDITING_VI
 	bool "vi-style line editing commands"
 	bool "vi-style line editing commands"
 	default n
 	default n
 	depends on BUSYBOX_FEATURE_EDITING
 	depends on BUSYBOX_FEATURE_EDITING
 	help
 	help
-	  Enable vi-style line editing. In shells, this mode can be
-	  turned on and off with "set -o vi" and "set +o vi".
+	Enable vi-style line editing. In shells, this mode can be
+	turned on and off with "set -o vi" and "set +o vi".
 
 
 config BUSYBOX_FEATURE_EDITING_HISTORY
 config BUSYBOX_FEATURE_EDITING_HISTORY
 	int "History size"
 	int "History size"
@@ -165,51 +175,47 @@ config BUSYBOX_FEATURE_EDITING_HISTORY
 	default 255
 	default 255
 	depends on BUSYBOX_FEATURE_EDITING
 	depends on BUSYBOX_FEATURE_EDITING
 	help
 	help
-	  Specify command history size (0 - disable).
+	Specify command history size (0 - disable).
 
 
 config BUSYBOX_FEATURE_EDITING_SAVEHISTORY
 config BUSYBOX_FEATURE_EDITING_SAVEHISTORY
 	bool "History saving"
 	bool "History saving"
 	default y
 	default y
 	depends on BUSYBOX_FEATURE_EDITING
 	depends on BUSYBOX_FEATURE_EDITING
 	help
 	help
-	  Enable history saving in shells.
+	Enable history saving in shells.
 
 
 config BUSYBOX_FEATURE_EDITING_SAVE_ON_EXIT
 config BUSYBOX_FEATURE_EDITING_SAVE_ON_EXIT
 	bool "Save history on shell exit, not after every command"
 	bool "Save history on shell exit, not after every command"
 	default n
 	default n
 	depends on BUSYBOX_FEATURE_EDITING_SAVEHISTORY
 	depends on BUSYBOX_FEATURE_EDITING_SAVEHISTORY
 	help
 	help
-	  Save history on shell exit, not after every command.
+	Save history on shell exit, not after every command.
 
 
 config BUSYBOX_FEATURE_REVERSE_SEARCH
 config BUSYBOX_FEATURE_REVERSE_SEARCH
 	bool "Reverse history search"
 	bool "Reverse history search"
 	default y
 	default y
-	depends on BUSYBOX_FEATURE_EDITING_SAVEHISTORY
+	depends on BUSYBOX_FEATURE_EDITING
 	help
 	help
-	  Enable readline-like Ctrl-R combination for reverse history search.
-	  Increases code by about 0.5k.
+	Enable readline-like Ctrl-R combination for reverse history search.
+	Increases code by about 0.5k.
 
 
 config BUSYBOX_FEATURE_TAB_COMPLETION
 config BUSYBOX_FEATURE_TAB_COMPLETION
 	bool "Tab completion"
 	bool "Tab completion"
 	default y
 	default y
 	depends on BUSYBOX_FEATURE_EDITING
 	depends on BUSYBOX_FEATURE_EDITING
-	help
-	  Enable tab completion.
 
 
 config BUSYBOX_FEATURE_USERNAME_COMPLETION
 config BUSYBOX_FEATURE_USERNAME_COMPLETION
 	bool "Username completion"
 	bool "Username completion"
-	default n
+	default y
 	depends on BUSYBOX_FEATURE_TAB_COMPLETION
 	depends on BUSYBOX_FEATURE_TAB_COMPLETION
-	help
-	  Enable username completion.
 
 
 config BUSYBOX_FEATURE_EDITING_FANCY_PROMPT
 config BUSYBOX_FEATURE_EDITING_FANCY_PROMPT
 	bool "Fancy shell prompts"
 	bool "Fancy shell prompts"
 	default y
 	default y
 	depends on BUSYBOX_FEATURE_EDITING
 	depends on BUSYBOX_FEATURE_EDITING
 	help
 	help
-	  Setting this option allows for prompts to use things like \w and
-	  \$ and escape codes.
+	Setting this option allows for prompts to use things like \w and
+	\$ and escape codes.
 
 
 config BUSYBOX_FEATURE_EDITING_WINCH
 config BUSYBOX_FEATURE_EDITING_WINCH
 	bool "Enable automatic tracking of window size changes"
 	bool "Enable automatic tracking of window size changes"
@@ -221,90 +227,229 @@ config BUSYBOX_FEATURE_EDITING_ASK_TERMINAL
 	default n
 	default n
 	depends on BUSYBOX_FEATURE_EDITING
 	depends on BUSYBOX_FEATURE_EDITING
 	help
 	help
-	  Allow usage of "ESC [ 6 n" sequence. Terminal answers back with
-	  current cursor position. This information is used to make line
-	  editing more robust in some cases.
-	  If you are not sure whether your terminals respond to this code
-	  correctly, or want to save on code size (about 400 bytes),
-	  then do not turn this option on.
+	Allow usage of "ESC [ 6 n" sequence. Terminal answers back with
+	current cursor position. This information is used to make line
+	editing more robust in some cases.
+	If you are not sure whether your terminals respond to this code
+	correctly, or want to save on code size (about 400 bytes),
+	then do not turn this option on.
+
+config BUSYBOX_LOCALE_SUPPORT
+	bool "Enable locale support (system needs locale for this to work)"
+	default n
+	help
+	Enable this if your system has locale support and you would like
+	busybox to support locale settings.
+
+config BUSYBOX_UNICODE_SUPPORT
+	bool "Support Unicode"
+	default y
+	help
+	This makes various applets aware that one byte is not
+	one character on screen.
+
+	Busybox aims to eventually work correctly with Unicode displays.
+	Any older encodings are not guaranteed to work.
+	Probably by the time when busybox will be fully Unicode-clean,
+	other encodings will be mainly of historic interest.
+
+config BUSYBOX_UNICODE_USING_LOCALE
+	bool "Use libc routines for Unicode (else uses internal ones)"
+	default n
+	depends on BUSYBOX_UNICODE_SUPPORT && BUSYBOX_LOCALE_SUPPORT
+	help
+	With this option on, Unicode support is implemented using libc
+	routines. Otherwise, internal implementation is used.
+	Internal implementation is smaller.
+
+config BUSYBOX_FEATURE_CHECK_UNICODE_IN_ENV
+	bool "Check $LC_ALL, $LC_CTYPE and $LANG environment variables"
+	default n
+	depends on BUSYBOX_UNICODE_SUPPORT && !BUSYBOX_UNICODE_USING_LOCALE
+	help
+	With this option on, Unicode support is activated
+	only if locale-related variables have the value of the form
+	"xxxx.utf8"
+
+	Otherwise, Unicode support will be always enabled and active.
+
+config BUSYBOX_SUBST_WCHAR
+	int "Character code to substitute unprintable characters with"
+	depends on BUSYBOX_UNICODE_SUPPORT
+	default 63
+	help
+	Typical values are 63 for '?' (works with any output device),
+	30 for ASCII substitute control code,
+	65533 (0xfffd) for Unicode replacement character.
+
+config BUSYBOX_LAST_SUPPORTED_WCHAR
+	int "Range of supported Unicode characters"
+	depends on BUSYBOX_UNICODE_SUPPORT
+	default 767
+	help
+	Any character with Unicode value bigger than this is assumed
+	to be non-printable on output device. Many applets replace
+	such characters with substitution character.
+
+	The idea is that many valid printable Unicode chars
+	nevertheless are not displayed correctly. Think about
+	combining charachers, double-wide hieroglyphs, obscure
+	characters in dozens of ancient scripts...
+	Many terminals, terminal emulators, xterms etc will fail
+	to handle them correctly. Choose the smallest value
+	which suits your needs.
+
+	Typical values are:
+	126 - ASCII only
+	767 (0x2ff) - there are no combining chars in [0..767] range
+			(the range includes Latin 1, Latin Ext. A and B),
+			code is ~700 bytes smaller for this case.
+	4351 (0x10ff) - there are no double-wide chars in [0..4351] range,
+			code is ~300 bytes smaller for this case.
+	12799 (0x31ff) - nearly all non-ideographic characters are
+			available in [0..12799] range, including
+			East Asian scripts like katakana, hiragana, hangul,
+			bopomofo...
+	0 - off, any valid printable Unicode character will be printed.
+
+config BUSYBOX_UNICODE_COMBINING_WCHARS
+	bool "Allow zero-width Unicode characters on output"
+	default n
+	depends on BUSYBOX_UNICODE_SUPPORT
+	help
+	With this option off, any Unicode char with width of 0
+	is substituted on output.
+
+config BUSYBOX_UNICODE_WIDE_WCHARS
+	bool "Allow wide Unicode characters on output"
+	default n
+	depends on BUSYBOX_UNICODE_SUPPORT
+	help
+	With this option off, any Unicode char with width > 1
+	is substituted on output.
+
+config BUSYBOX_UNICODE_BIDI_SUPPORT
+	bool "Bidirectional character-aware line input"
+	default n
+	depends on BUSYBOX_UNICODE_SUPPORT && !BUSYBOX_UNICODE_USING_LOCALE
+	help
+	With this option on, right-to-left Unicode characters
+	are treated differently on input (e.g. cursor movement).
+
+config BUSYBOX_UNICODE_NEUTRAL_TABLE
+	bool "In bidi input, support non-ASCII neutral chars too"
+	default n
+	depends on BUSYBOX_UNICODE_BIDI_SUPPORT
+	help
+	In most cases it's enough to treat only ASCII non-letters
+	(i.e. punctuation, numbers and space) as characters
+	with neutral directionality.
+	With this option on, more extensive (and bigger) table
+	of neutral chars will be used.
+
+config BUSYBOX_UNICODE_PRESERVE_BROKEN
+	bool "Make it possible to enter sequences of chars which are not Unicode"
+	default n
+	depends on BUSYBOX_UNICODE_SUPPORT
+	help
+	With this option on, on line-editing input (such as used by shells)
+	invalid UTF-8 bytes are not substituted with the selected
+	substitution character.
+	For example, this means that entering 'l', 's', ' ', 0xff, [Enter]
+	at shell prompt will list file named 0xff (single char name
+	with char value 255), not file named '?'.
 
 
 config BUSYBOX_FEATURE_NON_POSIX_CP
 config BUSYBOX_FEATURE_NON_POSIX_CP
 	bool "Non-POSIX, but safer, copying to special nodes"
 	bool "Non-POSIX, but safer, copying to special nodes"
 	default y
 	default y
 	help
 	help
-	  With this option, "cp file symlink" will delete symlink
-	  and create a regular file. This does not conform to POSIX,
-	  but prevents a symlink attack.
-	  Similarly, "cp file device" will not send file's data
-	  to the device. (To do that, use "cat file >device")
+	With this option, "cp file symlink" will delete symlink
+	and create a regular file. This does not conform to POSIX,
+	but prevents a symlink attack.
+	Similarly, "cp file device" will not send file's data
+	to the device. (To do that, use "cat file >device")
 
 
 config BUSYBOX_FEATURE_VERBOSE_CP_MESSAGE
 config BUSYBOX_FEATURE_VERBOSE_CP_MESSAGE
 	bool "Give more precise messages when copy fails (cp, mv etc)"
 	bool "Give more precise messages when copy fails (cp, mv etc)"
 	default n
 	default n
 	help
 	help
-	  Error messages with this feature enabled:
-	    $ cp file /does_not_exist/file
-	    cp: cannot create '/does_not_exist/file': Path does not exist
-	    $ cp file /vmlinuz/file
-	    cp: cannot stat '/vmlinuz/file': Path has non-directory component
-	  If this feature is not enabled, they will be, respectively:
-	    cp: cannot create '/does_not_exist/file': No such file or directory
-	    cp: cannot stat '/vmlinuz/file': Not a directory
-	  This will cost you ~60 bytes.
+	Error messages with this feature enabled:
+
+	$ cp file /does_not_exist/file
+	cp: cannot create '/does_not_exist/file': Path does not exist
+	$ cp file /vmlinuz/file
+	cp: cannot stat '/vmlinuz/file': Path has non-directory component
+
+	If this feature is not enabled, they will be, respectively:
+
+	cp: cannot create '/does_not_exist/file': No such file or directory
+	cp: cannot stat '/vmlinuz/file': Not a directory
+
+	This will cost you ~60 bytes.
+
+config BUSYBOX_FEATURE_USE_SENDFILE
+	bool "Use sendfile system call"
+	default y
+	select BUSYBOX_PLATFORM_LINUX
+	help
+	When enabled, busybox will use the kernel sendfile() function
+	instead of read/write loops to copy data between file descriptors
+	(for example, cp command does this a lot).
+	If sendfile() doesn't work, copying code falls back to read/write
+	loop. sendfile() was originally implemented for faster I/O
+	from files to sockets, but since Linux 2.6.33 it was extended
+	to work for many more file types.
 
 
 config BUSYBOX_FEATURE_COPYBUF_KB
 config BUSYBOX_FEATURE_COPYBUF_KB
 	int "Copy buffer size, in kilobytes"
 	int "Copy buffer size, in kilobytes"
 	range 1 1024
 	range 1 1024
 	default 4
 	default 4
 	help
 	help
-	  Size of buffer used by cp, mv, install, wget etc.
-	  Buffers which are 4 kb or less will be allocated on stack.
-	  Bigger buffers will be allocated with mmap, with fallback to 4 kb
-	  stack buffer if mmap fails.
+	Size of buffer used by cp, mv, install, wget etc.
+	Buffers which are 4 kb or less will be allocated on stack.
+	Bigger buffers will be allocated with mmap, with fallback to 4 kb
+	stack buffer if mmap fails.
 
 
 config BUSYBOX_FEATURE_SKIP_ROOTFS
 config BUSYBOX_FEATURE_SKIP_ROOTFS
 	bool "Skip rootfs in mount table"
 	bool "Skip rootfs in mount table"
 	default y
 	default y
 	help
 	help
-	  Ignore rootfs entry in mount table.
+	Ignore rootfs entry in mount table.
 
 
-	  In Linux, kernel has a special filesystem, rootfs, which is initially
-	  mounted on /. It contains initramfs data, if kernel is configured
-	  to have one. Usually, another file system is mounted over / early
-	  in boot process, and therefore most tools which manipulate
-	  mount table, such as df, will skip rootfs entry.
+	In Linux, kernel has a special filesystem, rootfs, which is initially
+	mounted on /. It contains initramfs data, if kernel is configured
+	to have one. Usually, another file system is mounted over / early
+	in boot process, and therefore most tools which manipulate
+	mount table, such as df, will skip rootfs entry.
 
 
-	  However, some systems do not mount anything on /.
-	  If you need to configure busybox for one of these systems,
-	  you may find it useful to turn this option off to make df show
-	  initramfs statistics.
+	However, some systems do not mount anything on /.
+	If you need to configure busybox for one of these systems,
+	you may find it useful to turn this option off to make df show
+	initramfs statistics.
 
 
-	  Otherwise, choose Y.
+	Otherwise, choose Y.
 
 
 config BUSYBOX_MONOTONIC_SYSCALL
 config BUSYBOX_MONOTONIC_SYSCALL
 	bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
 	bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
 	default y
 	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring
-	  time intervals (time, ping, traceroute etc need this).
-	  Probably requires Linux 2.6+. If not selected, gettimeofday
-	  will be used instead (which gives wrong results if date/time
-	  is reset).
+	Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring
+	time intervals (time, ping, traceroute etc need this).
+	Probably requires Linux 2.6+. If not selected, gettimeofday
+	will be used instead (which gives wrong results if date/time
+	is reset).
 
 
 config BUSYBOX_IOCTL_HEX2STR_ERROR
 config BUSYBOX_IOCTL_HEX2STR_ERROR
 	bool "Use ioctl names rather than hex values in error messages"
 	bool "Use ioctl names rather than hex values in error messages"
 	default y
 	default y
 	help
 	help
-	  Use ioctl names rather than hex values in error messages
-	  (e.g. VT_DISALLOCATE rather than 0x5608). If disabled this
-	  saves about 1400 bytes.
+	Use ioctl names rather than hex values in error messages
+	(e.g. VT_DISALLOCATE rather than 0x5608). If disabled this
+	saves about 1400 bytes.
 
 
 config BUSYBOX_FEATURE_HWIB
 config BUSYBOX_FEATURE_HWIB
 	bool "Support infiniband HW"
 	bool "Support infiniband HW"
-	default n
+	default y
 	help
 	help
-	  Support for printing infiniband addresses in
-	  network applets.
-
-endmenu
+	Support for printing infiniband addresses in network applets.

+ 193 - 226
package/busybox/config/loginutils/Config.in

@@ -1,363 +1,330 @@
 # DO NOT EDIT. This file is generated from Config.src
 # DO NOT EDIT. This file is generated from Config.src
 #
 #
 # For a description of the syntax of this configuration file,
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 #
 
 
 menu "Login/Password Management Utilities"
 menu "Login/Password Management Utilities"
 
 
-config BUSYBOX_ADD_SHELL
-       bool "add-shell"
-       default y if DESKTOP
-       help
-         Add shells to /etc/shells.
-
-config BUSYBOX_REMOVE_SHELL
-       bool "remove-shell"
-       default y if DESKTOP
-       help
-         Remove shells from /etc/shells.
-
 config BUSYBOX_FEATURE_SHADOWPASSWDS
 config BUSYBOX_FEATURE_SHADOWPASSWDS
-	bool "Support for shadow passwords"
+	bool "Support shadow passwords"
 	default y
 	default y
 	help
 	help
-	  Build support for shadow password in /etc/shadow. This file is only
-	  readable by root and thus the encrypted passwords are no longer
-	  publicly readable.
+	Build support for shadow password in /etc/shadow. This file is only
+	readable by root and thus the encrypted passwords are no longer
+	publicly readable.
 
 
 config BUSYBOX_USE_BB_PWD_GRP
 config BUSYBOX_USE_BB_PWD_GRP
 	bool "Use internal password and group functions rather than system functions"
 	bool "Use internal password and group functions rather than system functions"
-	default n
+	default y
 	help
 	help
-	  If you leave this disabled, busybox will use the system's password
-	  and group functions. And if you are using the GNU C library
-	  (glibc), you will then need to install the /etc/nsswitch.conf
-	  configuration file and the required /lib/libnss_* libraries in
-	  order for the password and group functions to work. This generally
-	  makes your embedded system quite a bit larger.
+	If you leave this disabled, busybox will use the system's password
+	and group functions. And if you are using the GNU C library
+	(glibc), you will then need to install the /etc/nsswitch.conf
+	configuration file and the required /lib/libnss_* libraries in
+	order for the password and group functions to work. This generally
+	makes your embedded system quite a bit larger.
 
 
-	  Enabling this option will cause busybox to directly access the
-	  system's /etc/password, /etc/group files (and your system will be
-	  smaller, and I will get fewer emails asking about how glibc NSS
-	  works). When this option is enabled, you will not be able to use
-	  PAM to access remote LDAP password servers and whatnot. And if you
-	  want hostname resolution to work with glibc, you still need the
-	  /lib/libnss_* libraries.
+	Enabling this option will cause busybox to directly access the
+	system's /etc/password, /etc/group files (and your system will be
+	smaller, and I will get fewer emails asking about how glibc NSS
+	works). When this option is enabled, you will not be able to use
+	PAM to access remote LDAP password servers and whatnot. And if you
+	want hostname resolution to work with glibc, you still need the
+	/lib/libnss_* libraries.
 
 
-	  If you need to use glibc's nsswitch.conf mechanism
-	  (e.g. if user/group database is NOT stored in /etc/passwd etc),
-	  you must NOT use this option.
+	If you need to use glibc's nsswitch.conf mechanism
+	(e.g. if user/group database is NOT stored in /etc/passwd etc),
+	you must NOT use this option.
 
 
-	  If you enable this option, it will add about 1.5k.
+	If you enable this option, it will add about 1.5k.
 
 
 config BUSYBOX_USE_BB_SHADOW
 config BUSYBOX_USE_BB_SHADOW
 	bool "Use internal shadow password functions"
 	bool "Use internal shadow password functions"
-	default n
+	default y
 	depends on BUSYBOX_USE_BB_PWD_GRP && BUSYBOX_FEATURE_SHADOWPASSWDS
 	depends on BUSYBOX_USE_BB_PWD_GRP && BUSYBOX_FEATURE_SHADOWPASSWDS
 	help
 	help
-	  If you leave this disabled, busybox will use the system's shadow
-	  password handling functions. And if you are using the GNU C library
-	  (glibc), you will then need to install the /etc/nsswitch.conf
-	  configuration file and the required /lib/libnss_* libraries in
-	  order for the shadow password functions to work. This generally
-	  makes your embedded system quite a bit larger.
+	If you leave this disabled, busybox will use the system's shadow
+	password handling functions. And if you are using the GNU C library
+	(glibc), you will then need to install the /etc/nsswitch.conf
+	configuration file and the required /lib/libnss_* libraries in
+	order for the shadow password functions to work. This generally
+	makes your embedded system quite a bit larger.
 
 
-	  Enabling this option will cause busybox to directly access the
-	  system's /etc/shadow file when handling shadow passwords. This
-	  makes your system smaller (and I will get fewer emails asking about
-	  how glibc NSS works). When this option is enabled, you will not be
-	  able to use PAM to access shadow passwords from remote LDAP
-	  password servers and whatnot.
+	Enabling this option will cause busybox to directly access the
+	system's /etc/shadow file when handling shadow passwords. This
+	makes your system smaller (and I will get fewer emails asking about
+	how glibc NSS works). When this option is enabled, you will not be
+	able to use PAM to access shadow passwords from remote LDAP
+	password servers and whatnot.
 
 
 config BUSYBOX_USE_BB_CRYPT
 config BUSYBOX_USE_BB_CRYPT
 	bool "Use internal crypt functions"
 	bool "Use internal crypt functions"
-	default n
+	default y
 	help
 	help
-	  Busybox has internal DES and MD5 crypt functions.
-	  They produce results which are identical to corresponding
-	  standard C library functions.
+	Busybox has internal DES and MD5 crypt functions.
+	They produce results which are identical to corresponding
+	standard C library functions.
 
 
-	  If you leave this disabled, busybox will use the system's
-	  crypt functions. Most C libraries use large (~70k)
-	  static buffers there, and also combine them with more general
-	  DES encryption/decryption.
+	If you leave this disabled, busybox will use the system's
+	crypt functions. Most C libraries use large (~70k)
+	static buffers there, and also combine them with more general
+	DES encryption/decryption.
 
 
-	  For busybox, having large static buffers is undesirable,
-	  especially on NOMMU machines. Busybox also doesn't need
-	  DES encryption/decryption and can do with smaller code.
+	For busybox, having large static buffers is undesirable,
+	especially on NOMMU machines. Busybox also doesn't need
+	DES encryption/decryption and can do with smaller code.
 
 
-	  If you enable this option, it will add about 4.8k of code
-	  if you are building dynamically linked executable.
-	  In static build, it makes code _smaller_ by about 1.2k,
-	  and likely many kilobytes less of bss.
+	If you enable this option, it will add about 4.8k of code
+	if you are building dynamically linked executable.
+	In static build, it makes code _smaller_ by about 1.2k,
+	and likely many kilobytes less of bss.
 
 
 config BUSYBOX_USE_BB_CRYPT_SHA
 config BUSYBOX_USE_BB_CRYPT_SHA
 	bool "Enable SHA256/512 crypt functions"
 	bool "Enable SHA256/512 crypt functions"
-	default n
+	default y
 	depends on BUSYBOX_USE_BB_CRYPT
 	depends on BUSYBOX_USE_BB_CRYPT
 	help
 	help
-	  Enable this if you have passwords starting with "$5$" or "$6$"
-	  in your /etc/passwd or /etc/shadow files. These passwords
-	  are hashed using SHA256 and SHA512 algorithms. Support for them
-	  was added to glibc in 2008.
-	  With this option off, login will fail password check for any
-	  user which has password encrypted with these algorithms.
+	Enable this if you have passwords starting with "$5$" or "$6$"
+	in your /etc/passwd or /etc/shadow files. These passwords
+	are hashed using SHA256 and SHA512 algorithms. Support for them
+	was added to glibc in 2008.
+	With this option off, login will fail password check for any
+	user which has password encrypted with these algorithms.
 
 
-config BUSYBOX_ADDUSER
-	bool "adduser"
-	default n
+config BUSYBOX_ADD_SHELL
+	bool "add-shell (3.1 kb)"
+	default y if BUSYBOX_DESKTOP
 	help
 	help
-	  Utility for creating a new user account.
+	Add shells to /etc/shells.
 
 
-config BUSYBOX_FEATURE_ADDUSER_LONG_OPTIONS
-	bool "Enable long options"
-	default n
-	depends on BUSYBOX_ADDUSER && BUSYBOX_LONG_OPTS
+config BUSYBOX_REMOVE_SHELL
+	bool "remove-shell (3 kb)"
+	default y if BUSYBOX_DESKTOP
+	help
+	Remove shells from /etc/shells.
+config BUSYBOX_ADDGROUP
+	bool "addgroup (8.6 kb)"
+	default y
+	select BUSYBOX_LONG_OPTS
+	help
+	Utility for creating a new group account.
+
+config BUSYBOX_FEATURE_ADDUSER_TO_GROUP
+	bool "Support adding users to groups"
+	default y
+	depends on BUSYBOX_ADDGROUP
+	help
+	If called with two non-option arguments,
+	addgroup will add an existing user to an
+	existing group.
+config BUSYBOX_ADDUSER
+	bool "adduser (15 kb)"
+	default y
+	select BUSYBOX_LONG_OPTS
 	help
 	help
-	  Support long options for the adduser applet.
+	Utility for creating a new user account.
 
 
 config BUSYBOX_FEATURE_CHECK_NAMES
 config BUSYBOX_FEATURE_CHECK_NAMES
 	bool "Enable sanity check on user/group names in adduser and addgroup"
 	bool "Enable sanity check on user/group names in adduser and addgroup"
 	default n
 	default n
 	depends on BUSYBOX_ADDUSER || BUSYBOX_ADDGROUP
 	depends on BUSYBOX_ADDUSER || BUSYBOX_ADDGROUP
 	help
 	help
-	  Enable sanity check on user and group names in adduser and addgroup.
-	  To avoid problems, the user or group name should consist only of
-	  letters, digits, underscores, periods, at signs and dashes,
-	  and not start with a dash (as defined by IEEE Std 1003.1-2001).
-	  For compatibility with Samba machine accounts "$" is also supported
-	  at the end of the user or group name.
+	Enable sanity check on user and group names in adduser and addgroup.
+	To avoid problems, the user or group name should consist only of
+	letters, digits, underscores, periods, at signs and dashes,
+	and not start with a dash (as defined by IEEE Std 1003.1-2001).
+	For compatibility with Samba machine accounts "$" is also supported
+	at the end of the user or group name.
 
 
 config BUSYBOX_LAST_ID
 config BUSYBOX_LAST_ID
 	int "Last valid uid or gid for adduser and addgroup"
 	int "Last valid uid or gid for adduser and addgroup"
 	depends on BUSYBOX_ADDUSER || BUSYBOX_ADDGROUP
 	depends on BUSYBOX_ADDUSER || BUSYBOX_ADDGROUP
 	default 60000
 	default 60000
 	help
 	help
-	  Last valid uid or gid for adduser and addgroup
+	Last valid uid or gid for adduser and addgroup
 
 
 config BUSYBOX_FIRST_SYSTEM_ID
 config BUSYBOX_FIRST_SYSTEM_ID
 	int "First valid system uid or gid for adduser and addgroup"
 	int "First valid system uid or gid for adduser and addgroup"
 	depends on BUSYBOX_ADDUSER || BUSYBOX_ADDGROUP
 	depends on BUSYBOX_ADDUSER || BUSYBOX_ADDGROUP
-	range 0 64900
+	range 0 BUSYBOX_LAST_ID
 	default 100
 	default 100
 	help
 	help
-	  First valid system uid or gid for adduser and addgroup
+	First valid system uid or gid for adduser and addgroup
 
 
 config BUSYBOX_LAST_SYSTEM_ID
 config BUSYBOX_LAST_SYSTEM_ID
 	int "Last valid system uid or gid for adduser and addgroup"
 	int "Last valid system uid or gid for adduser and addgroup"
 	depends on BUSYBOX_ADDUSER || BUSYBOX_ADDGROUP
 	depends on BUSYBOX_ADDUSER || BUSYBOX_ADDGROUP
-	range 0 64900
+	range BUSYBOX_FIRST_SYSTEM_ID BUSYBOX_LAST_ID
 	default 999
 	default 999
 	help
 	help
-	  Last valid system uid or gid for adduser and addgroup
-
-config BUSYBOX_ADDGROUP
-	bool "addgroup"
-	default n
+	Last valid system uid or gid for adduser and addgroup
+config BUSYBOX_CHPASSWD
+	bool "chpasswd (18 kb)"
+	default y
 	help
 	help
-	  Utility for creating a new group account.
+	Reads a file of user name and password pairs from standard input
+	and uses this information to update a group of existing users.
 
 
-config BUSYBOX_FEATURE_ADDGROUP_LONG_OPTIONS
-	bool "Enable long options"
-	default n
-	depends on BUSYBOX_ADDGROUP && BUSYBOX_LONG_OPTS
+config BUSYBOX_FEATURE_DEFAULT_PASSWD_ALGO
+	string "Default encryption method (passwd -a, cryptpw -m, chpasswd -c ALG)"
+	default "des"
+	depends on BUSYBOX_PASSWD || BUSYBOX_CRYPTPW || BUSYBOX_CHPASSWD
 	help
 	help
-	  Support long options for the addgroup applet.
-
-config BUSYBOX_FEATURE_ADDUSER_TO_GROUP
-	bool "Support for adding users to groups"
-	default n
-	depends on BUSYBOX_ADDGROUP
+	Possible choices are "d[es]", "m[d5]", "s[ha256]" or "sha512".
+config BUSYBOX_CRYPTPW
+	bool "cryptpw (14 kb)"
+	default y
 	help
 	help
-	  If  called  with two non-option arguments,
-	  addgroup will add an existing user to an
-	  existing group.
+	Encrypts the given password with the crypt(3) libc function
+	using the given salt.
 
 
+config BUSYBOX_MKPASSWD
+	bool "mkpasswd (15 kb)"
+	default y
+	help
+	Encrypts the given password with the crypt(3) libc function
+	using the given salt. Debian has this utility under mkpasswd
+	name. Busybox provides mkpasswd as an alias for cryptpw.
 config BUSYBOX_DELUSER
 config BUSYBOX_DELUSER
-	bool "deluser"
-	default n
+	bool "deluser (9.1 kb)"
+	default y
 	help
 	help
-	  Utility for deleting a user account.
+	Utility for deleting a user account.
 
 
 config BUSYBOX_DELGROUP
 config BUSYBOX_DELGROUP
-	bool "delgroup"
-	default n
+	bool "delgroup (6.4 kb)"
+	default y
 	help
 	help
-	  Utility for deleting a group account.
+	Utility for deleting a group account.
 
 
 config BUSYBOX_FEATURE_DEL_USER_FROM_GROUP
 config BUSYBOX_FEATURE_DEL_USER_FROM_GROUP
-	bool "Support for removing users from groups"
-	default n
+	bool "Support removing users from groups"
+	default y
 	depends on BUSYBOX_DELGROUP
 	depends on BUSYBOX_DELGROUP
 	help
 	help
-	  If called with two non-option arguments, deluser
-	  or delgroup will remove an user from a specified group.
-
+	If called with two non-option arguments, deluser
+	or delgroup will remove an user from a specified group.
 config BUSYBOX_GETTY
 config BUSYBOX_GETTY
-	bool "getty"
+	bool "getty (10 kb)"
 	default y
 	default y
 	select BUSYBOX_FEATURE_SYSLOG
 	select BUSYBOX_FEATURE_SYSLOG
 	help
 	help
-	  getty lets you log in on a tty. It is normally invoked by init.
-
-	  Note that you can save a few bytes by disabling it and
-	  using login applet directly.
-	  If you need to reset tty attributes before calling login,
-	  this script approximates getty:
+	getty lets you log in on a tty. It is normally invoked by init.
 
 
-	  exec </dev/$1 >/dev/$1 2>&1 || BUSYBOX_exit 1
-	  reset
-	  stty sane; stty ispeed 38400; stty ospeed 38400
-	  printf "%s login: " "`hostname`"
-	  read -r login
-	  exec /bin/login "$login"
+	Note that you can save a few bytes by disabling it and
+	using login applet directly.
+	If you need to reset tty attributes before calling login,
+	this script approximates getty:
 
 
+	exec </dev/$1 >/dev/$1 2>&1 || exit 1
+	reset
+	stty sane; stty ispeed 38400; stty ospeed 38400
+	printf "%s login: " "`hostname`"
+	read -r login
+	exec /bin/login "$login"
 config BUSYBOX_LOGIN
 config BUSYBOX_LOGIN
-	bool "login"
+	bool "login (24 kb)"
 	default y
 	default y
 	select BUSYBOX_FEATURE_SYSLOG
 	select BUSYBOX_FEATURE_SYSLOG
 	help
 	help
-	  login is used when signing onto a system.
+	login is used when signing onto a system.
 
 
-	  Note that Busybox binary must be setuid root for this applet to
-	  work properly.
+	Note that busybox binary must be setuid root for this applet to
+	work properly.
 
 
 config BUSYBOX_LOGIN_SESSION_AS_CHILD
 config BUSYBOX_LOGIN_SESSION_AS_CHILD
 	bool "Run logged in session in a child process"
 	bool "Run logged in session in a child process"
-	default y if PAM
-	depends on BUSYBOX_LOGIN
-	help
-	  Run the logged in session in a child process.  This allows
-	  login to clean up things such as utmp entries or PAM sessions
-	  when the login session is complete.  If you use PAM, you
-	  almost always would want this to be set to Y, else PAM session
-	  will not be cleaned up.
-
-config BUSYBOX_PAM
-	bool "Support for PAM (Pluggable Authentication Modules)"
-	depends on !BUSYBOX_DISABLE_PAM
-	default n
+	default y if BUSYBOX_PAM
 	depends on BUSYBOX_LOGIN
 	depends on BUSYBOX_LOGIN
 	help
 	help
-	  Use PAM in login(1) instead of direct access to password database.
+	Run the logged in session in a child process.  This allows
+	login to clean up things such as utmp entries or PAM sessions
+	when the login session is complete.  If you use PAM, you
+	almost always would want this to be set to Y, else PAM session
+	will not be cleaned up.
 
 
 config BUSYBOX_LOGIN_SCRIPTS
 config BUSYBOX_LOGIN_SCRIPTS
-	bool "Support for login scripts"
+	bool "Support login scripts"
 	depends on BUSYBOX_LOGIN
 	depends on BUSYBOX_LOGIN
-	default n
+	default y
 	help
 	help
-	  Enable this if you want login to execute $LOGIN_PRE_SUID_SCRIPT
-	  just prior to switching from root to logged-in user.
+	Enable this if you want login to execute $LOGIN_PRE_SUID_SCRIPT
+	just prior to switching from root to logged-in user.
 
 
 config BUSYBOX_FEATURE_NOLOGIN
 config BUSYBOX_FEATURE_NOLOGIN
-	bool "Support for /etc/nologin"
-	default n
+	bool "Support /etc/nologin"
+	default y
 	depends on BUSYBOX_LOGIN
 	depends on BUSYBOX_LOGIN
 	help
 	help
-	  The file /etc/nologin is used by (some versions of) login(1).
-	  If it exists, non-root logins are prohibited.
+	The file /etc/nologin is used by (some versions of) login(1).
+	If it exists, non-root logins are prohibited.
 
 
 config BUSYBOX_FEATURE_SECURETTY
 config BUSYBOX_FEATURE_SECURETTY
-	bool "Support for /etc/securetty"
-	default n
+	bool "Support /etc/securetty"
+	default y
 	depends on BUSYBOX_LOGIN
 	depends on BUSYBOX_LOGIN
 	help
 	help
-	  The file /etc/securetty is used by (some versions of) login(1).
-	  The file contains the device names of tty lines (one per line,
-	  without leading /dev/) on which root is allowed to login.
-
+	The file /etc/securetty is used by (some versions of) login(1).
+	The file contains the device names of tty lines (one per line,
+	without leading /dev/) on which root is allowed to login.
 config BUSYBOX_PASSWD
 config BUSYBOX_PASSWD
-	bool "passwd"
-	default n
+	bool "passwd (21 kb)"
+	default y
 	select BUSYBOX_FEATURE_SYSLOG
 	select BUSYBOX_FEATURE_SYSLOG
 	help
 	help
-	  passwd changes passwords for user and group accounts. A normal user
-	  may only change the password for his/her own account, the super user
-	  may change the password for any account. The administrator of a group
-	  may change the password for the group.
+	passwd changes passwords for user and group accounts. A normal user
+	may only change the password for his/her own account, the super user
+	may change the password for any account. The administrator of a group
+	may change the password for the group.
 
 
-	  Note that Busybox binary must be setuid root for this applet to
-	  work properly.
+	Note that busybox binary must be setuid root for this applet to
+	work properly.
 
 
 config BUSYBOX_FEATURE_PASSWD_WEAK_CHECK
 config BUSYBOX_FEATURE_PASSWD_WEAK_CHECK
 	bool "Check new passwords for weakness"
 	bool "Check new passwords for weakness"
-	default n
+	default y
 	depends on BUSYBOX_PASSWD
 	depends on BUSYBOX_PASSWD
 	help
 	help
-	  With this option passwd will refuse new passwords which are "weak".
-
-config BUSYBOX_CRYPTPW
-	bool "cryptpw"
-	default n
-	help
-	  Encrypts the given password with the crypt(3) libc function
-	  using the given salt. Debian has this utility under mkpasswd
-	  name. Busybox provides mkpasswd as an alias for cryptpw.
-
-config BUSYBOX_MKPASSWD
-	bool "mkpasswd"
-	default n
-	help
-	  Encrypts the given password with the crypt(3) libc function
-	  using the given salt. Debian has this utility under mkpasswd
-	  name. Busybox provides mkpasswd as an alias for cryptpw.
-
-config BUSYBOX_CHPASSWD
-	bool "chpasswd"
-	default n
-	help
-	  Reads a file of user name and password pairs from standard input
-	  and uses this information to update a group of existing users.
-
-config BUSYBOX_FEATURE_DEFAULT_PASSWD_ALGO
-	string "Default password encryption method (passwd -a, cryptpw -m parameter)"
-	default "des"
-	depends on BUSYBOX_PASSWD || BUSYBOX_CRYPTPW
-	help
-	  Possible choices are "d[es]", "m[d5]", "s[ha256]" or "sha512".
-
+	With this option passwd will refuse new passwords which are "weak".
 config BUSYBOX_SU
 config BUSYBOX_SU
-	bool "su"
-	default n
+	bool "su (19 kb)"
+	default y
 	select BUSYBOX_FEATURE_SYSLOG
 	select BUSYBOX_FEATURE_SYSLOG
 	help
 	help
-	  su is used to become another user during a login session.
-	  Invoked without a username, su defaults to becoming the super user.
-
-	  Note that Busybox binary must be setuid root for this applet to
-	  work properly.
+	su is used to become another user during a login session.
+	Invoked without a username, su defaults to becoming the super user.
+	Note that busybox binary must be setuid root for this applet to
+	work properly.
 
 
 config BUSYBOX_FEATURE_SU_SYSLOG
 config BUSYBOX_FEATURE_SU_SYSLOG
-	bool "Enable su to write to syslog"
+	bool "Log to syslog all attempts to use su"
 	default y
 	default y
 	depends on BUSYBOX_SU
 	depends on BUSYBOX_SU
 
 
 config BUSYBOX_FEATURE_SU_CHECKS_SHELLS
 config BUSYBOX_FEATURE_SU_CHECKS_SHELLS
-	bool "Enable su to check user's shell to be listed in /etc/shells"
-	depends on BUSYBOX_SU
+	bool "If user's shell is not in /etc/shells, disallow -s PROG"
 	default y
 	default y
+	depends on BUSYBOX_SU
 
 
 config BUSYBOX_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY
 config BUSYBOX_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY
 	bool "Allow blank passwords only on TTYs in /etc/securetty"
 	bool "Allow blank passwords only on TTYs in /etc/securetty"
 	default n
 	default n
 	depends on BUSYBOX_SU
 	depends on BUSYBOX_SU
-
 config BUSYBOX_SULOGIN
 config BUSYBOX_SULOGIN
-	bool "sulogin"
-	default n
+	bool "sulogin (17 kb)"
+	default y
 	select BUSYBOX_FEATURE_SYSLOG
 	select BUSYBOX_FEATURE_SYSLOG
 	help
 	help
-	  sulogin is invoked when the system goes into single user
-	  mode (this is done through an entry in inittab).
-
+	sulogin is invoked when the system goes into single user
+	mode (this is done through an entry in inittab).
 config BUSYBOX_VLOCK
 config BUSYBOX_VLOCK
-	bool "vlock"
-	default n
+	bool "vlock (17 kb)"
+	default y
 	help
 	help
-	  Build the "vlock" applet which allows you to lock (virtual) terminals.
+	Build the "vlock" applet which allows you to lock (virtual) terminals.
 
 
-	  Note that Busybox binary must be setuid root for this applet to
-	  work properly.
+	Note that busybox binary must be setuid root for this applet to
+	work properly.
 
 
 endmenu
 endmenu

+ 26 - 30
package/busybox/config/mailutils/Config.in

@@ -1,55 +1,51 @@
 # DO NOT EDIT. This file is generated from Config.src
 # DO NOT EDIT. This file is generated from Config.src
 menu "Mail Utilities"
 menu "Mail Utilities"
 
 
-
 config BUSYBOX_MAKEMIME
 config BUSYBOX_MAKEMIME
-	bool "makemime"
-	default n
-	help
-	  Create MIME-formatted messages.
-
-config BUSYBOX_FEATURE_MIME_CHARSET
-	string "Default charset"
-	default "us-ascii"
-	depends on BUSYBOX_MAKEMIME || BUSYBOX_REFORMIME || BUSYBOX_SENDMAIL
+	bool "makemime (5.4 kb)"
+	default y
 	help
 	help
-	  Default charset of the message.
-
+	Create MIME-formatted messages.
 config BUSYBOX_POPMAILDIR
 config BUSYBOX_POPMAILDIR
-	bool "popmaildir"
-	default n
+	bool "popmaildir (10 kb)"
+	default y
 	help
 	help
-	  Simple yet powerful POP3 mail popper. Delivers content
-	  of remote mailboxes to local Maildir.
+	Simple yet powerful POP3 mail popper. Delivers content
+	of remote mailboxes to local Maildir.
 
 
 config BUSYBOX_FEATURE_POPMAILDIR_DELIVERY
 config BUSYBOX_FEATURE_POPMAILDIR_DELIVERY
 	bool "Allow message filters and custom delivery program"
 	bool "Allow message filters and custom delivery program"
 	default y
 	default y
 	depends on BUSYBOX_POPMAILDIR
 	depends on BUSYBOX_POPMAILDIR
 	help
 	help
-	  Allow to use a custom program to filter the content
-	  of the message before actual delivery (-F "prog [args...]").
-	  Allow to use a custom program for message actual delivery
-	  (-M "prog [args...]").
-
+	Allow to use a custom program to filter the content
+	of the message before actual delivery (-F "prog [args...]").
+	Allow to use a custom program for message actual delivery
+	(-M "prog [args...]").
 config BUSYBOX_REFORMIME
 config BUSYBOX_REFORMIME
-	bool "reformime"
-	default n
+	bool "reformime (7.5 kb)"
+	default y
 	help
 	help
-	  Parse MIME-formatted messages.
+	Parse MIME-formatted messages.
 
 
 config BUSYBOX_FEATURE_REFORMIME_COMPAT
 config BUSYBOX_FEATURE_REFORMIME_COMPAT
 	bool "Accept and ignore options other than -x and -X"
 	bool "Accept and ignore options other than -x and -X"
 	default y
 	default y
 	depends on BUSYBOX_REFORMIME
 	depends on BUSYBOX_REFORMIME
 	help
 	help
-	  Accept (for compatibility only) and ignore options
-	  other than -x and -X.
-
+	Accept (for compatibility only) and ignore options
+	other than -x and -X.
 config BUSYBOX_SENDMAIL
 config BUSYBOX_SENDMAIL
-	bool "sendmail"
-	default n
+	bool "sendmail (14 kb)"
+	default y
+	help
+	Barebones sendmail.
+
+config BUSYBOX_FEATURE_MIME_CHARSET
+	string "Default charset"
+	default "us-ascii"
+	depends on BUSYBOX_MAKEMIME || BUSYBOX_REFORMIME || BUSYBOX_SENDMAIL
 	help
 	help
-	  Barebones sendmail.
+	Default charset of the message.
 
 
 endmenu
 endmenu

File diff suppressed because it is too large
+ 397 - 498
package/busybox/config/miscutils/Config.in


+ 126 - 172
package/busybox/config/modutils/Config.in

@@ -1,138 +1,98 @@
 # DO NOT EDIT. This file is generated from Config.src
 # DO NOT EDIT. This file is generated from Config.src
 #
 #
 # For a description of the syntax of this configuration file,
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 #
 
 
 menu "Linux Module Utilities"
 menu "Linux Module Utilities"
 
 
-config BUSYBOX_MODINFO
-	bool "modinfo"
-	default n
-	depends on !BUSYBOX_DISABLE_KMOD
-	select BUSYBOX_PLATFORM_LINUX
-	help
-	  Show information about a Linux Kernel module
-
 config BUSYBOX_MODPROBE_SMALL
 config BUSYBOX_MODPROBE_SMALL
 	bool "Simplified modutils"
 	bool "Simplified modutils"
-	default n
-	depends on !BUSYBOX_DISABLE_KMOD
-	select BUSYBOX_PLATFORM_LINUX
+	default y
 	help
 	help
-	  Simplified modutils.
-
-	  With this option modprobe does not require modules.dep file
-	  and does not use /etc/modules.conf file.
-	  It scans module files in /lib/modules/`uname -r` and
-	  determines dependencies and module alias names on the fly.
-	  This may make module loading slower, most notably
-	  when one needs to load module by alias (this requires
-	  scanning through module _bodies_).
+	Build smaller (~1.5 kbytes), simplified module tools.
 
 
-	  At the first attempt to load a module by alias modprobe
-	  will try to generate modules.dep.bb file in order to speed up
-	  future loads by alias. Failure to do so (read-only /lib/modules,
-	  etc) is not reported, and future modprobes will be slow too.
+	This option by itself does not enable any applets -
+	you need to select applets individually below.
 
 
-	  NB: modules.dep.bb file format is not compatible
-	  with modules.dep file as created/used by standard module tools.
+	With this option modprobe does not require modules.dep file
+	and does not use /etc/modules.conf file.
+	It scans module files in /lib/modules/`uname -r` and
+	determines dependencies and module alias names on the fly.
+	This may make module loading slower, most notably
+	when one needs to load module by alias (this requires
+	scanning through module _bodies_).
 
 
-	  Additional module parameters can be stored in
-	  /etc/modules/$module_name files.
+	At the first attempt to load a module by alias modprobe
+	will try to generate modules.dep.bb file in order to speed up
+	future loads by alias. Failure to do so (read-only /lib/modules,
+	etc) is not reported, and future modprobes will be slow too.
 
 
-	  Apart from modprobe, other utilities are also provided:
-	  - insmod is an alias to modprobe
-	  - rmmod is an alias to modprobe -r
-	  - depmod generates modules.dep.bb
+	NB: modules.dep.bb file format is not compatible
+	with modules.dep file as created/used by standard module tools.
 
 
-	  As of 2008-07, this code is experimental. It is 14kb smaller
-	  than "non-small" modutils.
+	Additional module parameters can be stored in
+	/etc/modules/$module_name files.
 
 
-config BUSYBOX_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
-	bool "Accept module options on modprobe command line"
+config BUSYBOX_DEPMOD
+	bool "depmod (27 kb)"
 	default y
 	default y
-	depends on BUSYBOX_MODPROBE_SMALL
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  Allow insmod and modprobe take module options from command line.
-
-config BUSYBOX_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
-	bool "Skip loading of already loaded modules"
-	default y
-	depends on BUSYBOX_MODPROBE_SMALL
-	help
-	  Check if the module is already loaded.
-
+	depmod generates modules.dep (and potentially modules.alias
+	and modules.symbols) that contain dependency information
+	for modprobe.
 config BUSYBOX_INSMOD
 config BUSYBOX_INSMOD
-	bool "insmod"
+	bool "insmod (22 kb)"
 	default y
 	default y
-	depends on !BUSYBOX_MODPROBE_SMALL
-	depends on !BUSYBOX_DISABLE_KMOD
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  insmod is used to load specified modules in the running kernel.
-
-config BUSYBOX_RMMOD
-	bool "rmmod"
-	default y
-	depends on !BUSYBOX_MODPROBE_SMALL
-	depends on !BUSYBOX_DISABLE_KMOD
-	select BUSYBOX_PLATFORM_LINUX
-	help
-	  rmmod is used to unload specified modules from the kernel.
-
+	insmod is used to load specified modules in the running kernel.
 config BUSYBOX_LSMOD
 config BUSYBOX_LSMOD
-	bool "lsmod"
+	bool "lsmod (1.9 kb)"
 	default y
 	default y
-	depends on !BUSYBOX_MODPROBE_SMALL
-	depends on !BUSYBOX_DISABLE_KMOD
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  lsmod is used to display a list of loaded modules.
+	lsmod is used to display a list of loaded modules.
 
 
 config BUSYBOX_FEATURE_LSMOD_PRETTY_2_6_OUTPUT
 config BUSYBOX_FEATURE_LSMOD_PRETTY_2_6_OUTPUT
 	bool "Pretty output"
 	bool "Pretty output"
-	default n
-	depends on BUSYBOX_LSMOD
+	default y
+	depends on BUSYBOX_LSMOD && !BUSYBOX_MODPROBE_SMALL
+	help
+	This option makes output format of lsmod adjusted to
+	the format of module-init-tools for Linux kernel 2.6.
+	Increases size somewhat.
+config BUSYBOX_MODINFO
+	bool "modinfo (24 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  This option makes output format of lsmod adjusted to
-	  the format of module-init-tools for Linux kernel 2.6.
-	  Increases size somewhat.
-
+	Show information about a Linux Kernel module
 config BUSYBOX_MODPROBE
 config BUSYBOX_MODPROBE
-	bool "modprobe"
-	default n
-	depends on !BUSYBOX_DISABLE_KMOD
-	depends on !BUSYBOX_MODPROBE_SMALL
+	bool "modprobe (28 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  Handle the loading of modules, and their dependencies on a high
-	  level.
+	Handle the loading of modules, and their dependencies on a high
+	level.
 
 
 config BUSYBOX_FEATURE_MODPROBE_BLACKLIST
 config BUSYBOX_FEATURE_MODPROBE_BLACKLIST
 	bool "Blacklist support"
 	bool "Blacklist support"
-	default n
-	depends on BUSYBOX_MODPROBE
-	select BUSYBOX_PLATFORM_LINUX
+	default y
+	depends on BUSYBOX_MODPROBE && !BUSYBOX_MODPROBE_SMALL
 	help
 	help
-	  Say 'y' here to enable support for the 'blacklist' command in
-	  modprobe.conf. This prevents the alias resolver to resolve
-	  blacklisted modules. This is useful if you want to prevent your
-	  hardware autodetection scripts to load modules like evdev, frame
-	  buffer drivers etc.
-
-config BUSYBOX_DEPMOD
-	bool "depmod"
-	default n
-	depends on !BUSYBOX_DISABLE_KMOD
-	depends on !BUSYBOX_MODPROBE_SMALL
+	Say 'y' here to enable support for the 'blacklist' command in
+	modprobe.conf. This prevents the alias resolver to resolve
+	blacklisted modules. This is useful if you want to prevent your
+	hardware autodetection scripts to load modules like evdev, frame
+	buffer drivers etc.
+config BUSYBOX_RMMOD
+	bool "rmmod (3.3 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  depmod generates modules.dep (and potentially modules.alias
-	  and modules.symbols) that contain dependency information
-	  for modprobe.
+	rmmod is used to unload specified modules from the kernel.
 
 
 comment "Options common to multiple modutils"
 comment "Options common to multiple modutils"
 
 
@@ -154,138 +114,132 @@ config BUSYBOX_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
 config BUSYBOX_FEATURE_2_4_MODULES
 config BUSYBOX_FEATURE_2_4_MODULES
 	bool "Support version 2.2/2.4 Linux kernels"
 	bool "Support version 2.2/2.4 Linux kernels"
 	default n
 	default n
-	depends on BUSYBOX_INSMOD || BUSYBOX_RMMOD || BUSYBOX_LSMOD
-	select BUSYBOX_PLATFORM_LINUX
+	depends on (BUSYBOX_INSMOD || BUSYBOX_LSMOD || BUSYBOX_MODPROBE || BUSYBOX_RMMOD) && !BUSYBOX_MODPROBE_SMALL
 	help
 	help
-	  Support module loading for 2.2.x and 2.4.x Linux kernels.
-	  This increases size considerably. Say N unless you plan
-	  to run ancient kernels.
-
-config BUSYBOX_FEATURE_INSMOD_TRY_MMAP
-	bool "Try to load module from a mmap'ed area"
-	default n
-	depends on BUSYBOX_INSMOD || BUSYBOX_MODPROBE_SMALL
-	select BUSYBOX_PLATFORM_LINUX
-	help
-	  This option causes module loading code to try to mmap
-	  module first. If it does not work (for example,
-	  it does not work for compressed modules), module will be read
-	  (and unpacked if needed) into a memory block allocated by malloc.
-
-	  The only case when mmap works but malloc does not is when
-	  you are trying to load a big module on a very memory-constrained
-	  machine. Malloc will momentarily need 2x as much memory as mmap.
-
-	  Choosing N saves about 250 bytes of code (on 32-bit x86).
+	Support module loading for 2.2.x and 2.4.x Linux kernels.
+	This increases size considerably. Say N unless you plan
+	to run ancient kernels.
 
 
 config BUSYBOX_FEATURE_INSMOD_VERSION_CHECKING
 config BUSYBOX_FEATURE_INSMOD_VERSION_CHECKING
 	bool "Enable module version checking"
 	bool "Enable module version checking"
 	default n
 	default n
 	depends on BUSYBOX_FEATURE_2_4_MODULES && (BUSYBOX_INSMOD || BUSYBOX_MODPROBE)
 	depends on BUSYBOX_FEATURE_2_4_MODULES && (BUSYBOX_INSMOD || BUSYBOX_MODPROBE)
-	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  Support checking of versions for modules. This is used to
-	  ensure that the kernel and module are made for each other.
+	Support checking of versions for modules. This is used to
+	ensure that the kernel and module are made for each other.
 
 
 config BUSYBOX_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
 config BUSYBOX_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
 	bool "Add module symbols to kernel symbol table"
 	bool "Add module symbols to kernel symbol table"
 	default n
 	default n
 	depends on BUSYBOX_FEATURE_2_4_MODULES && (BUSYBOX_INSMOD || BUSYBOX_MODPROBE)
 	depends on BUSYBOX_FEATURE_2_4_MODULES && (BUSYBOX_INSMOD || BUSYBOX_MODPROBE)
-	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  By adding module symbols to the kernel symbol table, Oops messages
-	  occuring within kernel modules can be properly debugged. By enabling
-	  this feature, module symbols will always be added to the kernel symbol
-	  table for proper debugging support. If you are not interested in
-	  Oops messages from kernel modules, say N.
+	By adding module symbols to the kernel symbol table, Oops messages
+	occurring within kernel modules can be properly debugged. By enabling
+	this feature, module symbols will always be added to the kernel symbol
+	table for proper debugging support. If you are not interested in
+	Oops messages from kernel modules, say N.
 
 
 config BUSYBOX_FEATURE_INSMOD_LOADINKMEM
 config BUSYBOX_FEATURE_INSMOD_LOADINKMEM
 	bool "In kernel memory optimization (uClinux only)"
 	bool "In kernel memory optimization (uClinux only)"
 	default n
 	default n
 	depends on BUSYBOX_FEATURE_2_4_MODULES && (BUSYBOX_INSMOD || BUSYBOX_MODPROBE)
 	depends on BUSYBOX_FEATURE_2_4_MODULES && (BUSYBOX_INSMOD || BUSYBOX_MODPROBE)
-	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  This is a special uClinux only memory optimization that lets insmod
-	  load the specified kernel module directly into kernel space, reducing
-	  memory usage by preventing the need for two copies of the module
-	  being loaded into memory.
+	This is a special uClinux only memory optimization that lets insmod
+	load the specified kernel module directly into kernel space, reducing
+	memory usage by preventing the need for two copies of the module
+	being loaded into memory.
 
 
 config BUSYBOX_FEATURE_INSMOD_LOAD_MAP
 config BUSYBOX_FEATURE_INSMOD_LOAD_MAP
 	bool "Enable insmod load map (-m) option"
 	bool "Enable insmod load map (-m) option"
 	default n
 	default n
 	depends on BUSYBOX_FEATURE_2_4_MODULES && BUSYBOX_INSMOD
 	depends on BUSYBOX_FEATURE_2_4_MODULES && BUSYBOX_INSMOD
-	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  Enabling this, one would be able to get a load map
-	  output on stdout. This makes kernel module debugging
-	  easier.
-	  If you don't plan to debug kernel modules, you
-	  don't need this option.
+	Enabling this, one would be able to get a load map
+	output on stdout. This makes kernel module debugging
+	easier.
+	If you don't plan to debug kernel modules, you
+	don't need this option.
 
 
 config BUSYBOX_FEATURE_INSMOD_LOAD_MAP_FULL
 config BUSYBOX_FEATURE_INSMOD_LOAD_MAP_FULL
 	bool "Symbols in load map"
 	bool "Symbols in load map"
-	default n
-	depends on BUSYBOX_FEATURE_INSMOD_LOAD_MAP && !BUSYBOX_MODPROBE_SMALL
-	select BUSYBOX_PLATFORM_LINUX
+	default y
+	depends on BUSYBOX_FEATURE_INSMOD_LOAD_MAP
 	help
 	help
-	  Without this option, -m will only output section
-	  load map. With this option, -m will also output
-	  symbols load map.
+	Without this option, -m will only output section
+	load map. With this option, -m will also output
+	symbols load map.
 
 
 config BUSYBOX_FEATURE_CHECK_TAINTED_MODULE
 config BUSYBOX_FEATURE_CHECK_TAINTED_MODULE
 	bool "Support tainted module checking with new kernels"
 	bool "Support tainted module checking with new kernels"
 	default y
 	default y
 	depends on (BUSYBOX_LSMOD || BUSYBOX_FEATURE_2_4_MODULES) && !BUSYBOX_MODPROBE_SMALL
 	depends on (BUSYBOX_LSMOD || BUSYBOX_FEATURE_2_4_MODULES) && !BUSYBOX_MODPROBE_SMALL
-	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  Support checking for tainted modules. These are usually binary
-	  only modules that will make the linux-kernel list ignore your
-	  support request.
-	  This option is required to support GPLONLY modules.
+	Support checking for tainted modules. These are usually binary
+	only modules that will make the linux-kernel list ignore your
+	support request.
+	This option is required to support GPLONLY modules.
+
+config BUSYBOX_FEATURE_INSMOD_TRY_MMAP
+	bool "Try to load module from a mmap'ed area"
+	default n
+	depends on (BUSYBOX_INSMOD || BUSYBOX_MODPROBE) && !BUSYBOX_MODPROBE_SMALL
+	help
+	This option causes module loading code to try to mmap
+	module first. If it does not work (for example,
+	it does not work for compressed modules), module will be read
+	(and unpacked if needed) into a memory block allocated by malloc.
+
+	The only case when mmap works but malloc does not is when
+	you are trying to load a big module on a very memory-constrained
+	machine. Malloc will momentarily need 2x as much memory as mmap.
+
+	Choosing N saves about 250 bytes of code (on 32-bit x86).
 
 
 config BUSYBOX_FEATURE_MODUTILS_ALIAS
 config BUSYBOX_FEATURE_MODUTILS_ALIAS
-	bool "Support for module.aliases file"
+	bool "Support module.aliases file"
 	default y
 	default y
-	depends on BUSYBOX_DEPMOD || BUSYBOX_MODPROBE
-	select BUSYBOX_PLATFORM_LINUX
+	depends on (BUSYBOX_DEPMOD || BUSYBOX_MODPROBE) && !BUSYBOX_MODPROBE_SMALL
 	help
 	help
-	  Generate and parse modules.alias containing aliases for bus
-	  identifiers:
-	    alias pcmcia:m*c*f03fn*pfn*pa*pb*pc*pd* parport_cs
+	Generate and parse modules.alias containing aliases for bus
+	identifiers:
+		alias pcmcia:m*c*f03fn*pfn*pa*pb*pc*pd* parport_cs
 
 
-	  and aliases for logical modules names e.g.:
-	    alias padlock_aes aes
-	    alias aes_i586 aes
-	    alias aes_generic aes
+	and aliases for logical modules names e.g.:
+		alias padlock_aes aes
+		alias aes_i586 aes
+		alias aes_generic aes
 
 
-	  Say Y if unsure.
+	Say Y if unsure.
 
 
 config BUSYBOX_FEATURE_MODUTILS_SYMBOLS
 config BUSYBOX_FEATURE_MODUTILS_SYMBOLS
-	bool "Support for module.symbols file"
+	bool "Support module.symbols file"
 	default y
 	default y
-	depends on BUSYBOX_DEPMOD || BUSYBOX_MODPROBE
-	select BUSYBOX_PLATFORM_LINUX
+	depends on (BUSYBOX_DEPMOD || BUSYBOX_MODPROBE) && !BUSYBOX_MODPROBE_SMALL
 	help
 	help
-	  Generate and parse modules.symbols containing aliases for
-	  symbol_request() kernel calls, such as:
-	    alias symbol:usb_sg_init usbcore
+	Generate and parse modules.symbols containing aliases for
+	symbol_request() kernel calls, such as:
+		alias symbol:usb_sg_init usbcore
 
 
-	  Say Y if unsure.
+	Say Y if unsure.
 
 
 config BUSYBOX_DEFAULT_MODULES_DIR
 config BUSYBOX_DEFAULT_MODULES_DIR
 	string "Default directory containing modules"
 	string "Default directory containing modules"
 	default "/lib/modules"
 	default "/lib/modules"
-	depends on BUSYBOX_DEPMOD || BUSYBOX_MODPROBE || BUSYBOX_MODPROBE_SMALL || BUSYBOX_MODINFO
+	depends on BUSYBOX_DEPMOD || BUSYBOX_MODPROBE || BUSYBOX_MODINFO
 	help
 	help
-	  Directory that contains kernel modules.
-	  Defaults to "/lib/modules"
+	Directory that contains kernel modules.
+	Defaults to "/lib/modules"
 
 
 config BUSYBOX_DEFAULT_DEPMOD_FILE
 config BUSYBOX_DEFAULT_DEPMOD_FILE
 	string "Default name of modules.dep"
 	string "Default name of modules.dep"
 	default "modules.dep"
 	default "modules.dep"
-	depends on BUSYBOX_DEPMOD || BUSYBOX_MODPROBE || BUSYBOX_MODPROBE_SMALL || BUSYBOX_MODINFO
-	help
-	  Filename that contains kernel modules dependencies.
-	  Defaults to "modules.dep"
+	depends on BUSYBOX_DEPMOD || BUSYBOX_MODPROBE || BUSYBOX_MODINFO
+	help
+	Filename that contains kernel modules dependencies.
+	Defaults to "modules.dep".
+	If you configured the "simplified modutils" (BUSYBOX_MODPROBE_SMALL), a
+	".bb" suffix will be added after this name. Do not specify ".bb"
+	here unless you intend your depmod or modprobe to work on
+	"modules.dep.bb.bb" or such.
 
 
 endmenu
 endmenu

+ 686 - 678
package/busybox/config/networking/Config.in

@@ -1,155 +1,51 @@
 # DO NOT EDIT. This file is generated from Config.src
 # DO NOT EDIT. This file is generated from Config.src
 #
 #
 # For a description of the syntax of this configuration file,
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 #
 
 
 menu "Networking Utilities"
 menu "Networking Utilities"
 
 
-config BUSYBOX_NAMEIF
-	bool "nameif"
-	default n
-	select BUSYBOX_PLATFORM_LINUX
-	select BUSYBOX_FEATURE_SYSLOG
-	help
-	  nameif is used to rename network interface by its MAC address.
-	  Renamed interfaces MUST be in the down state.
-	  It is possible to use a file (default: /etc/mactab)
-	  with list of new interface names and MACs.
-	  Maximum interface name length: IFNAMSIZ = 16
-	  File fields are separated by space or tab.
-	  File format:
-	  # Comment
-	  new_interface_name    XX:XX:XX:XX:XX:XX
-
-config BUSYBOX_FEATURE_NAMEIF_EXTENDED
-	bool "Extended nameif"
-	default y
-	depends on BUSYBOX_NAMEIF
-	help
-	  This extends the nameif syntax to support the bus_info, driver,
-	  phyaddr selectors. The syntax is compatible to the normal nameif.
-	  File format:
-	    new_interface_name  driver=asix bus=usb-0000:00:08.2-3
-	    new_interface_name  bus=usb-0000:00:08.2-3 00:80:C8:38:91:B5
-	    new_interface_name  phy_address=2 00:80:C8:38:91:B5
-	    new_interface_name  mac=00:80:C8:38:91:B5
-	    new_interface_name  00:80:C8:38:91:B5
-
-config BUSYBOX_NBDCLIENT
-	bool "nbd-client"
-	default n
-	help
-	  Network block device client
-
-config BUSYBOX_NC
-	bool "nc"
-	default n
-	help
-	  A simple Unix utility which reads and writes data across network
-	  connections.
-
-config BUSYBOX_NETCAT
-	bool "netcat (11 kb)"
-	default y
-	help
-	Alias to nc.
-
-config BUSYBOX_NC_SERVER
-	bool "Netcat server options (-l)"
-	default n
-	depends on BUSYBOX_NC || BUSYBOX_NETCAT
-	help
-	  Allow netcat to act as a server.
-
-config BUSYBOX_NC_EXTRA
-	bool "Netcat extensions (-eiw and filename)"
-	default y
-	depends on BUSYBOX_NC || BUSYBOX_NETCAT
-	help
-	  Add -e (support for executing the rest of the command line after
-	  making or receiving a successful connection), -i (delay interval for
-	  lines sent), -w (timeout for initial connection).
-
-config BUSYBOX_NC_110_COMPAT
-	bool "Netcat 1.10 compatibility (+2.5k)"
-	default n  # off specially for Rob
-	depends on BUSYBOX_NC || BUSYBOX_NETCAT
-	help
-	  This option makes nc closely follow original nc-1.10.
-	  The code is about 2.5k bigger. It enables
-	  -s ADDR, -n, -u, -v, -o FILE, -z options, but loses
-	  busybox-specific extensions: -f FILE and -ll.
-
-config BUSYBOX_PING
-	bool "ping"
-	default y if ADK_TARGET_WITH_NET
-	select BUSYBOX_PLATFORM_LINUX
-	help
-	  ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to
-	  elicit an ICMP ECHO_RESPONSE from a host or gateway.
-
-config BUSYBOX_PING6
-	bool "ping6"
-	default y if ADK_TARGET_WITH_NET
-	depends on BUSYBOX_FEATURE_IPV6 && BUSYBOX_PING
-	help
-	  This will give you a ping that can talk IPv6.
-
-config BUSYBOX_FEATURE_FANCY_PING
-	bool "Enable fancy ping output"
-	default y
-	depends on BUSYBOX_PING
-	help
-	  Make the output from the ping applet include statistics, and at the
-	  same time provide full support for ICMP packets.
-
-config BUSYBOX_WHOIS
-	bool "whois"
-	default n
-	help
-	  whois is a client for the whois directory service
-
 config BUSYBOX_FEATURE_IPV6
 config BUSYBOX_FEATURE_IPV6
 	bool "Enable IPv6 support"
 	bool "Enable IPv6 support"
-	default n
+	default y
 	help
 	help
-	  Enable IPv6 support in busybox.
-	  This adds IPv6 support in the networking applets.
+	Enable IPv6 support in busybox.
+	This adds IPv6 support in the networking applets.
 
 
 config BUSYBOX_FEATURE_UNIX_LOCAL
 config BUSYBOX_FEATURE_UNIX_LOCAL
 	bool "Enable Unix domain socket support (usually not needed)"
 	bool "Enable Unix domain socket support (usually not needed)"
 	default n
 	default n
 	help
 	help
-	  Enable Unix domain socket support in all busybox networking
-	  applets.  Address of the form local:/path/to/unix/socket
-	  will be recognized.
+	Enable Unix domain socket support in all busybox networking
+	applets.  Address of the form local:/path/to/unix/socket
+	will be recognized.
 
 
-	  This extension is almost never used in real world usage.
-	  You most likely want to say N.
+	This extension is almost never used in real world usage.
+	You most likely want to say N.
 
 
 config BUSYBOX_FEATURE_PREFER_IPV4_ADDRESS
 config BUSYBOX_FEATURE_PREFER_IPV4_ADDRESS
 	bool "Prefer IPv4 addresses from DNS queries"
 	bool "Prefer IPv4 addresses from DNS queries"
 	default y
 	default y
 	depends on BUSYBOX_FEATURE_IPV6
 	depends on BUSYBOX_FEATURE_IPV6
 	help
 	help
-	  Use IPv4 address of network host if it has one.
+	Use IPv4 address of network host if it has one.
 
 
-	  If this option is off, the first returned address will be used.
-	  This may cause problems when your DNS server is IPv6-capable and
-	  is returning IPv6 host addresses too. If IPv6 address
-	  precedes IPv4 one in DNS reply, busybox network applets
-	  (e.g. wget) will use IPv6 address. On an IPv6-incapable host
-	  or network applets will fail to connect to the host
-	  using IPv6 address.
+	If this option is off, the first returned address will be used.
+	This may cause problems when your DNS server is IPv6-capable and
+	is returning IPv6 host addresses too. If IPv6 address
+	precedes IPv4 one in DNS reply, busybox network applets
+	(e.g. wget) will use IPv6 address. On an IPv6-incapable host
+	or network applets will fail to connect to the host
+	using IPv6 address.
 
 
 config BUSYBOX_VERBOSE_RESOLUTION_ERRORS
 config BUSYBOX_VERBOSE_RESOLUTION_ERRORS
 	bool "Verbose resolution errors"
 	bool "Verbose resolution errors"
 	default n
 	default n
 	help
 	help
-	  Enable if you are not satisfied with simplistic
-	  "can't resolve 'hostname.com'" and want to know more.
-	  This may increase size of your executable a bit.
+	Enable if you are not satisfied with simplistic
+	"can't resolve 'hostname.com'" and want to know more.
+	This may increase size of your executable a bit.
 
 
 config BUSYBOX_FEATURE_TLS_SHA1
 config BUSYBOX_FEATURE_TLS_SHA1
 	bool "In TLS code, support ciphers which use deprecated SHA1"
 	bool "In TLS code, support ciphers which use deprecated SHA1"
@@ -163,1028 +59,1140 @@ config BUSYBOX_FEATURE_TLS_SHA1
 	considered possibly insecure (although not yet definitely broken).
 	considered possibly insecure (although not yet definitely broken).
 
 
 config BUSYBOX_ARP
 config BUSYBOX_ARP
-	bool "arp"
-	default n
+	bool "arp (10 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  Manipulate the system ARP cache.
-
+	Manipulate the system ARP cache.
 config BUSYBOX_ARPING
 config BUSYBOX_ARPING
-	bool "arping"
-	default n
+	bool "arping (9 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  Ping hosts by ARP packets.
-
+	Ping hosts by ARP packets.
 config BUSYBOX_BRCTL
 config BUSYBOX_BRCTL
-	bool "brctl"
-	depends on !BUSYBOX_DISABLE_BRCTL
-	default n
+	bool "brctl (4.7 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  Manage ethernet bridges.
-	  Supports addbr/delbr and addif/delif.
+	Manage ethernet bridges.
+	Supports addbr/delbr and addif/delif.
 
 
 config BUSYBOX_FEATURE_BRCTL_FANCY
 config BUSYBOX_FEATURE_BRCTL_FANCY
 	bool "Fancy options"
 	bool "Fancy options"
 	default y
 	default y
 	depends on BUSYBOX_BRCTL
 	depends on BUSYBOX_BRCTL
 	help
 	help
-	  Add support for extended option like:
-	    setageing, setfd, sethello, setmaxage,
-	    setpathcost, setportprio, setbridgeprio,
-	    stp
-	  This adds about 600 bytes.
+	Add support for extended option like:
+		setageing, setfd, sethello, setmaxage,
+		setpathcost, setportprio, setbridgeprio,
+		stp
+	This adds about 600 bytes.
 
 
 config BUSYBOX_FEATURE_BRCTL_SHOW
 config BUSYBOX_FEATURE_BRCTL_SHOW
-	bool "Support show, showmac and showstp"
+	bool "Support show"
 	default y
 	default y
 	depends on BUSYBOX_BRCTL && BUSYBOX_FEATURE_BRCTL_FANCY
 	depends on BUSYBOX_BRCTL && BUSYBOX_FEATURE_BRCTL_FANCY
 	help
 	help
-	  Add support for option which prints the current config:
-	    showmacs, showstp, show
-
+	Add support for option which prints the current config:
+		show
 config BUSYBOX_DNSD
 config BUSYBOX_DNSD
-	bool "dnsd"
-	default n
+	bool "dnsd (9.8 kb)"
+	default y
 	help
 	help
-	  Small and static DNS server daemon.
-
+	Small and static DNS server daemon.
 config BUSYBOX_ETHER_WAKE
 config BUSYBOX_ETHER_WAKE
-	bool "ether-wake"
-	depends on !BUSYBOX_DISABLE_ETHER_WAKE
-	default n
+	bool "ether-wake (4.9 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  Send a magic packet to wake up sleeping machines.
-
-config BUSYBOX_FAKEIDENTD
-	bool "fakeidentd"
-	default n
-	select BUSYBOX_FEATURE_SYSLOG
-	help
-	  fakeidentd listens on the ident port and returns a predefined
-	  fake value on any query.
-
+	Send a magic packet to wake up sleeping machines.
 config BUSYBOX_FTPD
 config BUSYBOX_FTPD
-	bool "ftpd"
-	default n
+	bool "ftpd (30 kb)"
+	default y
 	help
 	help
-	  simple FTP daemon. You have to run it via inetd.
+	Simple FTP daemon. You have to run it via inetd.
 
 
-config BUSYBOX_FEATURE_FTP_WRITE
-	bool "Enable upload commands"
+config BUSYBOX_FEATURE_FTPD_WRITE
+	bool "Enable -w (upload commands)"
 	default y
 	default y
 	depends on BUSYBOX_FTPD
 	depends on BUSYBOX_FTPD
 	help
 	help
-	  Enable all kinds of FTP upload commands (-w option)
+	Enable -w option. "ftpd -w" will accept upload commands
+	such as STOR, STOU, APPE, DELE, MKD, RMD, rename commands.
 
 
 config BUSYBOX_FEATURE_FTPD_ACCEPT_BROKEN_LIST
 config BUSYBOX_FEATURE_FTPD_ACCEPT_BROKEN_LIST
 	bool "Enable workaround for RFC-violating clients"
 	bool "Enable workaround for RFC-violating clients"
 	default y
 	default y
 	depends on BUSYBOX_FTPD
 	depends on BUSYBOX_FTPD
 	help
 	help
-	  Some ftp clients (among them KDE's Konqueror) issue illegal
-	  "LIST -l" requests. This option works around such problems.
-	  It might prevent you from listing files starting with "-" and
-	  it increases the code size by ~40 bytes.
-	  Most other ftp servers seem to behave similar to this.
+	Some ftp clients (among them KDE's Konqueror) issue illegal
+	"LIST -l" requests. This option works around such problems.
+	It might prevent you from listing files starting with "-" and
+	it increases the code size by ~40 bytes.
+	Most other ftp servers seem to behave similar to this.
 
 
+config BUSYBOX_FEATURE_FTPD_AUTHENTICATION
+	bool "Enable authentication"
+	default y
+	depends on BUSYBOX_FTPD
+	help
+	Require login, and change to logged in user's UID:GID before
+	accessing any files. Option "-a USER" allows "anonymous"
+	logins (treats them as if USER logged in).
+
+	If this option is not selected, ftpd runs with the rights
+	of the user it was started under, and does not require login.
+	Take care to not launch it under root.
 config BUSYBOX_FTPGET
 config BUSYBOX_FTPGET
-	bool "ftpget"
-	default n
+	bool "ftpget (7.8 kb)"
+	default y
 	help
 	help
-	  Retrieve a remote file via FTP.
+	Retrieve a remote file via FTP.
 
 
 config BUSYBOX_FTPPUT
 config BUSYBOX_FTPPUT
-	bool "ftpput"
-	default n
+	bool "ftpput (7.5 kb)"
+	default y
 	help
 	help
-	  Store a remote file via FTP.
+	Store a remote file via FTP.
 
 
 config BUSYBOX_FEATURE_FTPGETPUT_LONG_OPTIONS
 config BUSYBOX_FEATURE_FTPGETPUT_LONG_OPTIONS
 	bool "Enable long options in ftpget/ftpput"
 	bool "Enable long options in ftpget/ftpput"
 	default y
 	default y
 	depends on BUSYBOX_LONG_OPTS && (BUSYBOX_FTPGET || BUSYBOX_FTPPUT)
 	depends on BUSYBOX_LONG_OPTS && (BUSYBOX_FTPGET || BUSYBOX_FTPPUT)
-	help
-	  Support long options for the ftpget/ftpput applet.
-
 config BUSYBOX_HOSTNAME
 config BUSYBOX_HOSTNAME
-	bool "hostname"
+	bool "hostname (5.5 kb)"
 	default y
 	default y
 	help
 	help
-	  Show or set the system's host name.
+	Show or set the system's host name.
 
 
 config BUSYBOX_DNSDOMAINNAME
 config BUSYBOX_DNSDOMAINNAME
-	bool "dnsdomainname"
-	default n
+	bool "dnsdomainname (3.6 kb)"
+	default y
 	help
 	help
-	  Alias to "hostname -d".
-
+	Alias to "hostname -d".
 config BUSYBOX_HTTPD
 config BUSYBOX_HTTPD
-	bool "httpd"
-	default n
+	bool "httpd (32 kb)"
+	default y
 	help
 	help
-	  Serve web pages via an HTTP server.
+	HTTP server.
 
 
 config BUSYBOX_FEATURE_HTTPD_RANGES
 config BUSYBOX_FEATURE_HTTPD_RANGES
 	bool "Support 'Ranges:' header"
 	bool "Support 'Ranges:' header"
 	default y
 	default y
 	depends on BUSYBOX_HTTPD
 	depends on BUSYBOX_HTTPD
 	help
 	help
-	  Makes httpd emit "Accept-Ranges: bytes" header and understand
-	  "Range: bytes=NNN-[MMM]" header. Allows for resuming interrupted
-	  downloads, seeking in multimedia players etc.
-
-config BUSYBOX_FEATURE_HTTPD_USE_SENDFILE
-	bool "Use sendfile system call"
-	default y
-	depends on BUSYBOX_HTTPD
-	help
-	  When enabled, httpd will use the kernel sendfile() function
-	  instead of read/write loop.
+	Makes httpd emit "Accept-Ranges: bytes" header and understand
+	"Range: bytes=NNN-[MMM]" header. Allows for resuming interrupted
+	downloads, seeking in multimedia players etc.
 
 
 config BUSYBOX_FEATURE_HTTPD_SETUID
 config BUSYBOX_FEATURE_HTTPD_SETUID
 	bool "Enable -u <user> option"
 	bool "Enable -u <user> option"
 	default y
 	default y
 	depends on BUSYBOX_HTTPD
 	depends on BUSYBOX_HTTPD
 	help
 	help
-	  This option allows the server to run as a specific user
-	  rather than defaulting to the user that starts the server.
-	  Use of this option requires special privileges to change to a
-	  different user.
+	This option allows the server to run as a specific user
+	rather than defaulting to the user that starts the server.
+	Use of this option requires special privileges to change to a
+	different user.
 
 
 config BUSYBOX_FEATURE_HTTPD_BASIC_AUTH
 config BUSYBOX_FEATURE_HTTPD_BASIC_AUTH
-	bool "Enable Basic http Authentication"
+	bool "Enable HTTP authentication"
 	default y
 	default y
 	depends on BUSYBOX_HTTPD
 	depends on BUSYBOX_HTTPD
 	help
 	help
-	  Utilizes password settings from /etc/httpd.conf for basic
-	  authentication on a per url basis.
-	  Example for httpd.conf file:
-	  /adm:toor:PaSsWd
+	Utilizes password settings from /etc/httpd.conf for basic
+	authentication on a per url basis.
+	Example for httpd.conf file:
+	/adm:toor:PaSsWd
 
 
 config BUSYBOX_FEATURE_HTTPD_AUTH_MD5
 config BUSYBOX_FEATURE_HTTPD_AUTH_MD5
-	bool "Support MD5 crypted passwords for http Authentication"
+	bool "Support MD5-encrypted passwords in HTTP authentication"
 	default y
 	default y
 	depends on BUSYBOX_FEATURE_HTTPD_BASIC_AUTH
 	depends on BUSYBOX_FEATURE_HTTPD_BASIC_AUTH
 	help
 	help
-	  Enables encrypted passwords, and wildcard user/passwords
-	  in httpd.conf file.
-	  User '*' means 'any system user name is ok',
-	  password of '*' means 'use system password for this user'
-	  Examples:
-	  /adm:toor:$1$P/eKnWXS$aI1aPGxT.dJD5SzqAKWrF0
-	  /adm:root:*
-	  /wiki:*:*
+	Enables encrypted passwords, and wildcard user/passwords
+	in httpd.conf file.
+	User '*' means 'any system user name is ok',
+	password of '*' means 'use system password for this user'
+	Examples:
+	/adm:toor:$1$P/eKnWXS$aI1aPGxT.dJD5SzqAKWrF0
+	/adm:root:*
+	/wiki:*:*
 
 
 config BUSYBOX_FEATURE_HTTPD_CGI
 config BUSYBOX_FEATURE_HTTPD_CGI
 	bool "Support Common Gateway Interface (CGI)"
 	bool "Support Common Gateway Interface (CGI)"
 	default y
 	default y
 	depends on BUSYBOX_HTTPD
 	depends on BUSYBOX_HTTPD
 	help
 	help
-	  This option allows scripts and executables to be invoked
-	  when specific URLs are requested.
+	This option allows scripts and executables to be invoked
+	when specific URLs are requested.
 
 
 config BUSYBOX_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
 config BUSYBOX_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
-	bool "Support for running scripts through an interpreter"
+	bool "Support running scripts through an interpreter"
 	default y
 	default y
 	depends on BUSYBOX_FEATURE_HTTPD_CGI
 	depends on BUSYBOX_FEATURE_HTTPD_CGI
 	help
 	help
-	  This option enables support for running scripts through an
-	  interpreter. Turn this on if you want PHP scripts to work
-	  properly. You need to supply an additional line in your
-	  httpd.conf file:
-	  *.php:/path/to/your/php
+	This option enables support for running scripts through an
+	interpreter. Turn this on if you want PHP scripts to work
+	properly. You need to supply an additional line in your
+	httpd.conf file:
+	*.php:/path/to/your/php
 
 
 config BUSYBOX_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
 config BUSYBOX_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
 	bool "Set REMOTE_PORT environment variable for CGI"
 	bool "Set REMOTE_PORT environment variable for CGI"
 	default y
 	default y
 	depends on BUSYBOX_FEATURE_HTTPD_CGI
 	depends on BUSYBOX_FEATURE_HTTPD_CGI
 	help
 	help
-	  Use of this option can assist scripts in generating
-	  references that contain a unique port number.
+	Use of this option can assist scripts in generating
+	references that contain a unique port number.
 
 
 config BUSYBOX_FEATURE_HTTPD_ENCODE_URL_STR
 config BUSYBOX_FEATURE_HTTPD_ENCODE_URL_STR
 	bool "Enable -e option (useful for CGIs written as shell scripts)"
 	bool "Enable -e option (useful for CGIs written as shell scripts)"
 	default y
 	default y
 	depends on BUSYBOX_HTTPD
 	depends on BUSYBOX_HTTPD
 	help
 	help
-	  This option allows html encoding of arbitrary strings for display
-	  by the browser. Output goes to stdout.
-	  For example, httpd -e "<Hello World>" produces
-	  "&#60Hello&#32World&#62".
+	This option allows html encoding of arbitrary strings for display
+	by the browser. Output goes to stdout.
+	For example, httpd -e "<Hello World>" produces
+	"&#60Hello&#32World&#62".
 
 
 config BUSYBOX_FEATURE_HTTPD_ERROR_PAGES
 config BUSYBOX_FEATURE_HTTPD_ERROR_PAGES
-	bool "Support for custom error pages"
+	bool "Support custom error pages"
 	default y
 	default y
 	depends on BUSYBOX_HTTPD
 	depends on BUSYBOX_HTTPD
 	help
 	help
-	  This option allows you to define custom error pages in
-	  the configuration file instead of the default HTTP status
-	  error pages. For instance, if you add the line:
-	        E404:/path/e404.html
-	  in the config file, the server will respond the specified
-	  '/path/e404.html' file instead of the terse '404 NOT FOUND'
-	  message.
+	This option allows you to define custom error pages in
+	the configuration file instead of the default HTTP status
+	error pages. For instance, if you add the line:
+		E404:/path/e404.html
+	in the config file, the server will respond the specified
+	'/path/e404.html' file instead of the terse '404 NOT FOUND'
+	message.
 
 
 config BUSYBOX_FEATURE_HTTPD_PROXY
 config BUSYBOX_FEATURE_HTTPD_PROXY
-	bool "Support for reverse proxy"
+	bool "Support reverse proxy"
 	default y
 	default y
 	depends on BUSYBOX_HTTPD
 	depends on BUSYBOX_HTTPD
 	help
 	help
-	  This option allows you to define URLs that will be forwarded
-	  to another HTTP server. To setup add the following line to the
-	  configuration file
-	        P:/url/:http://hostname[:port]/new/path/
-	  Then a request to /url/myfile will be forwarded to
-	  http://hostname[:port]/new/path/myfile.
+	This option allows you to define URLs that will be forwarded
+	to another HTTP server. To setup add the following line to the
+	configuration file
+		P:/url/:http://hostname[:port]/new/path/
+	Then a request to /url/myfile will be forwarded to
+	http://hostname[:port]/new/path/myfile.
 
 
 config BUSYBOX_FEATURE_HTTPD_GZIP
 config BUSYBOX_FEATURE_HTTPD_GZIP
-	bool "Support for GZIP content encoding"
+	bool "Support GZIP content encoding"
 	default y
 	default y
 	depends on BUSYBOX_HTTPD
 	depends on BUSYBOX_HTTPD
 	help
 	help
-	  Makes httpd send files using GZIP content encoding if the
-	  client supports it and a pre-compressed <file>.gz exists.
-
+	Makes httpd send files using GZIP content encoding if the
+	client supports it and a pre-compressed <file>.gz exists.
 config BUSYBOX_IFCONFIG
 config BUSYBOX_IFCONFIG
-	bool "ifconfig"
-	default y if ADK_TARGET_WITH_NET
+	bool "ifconfig (12 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  Ifconfig is used to configure the kernel-resident network interfaces.
+	Ifconfig is used to configure the kernel-resident network interfaces.
 
 
 config BUSYBOX_FEATURE_IFCONFIG_STATUS
 config BUSYBOX_FEATURE_IFCONFIG_STATUS
 	bool "Enable status reporting output (+7k)"
 	bool "Enable status reporting output (+7k)"
 	default y
 	default y
 	depends on BUSYBOX_IFCONFIG
 	depends on BUSYBOX_IFCONFIG
 	help
 	help
-	  If ifconfig is called with no arguments it will display the status
-	  of the currently active interfaces.
+	If ifconfig is called with no arguments it will display the status
+	of the currently active interfaces.
 
 
 config BUSYBOX_FEATURE_IFCONFIG_SLIP
 config BUSYBOX_FEATURE_IFCONFIG_SLIP
 	bool "Enable slip-specific options \"keepalive\" and \"outfill\""
 	bool "Enable slip-specific options \"keepalive\" and \"outfill\""
-	default n
+	default y
 	depends on BUSYBOX_IFCONFIG
 	depends on BUSYBOX_IFCONFIG
 	help
 	help
-	  Allow "keepalive" and "outfill" support for SLIP. If you're not
-	  planning on using serial lines, leave this unchecked.
+	Allow "keepalive" and "outfill" support for SLIP. If you're not
+	planning on using serial lines, leave this unchecked.
 
 
 config BUSYBOX_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
 config BUSYBOX_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
 	bool "Enable options \"mem_start\", \"io_addr\", and \"irq\""
 	bool "Enable options \"mem_start\", \"io_addr\", and \"irq\""
-	default n
+	default y
 	depends on BUSYBOX_IFCONFIG
 	depends on BUSYBOX_IFCONFIG
 	help
 	help
-	  Allow the start address for shared memory, start address for I/O,
-	  and/or the interrupt line used by the specified device.
+	Allow the start address for shared memory, start address for I/O,
+	and/or the interrupt line used by the specified device.
 
 
 config BUSYBOX_FEATURE_IFCONFIG_HW
 config BUSYBOX_FEATURE_IFCONFIG_HW
 	bool "Enable option \"hw\" (ether only)"
 	bool "Enable option \"hw\" (ether only)"
 	default y
 	default y
 	depends on BUSYBOX_IFCONFIG
 	depends on BUSYBOX_IFCONFIG
 	help
 	help
-	  Set the hardware address of this interface, if the device driver
-	  supports  this  operation. Currently, we only support the 'ether'
-	  class.
+	Set the hardware address of this interface, if the device driver
+	supports  this  operation. Currently, we only support the 'ether'
+	class.
 
 
 config BUSYBOX_FEATURE_IFCONFIG_BROADCAST_PLUS
 config BUSYBOX_FEATURE_IFCONFIG_BROADCAST_PLUS
 	bool "Set the broadcast automatically"
 	bool "Set the broadcast automatically"
 	default y
 	default y
 	depends on BUSYBOX_IFCONFIG
 	depends on BUSYBOX_IFCONFIG
 	help
 	help
-	  Setting this will make ifconfig attempt to find the broadcast
-	  automatically if the value '+' is used.
-
+	Setting this will make ifconfig attempt to find the broadcast
+	automatically if the value '+' is used.
 config BUSYBOX_IFENSLAVE
 config BUSYBOX_IFENSLAVE
-	bool "ifenslave"
-	select ADK_LINUX_KERNEL_BONDING m if ADK_TARGET_OS_LINUX
-	default n
+	bool "ifenslave (13 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  Userspace application to bind several interfaces
-	  to a logical interface (use with kernel bonding driver).
-
+	Userspace application to bind several interfaces
+	to a logical interface (use with kernel bonding driver).
 config BUSYBOX_IFPLUGD
 config BUSYBOX_IFPLUGD
-	bool "ifplugd"
-	default n
+	bool "ifplugd (10 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  Network interface plug detection daemon.
-
+	Network interface plug detection daemon.
 config BUSYBOX_IFUP
 config BUSYBOX_IFUP
-	bool "ifup"
-	default y if ADK_TARGET_WITH_NET
-	help
-	  Activate the specified interfaces. This applet makes use
-	  of either "ifconfig" and "route" or the "ip" command to actually
-	  configure network interfaces. Therefore, you will probably also want
-	  to enable either IFCONFIG and ROUTE, or enable
-	  FEATURE_IFUPDOWN_IP and the various IP options. Of
-	  course you could use non-busybox versions of these programs, so
-	  against my better judgement (since this will surely result in plenty
-	  of support questions on the mailing list), I do not force you to
-	  enable these additional options. It is up to you to supply either
-	  "ifconfig", "route" and "run-parts" or the "ip" command, either
-	  via busybox or via standalone utilities.
+	bool "ifup (14 kb)"
+	default y
+	help
+	Activate the specified interfaces. This applet makes use
+	of either "ifconfig" and "route" or the "ip" command to actually
+	configure network interfaces. Therefore, you will probably also want
+	to enable either IFCONFIG and ROUTE, or enable
+	FEATURE_IFUPDOWN_IP and the various IP options. Of
+	course you could use non-busybox versions of these programs, so
+	against my better judgement (since this will surely result in plenty
+	of support questions on the mailing list), I do not force you to
+	enable these additional options. It is up to you to supply either
+	"ifconfig", "route" and "run-parts" or the "ip" command, either
+	via busybox or via standalone utilities.
 
 
 config BUSYBOX_IFDOWN
 config BUSYBOX_IFDOWN
-	bool "ifdown"
-	default y if ADK_TARGET_WITH_NET
+	bool "ifdown (13 kb)"
+	default y
 	help
 	help
-	  Deactivate the specified interfaces.
+	Deactivate the specified interfaces.
 
 
 config BUSYBOX_IFUPDOWN_IFSTATE_PATH
 config BUSYBOX_IFUPDOWN_IFSTATE_PATH
 	string "Absolute path to ifstate file"
 	string "Absolute path to ifstate file"
 	default "/var/run/ifstate"
 	default "/var/run/ifstate"
-	depends on BUSYBOX_IFUP
+	depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN
 	help
 	help
-	  ifupdown keeps state information in a file called ifstate.
-	  Typically it is located in /var/run/ifstate, however
-	  some distributions tend to put it in other places
-	  (debian, for example, uses /etc/network/run/ifstate).
-	  This config option defines location of ifstate.
+	ifupdown keeps state information in a file called ifstate.
+	Typically it is located in /var/run/ifstate, however
+	some distributions tend to put it in other places
+	(debian, for example, uses /etc/network/run/ifstate).
+	This config option defines location of ifstate.
 
 
 config BUSYBOX_FEATURE_IFUPDOWN_IP
 config BUSYBOX_FEATURE_IFUPDOWN_IP
-	bool "Use ip applet"
+	bool "Use ip tool (else ifconfig/route is used)"
 	default y
 	default y
-	depends on BUSYBOX_IFUP
+	depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN
 	help
 	help
-	  Use the iproute "ip" command to implement "ifup" and "ifdown", rather
-	  than the default of using the older 'ifconfig' and 'route' utilities.
+	Use the iproute "ip" command to implement "ifup" and "ifdown", rather
+	than the default of using the older "ifconfig" and "route" utilities.
 
 
-config BUSYBOX_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN
-	bool "Use busybox ifconfig and route applets"
-	default n
-	depends on BUSYBOX_IFUP && !BUSYBOX_FEATURE_IFUPDOWN_IP
-	select BUSYBOX_IFCONFIG
-	select BUSYBOX_ROUTE
-	help
-	  Use the busybox iproute "ifconfig" and "route" applets to
-	  implement the "ifup" and "ifdown" utilities.
+	If Y: you must install either the full-blown iproute2 package
+	or enable "ip" applet in busybox, or the "ifup" and "ifdown" applets
+	will not work.
 
 
-	  If left disabled, you must install the full-blown ifconfig
-	  and route utilities, or the  "ifup" and "ifdown" applets will not
-	  work.
+	If N: you must install either the full-blown ifconfig and route
+	utilities, or enable these applets in busybox.
 
 
 config BUSYBOX_FEATURE_IFUPDOWN_IPV4
 config BUSYBOX_FEATURE_IFUPDOWN_IPV4
-	bool "Support for IPv4"
+	bool "Support IPv4"
 	default y
 	default y
-	depends on BUSYBOX_IFUP
+	depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN
 	help
 	help
-	  If you want ifup/ifdown to talk IPv4, leave this on.
+	If you want ifup/ifdown to talk IPv4, leave this on.
 
 
 config BUSYBOX_FEATURE_IFUPDOWN_IPV6
 config BUSYBOX_FEATURE_IFUPDOWN_IPV6
-	bool "Support for IPv6"
+	bool "Support IPv6"
 	default y
 	default y
-	depends on BUSYBOX_IFUP && BUSYBOX_FEATURE_IPV6
+	depends on (BUSYBOX_IFUP || BUSYBOX_IFDOWN) && BUSYBOX_FEATURE_IPV6
 	help
 	help
-	  If you need support for IPv6, turn this option on.
+	If you need support for IPv6, turn this option on.
 
 
-### UNUSED
-###config FEATURE_IFUPDOWN_IPX
-###	bool "Support for IPX"
-###	default y
-###	depends on BUSYBOX_IFUPDOWN
-###	help
-###	  If this option is selected you can use busybox to work with IPX
-###	  networks.
 
 
 config BUSYBOX_FEATURE_IFUPDOWN_MAPPING
 config BUSYBOX_FEATURE_IFUPDOWN_MAPPING
 	bool "Enable mapping support"
 	bool "Enable mapping support"
-	default n
-	depends on BUSYBOX_IFUP
+	default y
+	depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN
 	help
 	help
-	  This enables support for the "mapping" stanza, unless you have
-	  a weird network setup you don't need it.
+	This enables support for the "mapping" stanza, unless you have
+	a weird network setup you don't need it.
 
 
 config BUSYBOX_FEATURE_IFUPDOWN_EXTERNAL_DHCP
 config BUSYBOX_FEATURE_IFUPDOWN_EXTERNAL_DHCP
-	bool "Support for external dhcp clients"
+	bool "Support external DHCP clients"
 	default n
 	default n
-	depends on BUSYBOX_IFUP
+	depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN
 	help
 	help
-	  This enables support for the external dhcp clients. Clients are
-	  tried in the following order: dhcpcd, dhclient, pump and udhcpc.
-	  Otherwise, if udhcpc applet is enabled, it is used.
-	  Otherwise, ifup/ifdown will have no support for DHCP.
-
+	This enables support for the external dhcp clients. Clients are
+	tried in the following order: dhcpcd, dhclient, pump and udhcpc.
+	Otherwise, if udhcpc applet is enabled, it is used.
+	Otherwise, ifup/ifdown will have no support for DHCP.
 config BUSYBOX_INETD
 config BUSYBOX_INETD
-	bool "inetd"
-	default n
+	bool "inetd (18 kb)"
+	default y
 	select BUSYBOX_FEATURE_SYSLOG
 	select BUSYBOX_FEATURE_SYSLOG
 	help
 	help
-	  Internet superserver daemon
+	Internet superserver daemon
 
 
 config BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_ECHO
 config BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_ECHO
-	bool "Support echo service"
+	bool "Support echo service on port 7"
 	default y
 	default y
 	depends on BUSYBOX_INETD
 	depends on BUSYBOX_INETD
 	help
 	help
-	  Echo received data internal inetd service
+	Internal service which echoes data back.
+	Activated by configuration lines like these:
+		echo stream tcp nowait root internal
+		echo dgram  udp wait   root internal
 
 
 config BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD
 config BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD
-	bool "Support discard service"
+	bool "Support discard service on port 8"
 	default y
 	default y
 	depends on BUSYBOX_INETD
 	depends on BUSYBOX_INETD
 	help
 	help
-	  Internet /dev/null internal inetd service
+	Internal service which discards all input.
+	Activated by configuration lines like these:
+		discard stream tcp nowait root internal
+		discard dgram  udp wait   root internal
 
 
 config BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_TIME
 config BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_TIME
-	bool "Support time service"
+	bool "Support time service on port 37"
 	default y
 	default y
 	depends on BUSYBOX_INETD
 	depends on BUSYBOX_INETD
 	help
 	help
-	  Return 32 bit time since 1900 internal inetd service
+	Internal service which returns big-endian 32-bit number
+	of seconds passed since 1900-01-01. The number wraps around
+	on overflow.
+	Activated by configuration lines like these:
+		time stream tcp nowait root internal
+		time dgram  udp wait   root internal
 
 
 config BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME
 config BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME
-	bool "Support daytime service"
+	bool "Support daytime service on port 13"
 	default y
 	default y
 	depends on BUSYBOX_INETD
 	depends on BUSYBOX_INETD
 	help
 	help
-	  Return human-readable time internal inetd service
+	Internal service which returns human-readable time.
+	Activated by configuration lines like these:
+		daytime stream tcp nowait root internal
+		daytime dgram  udp wait   root internal
 
 
 config BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN
 config BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN
-	bool "Support chargen service"
+	bool "Support chargen service on port 19"
 	default y
 	default y
 	depends on BUSYBOX_INETD
 	depends on BUSYBOX_INETD
 	help
 	help
-	  Familiar character generator internal inetd service
+	Internal service which generates endless stream
+	of all ASCII chars beetween space and char 126.
+	Activated by configuration lines like these:
+		chargen stream tcp nowait root internal
+		chargen dgram  udp wait   root internal
 
 
 config BUSYBOX_FEATURE_INETD_RPC
 config BUSYBOX_FEATURE_INETD_RPC
 	bool "Support RPC services"
 	bool "Support RPC services"
-	default n
+	default n  # very rarely used, and needs Sun RPC support in libc
 	depends on BUSYBOX_INETD
 	depends on BUSYBOX_INETD
-	select BUSYBOX_FEATURE_HAVE_RPC
 	help
 	help
-	  Support Sun-RPC based services
-
+	Support Sun-RPC based services
 config BUSYBOX_IP
 config BUSYBOX_IP
-	bool "ip"
-	depends on !BUSYBOX_DISABLE_IP
-	default y if ADK_TARGET_WITH_NET
+	bool "ip (35 kb)"
+	default y
+	select BUSYBOX_PLATFORM_LINUX
+	help
+	The "ip" applet is a TCP/BUSYBOX_IP interface configuration and routing
+	utility.
+	Short forms (enabled below) are busybox-specific extensions.
+	The standard "ip" utility does not provide them. If you are
+	trying to be portable, it's better to use "ip CMD" forms.
+
+config BUSYBOX_IPADDR
+	bool "ipaddr (14 kb)"
+	default y
+	select BUSYBOX_FEATURE_IP_ADDRESS
+	select BUSYBOX_PLATFORM_LINUX
+	help
+	Short form of "ip addr"
+
+config BUSYBOX_IPLINK
+	bool "iplink (17 kb)"
+	default y
+	select BUSYBOX_FEATURE_IP_LINK
+	select BUSYBOX_PLATFORM_LINUX
+	help
+	Short form of "ip link"
+
+config BUSYBOX_IPROUTE
+	bool "iproute (15 kb)"
+	default y
+	select BUSYBOX_FEATURE_IP_ROUTE
+	select BUSYBOX_PLATFORM_LINUX
+	help
+	Short form of "ip route"
+
+config BUSYBOX_IPTUNNEL
+	bool "iptunnel (9.6 kb)"
+	default y
+	select BUSYBOX_FEATURE_IP_TUNNEL
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  The "ip" applet is a TCP/IP interface configuration and routing
-	  utility. You generally don't need "ip" to use busybox with
-	  TCP/IP.
+	Short form of "ip tunnel"
+
+config BUSYBOX_IPRULE
+	bool "iprule (10 kb)"
+	default y
+	select BUSYBOX_FEATURE_IP_RULE
+	select BUSYBOX_PLATFORM_LINUX
+	help
+	Short form of "ip rule"
+
+config BUSYBOX_IPNEIGH
+	bool "ipneigh (8.3 kb)"
+	default y
+	select BUSYBOX_FEATURE_IP_NEIGH
+	select BUSYBOX_PLATFORM_LINUX
+	help
+	Short form of "ip neigh"
 
 
 config BUSYBOX_FEATURE_IP_ADDRESS
 config BUSYBOX_FEATURE_IP_ADDRESS
 	bool "ip address"
 	bool "ip address"
 	default y
 	default y
-	depends on BUSYBOX_IP
+	depends on BUSYBOX_IP || BUSYBOX_IPADDR
 	help
 	help
-	  Address manipulation support for the "ip" applet.
+	Address manipulation support for the "ip" applet.
 
 
 config BUSYBOX_FEATURE_IP_LINK
 config BUSYBOX_FEATURE_IP_LINK
 	bool "ip link"
 	bool "ip link"
 	default y
 	default y
-	depends on BUSYBOX_IP
+	depends on BUSYBOX_IP || BUSYBOX_IPLINK
 	help
 	help
-	  Configure network devices with "ip".
+	Configure network devices with "ip".
 
 
 config BUSYBOX_FEATURE_IP_ROUTE
 config BUSYBOX_FEATURE_IP_ROUTE
 	bool "ip route"
 	bool "ip route"
 	default y
 	default y
-	depends on BUSYBOX_IP
+	depends on BUSYBOX_IP || BUSYBOX_IPROUTE
 	help
 	help
-	  Add support for routing table management to "ip".
+	Add support for routing table management to "ip".
 
 
 config BUSYBOX_FEATURE_IP_ROUTE_DIR
 config BUSYBOX_FEATURE_IP_ROUTE_DIR
 	string "ip route configuration directory"
 	string "ip route configuration directory"
 	default "/etc/iproute2"
 	default "/etc/iproute2"
 	depends on BUSYBOX_FEATURE_IP_ROUTE
 	depends on BUSYBOX_FEATURE_IP_ROUTE
 	help
 	help
-	  Location of the "ip" applet routing configuration.
+	Location of the "ip" applet routing configuration.
 
 
 config BUSYBOX_FEATURE_IP_TUNNEL
 config BUSYBOX_FEATURE_IP_TUNNEL
 	bool "ip tunnel"
 	bool "ip tunnel"
-	default n
-	depends on BUSYBOX_IP
+	default y
+	depends on BUSYBOX_IP || BUSYBOX_IPTUNNEL
 	help
 	help
-	  Add support for tunneling commands to "ip".
+	Add support for tunneling commands to "ip".
 
 
 config BUSYBOX_FEATURE_IP_RULE
 config BUSYBOX_FEATURE_IP_RULE
 	bool "ip rule"
 	bool "ip rule"
-	default n
-	depends on BUSYBOX_IP
+	default y
+	depends on BUSYBOX_IP || BUSYBOX_IPRULE
 	help
 	help
-	  Add support for rule commands to "ip".
+	Add support for rule commands to "ip".
 
 
 config BUSYBOX_FEATURE_IP_NEIGH
 config BUSYBOX_FEATURE_IP_NEIGH
 	bool "ip neighbor"
 	bool "ip neighbor"
-	default n
-	depends on BUSYBOX_IP
+	default y
+	depends on BUSYBOX_IP || BUSYBOX_IPNEIGH
 	help
 	help
-	  Add support for neighbor commands to "ip".
+	Add support for neighbor commands to "ip".
 
 
 config BUSYBOX_FEATURE_IP_RARE_PROTOCOLS
 config BUSYBOX_FEATURE_IP_RARE_PROTOCOLS
 	bool "Support displaying rarely used link types"
 	bool "Support displaying rarely used link types"
 	default n
 	default n
-	depends on BUSYBOX_IP
+	depends on BUSYBOX_IP || BUSYBOX_IPADDR || BUSYBOX_IPLINK || BUSYBOX_IPROUTE || BUSYBOX_IPTUNNEL || BUSYBOX_IPRULE || BUSYBOX_IPNEIGH
 	help
 	help
-	  If you are not going to use links of type "frad", "econet",
-	  "bif" etc, you probably don't need to enable this.
-	  Ethernet, wireless, infrared, ppp/slip, ip tunnelling
-	  link types are supported without this option selected.
-
-config BUSYBOX_IPADDR
-	bool
-	default n
-
-config BUSYBOX_IPLINK
-	bool
-	default n
-
-config BUSYBOX_IPROUTE
-	bool
-	default n
+	If you are not going to use links of type "frad", "econet",
+	"bif" etc, you probably don't need to enable this.
+	Ethernet, wireless, infrared, ppp/slip, ip tunnelling
+	link types are supported without this option selected.
+config BUSYBOX_IPCALC
+	bool "ipcalc (4.4 kb)"
+	default y
+	help
+	ipcalc takes an IP address and netmask and calculates the
+	resulting broadcast, network, and host range.
 
 
-config BUSYBOX_IPTUNNEL
-	bool
-	default n
+config BUSYBOX_FEATURE_IPCALC_LONG_OPTIONS
+	bool "Enable long options"
+	default y
+	depends on BUSYBOX_IPCALC && BUSYBOX_LONG_OPTS
 
 
-config BUSYBOX_IPRULE
-	bool
-	default n
+config BUSYBOX_FEATURE_IPCALC_FANCY
+	bool "Fancy IPCALC, more options, adds 1 kbyte"
+	default y
+	depends on BUSYBOX_IPCALC
+	help
+	Adds the options hostname, prefix and silent to the output of
+	"ipcalc".
+config BUSYBOX_FAKEIDENTD
+	bool "fakeidentd (8.7 kb)"
+	default y
+	select BUSYBOX_FEATURE_SYSLOG
+	help
+	fakeidentd listens on the ident port and returns a predefined
+	fake value on any query.
+config BUSYBOX_NAMEIF
+	bool "nameif (6.6 kb)"
+	default y
+	select BUSYBOX_PLATFORM_LINUX
+	select BUSYBOX_FEATURE_SYSLOG
+	help
+	nameif is used to rename network interface by its MAC address.
+	Renamed interfaces MUST be in the down state.
+	It is possible to use a file (default: /etc/mactab)
+	with list of new interface names and MACs.
+	Maximum interface name length: IFNAMSIZ = 16
+	File fields are separated by space or tab.
+	File format:
+		# Comment
+		new_interface_name  XX:XX:XX:XX:XX:XX
 
 
-config BUSYBOX_IPNEIGH
-	bool
-	default n
+config BUSYBOX_FEATURE_NAMEIF_EXTENDED
+	bool "Extended nameif"
+	default y
+	depends on BUSYBOX_NAMEIF
+	help
+	This extends the nameif syntax to support the bus_info, driver,
+	phyaddr selectors. The syntax is compatible to the normal nameif.
+	File format:
+		new_interface_name  driver=asix bus=usb-0000:00:08.2-3
+		new_interface_name  bus=usb-0000:00:08.2-3 00:80:C8:38:91:B5
+		new_interface_name  phy_address=2 00:80:C8:38:91:B5
+		new_interface_name  mac=00:80:C8:38:91:B5
+		new_interface_name  00:80:C8:38:91:B5
+config BUSYBOX_NBDCLIENT
+	bool "nbd-client (6 kb)"
+	default y
+	help
+	Network block device client
+config BUSYBOX_NC
+	bool "nc (11 kb)"
+	default y
+	help
+	A simple Unix utility which reads and writes data across network
+	connections.
 
 
-config BUSYBOX_IPCALC
-	bool "ipcalc"
+config BUSYBOX_NETCAT
+	bool "netcat (11 kb)"
 	default n
 	default n
 	help
 	help
-	  ipcalc takes an IP address and netmask and calculates the
-	  resulting broadcast, network, and host range.
+	Alias to nc.
 
 
-config BUSYBOX_FEATURE_IPCALC_FANCY
-	bool "Fancy IPCALC, more options, adds 1 kbyte"
+config BUSYBOX_NC_SERVER
+	bool "Netcat server options (-l)"
 	default y
 	default y
-	depends on BUSYBOX_IPCALC
+	depends on BUSYBOX_NC || BUSYBOX_NETCAT
 	help
 	help
-	  Adds the options hostname, prefix and silent to the output of
-	  "ipcalc".
+	Allow netcat to act as a server.
 
 
-config BUSYBOX_FEATURE_IPCALC_LONG_OPTIONS
-	bool "Enable long options"
+config BUSYBOX_NC_EXTRA
+	bool "Netcat extensions (-eiw and -f FILE)"
 	default y
 	default y
-	depends on BUSYBOX_IPCALC && BUSYBOX_LONG_OPTS
+	depends on BUSYBOX_NC || BUSYBOX_NETCAT
 	help
 	help
-	  Support long options for the ipcalc applet.
+	Add -e (support for executing the rest of the command line after
+	making or receiving a successful connection), -i (delay interval for
+	lines sent), -w (timeout for initial connection).
 
 
+config BUSYBOX_NC_110_COMPAT
+	bool "Netcat 1.10 compatibility (+2.5k)"
+	default y
+	depends on BUSYBOX_NC || BUSYBOX_NETCAT
+	help
+	This option makes nc closely follow original nc-1.10.
+	The code is about 2.5k bigger. It enables
+	-s ADDR, -n, -u, -v, -o FILE, -z options, but loses
+	busybox-specific extensions: -f FILE.
 config BUSYBOX_NETSTAT
 config BUSYBOX_NETSTAT
-	bool "netstat"
-	default y if ADK_TARGET_WITH_NET
+	bool "netstat (10 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  netstat prints information about the Linux networking subsystem.
+	netstat prints information about the Linux networking subsystem.
 
 
 config BUSYBOX_FEATURE_NETSTAT_WIDE
 config BUSYBOX_FEATURE_NETSTAT_WIDE
-	bool "Enable wide netstat output"
-	default n
+	bool "Enable wide output"
+	default y
 	depends on BUSYBOX_NETSTAT
 	depends on BUSYBOX_NETSTAT
 	help
 	help
-	  Add support for wide columns. Useful when displaying IPv6 addresses
-	  (-W option).
+	Add support for wide columns. Useful when displaying IPv6 addresses
+	(-W option).
 
 
 config BUSYBOX_FEATURE_NETSTAT_PRG
 config BUSYBOX_FEATURE_NETSTAT_PRG
 	bool "Enable PID/Program name output"
 	bool "Enable PID/Program name output"
 	default y
 	default y
 	depends on BUSYBOX_NETSTAT
 	depends on BUSYBOX_NETSTAT
 	help
 	help
-	  Add support for -p flag to print out PID and program name.
-	  +700 bytes of code.
-
+	Add support for -p flag to print out PID and program name.
+	+700 bytes of code.
 config BUSYBOX_NSLOOKUP
 config BUSYBOX_NSLOOKUP
-	bool "nslookup"
-	default y if ADK_TARGET_WITH_NET
+	bool "nslookup (9.7 kb)"
+	default y
 	help
 	help
-	  nslookup is a tool to query Internet name servers.
+	nslookup is a tool to query Internet name servers.
 
 
 config BUSYBOX_FEATURE_NSLOOKUP_BIG
 config BUSYBOX_FEATURE_NSLOOKUP_BIG
 	bool "Use internal resolver code instead of libc"
 	bool "Use internal resolver code instead of libc"
 	depends on BUSYBOX_NSLOOKUP
 	depends on BUSYBOX_NSLOOKUP
-	default n
+	default y
 
 
 config BUSYBOX_FEATURE_NSLOOKUP_LONG_OPTIONS
 config BUSYBOX_FEATURE_NSLOOKUP_LONG_OPTIONS
 	bool "Enable long options"
 	bool "Enable long options"
-	default n
+	default y
 	depends on BUSYBOX_FEATURE_NSLOOKUP_BIG && BUSYBOX_LONG_OPTS
 	depends on BUSYBOX_FEATURE_NSLOOKUP_BIG && BUSYBOX_LONG_OPTS
-
 config BUSYBOX_NTPD
 config BUSYBOX_NTPD
-	bool "ntpd"
-	depends on !BUSYBOX_DISABLE_NTPD
-	default n
+	bool "ntpd (22 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  The NTP client/server daemon.
+	The NTP client/server daemon.
 
 
 config BUSYBOX_FEATURE_NTPD_SERVER
 config BUSYBOX_FEATURE_NTPD_SERVER
 	bool "Make ntpd usable as a NTP server"
 	bool "Make ntpd usable as a NTP server"
-	default n
-	depends on !BUSYBOX_DISABLE_NTPD
+	default y
 	depends on BUSYBOX_NTPD
 	depends on BUSYBOX_NTPD
 	help
 	help
-	  Make ntpd usable as a NTP server. If you disable this option
-	  ntpd will be usable only as a NTP client.
+	Make ntpd usable as a NTP server. If you disable this option
+	ntpd will be usable only as a NTP client.
 
 
 config BUSYBOX_FEATURE_NTPD_CONF
 config BUSYBOX_FEATURE_NTPD_CONF
 	bool "Make ntpd understand /etc/ntp.conf"
 	bool "Make ntpd understand /etc/ntp.conf"
-	default n
+	default y
 	depends on BUSYBOX_NTPD
 	depends on BUSYBOX_NTPD
 	help
 	help
-	  Make ntpd look in /etc/ntp.conf for peers. Only "server address"
-	  is supported.
+	Make ntpd look in /etc/ntp.conf for peers. Only "server address"
+	is supported.
 
 
-config BUSYBOX_PSCAN
-	bool "pscan"
-	default n
+config BUSYBOX_FEATURE_NTP_AUTH
+	bool "Support md5/sha1 message authentication codes"
+	default y
+	depends on BUSYBOX_NTPD
+config BUSYBOX_PING
+	bool "ping (10 kb)"
+	default y
+	select BUSYBOX_PLATFORM_LINUX
+	help
+	ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to
+	elicit an ICMP ECHO_RESPONSE from a host or gateway.
+
+config BUSYBOX_PING6
+	bool "ping6 (11 kb)"
+	default y
+	depends on BUSYBOX_FEATURE_IPV6
 	help
 	help
-	  Simple network port scanner.
+	Alias to "ping -6".
 
 
+config BUSYBOX_FEATURE_FANCY_PING
+	bool "Enable fancy ping output"
+	default y
+	depends on BUSYBOX_PING || BUSYBOX_PING6
+	help
+	With this option off, ping will say "HOST is alive!"
+	or terminate with SIGALRM in 5 seconds otherwise.
+	No command-line options will be recognized.
+config BUSYBOX_PSCAN
+	bool "pscan (6 kb)"
+	default y
+	help
+	Simple network port scanner.
 config BUSYBOX_ROUTE
 config BUSYBOX_ROUTE
-	bool "route"
-	default y if ADK_TARGET_WITH_NET
+	bool "route (8.7 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  Route displays or manipulates the kernel's IP routing tables.
-
+	Route displays or manipulates the kernel's IP routing tables.
 config BUSYBOX_SLATTACH
 config BUSYBOX_SLATTACH
-	bool "slattach"
-	default n
+	bool "slattach (6.2 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  slattach is a small utility to attach network interfaces to serial
-	  lines.
-
+	slattach configures serial line as SLIP network interface.
 config BUSYBOX_SSL_CLIENT
 config BUSYBOX_SSL_CLIENT
 	bool "ssl_client (25 kb)"
 	bool "ssl_client (25 kb)"
-	default n
+	default y
 	select BUSYBOX_TLS
 	select BUSYBOX_TLS
 	help
 	help
 	This tool pipes data to/from a socket, TLS-encrypting it.
 	This tool pipes data to/from a socket, TLS-encrypting it.
-
 config BUSYBOX_TC
 config BUSYBOX_TC
-	bool "tc"
-	default n
+	bool "tc (8.3 kb)"
+	default y
 	help
 	help
-	  show / manipulate traffic control settings
-#
-#config FEATURE_TC_INGRESS
-#	def_bool n
-#	depends on BUSYBOX_TC
+	Show / manipulate traffic control settings
 
 
+config BUSYBOX_FEATURE_TC_INGRESS
+	bool "Enable ingress"
+	default y
+	depends on BUSYBOX_TC
 config BUSYBOX_TCPSVD
 config BUSYBOX_TCPSVD
-	bool "tcpsvd"
-	default n
+	bool "tcpsvd (14 kb)"
+	default y
 	help
 	help
-	  tcpsvd listens on a TCP port and runs a program for each new
-	  connection.
+	tcpsvd listens on a TCP port and runs a program for each new
+	connection.
 
 
+config BUSYBOX_UDPSVD
+	bool "udpsvd (13 kb)"
+	default y
+	help
+	udpsvd listens on an UDP port and runs a program for each new
+	connection.
 config BUSYBOX_TELNET
 config BUSYBOX_TELNET
-	bool "telnet"
-	default y if ADK_TARGET_WITH_NET
+	bool "telnet (8.8 kb)"
+	default y
 	help
 	help
-	  Telnet is an interface to the TELNET protocol, but is also commonly
-	  used to test other simple protocols.
+	Telnet is an interface to the TELNET protocol, but is also commonly
+	used to test other simple protocols.
 
 
 config BUSYBOX_FEATURE_TELNET_TTYPE
 config BUSYBOX_FEATURE_TELNET_TTYPE
 	bool "Pass TERM type to remote host"
 	bool "Pass TERM type to remote host"
 	default y
 	default y
 	depends on BUSYBOX_TELNET
 	depends on BUSYBOX_TELNET
 	help
 	help
-	  Setting this option will forward the TERM environment variable to the
-	  remote host you are connecting to. This is useful to make sure that
-	  things like ANSI colors and other control sequences behave.
+	Setting this option will forward the TERM environment variable to the
+	remote host you are connecting to. This is useful to make sure that
+	things like ANSI colors and other control sequences behave.
 
 
 config BUSYBOX_FEATURE_TELNET_AUTOLOGIN
 config BUSYBOX_FEATURE_TELNET_AUTOLOGIN
 	bool "Pass USER type to remote host"
 	bool "Pass USER type to remote host"
 	default y
 	default y
 	depends on BUSYBOX_TELNET
 	depends on BUSYBOX_TELNET
 	help
 	help
-	  Setting this option will forward the USER environment variable to the
-	  remote host you are connecting to. This is useful when you need to
-	  log into a machine without telling the username (autologin). This
-	  option enables `-a' and `-l USER' arguments.
+	Setting this option will forward the USER environment variable to the
+	remote host you are connecting to. This is useful when you need to
+	log into a machine without telling the username (autologin). This
+	option enables '-a' and '-l USER' options.
 
 
 config BUSYBOX_FEATURE_TELNET_WIDTH
 config BUSYBOX_FEATURE_TELNET_WIDTH
 	bool "Enable window size autodetection"
 	bool "Enable window size autodetection"
 	default y
 	default y
 	depends on BUSYBOX_TELNET
 	depends on BUSYBOX_TELNET
-
 config BUSYBOX_TELNETD
 config BUSYBOX_TELNETD
-	bool "telnetd"
-	default n
+	bool "telnetd (12 kb)"
+	default y
 	select BUSYBOX_FEATURE_SYSLOG
 	select BUSYBOX_FEATURE_SYSLOG
 	help
 	help
-	  A daemon for the TELNET protocol, allowing you to log onto the host
-	  running the daemon. Please keep in mind that the TELNET protocol
-	  sends passwords in plain text. If you can't afford the space for an
-	  SSH daemon and you trust your network, you may say 'y' here. As a
-	  more secure alternative, you should seriously consider installing the
-	  very small Dropbear SSH daemon instead:
+	A daemon for the TELNET protocol, allowing you to log onto the host
+	running the daemon. Please keep in mind that the TELNET protocol
+	sends passwords in plain text. If you can't afford the space for an
+	SSH daemon and you trust your network, you may say 'y' here. As a
+	more secure alternative, you should seriously consider installing the
+	very small Dropbear SSH daemon instead:
 		http://matt.ucc.asn.au/dropbear/dropbear.html
 		http://matt.ucc.asn.au/dropbear/dropbear.html
 
 
-	  Note that for busybox telnetd to work you need several things:
-	  First of all, your kernel needs:
-		  UNIX98_PTYS=y
-		  DEVPTS_FS=y
+	Note that for busybox telnetd to work you need several things:
+	First of all, your kernel needs:
+		  CONFIG_UNIX98_PTYS=y
 
 
-	  Next, you need a /dev/pts directory on your root filesystem:
+	Next, you need a /dev/pts directory on your root filesystem:
 
 
 		  $ ls -ld /dev/pts
 		  $ ls -ld /dev/pts
 		  drwxr-xr-x  2 root root 0 Sep 23 13:21 /dev/pts/
 		  drwxr-xr-x  2 root root 0 Sep 23 13:21 /dev/pts/
 
 
-	  Next you need the pseudo terminal master multiplexer /dev/ptmx:
+	Next you need the pseudo terminal master multiplexer /dev/ptmx:
 
 
 		  $ ls -la /dev/ptmx
 		  $ ls -la /dev/ptmx
 		  crw-rw-rw-  1 root tty 5, 2 Sep 23 13:55 /dev/ptmx
 		  crw-rw-rw-  1 root tty 5, 2 Sep 23 13:55 /dev/ptmx
 
 
-	  Any /dev/ttyp[0-9]* files you may have can be removed.
-	  Next, you need to mount the devpts filesystem on /dev/pts using:
+	Any /dev/ttyp[0-9]* files you may have can be removed.
+	Next, you need to mount the devpts filesystem on /dev/pts using:
 
 
 		  mount -t devpts devpts /dev/pts
 		  mount -t devpts devpts /dev/pts
 
 
-	  You need to be sure that busybox has LOGIN and
-	  FEATURE_SUID enabled. And finally, you should make
-	  certain that Busybox has been installed setuid root:
+	You need to be sure that busybox has LOGIN and
+	FEATURE_SUID enabled. And finally, you should make
+	certain that busybox has been installed setuid root:
 
 
 		chown root.root /bin/busybox
 		chown root.root /bin/busybox
 		chmod 4755 /bin/busybox
 		chmod 4755 /bin/busybox
 
 
-	  with all that done, telnetd _should_ work....
-
+	with all that done, telnetd _should_ work....
 
 
 config BUSYBOX_FEATURE_TELNETD_STANDALONE
 config BUSYBOX_FEATURE_TELNETD_STANDALONE
 	bool "Support standalone telnetd (not inetd only)"
 	bool "Support standalone telnetd (not inetd only)"
 	default y
 	default y
 	depends on BUSYBOX_TELNETD
 	depends on BUSYBOX_TELNETD
 	help
 	help
-	  Selecting this will make telnetd able to run standalone.
+	Selecting this will make telnetd able to run standalone.
 
 
 config BUSYBOX_FEATURE_TELNETD_INETD_WAIT
 config BUSYBOX_FEATURE_TELNETD_INETD_WAIT
 	bool "Support -w SEC option (inetd wait mode)"
 	bool "Support -w SEC option (inetd wait mode)"
 	default y
 	default y
 	depends on BUSYBOX_FEATURE_TELNETD_STANDALONE
 	depends on BUSYBOX_FEATURE_TELNETD_STANDALONE
 	help
 	help
-	  This option allows you to run telnetd in "inet wait" mode.
-	  Example inetd.conf line (note "wait", not usual "nowait"):
-
-	  telnet stream tcp wait root /bin/telnetd telnetd -w10
+	This option allows you to run telnetd in "inet wait" mode.
+	Example inetd.conf line (note "wait", not usual "nowait"):
 
 
-	  In this example, inetd passes _listening_ socket_ as fd 0
-	  to telnetd when connection appears.
-	  telnetd will wait for connections until all existing
-	  connections are closed, and no new connections
-	  appear during 10 seconds. Then it exits, and inetd continues
-	  to listen for new connections.
+	telnet stream tcp wait root /bin/telnetd telnetd -w10
 
 
-	  This option is rarely used. "tcp nowait" is much more usual
-	  way of running tcp services, including telnetd.
-	  You most probably want to say N here.
+	In this example, inetd passes _listening_ socket_ as fd 0
+	to telnetd when connection appears.
+	telnetd will wait for connections until all existing
+	connections are closed, and no new connections
+	appear during 10 seconds. Then it exits, and inetd continues
+	to listen for new connections.
 
 
+	This option is rarely used. "tcp nowait" is much more usual
+	way of running tcp services, including telnetd.
+	You most probably want to say N here.
 config BUSYBOX_TFTP
 config BUSYBOX_TFTP
-	bool "tftp"
-	default n
+	bool "tftp (11 kb)"
+	default y
 	help
 	help
-	  This enables the Trivial File Transfer Protocol client program. TFTP
-	  is usually used for simple, small transfers such as a root image
-	  for a network-enabled bootloader.
+	Trivial File Transfer Protocol client. TFTP is usually used
+	for simple, small transfers such as a root image
+	for a network-enabled bootloader.
+
+config BUSYBOX_FEATURE_TFTP_PROGRESS_BAR
+	bool "Enable progress bar"
+	default y
+	depends on BUSYBOX_TFTP
+
+config BUSYBOX_FEATURE_TFTP_HPA_COMPAT
+	bool "tftp-hpa compat (support -c get/put FILE)"
+	default y
+	depends on BUSYBOX_TFTP
 
 
 config BUSYBOX_TFTPD
 config BUSYBOX_TFTPD
-	bool "tftpd"
-	default n
+	bool "tftpd (10 kb)"
+	default y
 	help
 	help
-	  This enables the Trivial File Transfer Protocol server program.
-	  It expects that stdin is a datagram socket and a packet
-	  is already pending on it. It will exit after one transfer.
-	  In other words: it should be run from inetd in nowait mode,
-	  or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR"
-
-comment "Common options for tftp/tftpd"
-	depends on BUSYBOX_TFTP || BUSYBOX_TFTPD
+	Trivial File Transfer Protocol server.
+	It expects that stdin is a datagram socket and a packet
+	is already pending on it. It will exit after one transfer.
+	In other words: it should be run from inetd in nowait mode,
+	or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR"
 
 
 config BUSYBOX_FEATURE_TFTP_GET
 config BUSYBOX_FEATURE_TFTP_GET
 	bool "Enable 'tftp get' and/or tftpd upload code"
 	bool "Enable 'tftp get' and/or tftpd upload code"
 	default y
 	default y
 	depends on BUSYBOX_TFTP || BUSYBOX_TFTPD
 	depends on BUSYBOX_TFTP || BUSYBOX_TFTPD
 	help
 	help
-	  Add support for the GET command within the TFTP client. This allows
-	  a client to retrieve a file from a TFTP server.
-	  Also enable upload support in tftpd, if tftpd is selected.
+	Add support for the GET command within the TFTP client. This allows
+	a client to retrieve a file from a TFTP server.
+	Also enable upload support in tftpd, if tftpd is selected.
 
 
-	  Note: this option does _not_ make tftpd capable of download
-	  (the usual operation people need from it)!
+	Note: this option does _not_ make tftpd capable of download
+	(the usual operation people need from it)!
 
 
 config BUSYBOX_FEATURE_TFTP_PUT
 config BUSYBOX_FEATURE_TFTP_PUT
 	bool "Enable 'tftp put' and/or tftpd download code"
 	bool "Enable 'tftp put' and/or tftpd download code"
 	default y
 	default y
 	depends on BUSYBOX_TFTP || BUSYBOX_TFTPD
 	depends on BUSYBOX_TFTP || BUSYBOX_TFTPD
 	help
 	help
-	  Add support for the PUT command within the TFTP client. This allows
-	  a client to transfer a file to a TFTP server.
-	  Also enable download support in tftpd, if tftpd is selected.
+	Add support for the PUT command within the TFTP client. This allows
+	a client to transfer a file to a TFTP server.
+	Also enable download support in tftpd, if tftpd is selected.
 
 
 config BUSYBOX_FEATURE_TFTP_BLOCKSIZE
 config BUSYBOX_FEATURE_TFTP_BLOCKSIZE
 	bool "Enable 'blksize' and 'tsize' protocol options"
 	bool "Enable 'blksize' and 'tsize' protocol options"
 	default y
 	default y
 	depends on BUSYBOX_TFTP || BUSYBOX_TFTPD
 	depends on BUSYBOX_TFTP || BUSYBOX_TFTPD
 	help
 	help
-	  Allow tftp to specify block size, and tftpd to understand
-	  "blksize" and "tsize" options.
-
-config BUSYBOX_FEATURE_TFTP_PROGRESS_BAR
-	bool "Enable tftp progress meter"
-	default y
-	depends on BUSYBOX_TFTP && BUSYBOX_FEATURE_TFTP_BLOCKSIZE
-	help
-	  Show progress bar.
+	Allow tftp to specify block size, and tftpd to understand
+	"blksize" and "tsize" options.
 
 
 config BUSYBOX_TFTP_DEBUG
 config BUSYBOX_TFTP_DEBUG
 	bool "Enable debug"
 	bool "Enable debug"
 	default n
 	default n
 	depends on BUSYBOX_TFTP || BUSYBOX_TFTPD
 	depends on BUSYBOX_TFTP || BUSYBOX_TFTPD
 	help
 	help
-	  Make tftp[d] print debugging messages on stderr.
-	  This is useful if you are diagnosing a bug in tftp[d].
-
+	Make tftp[d] print debugging messages on stderr.
+	This is useful if you are diagnosing a bug in tftp[d].
 config BUSYBOX_TLS
 config BUSYBOX_TLS
 	bool #No description makes it a hidden option
 	bool #No description makes it a hidden option
 	default n
 	default n
-
 config BUSYBOX_TRACEROUTE
 config BUSYBOX_TRACEROUTE
-	bool "traceroute"
-	default n
+	bool "traceroute (11 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  Utility to trace the route of IP packets.
+	Utility to trace the route of IP packets.
 
 
 config BUSYBOX_TRACEROUTE6
 config BUSYBOX_TRACEROUTE6
-	bool "traceroute6"
-	default n
-	depends on BUSYBOX_FEATURE_IPV6 && BUSYBOX_TRACEROUTE
+	bool "traceroute6 (13 kb)"
+	default y
+	depends on BUSYBOX_FEATURE_IPV6
 	help
 	help
-	  Utility to trace the route of IPv6 packets.
+	Utility to trace the route of IPv6 packets.
 
 
 config BUSYBOX_FEATURE_TRACEROUTE_VERBOSE
 config BUSYBOX_FEATURE_TRACEROUTE_VERBOSE
 	bool "Enable verbose output"
 	bool "Enable verbose output"
 	default y
 	default y
-	depends on BUSYBOX_TRACEROUTE
+	depends on BUSYBOX_TRACEROUTE || BUSYBOX_TRACEROUTE6
 	help
 	help
-	  Add some verbosity to traceroute. This includes among other things
-	  hostnames and ICMP response types.
-
-config BUSYBOX_FEATURE_TRACEROUTE_SOURCE_ROUTE
-	bool "Enable loose source route"
-	default n
-	depends on BUSYBOX_TRACEROUTE
-	help
-	  Add option to specify a loose source route gateway
-	  (8 maximum).
+	Add some verbosity to traceroute. This includes among other things
+	hostnames and ICMP response types.
 
 
 config BUSYBOX_FEATURE_TRACEROUTE_USE_ICMP
 config BUSYBOX_FEATURE_TRACEROUTE_USE_ICMP
-	bool "Use ICMP instead of UDP"
-	default n
-	depends on BUSYBOX_TRACEROUTE
-	help
-	  Add option -I to use ICMP ECHO instead of UDP datagrams.
-
+	bool "Enable -I option (use ICMP instead of UDP)"
+	default y
+	depends on BUSYBOX_TRACEROUTE || BUSYBOX_TRACEROUTE6
 config BUSYBOX_TUNCTL
 config BUSYBOX_TUNCTL
-	bool "tunctl"
-	default n
+	bool "tunctl (6.2 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  tunctl creates or deletes tun devices.
+	tunctl creates or deletes tun devices.
 
 
 config BUSYBOX_FEATURE_TUNCTL_UG
 config BUSYBOX_FEATURE_TUNCTL_UG
 	bool "Support owner:group assignment"
 	bool "Support owner:group assignment"
 	default y
 	default y
 	depends on BUSYBOX_TUNCTL
 	depends on BUSYBOX_TUNCTL
 	help
 	help
-	  Allow to specify owner and group of newly created interface.
-	  340 bytes of pure bloat. Say no here.
-
-source package/busybox/config/networking/udhcp/Config.in
-
-config BUSYBOX_IFUPDOWN_UDHCPC_CMD_OPTIONS
-	string "ifup udhcpc command line options"
-	default "-R" if BUSYBOX_NOMMU
-	default "-R -b"
-	depends on BUSYBOX_IFUP && BUSYBOX_UDHCPC
-	help
-	  Command line options to pass to udhcpc from ifup.
-	  Intended to alter options not available in /etc/network/interfaces.
-	  (IE: --syslog --background etc...)
-
-config BUSYBOX_UDPSVD
-	bool "udpsvd"
-	default n
-	help
-	  udpsvd listens on an UDP port and runs a program for each new
-	  connection.
-
+	Allow to specify owner and group of newly created interface.
+	340 bytes of pure bloat. Say no here.
 config BUSYBOX_VCONFIG
 config BUSYBOX_VCONFIG
-	bool "vconfig"
-	default n
+	bool "vconfig (2.3 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  Creates, removes, and configures VLAN interfaces
-
+	Creates, removes, and configures VLAN interfaces
 config BUSYBOX_WGET
 config BUSYBOX_WGET
-	bool "wget"
-	depends on !BUSYBOX_DISABLE_WGET
-	default n
+	bool "wget (38 kb)"
+	default y
 	help
 	help
-	  wget is a utility for non-interactive download of files from HTTP,
-	  HTTPS, and FTP servers.
+	wget is a utility for non-interactive download of files from HTTP
+	and FTP servers.
+
+config BUSYBOX_FEATURE_WGET_LONG_OPTIONS
+	bool "Enable long options"
+	default y
+	depends on BUSYBOX_WGET && BUSYBOX_LONG_OPTS
 
 
 config BUSYBOX_FEATURE_WGET_STATUSBAR
 config BUSYBOX_FEATURE_WGET_STATUSBAR
-	bool "Enable a nifty process meter (+2k)"
-	default n
+	bool "Enable progress bar (+2k)"
+	default y
 	depends on BUSYBOX_WGET
 	depends on BUSYBOX_WGET
-	help
-	  Enable the transfer progress bar for wget transfers.
 
 
 config BUSYBOX_FEATURE_WGET_AUTHENTICATION
 config BUSYBOX_FEATURE_WGET_AUTHENTICATION
 	bool "Enable HTTP authentication"
 	bool "Enable HTTP authentication"
 	default y
 	default y
 	depends on BUSYBOX_WGET
 	depends on BUSYBOX_WGET
 	help
 	help
-	  Support authenticated HTTP transfers.
+	Support authenticated HTTP transfers.
 
 
-config BUSYBOX_FEATURE_WGET_LONG_OPTIONS
-	bool "Enable long options"
+config BUSYBOX_FEATURE_WGET_TIMEOUT
+	bool "Enable timeout option -T SEC"
 	default y
 	default y
-	depends on BUSYBOX_WGET && BUSYBOX_LONG_OPTS
+	depends on BUSYBOX_WGET
 	help
 	help
-	  Support long options for the wget applet.
+	Supports network read and connect timeouts for wget,
+	so that wget will give up and timeout, through the -T
+	command line option.
 
 
-config BUSYBOX_FEATURE_WGET_TIMEOUT
-	bool "Enable read timeout option -T SEC"
+	Currently only connect and network data read timeout are
+	supported (i.e., timeout is not applied to the DNS query). When
+	FEATURE_WGET_LONG_OPTIONS is also enabled, the --timeout option
+	will work in addition to -T.
+
+config BUSYBOX_FEATURE_WGET_HTTPS
+	bool "Support HTTPS using internal TLS code"
 	default y
 	default y
 	depends on BUSYBOX_WGET
 	depends on BUSYBOX_WGET
+	select BUSYBOX_TLS
 	help
 	help
-	  Supports network read timeout for wget, so that wget will give
-	  up and timeout when reading network data, through the -T command
-	  line option.  Currently only network data read timeout is
-	  supported (i.e., timeout is not applied to the DNS nor TCP
-	  connection initialization).  When FEATURE_WGET_LONG_OPTIONS is
-	  also enabled, the --timeout option will work in addition to -T.
+	wget will use internal TLS code to connect to https:// URLs.
+	Note:
+	On NOMMU machines, ssl_helper applet should be available
+	in the $PATH for this to work. Make sure to select that applet.
+
+	Note: currently, TLS code only makes TLS I/O work, it
+	does *not* check that the peer is who it claims to be, etc.
+	IOW: it uses peer-supplied public keys to establish encryption
+	and signing keys, then encrypts and signs outgoing data and
+	decrypts incoming data.
+	It does not check signature hashes on the incoming data:
+	this means that attackers manipulating TCP packets can
+	send altered data and we unknowingly receive garbage.
+	(This check might be relatively easy to add).
+	It does not check public key's certificate:
+	this means that the peer may be an attacker impersonating
+	the server we think we are talking to.
+
+	If you think this is unacceptable, consider this. As more and more
+	servers switch to HTTPS-only operation, without such "crippled"
+	TLS code it is *impossible* to simply download a kernel source
+	from kernel.org. Which can in real world translate into
+	"my small automatic tooling to build cross-compilers from sources
+	no longer works, I need to additionally keep a local copy
+	of ~4 megabyte source tarball of a SSL library and ~2 megabyte
+	source of wget, need to compile and built both before I can
+	download anything. All this despite the fact that the build
+	is done in a QEMU sandbox on a machine with absolutely nothing
+	worth stealing, so I don't care if someone would go to a lot
+	of trouble to intercept my HTTPS download to send me an altered
+	kernel tarball".
+
+	If you still think this is unacceptable, send patches.
+
+	If you still think this is unacceptable, do not want to send
+	patches, but do want to waste bandwidth expaining how wrong
+	it is, you will be ignored.
+
+	FEATURE_WGET_OPENSSL does implement TLS verification
+	using the certificates available to OpenSSL.
 
 
 config BUSYBOX_FEATURE_WGET_OPENSSL
 config BUSYBOX_FEATURE_WGET_OPENSSL
 	bool "Try to connect to HTTPS using openssl"
 	bool "Try to connect to HTTPS using openssl"
-	default n
+	default y
 	depends on BUSYBOX_WGET
 	depends on BUSYBOX_WGET
 	help
 	help
-	  Choose how wget establishes SSL connection for https:// URLs.
-
-	  Busybox itself contains no SSL code. wget will spawn
-	  a helper program to talk over HTTPS.
-
-	  OpenSSL has a simple SSL client for debug purposes.
-	  If you select "openssl" helper, wget will effectively call
-	  "openssl s_client -quiet -connect IP:443 2>/dev/null"
-	  and pipe its data through it.
-	  Note inconvenient API: host resolution is done twice,
-	  and there is no guarantee openssl's idea of IPv6 address
-	  format is the same as ours.
-	  Another problem is that s_client prints debug information
-	  to stderr, and it needs to be suppressed. This means
-	  all error messages get suppressed too.
-	  openssl is also a big binary, often dynamically linked
-	  against ~15 libraries.
-
-config BUSYBOX_FEATURE_WGET_SSL_HELPER
-	bool "Try to connect to HTTPS using ssl_helper"
-	default n
-	depends on BUSYBOX_WGET
+	Try to use openssl to handle HTTPS.
+
+	OpenSSL has a simple SSL client for debug purposes.
+	If you select this option, wget will effectively run:
+	"openssl s_client -quiet -connect hostname:443
+	-servername hostname 2>/dev/null" and pipe its data
+	through it. -servername is not used if hostname is numeric.
+	Note inconvenient API: host resolution is done twice,
+	and there is no guarantee openssl's idea of IPv6 address
+	format is the same as ours.
+	Another problem is that s_client prints debug information
+	to stderr, and it needs to be suppressed. This means
+	all error messages get suppressed too.
+	openssl is also a big binary, often dynamically linked
+	against ~15 libraries.
+
+	If openssl can't be executed, internal TLS code will be used
+	(if you enabled it); if openssl can be executed but fails later,
+	wget can't detect this, and download will fail.
+
+	By default BUSYBOX_TLS verification is performed, unless
+	--no-check-certificate option is passed.
+config BUSYBOX_WHOIS
+	bool "whois (6.3 kb)"
+	default y
 	help
 	help
-	  Choose how wget establishes SSL connection for https:// URLs.
-
-	  Busybox itself contains no SSL code. wget will spawn
-	  a helper program to talk over HTTPS.
-
-	  ssl_helper is a tool which can be built statically
-	  from busybox sources against a small embedded SSL library.
-	  Please see networking/ssl_helper/README.
-	  It does not require double host resolution and emits
-	  error messages to stderr.
-
-	  Precompiled static binary may be available at
-	  http://busybox.net/downloads/binaries/
-
+	whois is a client for the whois directory service
 config BUSYBOX_ZCIP
 config BUSYBOX_ZCIP
-	bool "zcip"
-	default n
+	bool "zcip (8.4 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_FEATURE_SYSLOG
 	select BUSYBOX_FEATURE_SYSLOG
 	help
 	help
-	  ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927.
-	  It's a daemon that allocates and defends a dynamically assigned
-	  address on the 169.254/16 network, requiring no system administrator.
+	BUSYBOX_ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927.
+	It's a daemon that allocates and defends a dynamically assigned
+	address on the 169.254/16 network, requiring no system administrator.
+
+	See http://www.zeroconf.org for further details, and "zcip.script"
+	in the busybox examples.
 
 
-	  See http://www.zeroconf.org for further details, and "zcip.script"
-	  in the busybox examples.
+source package/busybox/config/networking/udhcp/Config.in
+
+config BUSYBOX_IFUPDOWN_UDHCPC_CMD_OPTIONS
+	string "ifup udhcpc command line options"
+	default "-R -n"
+	depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN
+	help
+	Command line options to pass to udhcpc from ifup.
+	Intended to alter options not available in /etc/network/interfaces.
+	(IE: --syslog --background etc...)
 
 
 endmenu
 endmenu

+ 144 - 107
package/busybox/config/networking/udhcp/Config.in

@@ -1,148 +1,168 @@
 # DO NOT EDIT. This file is generated from Config.src
 # DO NOT EDIT. This file is generated from Config.src
 #
 #
 # For a description of the syntax of this configuration file,
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 #
 
 
-config BUSYBOX_UDHCPC6
-       bool "udhcp client for DHCPv6 (udhcpc6)"
-       default n  # not yet ready
-       help
-         udhcpc6 is a DHCPv6 client
-
 config BUSYBOX_UDHCPD
 config BUSYBOX_UDHCPD
-	bool "udhcp server (udhcpd)"
-	default n
+	bool "udhcpd (21 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  udhcpd is a DHCP server geared primarily toward embedded systems,
-	  while striving to be fully functional and RFC compliant.
+	udhcpd is a DHCP server geared primarily toward embedded systems,
+	while striving to be fully functional and RFC compliant.
 
 
-config BUSYBOX_DHCPRELAY
-	bool "dhcprelay"
+config BUSYBOX_FEATURE_UDHCPD_BASE_IP_ON_MAC
+	bool "Select IP address based on client MAC"
 	default n
 	default n
+	depends on BUSYBOX_UDHCPD
 	help
 	help
-	  dhcprelay listens for dhcp requests on one or more interfaces
-	  and forwards these requests to a different interface or dhcp
-	  server.
+	If selected, udhcpd will base its selection of BUSYBOX_IP address to offer
+	on the client's hardware address. Otherwise udhcpd uses the next
+	consecutive free address.
 
 
-config BUSYBOX_DUMPLEASES
-	bool "Lease display utility (dumpleases)"
-	default n
-	help
-	  dumpleases displays the leases written out by the udhcpd server.
-	  Lease times are stored in the file by time remaining in lease, or
-	  by the absolute time that it expires in seconds from epoch.
+	This reduces the frequency of IP address changes for clients
+	which let their lease expire, and makes consecutive DHCPOFFERS
+	for the same client to (almost always) contain the same
+	IP address.
 
 
 config BUSYBOX_FEATURE_UDHCPD_WRITE_LEASES_EARLY
 config BUSYBOX_FEATURE_UDHCPD_WRITE_LEASES_EARLY
-	bool "Rewrite the lease file at every new acknowledge"
+	bool "Rewrite lease file at every new acknowledge"
 	default y
 	default y
 	depends on BUSYBOX_UDHCPD
 	depends on BUSYBOX_UDHCPD
 	help
 	help
-	  If selected, udhcpd will write a new file with leases every
-	  time a new lease has been accepted, thus eliminating the need
-	  to send SIGUSR1 for the initial writing or updating. Any timed
-	  rewriting remains undisturbed.
-
-config BUSYBOX_FEATURE_UDHCPD_BASE_IP_ON_MAC
-	bool "Select IP address based on client MAC"
-	default n
-	depends on BUSYBOX_UDHCPD
-	help
-	  If selected, udhcpd will base its selection of IP address to offer
-	  on the client's hardware address. Otherwise udhcpd uses the next
-	  consecutive free address.
-
-	  This reduces the frequency of IP address changes for clients
-	  which let their lease expire, and makes consecutive DHCPOFFERS
-	  for the same client to (almost always) contain the same
-	  IP address.
+	If selected, udhcpd will write a new file with leases every
+	time a new lease has been accepted, thus eliminating the need
+	to send SIGUSR1 for the initial writing or updating. Any timed
+	rewriting remains undisturbed.
 
 
 config BUSYBOX_DHCPD_LEASES_FILE
 config BUSYBOX_DHCPD_LEASES_FILE
 	string "Absolute path to lease file"
 	string "Absolute path to lease file"
 	default "/var/lib/misc/udhcpd.leases"
 	default "/var/lib/misc/udhcpd.leases"
 	depends on BUSYBOX_UDHCPD
 	depends on BUSYBOX_UDHCPD
 	help
 	help
-	  udhcpd stores addresses in a lease file. This is the absolute path
-	  of the file. Normally it is safe to leave it untouched.
+	udhcpd stores addresses in a lease file. This is the absolute path
+	of the file. Normally it is safe to leave it untouched.
+
+config BUSYBOX_DUMPLEASES
+	bool "dumpleases (5.1 kb)"
+	default y
+	help
+	dumpleases displays the leases written out by the udhcpd.
+	Lease times are stored in the file by time remaining in lease, or
+	by the absolute time that it expires in seconds from epoch.
+
+config BUSYBOX_DHCPRELAY
+	bool "dhcprelay (5.2 kb)"
+	default y
+	help
+	dhcprelay listens for DHCP requests on one or more interfaces
+	and forwards these requests to a different interface or DHCP
+	server.
 
 
 config BUSYBOX_UDHCPC
 config BUSYBOX_UDHCPC
-	bool "udhcp client (udhcpc)"
+	bool "udhcpc (24 kb)"
 	default y
 	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  udhcpc is a DHCP client geared primarily toward embedded systems,
-	  while striving to be fully functional and RFC compliant.
+	udhcpc is a DHCP client geared primarily toward embedded systems,
+	while striving to be fully functional and RFC compliant.
 
 
-	  The udhcp client negotiates a lease with the DHCP server and
-	  runs a script when a lease is obtained or lost.
+	The udhcp client negotiates a lease with the DHCP server and
+	runs a script when a lease is obtained or lost.
 
 
 config BUSYBOX_FEATURE_UDHCPC_ARPING
 config BUSYBOX_FEATURE_UDHCPC_ARPING
 	bool "Verify that the offered address is free, using ARP ping"
 	bool "Verify that the offered address is free, using ARP ping"
 	default y
 	default y
 	depends on BUSYBOX_UDHCPC
 	depends on BUSYBOX_UDHCPC
 	help
 	help
-	  If selected, udhcpc will send ARP probes and make sure
-	  the offered address is really not in use by anyone. The client
-	  will DHCPDECLINE the offer if the address is in use,
-	  and restart the discover process.
+	If selected, udhcpc will send BUSYBOX_ARP probes and make sure
+	the offered address is really not in use by anyone. The client
+	will DHCPDECLINE the offer if the address is in use,
+	and restart the discover process.
 
 
 config BUSYBOX_FEATURE_UDHCPC_SANITIZEOPT
 config BUSYBOX_FEATURE_UDHCPC_SANITIZEOPT
 	bool "Do not pass malformed host and domain names"
 	bool "Do not pass malformed host and domain names"
 	default y
 	default y
 	depends on BUSYBOX_UDHCPC
 	depends on BUSYBOX_UDHCPC
 	help
 	help
-	  If selected, udhcpc will check some options (such as option 12 -
-	  hostname) and if they don't look like valid hostnames
-	  (for example, if they start with dash or contain spaces),
-	  they will be replaced with string "bad" when exporting
-	  to the environment.
+	If selected, udhcpc will check some options (such as option 12 -
+	hostname) and if they don't look like valid hostnames
+	(for example, if they start with dash or contain spaces),
+	they will be replaced with string "bad" when exporting
+	to the environment.
 
 
-config BUSYBOX_FEATURE_UDHCP_PORT
-	bool "Enable '-P port' option for udhcpd and udhcpc"
-	default n
-	depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC
+config BUSYBOX_UDHCPC_DEFAULT_SCRIPT
+	string "Absolute path to config script"
+	default "/usr/share/udhcpc/default.script"
+	depends on BUSYBOX_UDHCPC || BUSYBOX_UDHCPC6
 	help
 	help
-	  At the cost of ~300 bytes, enables -P port option.
-	  This feature is typically not needed.
+	This script is called after udhcpc receives an answer. See
+	examples/udhcp for a working example. Normally it is safe
+	to leave this untouched.
 
 
-config BUSYBOX_UDHCP_DEBUG
-	int "Maximum verbosity level for udhcp applets (0..9)"
-	default 0
-	range 0 9
-	depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC || BUSYBOX_DHCPRELAY
+# udhcpc6 config is inserted here:
+config BUSYBOX_UDHCPC6
+	bool "udhcpc6 (21 kb)"
+	default y
+	depends on BUSYBOX_FEATURE_IPV6
 	help
 	help
-	  Verbosity can be increased with multiple -v options.
-	  This option controls how high it can be cranked up.
+	udhcpc6 is a DHCPv6 client
 
 
-	  Bigger values result in bigger code. Levels above 1
-	  are very verbose and useful for debugging only.
+config BUSYBOX_FEATURE_UDHCPC6_RFC3646
+	bool "Support RFC 3646 (DNS server and search list)"
+	default y
+	depends on BUSYBOX_UDHCPC6
+	help
+	List of DNS servers and domain search list can be requested with
+	"-O dns" and "-O search". If server gives these values,
+	they will be set in environment variables "dns" and "search".
 
 
-config BUSYBOX_FEATURE_UDHCP_RFC3397
-	bool "Support for RFC3397 domain search (experimental)"
+config BUSYBOX_FEATURE_UDHCPC6_RFC4704
+	bool "Support RFC 4704 (Client FQDN)"
 	default y
 	default y
-	depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC
+	depends on BUSYBOX_UDHCPC6
 	help
 	help
-	  If selected, both client and server will support passing of domain
-	  search lists via option 119, specified in RFC 3397,
-	  and SIP servers option 120, specified in RFC 3361.
+	You can request FQDN to be given by server using "-O fqdn".
 
 
-config BUSYBOX_FEATURE_UDHCP_8021Q
-	bool "Support for 802.1Q VLAN parameters"
+config BUSYBOX_FEATURE_UDHCPC6_RFC4833
+	bool "Support RFC 4833 (Timezones)"
 	default y
 	default y
-	depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC
+	depends on BUSYBOX_UDHCPC6
 	help
 	help
-	  If selected, both client and server will support passing of VLAN
-	  ID and priority via options 132 and 133 as per 802.1Q.
+	You can request POSIX timezone with "-O tz" and timezone name
+	with "-O timezone".
 
 
-config BUSYBOX_UDHCPC_DEFAULT_SCRIPT
-	string "Absolute path to config script"
-	default "/usr/share/udhcpc/default.script"
-	depends on BUSYBOX_UDHCPC
+config BUSYBOX_FEATURE_UDHCPC6_RFC5970
+	bool "Support RFC 5970 (Network Boot)"
+	default y
+	depends on BUSYBOX_UDHCPC6
+	help
+	You can request bootfile-url with "-O bootfile_url" and
+	bootfile-params with "-O bootfile_params".
+
+comment "Common options for DHCP applets"
+        depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC || BUSYBOX_UDHCPC6 || BUSYBOX_DHCPRELAY
+
+config BUSYBOX_FEATURE_UDHCP_PORT
+	bool "Enable '-P port' option for udhcpd and udhcpc"
+	default n
+	depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC || BUSYBOX_UDHCPC6
 	help
 	help
-	  This script is called after udhcpc receives an answer. See
-	  examples/udhcp for a working example. Normally it is safe
-	  to leave this untouched.
+	At the cost of ~300 bytes, enables -P port option.
+	This feature is typically not needed.
+
+config BUSYBOX_UDHCP_DEBUG
+	int "Maximum verbosity level (0..9)"
+	default 2
+	range 0 9
+	depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC || BUSYBOX_UDHCPC6 || BUSYBOX_DHCPRELAY
+	help
+	Verbosity can be increased with multiple -v options.
+	This option controls how high it can be cranked up.
+
+	Bigger values result in bigger code. Levels above 1
+	are very verbose and useful for debugging only.
 
 
 config BUSYBOX_UDHCPC_SLACK_FOR_BUGGY_SERVERS
 config BUSYBOX_UDHCPC_SLACK_FOR_BUGGY_SERVERS
 	int "DHCP options slack buffer size"
 	int "DHCP options slack buffer size"
@@ -150,19 +170,36 @@ config BUSYBOX_UDHCPC_SLACK_FOR_BUGGY_SERVERS
 	range 0 924
 	range 0 924
 	depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC
 	depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC
 	help
 	help
-	  Some buggy DHCP servers send DHCP offer packets with option
-	  field larger than we expect (which might also be considered a
-	  buffer overflow attempt). These packets are normally discarded.
-	  If circumstances beyond your control force you to support such
-	  servers, this may help. The upper limit (924) makes dhcpc accept
-	  even 1500 byte packets (maximum-sized ethernet packets).
-
-	  This option does not make dhcp[cd] emit non-standard
-	  sized packets.
-
-	  Known buggy DHCP servers:
-	  3Com OfficeConnect Remote 812 ADSL Router:
-	    seems to confuse maximum allowed UDP packet size with
-	    maximum size of entire IP packet, and sends packets which are
-	    28 bytes too large.
-	  Seednet (ISP) VDSL: sends packets 2 bytes too large.
+	Some buggy DHCP servers send DHCP offer packets with option
+	field larger than we expect (which might also be considered a
+	buffer overflow attempt). These packets are normally discarded.
+	If circumstances beyond your control force you to support such
+	servers, this may help. The upper limit (924) makes udhcpc accept
+	even 1500 byte packets (maximum-sized ethernet packets).
+
+	This option does not make udhcp[cd] emit non-standard
+	sized packets.
+
+	Known buggy DHCP servers:
+	3Com OfficeConnect Remote 812 ADSL Router:
+		seems to confuse maximum allowed UDP packet size with
+		maximum size of entire IP packet, and sends packets
+		which are 28 bytes too large.
+	Seednet (ISP) VDSL: sends packets 2 bytes too large.
+
+config BUSYBOX_FEATURE_UDHCP_RFC3397
+	bool "Support RFC 3397 domain search options"
+	default y
+	depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC
+	help
+	If selected, both client and server will support passing of domain
+	search lists via option 119, specified in RFC 3397,
+	and SIP servers option 120, specified in RFC 3361.
+
+config BUSYBOX_FEATURE_UDHCP_8021Q
+	bool "Support 802.1Q VLAN parameters options"
+	default y
+	depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC
+	help
+	If selected, both client and server will support passing of VLAN
+	ID and priority via options 132 and 133 as per 802.1Q.

+ 10 - 12
package/busybox/config/printutils/Config.in

@@ -1,28 +1,26 @@
 # DO NOT EDIT. This file is generated from Config.src
 # DO NOT EDIT. This file is generated from Config.src
 #
 #
 # For a description of the syntax of this configuration file,
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 #
 
 
 menu "Print Utilities"
 menu "Print Utilities"
 
 
-
 config BUSYBOX_LPD
 config BUSYBOX_LPD
-	bool "lpd"
-	default n
+	bool "lpd (5.5 kb)"
+	default y
 	help
 	help
-	  lpd is a print spooling daemon.
-
+	lpd is a print spooling daemon.
 config BUSYBOX_LPR
 config BUSYBOX_LPR
-	bool "lpr"
-	default n
+	bool "lpr (9.9 kb)"
+	default y
 	help
 	help
-	  lpr sends files (or standard input) to a print spooling daemon.
+	lpr sends files (or standard input) to a print spooling daemon.
 
 
 config BUSYBOX_LPQ
 config BUSYBOX_LPQ
-	bool "lpq"
-	default n
+	bool "lpq (9.9 kb)"
+	default y
 	help
 	help
-	  lpq is a print spool queue examination and manipulation program.
+	lpq is a print spool queue examination and manipulation program.
 
 
 endmenu
 endmenu

+ 157 - 176
package/busybox/config/procps/Config.in

@@ -1,223 +1,190 @@
 # DO NOT EDIT. This file is generated from Config.src
 # DO NOT EDIT. This file is generated from Config.src
 #
 #
 # For a description of the syntax of this configuration file,
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 #
 
 
 menu "Process Utilities"
 menu "Process Utilities"
 
 
-config BUSYBOX_IOSTAT
-	bool "iostat"
-	default n
-	help
-	  Report CPU and I/O statistics
-
-config BUSYBOX_LSOF
-	bool "lsof"
-	default n
-	help
-	  Show open files in the format of:
-	  PID <TAB> /path/to/executable <TAB> /path/to/opened/file
-
-config BUSYBOX_MPSTAT
-	bool "mpstat"
-	default n
-	help
-	  Per-processor statistics
-
-config BUSYBOX_NMETER
-	bool "nmeter"
-	default n
-	help
-	  Prints selected system stats continuously, one line per update.
-
-config BUSYBOX_PMAP
-       bool "pmap"
-       default n
-       help
-         Display processes' memory mappings.
-
-config BUSYBOX_POWERTOP
-	bool "powertop"
-	default n
-	help
-	  Analyze power consumption on Intel-based laptops
-
-config BUSYBOX_PSTREE
-	bool "pstree"
-	default n
-	help
-	  Display a tree of processes.
-
-config BUSYBOX_PWDX
-	bool "pwdx"
-	default n
-	help
-	  Report current working directory of a process
-
-config BUSYBOX_SMEMCAP
-	bool "smemcap"
-	default n
-	help
-	  smemcap is a tool for capturing process data for smem,
-	  a memory usage statistic tool.
-
-config BUSYBOX_UPTIME
-	bool "uptime"
-	default y
-	select BUSYBOX_PLATFORM_LINUX #sysinfo()
-	help
-	  uptime gives a one line display of the current time, how long
-	  the system has been running, how many users are currently logged
-	  on, and the system load averages for the past 1, 5, and 15 minutes.
-
-config BUSYBOX_FEATURE_UPTIME_UTMP_SUPPORT
-	bool "Support for showing the number of users"
-	default n
-	depends on BUSYBOX_UPTIME && BUSYBOX_FEATURE_UTMP
-	help
-	  Makes uptime display the number of users currently logged on.
-
 config BUSYBOX_FREE
 config BUSYBOX_FREE
-	bool "free"
-	default n
+	bool "free (3.1 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX #sysinfo()
 	select BUSYBOX_PLATFORM_LINUX #sysinfo()
 	help
 	help
-	  free displays the total amount of free and used physical and swap
-	  memory in the system, as well as the buffers used by the kernel.
-	  The shared memory column should be ignored; it is obsolete.
-
+	free displays the total amount of free and used physical and swap
+	memory in the system, as well as the buffers used by the kernel.
+	The shared memory column should be ignored; it is obsolete.
 config BUSYBOX_FUSER
 config BUSYBOX_FUSER
-	bool "fuser"
-	default n
+	bool "fuser (7 kb)"
+	default y
 	help
 	help
-	  fuser lists all PIDs (Process IDs) that currently have a given
-	  file open. fuser can also list all PIDs that have a given network
-	  (TCP or UDP) port open.
-
+	fuser lists all PIDs (Process IDs) that currently have a given
+	file open. fuser can also list all PIDs that have a given network
+	(TCP or UDP) port open.
+config BUSYBOX_IOSTAT
+	bool "iostat (7.6 kb)"
+	default y
+	help
+	Report CPU and I/O statistics
 config BUSYBOX_KILL
 config BUSYBOX_KILL
-	bool "kill"
+	bool "kill (3.1 kb)"
 	default y
 	default y
 	help
 	help
-	  The command kill sends the specified signal to the specified
-	  process or process group. If no signal is specified, the TERM
-	  signal is sent.
+	The command kill sends the specified signal to the specified
+	process or process group. If no signal is specified, the TERM
+	signal is sent.
 
 
 config BUSYBOX_KILLALL
 config BUSYBOX_KILLALL
-	bool "killall"
-	default n
-	depends on BUSYBOX_KILL
+	bool "killall (5.6 kb)"
+	default y
 	help
 	help
-	  killall sends a signal to all processes running any of the
-	  specified commands. If no signal name is specified, SIGTERM is
-	  sent.
+	killall sends a signal to all processes running any of the
+	specified commands. If no signal name is specified, SIGTERM is
+	sent.
 
 
 config BUSYBOX_KILLALL5
 config BUSYBOX_KILLALL5
-	bool "killall5"
+	bool "killall5 (5.3 kb)"
 	default y
 	default y
-	depends on BUSYBOX_KILL
-
+	help
+	The SystemV killall command. killall5 sends a signal
+	to all processes except kernel threads and the processes
+	in its own session, so it won't kill the shell that is running
+	the script it was called from.
+config BUSYBOX_LSOF
+	bool "lsof (3.4 kb)"
+	default y
+	help
+	Show open files in the format of:
+	PID <TAB> /path/to/executable <TAB> /path/to/opened/file
+config BUSYBOX_MPSTAT
+	bool "mpstat (9.8 kb)"
+	default y
+	help
+	Per-processor statistics
+config BUSYBOX_NMETER
+	bool "nmeter (11 kb)"
+	default y
+	help
+	Prints selected system stats continuously, one line per update.
 config BUSYBOX_PGREP
 config BUSYBOX_PGREP
-	bool "pgrep"
+	bool "pgrep (6.5 kb)"
 	default y
 	default y
 	help
 	help
-	  Look for processes by name.
+	Look for processes by name.
 
 
+config BUSYBOX_PKILL
+	bool "pkill (7.5 kb)"
+	default y
+	help
+	Send signals to processes by name.
 config BUSYBOX_PIDOF
 config BUSYBOX_PIDOF
-	bool "pidof"
-	default n
+	bool "pidof (6.3 kb)"
+	default y
 	help
 	help
-	  Pidof finds the process id's (pids) of the named programs. It prints
-	  those id's on the standard output.
+	Pidof finds the process id's (pids) of the named programs. It prints
+	those id's on the standard output.
 
 
 config BUSYBOX_FEATURE_PIDOF_SINGLE
 config BUSYBOX_FEATURE_PIDOF_SINGLE
-	bool "Enable argument for single shot (-s)"
+	bool "Enable single shot (-s)"
 	default y
 	default y
 	depends on BUSYBOX_PIDOF
 	depends on BUSYBOX_PIDOF
 	help
 	help
-	  Support argument '-s' for returning only the first pid found.
+	Support '-s' for returning only the first pid found.
 
 
 config BUSYBOX_FEATURE_PIDOF_OMIT
 config BUSYBOX_FEATURE_PIDOF_OMIT
-	bool "Enable argument for omitting pids (-o)"
+	bool "Enable omitting pids (-o PID)"
 	default y
 	default y
 	depends on BUSYBOX_PIDOF
 	depends on BUSYBOX_PIDOF
 	help
 	help
-	  Support argument '-o' for omitting the given pids in output.
-	  The special pid %PPID can be used to name the parent process
-	  of the pidof, in other words the calling shell or shell script.
-
-config BUSYBOX_PKILL
-	bool "pkill"
-	default n
+	Support '-o PID' for omitting the given pid(s) in output.
+	The special pid %PPID can be used to name the parent process
+	of the pidof, in other words the calling shell or shell script.
+config BUSYBOX_PMAP
+	bool "pmap (6 kb)"
+	default y
 	help
 	help
-	  Send signals to processes by name.
+	Display processes' memory mappings.
+config BUSYBOX_POWERTOP
+	bool "powertop (9.6 kb)"
+	default y
+	help
+	Analyze power consumption on Intel-based laptops
 
 
+config BUSYBOX_FEATURE_POWERTOP_INTERACTIVE
+	bool "Accept keyboard commands"
+	default y
+	depends on BUSYBOX_POWERTOP
+	help
+	Without this, powertop will only refresh display every 10 seconds.
+	No keyboard commands will work, only ^C to terminate.
 config BUSYBOX_PS
 config BUSYBOX_PS
-	bool "ps"
-	depends on !BUSYBOX_DISABLE_PS
+	bool "ps (11 kb)"
 	default y
 	default y
 	help
 	help
-	  ps gives a snapshot of the current processes.
+	ps gives a snapshot of the current processes.
 
 
 config BUSYBOX_FEATURE_PS_WIDE
 config BUSYBOX_FEATURE_PS_WIDE
-	bool "Enable wide output option (-w)"
+	bool "Enable wide output (-w)"
 	default y
 	default y
-	depends on BUSYBOX_PS && !BUSYBOX_DESKTOP
+	depends on (BUSYBOX_PS || BUSYBOX_MINIPS) && !BUSYBOX_DESKTOP
 	help
 	help
-	  Support argument 'w' for wide output.
-	  If given once, 132 chars are printed, and if given more
-	  than once, the length is unlimited.
+	Support argument 'w' for wide output.
+	If given once, 132 chars are printed, and if given more
+	than once, the length is unlimited.
 
 
 config BUSYBOX_FEATURE_PS_LONG
 config BUSYBOX_FEATURE_PS_LONG
-	bool "Enable long output option (-l)"
-	default n
-	depends on BUSYBOX_PS && !BUSYBOX_DESKTOP
+	bool "Enable long output (-l)"
+	default y
+	depends on (BUSYBOX_PS || BUSYBOX_MINIPS) && !BUSYBOX_DESKTOP
 	help
 	help
-	  Support argument 'l' for long output.
-	  Adds fields PPID, RSS, START, TIME & TTY
+	Support argument 'l' for long output.
+	Adds fields PPID, RSS, START, TIME & TTY
 
 
 config BUSYBOX_FEATURE_PS_TIME
 config BUSYBOX_FEATURE_PS_TIME
-	bool "Enable time and elapsed time output"
-	default n
-	depends on BUSYBOX_PS && BUSYBOX_DESKTOP
+	bool "Enable -o time and -o etime specifiers"
+	default y
+	depends on (BUSYBOX_PS || BUSYBOX_MINIPS) && BUSYBOX_DESKTOP
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
-	help
-	  Support -o time and -o etime output specifiers.
-
-config BUSYBOX_FEATURE_PS_ADDITIONAL_COLUMNS
-	bool "Enable additional ps columns"
-	default n
-	depends on BUSYBOX_PS && BUSYBOX_DESKTOP
-	help
-	  Support -o rgroup, -o ruser, -o nice output specifiers.
 
 
 config BUSYBOX_FEATURE_PS_UNUSUAL_SYSTEMS
 config BUSYBOX_FEATURE_PS_UNUSUAL_SYSTEMS
 	bool "Support Linux prior to 2.4.0 and non-ELF systems"
 	bool "Support Linux prior to 2.4.0 and non-ELF systems"
 	default n
 	default n
 	depends on BUSYBOX_FEATURE_PS_TIME
 	depends on BUSYBOX_FEATURE_PS_TIME
 	help
 	help
-	  Include support for measuring HZ on old kernels and non-ELF systems
-	  (if you are on Linux 2.4.0+ and use ELF, you don't need this)
+	Include support for measuring HZ on old kernels and non-ELF systems
+	(if you are on Linux 2.4.0+ and use ELF, you don't need this)
 
 
-config BUSYBOX_RENICE
-	bool "renice"
-	default n
+config BUSYBOX_FEATURE_PS_ADDITIONAL_COLUMNS
+	bool "Enable -o rgroup, -o ruser, -o nice specifiers"
+	default y
+	depends on (BUSYBOX_PS || BUSYBOX_MINIPS) && BUSYBOX_DESKTOP
+config BUSYBOX_PSTREE
+	bool "pstree (9.3 kb)"
+	default y
 	help
 	help
-	  Renice alters the scheduling priority of one or more running
-	  processes.
-
+	Display a tree of processes.
+config BUSYBOX_PWDX
+	bool "pwdx (3.7 kb)"
+	default y
+	help
+	Report current working directory of a process
+config BUSYBOX_SMEMCAP
+	bool "smemcap (2.5 kb)"
+	default y
+	help
+	smemcap is a tool for capturing process data for smem,
+	a memory usage statistic tool.
 config BUSYBOX_BB_SYSCTL
 config BUSYBOX_BB_SYSCTL
-	bool "sysctl"
+	bool "sysctl (7.4 kb)"
 	default y
 	default y
 	help
 	help
-	  Configure kernel parameters at runtime.
-
+	Configure kernel parameters at runtime.
 config BUSYBOX_TOP
 config BUSYBOX_TOP
-	bool "top"
-	default n
+	bool "top (18 kb)"
+	default y
 	help
 	help
-	  The top program provides a dynamic real-time view of a running
-	  system.
+	The top program provides a dynamic real-time view of a running
+	system.
 
 
 config BUSYBOX_FEATURE_TOP_INTERACTIVE
 config BUSYBOX_FEATURE_TOP_INTERACTIVE
 	bool "Accept keyboard commands"
 	bool "Accept keyboard commands"
@@ -232,61 +199,75 @@ config BUSYBOX_FEATURE_TOP_CPU_USAGE_PERCENTAGE
 	default y
 	default y
 	depends on BUSYBOX_TOP
 	depends on BUSYBOX_TOP
 	help
 	help
-	  Make top display CPU usage for each process.
-	  This adds about 2k.
+	Make top display CPU usage for each process.
+	This adds about 2k.
 
 
 config BUSYBOX_FEATURE_TOP_CPU_GLOBAL_PERCENTS
 config BUSYBOX_FEATURE_TOP_CPU_GLOBAL_PERCENTS
 	bool "Show CPU global usage percentage"
 	bool "Show CPU global usage percentage"
 	default y
 	default y
 	depends on BUSYBOX_FEATURE_TOP_CPU_USAGE_PERCENTAGE
 	depends on BUSYBOX_FEATURE_TOP_CPU_USAGE_PERCENTAGE
 	help
 	help
-	  Makes top display "CPU: NN% usr NN% sys..." line.
-	  This adds about 0.5k.
+	Makes top display "CPU: NN% usr NN% sys..." line.
+	This adds about 0.5k.
 
 
 config BUSYBOX_FEATURE_TOP_SMP_CPU
 config BUSYBOX_FEATURE_TOP_SMP_CPU
 	bool "SMP CPU usage display ('c' key)"
 	bool "SMP CPU usage display ('c' key)"
 	default y
 	default y
 	depends on BUSYBOX_FEATURE_TOP_CPU_GLOBAL_PERCENTS
 	depends on BUSYBOX_FEATURE_TOP_CPU_GLOBAL_PERCENTS
 	help
 	help
-	  Allow 'c' key to switch between individual/cumulative CPU stats
-	  This adds about 0.5k.
+	Allow 'c' key to switch between individual/cumulative CPU stats
+	This adds about 0.5k.
 
 
 config BUSYBOX_FEATURE_TOP_DECIMALS
 config BUSYBOX_FEATURE_TOP_DECIMALS
 	bool "Show 1/10th of a percent in CPU/mem statistics"
 	bool "Show 1/10th of a percent in CPU/mem statistics"
 	default y
 	default y
 	depends on BUSYBOX_FEATURE_TOP_CPU_USAGE_PERCENTAGE
 	depends on BUSYBOX_FEATURE_TOP_CPU_USAGE_PERCENTAGE
 	help
 	help
-	  Show 1/10th of a percent in CPU/mem statistics.
-	  This adds about 0.3k.
+	Show 1/10th of a percent in CPU/mem statistics.
+	This adds about 0.3k.
 
 
 config BUSYBOX_FEATURE_TOP_SMP_PROCESS
 config BUSYBOX_FEATURE_TOP_SMP_PROCESS
 	bool "Show CPU process runs on ('j' field)"
 	bool "Show CPU process runs on ('j' field)"
 	default y
 	default y
 	depends on BUSYBOX_TOP
 	depends on BUSYBOX_TOP
 	help
 	help
-	  Show CPU where process was last found running on.
-	  This is the 'j' field.
+	Show CPU where process was last found running on.
+	This is the 'j' field.
 
 
 config BUSYBOX_FEATURE_TOPMEM
 config BUSYBOX_FEATURE_TOPMEM
 	bool "Topmem command ('s' key)"
 	bool "Topmem command ('s' key)"
 	default y
 	default y
 	depends on BUSYBOX_TOP
 	depends on BUSYBOX_TOP
 	help
 	help
-	  Enable 's' in top (gives lots of memory info).
-
-config BUSYBOX_FEATURE_SHOW_THREADS
-	bool "Support for showing threads in ps/pstree/top"
+	Enable 's' in top (gives lots of memory info).
+config BUSYBOX_UPTIME
+	bool "uptime (3.7 kb)"
 	default y
 	default y
-	depends on BUSYBOX_PS || BUSYBOX_TOP || BUSYBOX_PSTREE
+	select BUSYBOX_PLATFORM_LINUX #sysinfo()
 	help
 	help
-	  Enables the ps -T option, showing of threads in pstree,
-	  and 'h' command in top.
+	uptime gives a one line display of the current time, how long
+	the system has been running, how many users are currently logged
+	on, and the system load averages for the past 1, 5, and 15 minutes.
 
 
+config BUSYBOX_FEATURE_UPTIME_UTMP_SUPPORT
+	bool "Show the number of users"
+	default y
+	depends on BUSYBOX_UPTIME && BUSYBOX_FEATURE_UTMP
+	help
+	Display the number of users currently logged on.
 config BUSYBOX_WATCH
 config BUSYBOX_WATCH
-	bool "watch"
-	default n
+	bool "watch (4.4 kb)"
+	default y
+	help
+	watch is used to execute a program periodically, showing
+	output to the screen.
+
+config BUSYBOX_FEATURE_SHOW_THREADS
+	bool "Support thread display in ps/pstree/top"
+	default y
+	depends on BUSYBOX_PS || BUSYBOX_TOP || BUSYBOX_PSTREE
 	help
 	help
-	  watch is used to execute a program periodically, showing
-	  output to the screen.
+	Enables the ps -T option, showing of threads in pstree,
+	and 'h' command in top.
 
 
 endmenu
 endmenu

+ 59 - 64
package/busybox/config/runit/Config.in

@@ -1,103 +1,98 @@
 # DO NOT EDIT. This file is generated from Config.src
 # DO NOT EDIT. This file is generated from Config.src
 #
 #
 # For a description of the syntax of this configuration file,
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 #
 
 
 menu "Runit Utilities"
 menu "Runit Utilities"
 
 
+config BUSYBOX_CHPST
+	bool "chpst (9 kb)"
+	default y
+	help
+	chpst changes the process state according to the given options, and
+	execs specified program.
 
 
-config BUSYBOX_RUNSV
-	bool "runsv"
-	default n
+config BUSYBOX_SETUIDGID
+	bool "setuidgid (4 kb)"
+	default y
+	help
+	Sets soft resource limits as specified by options
+
+config BUSYBOX_ENVUIDGID
+	bool "envuidgid (3.9 kb)"
+	default y
+	help
+	Sets $UID to account's uid and $GID to account's gid
+
+config BUSYBOX_ENVDIR
+	bool "envdir (2.5 kb)"
+	default y
 	help
 	help
-	  runsv starts and monitors a service and optionally an appendant log
-	  service.
+	Sets various environment variables as specified by files
+	in the given directory
 
 
+config BUSYBOX_SOFTLIMIT
+	bool "softlimit (4.5 kb)"
+	default y
+	help
+	Sets soft resource limits as specified by options
+config BUSYBOX_RUNSV
+	bool "runsv (7.8 kb)"
+	default y
+	help
+	runsv starts and monitors a service and optionally an appendant log
+	service.
 config BUSYBOX_RUNSVDIR
 config BUSYBOX_RUNSVDIR
-	bool "runsvdir"
-	default n
+	bool "runsvdir (6.3 kb)"
+	default y
 	help
 	help
-	  runsvdir starts a runsv process for each subdirectory, or symlink to
-	  a directory, in the services directory dir, up to a limit of 1000
-	  subdirectories, and restarts a runsv process if it terminates.
+	runsvdir starts a runsv process for each subdirectory, or symlink to
+	a directory, in the services directory dir, up to a limit of 1000
+	subdirectories, and restarts a runsv process if it terminates.
 
 
 config BUSYBOX_FEATURE_RUNSVDIR_LOG
 config BUSYBOX_FEATURE_RUNSVDIR_LOG
 	bool "Enable scrolling argument log"
 	bool "Enable scrolling argument log"
 	depends on BUSYBOX_RUNSVDIR
 	depends on BUSYBOX_RUNSVDIR
 	default n
 	default n
 	help
 	help
-	  Enable feature where second parameter of runsvdir holds last error
-	  message (viewable via top/ps). Otherwise (feature is off
-	  or no parameter), error messages go to stderr only.
-
+	Enable feature where second parameter of runsvdir holds last error
+	message (viewable via top/ps). Otherwise (feature is off
+	or no parameter), error messages go to stderr only.
 config BUSYBOX_SV
 config BUSYBOX_SV
-	bool "sv"
-	default n
+	bool "sv (8.5 kb)"
+	default y
 	help
 	help
-	  sv reports the current status and controls the state of services
-	  monitored by the runsv supervisor.
+	sv reports the current status and controls the state of services
+	monitored by the runsv supervisor.
 
 
 config BUSYBOX_SV_DEFAULT_SERVICE_DIR
 config BUSYBOX_SV_DEFAULT_SERVICE_DIR
 	string "Default directory for services"
 	string "Default directory for services"
 	default "/var/service"
 	default "/var/service"
 	depends on BUSYBOX_SV || BUSYBOX_SVC || BUSYBOX_SVOK
 	depends on BUSYBOX_SV || BUSYBOX_SVC || BUSYBOX_SVOK
 	help
 	help
-	  Default directory for services.
-	  Defaults to "/var/service"
+	Default directory for services.
+	Defaults to "/var/service"
 
 
 config BUSYBOX_SVC
 config BUSYBOX_SVC
-	bool "svc"
-	default n
+	bool "svc (8.4 kb)"
+	default y
 	help
 	help
-	  svc controls the state of services monitored by the runsv supervisor.
-	  It is comaptible with daemontools command with the same name.
+	svc controls the state of services monitored by the runsv supervisor.
+	It is compatible with daemontools command with the same name.
 
 
 config BUSYBOX_SVOK
 config BUSYBOX_SVOK
 	bool "svok (1.5 kb)"
 	bool "svok (1.5 kb)"
-	default n
+	default y
 	help
 	help
 	svok checks whether runsv supervisor is running.
 	svok checks whether runsv supervisor is running.
 	It is compatible with daemontools command with the same name.
 	It is compatible with daemontools command with the same name.
-
 config BUSYBOX_SVLOGD
 config BUSYBOX_SVLOGD
-	bool "svlogd"
-	default n
-	help
-	  svlogd continuously reads log data from its standard input, optionally
-	  filters log messages, and writes the data to one or more automatically
-	  rotated logs.
-
-config BUSYBOX_CHPST
-	bool "chpst"
-	default n
-	help
-	  chpst changes the process state according to the given options, and
-	  execs specified program.
-
-config BUSYBOX_SETUIDGID
-	bool "setuidgid"
-	default n
-	help
-	  Sets soft resource limits as specified by options
-
-config BUSYBOX_ENVUIDGID
-	bool "envuidgid"
-	default n
-	help
-	  Sets $UID to account's uid and $GID to account's gid
-
-config BUSYBOX_ENVDIR
-	bool "envdir"
-	default n
-	help
-	  Sets various environment variables as specified by files
-	  in the given directory
-
-config BUSYBOX_SOFTLIMIT
-	bool "softlimit"
-	default n
+	bool "svlogd (16 kb)"
+	default y
 	help
 	help
-	  Sets soft resource limits as specified by options
+	svlogd continuously reads log data from its standard input, optionally
+	filters log messages, and writes the data to one or more automatically
+	rotated logs.
 
 
 endmenu
 endmenu

+ 39 - 64
package/busybox/config/selinux/Config.in

@@ -1,124 +1,99 @@
 # DO NOT EDIT. This file is generated from Config.src
 # DO NOT EDIT. This file is generated from Config.src
 #
 #
 # For a description of the syntax of this configuration file,
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 #
 
 
 menu "SELinux Utilities"
 menu "SELinux Utilities"
 	depends on BUSYBOX_SELINUX
 	depends on BUSYBOX_SELINUX
 
 
-
 config BUSYBOX_CHCON
 config BUSYBOX_CHCON
-	bool "chcon"
+	bool "chcon (8.9 kb)"
 	default n
 	default n
 	depends on BUSYBOX_SELINUX
 	depends on BUSYBOX_SELINUX
 	help
 	help
-	  Enable support to change the security context of file.
-
-config BUSYBOX_FEATURE_CHCON_LONG_OPTIONS
-	bool "Enable long options"
-	default y
-	depends on BUSYBOX_CHCON && BUSYBOX_LONG_OPTS
-	help
-	  Support long options for the chcon applet.
-
+	Enable support to change the security context of file.
 config BUSYBOX_GETENFORCE
 config BUSYBOX_GETENFORCE
-	bool "getenforce"
+	bool "getenforce (1.7 kb)"
 	default n
 	default n
 	depends on BUSYBOX_SELINUX
 	depends on BUSYBOX_SELINUX
 	help
 	help
-	  Enable support to get the current mode of SELinux.
-
+	Enable support to get the current mode of SELinux.
 config BUSYBOX_GETSEBOOL
 config BUSYBOX_GETSEBOOL
-	bool "getsebool"
+	bool "getsebool (5.5 kb)"
 	default n
 	default n
 	depends on BUSYBOX_SELINUX
 	depends on BUSYBOX_SELINUX
 	help
 	help
-	  Enable support to get SELinux boolean values.
-
+	Enable support to get SELinux boolean values.
 config BUSYBOX_LOAD_POLICY
 config BUSYBOX_LOAD_POLICY
-	bool "load_policy"
+	bool "load_policy (1.6 kb)"
 	default n
 	default n
 	depends on BUSYBOX_SELINUX
 	depends on BUSYBOX_SELINUX
 	help
 	help
-	  Enable support to load SELinux policy.
-
+	Enable support to load SELinux policy.
 config BUSYBOX_MATCHPATHCON
 config BUSYBOX_MATCHPATHCON
-	bool "matchpathcon"
+	bool "matchpathcon (6.1 kb)"
 	default n
 	default n
 	depends on BUSYBOX_SELINUX
 	depends on BUSYBOX_SELINUX
 	help
 	help
-	  Enable support to get default security context of the
-	  specified path from the file contexts configuration.
-
-config BUSYBOX_RESTORECON
-	bool "restorecon"
+	Enable support to get default security context of the
+	specified path from the file contexts configuration.
+config BUSYBOX_RUNCON
+	bool "runcon (6.6 kb)"
 	default n
 	default n
 	depends on BUSYBOX_SELINUX
 	depends on BUSYBOX_SELINUX
 	help
 	help
-	  Enable support to relabel files. The feature is almost
-	  the same as setfiles, but usage is a little different.
-
-config BUSYBOX_RUNCON
-	bool "runcon"
+	Enable support to run command in specified security context.
+config BUSYBOX_SELINUXENABLED
+	bool "selinuxenabled (321 bytes)"
 	default n
 	default n
 	depends on BUSYBOX_SELINUX
 	depends on BUSYBOX_SELINUX
 	help
 	help
-	  Enable support to run command in speficied security context.
-
-config BUSYBOX_FEATURE_RUNCON_LONG_OPTIONS
-	bool "Enable long options"
-	default y
-	depends on BUSYBOX_RUNCON && BUSYBOX_LONG_OPTS
-	help
-	  Support long options for the runcon applet.
-
-config BUSYBOX_SELINUXENABLED
-	bool "selinuxenabled"
+	Enable support for this command to be used within shell scripts
+	to determine if selinux is enabled.
+config BUSYBOX_SESTATUS
+	bool "sestatus (12 kb)"
 	default n
 	default n
 	depends on BUSYBOX_SELINUX
 	depends on BUSYBOX_SELINUX
 	help
 	help
-	  Enable support for this command to be used within shell scripts
-	  to determine if selinux is enabled.
-
+	Displays the status of SELinux.
 config BUSYBOX_SETENFORCE
 config BUSYBOX_SETENFORCE
-	bool "setenforce"
+	bool "setenforce (2.1 kb)"
 	default n
 	default n
 	depends on BUSYBOX_SELINUX
 	depends on BUSYBOX_SELINUX
 	help
 	help
-	  Enable support to modify the mode SELinux is running in.
-
+	Enable support to modify the mode SELinux is running in.
 config BUSYBOX_SETFILES
 config BUSYBOX_SETFILES
-	bool "setfiles"
+	bool "setfiles (13 kb)"
 	default n
 	default n
 	depends on BUSYBOX_SELINUX
 	depends on BUSYBOX_SELINUX
 	help
 	help
-	  Enable support to modify to relabel files.
-	  Notice: If you built libselinux with -D_FILE_OFFSET_BITS=64,
-	  (It is default in libselinux's Makefile), you _must_ enable
-	  CONFIG_LFS.
+	Enable support to modify to relabel files.
+	Notice: If you built libselinux with -D_FILE_OFFSET_BITS=64,
+	(It is default in libselinux's Makefile), you _must_ enable
+	CONFIG_LFS.
 
 
 config BUSYBOX_FEATURE_SETFILES_CHECK_OPTION
 config BUSYBOX_FEATURE_SETFILES_CHECK_OPTION
 	bool "Enable check option"
 	bool "Enable check option"
 	default n
 	default n
 	depends on BUSYBOX_SETFILES
 	depends on BUSYBOX_SETFILES
 	help
 	help
-	  Support "-c" option (check the validity of the contexts against
-	  the specified binary policy) for setfiles. Requires libsepol.
+	Support "-c" option (check the validity of the contexts against
+	the specified binary policy) for setfiles. Requires libsepol.
 
 
-config BUSYBOX_SETSEBOOL
-	bool "setsebool"
+config BUSYBOX_RESTORECON
+	bool "restorecon (12 kb)"
 	default n
 	default n
 	depends on BUSYBOX_SELINUX
 	depends on BUSYBOX_SELINUX
 	help
 	help
-	  Enable support for change boolean.
-	  semanage and -P option is not supported yet.
-
-config BUSYBOX_SESTATUS
-	bool "sestatus"
+	Enable support to relabel files. The feature is almost
+	the same as setfiles, but usage is a little different.
+config BUSYBOX_SETSEBOOL
+	bool "setsebool (1.7 kb)"
 	default n
 	default n
 	depends on BUSYBOX_SELINUX
 	depends on BUSYBOX_SELINUX
 	help
 	help
-	  Displays the status of SELinux.
+	Enable support for change boolean.
+	semanage and -P option is not supported yet.
 
 
 endmenu
 endmenu

+ 287 - 251
package/busybox/config/shell/Config.in

@@ -1,214 +1,303 @@
 # DO NOT EDIT. This file is generated from Config.src
 # DO NOT EDIT. This file is generated from Config.src
 #
 #
 # For a description of the syntax of this configuration file,
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 #
 
 
 menu "Shells"
 menu "Shells"
 
 
-config BUSYBOX_ASH
+
+choice
+	prompt "Choose which shell is aliased to 'sh' name"
+	default BUSYBOX_SH_IS_ASH
+	help
+	Choose which shell you want to be executed by 'sh' alias.
+	The ash shell is the most bash compatible and full featured one.
+
+# note: cannot use "select BUSYBOX_ASH" here, it breaks "make allnoconfig"
+config BUSYBOX_SH_IS_ASH
+	depends on !BUSYBOX_NOMMU
 	bool "ash"
 	bool "ash"
-	default n
+	select BUSYBOX_SHELL_ASH
+	help
+	Choose ash to be the shell executed by 'sh' name.
+	The ash code will be built into busybox. If you don't select
+	"ash" choice (CONFIG_ASH), this shell may only be invoked by
+	the name 'sh' (and not 'ash').
+
+config BUSYBOX_SH_IS_HUSH
+	bool "hush"
+	select BUSYBOX_SHELL_HUSH
+	help
+	Choose hush to be the shell executed by 'sh' name.
+	The hush code will be built into busybox. If you don't select
+	"hush" choice (CONFIG_HUSH), this shell may only be invoked by
+	the name 'sh' (and not 'hush').
+
+config BUSYBOX_SH_IS_NONE
+	bool "none"
+
+endchoice
+
+choice
+	prompt "Choose which shell is aliased to 'bash' name"
+	default BUSYBOX_BASH_IS_NONE
+	help
+	Choose which shell you want to be executed by 'bash' alias.
+	The ash shell is the most bash compatible and full featured one,
+	although compatibility is far from being complete.
+
+	Note that selecting this option does not switch on any bash
+	compatibility code. It merely makes it possible to install
+	/bin/bash (sym)link and run scripts which start with
+	#!/bin/bash line.
+
+	Many systems use it in scripts which use bash-specific features,
+	even simple ones like $RANDOM. Without this option, busybox
+	can't be used for running them because it won't recongnize
+	"bash" as a supported applet name.
+
+config BUSYBOX_BASH_IS_ASH
 	depends on !BUSYBOX_NOMMU
 	depends on !BUSYBOX_NOMMU
+	bool "ash"
+	select BUSYBOX_SHELL_ASH
+	help
+	Choose ash to be the shell executed by 'bash' name.
+	The ash code will be built into busybox. If you don't select
+	"ash" choice (CONFIG_ASH), this shell may only be invoked by
+	the name 'bash' (and not 'ash').
+
+config BUSYBOX_BASH_IS_HUSH
+	bool "hush"
+	select BUSYBOX_SHELL_HUSH
 	help
 	help
-	  Tha 'ash' shell adds about 60k in the default configuration and is
-	  the most complete and most pedantically correct shell included with
-	  busybox. This shell is actually a derivative of the Debian 'dash'
-	  shell (by Herbert Xu), which was created by porting the 'ash' shell
-	  (written by Kenneth Almquist) from NetBSD.
+	Choose hush to be the shell executed by 'bash' name.
+	The hush code will be built into busybox. If you don't select
+	"hush" choice (CONFIG_HUSH), this shell may only be invoked by
+	the name 'bash' (and not 'hush').
+
+config BUSYBOX_BASH_IS_NONE
+	bool "none"
+
+endchoice
+
+
+config BUSYBOX_SHELL_ASH
+	bool #hidden option
+	depends on !BUSYBOX_NOMMU
+
+config BUSYBOX_ASH
+	bool "ash (78 kb)"
+	default y
+	depends on !BUSYBOX_NOMMU
+	select BUSYBOX_SHELL_ASH
+	help
+	The most complete and most pedantically correct shell included with
+	busybox. This shell is actually a derivative of the Debian 'dash'
+	shell (by Herbert Xu), which was created by porting the 'ash' shell
+	(written by Kenneth Almquist) from NetBSD.
+
+# ash options
+# note: Don't remove !NOMMU part in the next line; it would break
+# menuconfig's indenting.
+if !BUSYBOX_NOMMU && (BUSYBOX_SHELL_ASH || BUSYBOX_ASH || BUSYBOX_SH_IS_ASH || BUSYBOX_BASH_IS_ASH)
+
+config BUSYBOX_ASH_OPTIMIZE_FOR_SIZE
+	bool "Optimize for size instead of speed"
+	default y
+	depends on BUSYBOX_SHELL_ASH
+
+config BUSYBOX_ASH_INTERNAL_GLOB
+	bool "Use internal glob() implementation"
+	default y	# Y is bigger, but because of uclibc glob() bug, let Y be default for now
+	depends on BUSYBOX_SHELL_ASH
+	help
+	Do not use glob() function from libc, use internal implementation.
+	Use this if you are getting "glob.h: No such file or directory"
+	or similar build errors.
+	Note that as of now (2017-01), uclibc and musl glob() both have bugs
+	which would break ash if you select N here.
 
 
 config BUSYBOX_ASH_BASH_COMPAT
 config BUSYBOX_ASH_BASH_COMPAT
 	bool "bash-compatible extensions"
 	bool "bash-compatible extensions"
 	default y
 	default y
-	depends on BUSYBOX_ASH
+	depends on BUSYBOX_SHELL_ASH
+
+config BUSYBOX_ASH_BASH_SOURCE_CURDIR
+	bool "'source' and '.' builtins search current directory after $PATH"
+	default n   # do not encourage non-standard behavior
+	depends on BUSYBOX_ASH_BASH_COMPAT
 	help
 	help
-	  Enable bash-compatible extensions.
+	This is not compliant with standards. Avoid if possible.
 
 
-config BUSYBOX_ASH_IDLE_TIMEOUT
-	bool "Idle timeout variable"
-	default n
-	depends on BUSYBOX_ASH
+config BUSYBOX_ASH_BASH_NOT_FOUND_HOOK
+	bool "command_not_found_handle hook support"
+	default y
+	depends on BUSYBOX_ASH_BASH_COMPAT
 	help
 	help
-	  Enables bash-like auto-logout after $TMOUT seconds of idle time.
+	Enable support for the 'command_not_found_handle' hook function,
+	from GNU bash, which allows for alternative command not found
+	handling.
 
 
 config BUSYBOX_ASH_JOB_CONTROL
 config BUSYBOX_ASH_JOB_CONTROL
 	bool "Job control"
 	bool "Job control"
 	default y
 	default y
-	depends on BUSYBOX_ASH
-	help
-	  Enable job control in the ash shell.
+	depends on BUSYBOX_SHELL_ASH
 
 
 config BUSYBOX_ASH_ALIAS
 config BUSYBOX_ASH_ALIAS
 	bool "Alias support"
 	bool "Alias support"
 	default y
 	default y
-	depends on BUSYBOX_ASH
-	help
-	  Enable alias support in the ash shell.
+	depends on BUSYBOX_SHELL_ASH
 
 
-config BUSYBOX_ASH_GETOPTS
-	bool "Builtin getopt to parse positional parameters"
+config BUSYBOX_ASH_RANDOM_SUPPORT
+	bool "Pseudorandom generator and $RANDOM variable"
 	default y
 	default y
-	depends on BUSYBOX_ASH
+	depends on BUSYBOX_SHELL_ASH
 	help
 	help
-	  Enable support for getopts builtin in ash.
+	Enable pseudorandom generator and dynamic variable "$RANDOM".
+	Each read of "$RANDOM" will generate a new pseudorandom value.
+	You can reset the generator by using a specified start value.
+	After "unset RANDOM" the generator will switch off and this
+	variable will no longer have special treatment.
 
 
-config BUSYBOX_ASH_BUILTIN_ECHO
-	bool "Builtin version of 'echo'"
+config BUSYBOX_ASH_EXPAND_PRMT
+	bool "Expand prompt string"
 	default y
 	default y
-	depends on BUSYBOX_ASH
+	depends on BUSYBOX_SHELL_ASH
 	help
 	help
-	  Enable support for echo builtin in ash.
+	$PS# may contain volatile content, such as backquote commands.
+	This option recreates the prompt string from the environment
+	variable each time it is displayed.
 
 
-config BUSYBOX_ASH_BUILTIN_PRINTF
-	bool "Builtin version of 'printf'"
+config BUSYBOX_ASH_IDLE_TIMEOUT
+	bool "Idle timeout variable $TMOUT"
 	default y
 	default y
-	depends on BUSYBOX_ASH
+	depends on BUSYBOX_SHELL_ASH
 	help
 	help
-	  Enable support for printf builtin in ash.
+	Enable bash-like auto-logout after $TMOUT seconds of idle time.
 
 
-config BUSYBOX_ASH_BUILTIN_TEST
-	bool "Builtin version of 'test'"
+config BUSYBOX_ASH_MAIL
+	bool "Check for new mail in interactive shell"
 	default y
 	default y
-	depends on BUSYBOX_ASH
+	depends on BUSYBOX_SHELL_ASH
 	help
 	help
-	  Enable support for test builtin in ash.
+	Enable "check for new mail" function:
+	if set, $MAIL file and $MAILPATH list of files
+	are checked for mtime changes, and "you have mail"
+	message is printed if change is detected.
 
 
-config BUSYBOX_ASH_HELP
-	bool "help builtin"
+config BUSYBOX_ASH_ECHO
+	bool "echo builtin"
 	default y
 	default y
-	depends on BUSYBOX_ASH
-	help
-	  Enable help builtin in ash.
+	depends on BUSYBOX_SHELL_ASH
 
 
-config BUSYBOX_ASH_CMDCMD
-	bool "'command' command to override shell builtins"
+config BUSYBOX_ASH_PRINTF
+	bool "printf builtin"
 	default y
 	default y
-	depends on BUSYBOX_ASH
-	help
-	  Enable support for the ash 'command' builtin, which allows
-	  you to run the specified command with the specified arguments,
-	  even when there is an ash builtin command with the same name.
+	depends on BUSYBOX_SHELL_ASH
 
 
-config BUSYBOX_ASH_MAIL
-	bool "Check for new mail on interactive shells"
-	default n
-	depends on BUSYBOX_ASH
-	help
-	  Enable "check for new mail" function in the ash shell.
-
-config BUSYBOX_ASH_OPTIMIZE_FOR_SIZE
-	bool "Optimize for size instead of speed"
+config BUSYBOX_ASH_TEST
+	bool "test builtin"
 	default y
 	default y
-	depends on BUSYBOX_ASH
-	help
-	  Compile ash for reduced size at the price of speed.
+	depends on BUSYBOX_SHELL_ASH
 
 
-config BUSYBOX_ASH_INTERNAL_GLOB
-	bool "Use internal glob() implementation"
-	default y	# Y is bigger, but because of uclibc glob() bug, let Y be default for now
-	depends on BUSYBOX_ASH
-	help
-	  Do not use glob() function from libc, use internal implementation.
-	  Use this if you are getting "glob.h: No such file or directory"
-	  or similar build errors.
+config BUSYBOX_ASH_HELP
+	bool "help builtin"
+	default y
+	depends on BUSYBOX_SHELL_ASH
 
 
-config BUSYBOX_ASH_RANDOM_SUPPORT
-	bool "Pseudorandom generator and $RANDOM variable"
+config BUSYBOX_ASH_GETOPTS
+	bool "getopts builtin"
 	default y
 	default y
-	depends on BUSYBOX_ASH
-	help
-	  Enable pseudorandom generator and dynamic variable "$RANDOM".
-	  Each read of "$RANDOM" will generate a new pseudorandom value.
-	  You can reset the generator by using a specified start value.
-	  After "unset RANDOM" the generator will switch off and this
-	  variable will no longer have special treatment.
+	depends on BUSYBOX_SHELL_ASH
 
 
-config BUSYBOX_ASH_EXPAND_PRMT
-	bool "Expand prompt string"
+config BUSYBOX_ASH_CMDCMD
+	bool "command builtin"
 	default y
 	default y
-	depends on BUSYBOX_ASH
+	depends on BUSYBOX_SHELL_ASH
 	help
 	help
-	  "PS#" may contain volatile content, such as backquote commands.
-	  This option recreates the prompt string from the environment
-	  variable each time it is displayed.
+	Enable support for the 'command' builtin, which allows
+	you to run the specified command or builtin,
+	even when there is a function with the same name.
 
 
+endif # ash options
 config BUSYBOX_CTTYHACK
 config BUSYBOX_CTTYHACK
-	bool "cttyhack"
-	default n
+	bool "cttyhack (2.4 kb)"
+	default y
 	help
 	help
-	  One common problem reported on the mailing list is the "can't
-	  access tty; job control turned off" error message, which typically
-	  appears when one tries to use a shell with stdin/stdout on
-	  /dev/console.
-	  This device is special - it cannot be a controlling tty.
+	One common problem reported on the mailing list is the "can't
+	access tty; job control turned off" error message, which typically
+	appears when one tries to use a shell with stdin/stdout on
+	/dev/console.
+	This device is special - it cannot be a controlling tty.
 
 
-	  The proper solution is to use the correct device instead of
-	  /dev/console.
+	The proper solution is to use the correct device instead of
+	/dev/console.
 
 
-	  cttyhack provides a "quick and dirty" solution to this problem.
-	  It analyzes stdin with various ioctls, trying to determine whether
-	  it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line).
-	  On Linux it also checks sysfs for a pointer to the active console.
-	  If cttyhack is able to find the real console device, it closes
-	  stdin/out/err and reopens that device.
-	  Then it executes the given program. Opening the device will make
-	  that device a controlling tty. This may require cttyhack
-	  to be a session leader.
+	cttyhack provides a "quick and dirty" solution to this problem.
+	It analyzes stdin with various ioctls, trying to determine whether
+	it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line).
+	On Linux it also checks sysfs for a pointer to the active console.
+	If cttyhack is able to find the real console device, it closes
+	stdin/out/err and reopens that device.
+	Then it executes the given program. Opening the device will make
+	that device a controlling tty. This may require cttyhack
+	to be a session leader.
 
 
-	  Example for /etc/inittab (for busybox init):
+	Example for /etc/inittab (for busybox init):
 
 
-	  ::respawn:/bin/cttyhack /bin/sh
+	::respawn:/bin/cttyhack /bin/sh
 
 
-	  Starting an interactive shell from boot shell script:
+	Starting an interactive shell from boot shell script:
 
 
-	  setsid cttyhack sh
+	setsid cttyhack sh
 
 
-	  Giving controlling tty to shell running with PID 1:
+	Giving controlling tty to shell running with PID 1:
 
 
-	  # exec cttyhack sh
+	# exec cttyhack sh
 
 
-	  Without cttyhack, you need to know exact tty name,
-	  and do something like this:
+	Without cttyhack, you need to know exact tty name,
+	and do something like this:
 
 
-	  # exec setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1'
+	# exec setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1'
 
 
-	  Starting getty on a controlling tty from a shell script:
-
-	  # getty 115200 $(cttyhack)
+	Starting getty on a controlling tty from a shell script:
 
 
+	# getty 115200 $(cttyhack)
 config BUSYBOX_HUSH
 config BUSYBOX_HUSH
-	bool "hush"
-	default y if ADK_TARGET_UCLINUX
-	default n
+	bool "hush (68 kb)"
+	default y
 	select BUSYBOX_SHELL_HUSH
 	select BUSYBOX_SHELL_HUSH
 	help
 	help
-	  hush is a small shell (25k). It handles the normal flow control
-	  constructs such as if/then/elif/else/fi, for/in/do/done, while loops,
-	  case/esac. Redirections, here documents, $((arithmetic))
-	  and functions are supported.
+	hush is a small shell. It handles the normal flow control
+	constructs such as if/then/elif/else/fi, for/in/do/done, while loops,
+	case/esac. Redirections, here documents, $((arithmetic))
+	and functions are supported.
 
 
-	  It will compile and work on no-mmu systems.
+	It will compile and work on no-mmu systems.
 
 
-	  It does not handle select, aliases, tilde expansion,
-	  &>file and >&file redirection of stdout+stderr.
+	It does not handle select, aliases, tilde expansion,
+	&>file and >&file redirection of stdout+stderr.
 
 
 config BUSYBOX_SHELL_HUSH
 config BUSYBOX_SHELL_HUSH
 	bool "Internal shell for embedded script support"
 	bool "Internal shell for embedded script support"
 	default n
 	default n
 
 
+# hush options
+# It's only needed to get "nice" menuconfig indenting.
+if BUSYBOX_SHELL_HUSH || BUSYBOX_HUSH || BUSYBOX_SH_IS_HUSH || BUSYBOX_BASH_IS_HUSH
+
 config BUSYBOX_HUSH_BASH_COMPAT
 config BUSYBOX_HUSH_BASH_COMPAT
 	bool "bash-compatible extensions"
 	bool "bash-compatible extensions"
 	default y
 	default y
-	depends on BUSYBOX_HUSH
-	help
-	  Enable bash-compatible extensions.
+	depends on BUSYBOX_SHELL_HUSH
 
 
 config BUSYBOX_HUSH_BRACE_EXPANSION
 config BUSYBOX_HUSH_BRACE_EXPANSION
 	bool "Brace expansion"
 	bool "Brace expansion"
 	default y
 	default y
 	depends on BUSYBOX_HUSH_BASH_COMPAT
 	depends on BUSYBOX_HUSH_BASH_COMPAT
 	help
 	help
-	  Enable {abc,def} extension.
+	Enable {abc,def} extension.
 
 
 config BUSYBOX_HUSH_LINENO_VAR
 config BUSYBOX_HUSH_LINENO_VAR
 	bool "$LINENO variable"
 	bool "$LINENO variable"
@@ -222,105 +311,85 @@ config BUSYBOX_HUSH_BASH_SOURCE_CURDIR
 	help
 	help
 	This is not compliant with standards. Avoid if possible.
 	This is not compliant with standards. Avoid if possible.
 
 
-config BUSYBOX_HUSH_HELP
-	bool "help builtin"
-	default y
-	depends on BUSYBOX_HUSH
-	help
-	  Enable help builtin in hush. Code size + ~1 kbyte.
-
 config BUSYBOX_HUSH_INTERACTIVE
 config BUSYBOX_HUSH_INTERACTIVE
 	bool "Interactive mode"
 	bool "Interactive mode"
 	default y
 	default y
-	depends on BUSYBOX_HUSH
+	depends on BUSYBOX_SHELL_HUSH
 	help
 	help
-	  Enable interactive mode (prompt and command editing).
-	  Without this, hush simply reads and executes commands
-	  from stdin just like a shell script from a file.
-	  No prompt, no PS1/PS2 magic shell variables.
+	Enable interactive mode (prompt and command editing).
+	Without this, hush simply reads and executes commands
+	from stdin just like a shell script from a file.
+	No prompt, no PS1/PS2 magic shell variables.
 
 
 config BUSYBOX_HUSH_SAVEHISTORY
 config BUSYBOX_HUSH_SAVEHISTORY
 	bool "Save command history to .hush_history"
 	bool "Save command history to .hush_history"
 	default y
 	default y
 	depends on BUSYBOX_HUSH_INTERACTIVE && BUSYBOX_FEATURE_EDITING_SAVEHISTORY
 	depends on BUSYBOX_HUSH_INTERACTIVE && BUSYBOX_FEATURE_EDITING_SAVEHISTORY
-	help
-	  Enable history saving in hush.
 
 
 config BUSYBOX_HUSH_JOB
 config BUSYBOX_HUSH_JOB
 	bool "Job control"
 	bool "Job control"
 	default y
 	default y
 	depends on BUSYBOX_HUSH_INTERACTIVE
 	depends on BUSYBOX_HUSH_INTERACTIVE
 	help
 	help
-	  Enable job control: Ctrl-Z backgrounds, Ctrl-C interrupts current
-	  command (not entire shell), fg/bg builtins work. Without this option,
-	  "cmd &" still works by simply spawning a process and immediately
-	  prompting for next command (or executing next command in a script),
-	  but no separate process group is formed.
+	Enable job control: Ctrl-Z backgrounds, Ctrl-C interrupts current
+	command (not entire shell), fg/bg builtins work. Without this option,
+	"cmd &" still works by simply spawning a process and immediately
+	prompting for next command (or executing next command in a script),
+	but no separate process group is formed.
 
 
 config BUSYBOX_HUSH_TICK
 config BUSYBOX_HUSH_TICK
-	bool "Process substitution"
+	bool "Support command substitution"
 	default y
 	default y
-	depends on BUSYBOX_HUSH
+	depends on BUSYBOX_SHELL_HUSH
 	help
 	help
-	  Enable process substitution `command` and $(command) in hush.
+	Enable `command` and $(command).
 
 
 config BUSYBOX_HUSH_IF
 config BUSYBOX_HUSH_IF
 	bool "Support if/then/elif/else/fi"
 	bool "Support if/then/elif/else/fi"
 	default y
 	default y
-	depends on BUSYBOX_HUSH
-	help
-	  Enable if/then/elif/else/fi in hush.
+	depends on BUSYBOX_SHELL_HUSH
 
 
 config BUSYBOX_HUSH_LOOPS
 config BUSYBOX_HUSH_LOOPS
 	bool "Support for, while and until loops"
 	bool "Support for, while and until loops"
 	default y
 	default y
-	depends on BUSYBOX_HUSH
-	help
-	  Enable for, while and until loops in hush.
+	depends on BUSYBOX_SHELL_HUSH
 
 
 config BUSYBOX_HUSH_CASE
 config BUSYBOX_HUSH_CASE
 	bool "Support case ... esac statement"
 	bool "Support case ... esac statement"
 	default y
 	default y
-	depends on BUSYBOX_HUSH
+	depends on BUSYBOX_SHELL_HUSH
 	help
 	help
-	  Enable case ... esac statement in hush. +400 bytes.
+	Enable case ... esac statement. +400 bytes.
 
 
 config BUSYBOX_HUSH_FUNCTIONS
 config BUSYBOX_HUSH_FUNCTIONS
 	bool "Support funcname() { commands; } syntax"
 	bool "Support funcname() { commands; } syntax"
 	default y
 	default y
-	depends on BUSYBOX_HUSH
+	depends on BUSYBOX_SHELL_HUSH
 	help
 	help
-	  Enable support for shell functions in hush. +800 bytes.
+	Enable support for shell functions. +800 bytes.
 
 
 config BUSYBOX_HUSH_LOCAL
 config BUSYBOX_HUSH_LOCAL
-	bool "Support local builtin"
+	bool "local builtin"
 	default y
 	default y
 	depends on BUSYBOX_HUSH_FUNCTIONS
 	depends on BUSYBOX_HUSH_FUNCTIONS
 	help
 	help
-	  Enable support for local variables in functions.
+	Enable support for local variables in functions.
 
 
 config BUSYBOX_HUSH_RANDOM_SUPPORT
 config BUSYBOX_HUSH_RANDOM_SUPPORT
 	bool "Pseudorandom generator and $RANDOM variable"
 	bool "Pseudorandom generator and $RANDOM variable"
 	default y
 	default y
-	depends on BUSYBOX_HUSH
-	help
-	  Enable pseudorandom generator and dynamic variable "$RANDOM".
-	  Each read of "$RANDOM" will generate a new pseudorandom value.
-
-config BUSYBOX_HUSH_EXPORT_N
-	bool "Support 'export -n' option"
-	default y
-	depends on BUSYBOX_HUSH
+	depends on BUSYBOX_SHELL_HUSH
 	help
 	help
-	  export -n unexports variables. It is a bash extension.
+	Enable pseudorandom generator and dynamic variable "$RANDOM".
+	Each read of "$RANDOM" will generate a new pseudorandom value.
 
 
 config BUSYBOX_HUSH_MODE_X
 config BUSYBOX_HUSH_MODE_X
 	bool "Support 'hush -x' option and 'set -x' command"
 	bool "Support 'hush -x' option and 'set -x' command"
 	default y
 	default y
-	depends on BUSYBOX_HUSH
+	depends on BUSYBOX_SHELL_HUSH
 	help
 	help
-	  This instructs hush to print commands before execution.
-	  Adds ~300 bytes.
+	This instructs hush to print commands before execution.
+	Adds ~300 bytes.
 
 
 config BUSYBOX_HUSH_ECHO
 config BUSYBOX_HUSH_ECHO
 	bool "echo builtin"
 	bool "echo builtin"
@@ -426,50 +495,27 @@ config BUSYBOX_HUSH_MEMLEAK
 	default n
 	default n
 	depends on BUSYBOX_SHELL_HUSH
 	depends on BUSYBOX_SHELL_HUSH
 
 
+endif # hush options
 
 
-choice
-prompt "Choose which shell is aliased to 'sh' name"
 
 
-config BUSYBOX_SH_IS_NONE
-	bool "none"
-
-config BUSYBOX_SH_IS_ASH
-	bool "ash"
-
-config BUSYBOX_SH_IS_HUSH
-	bool "hush"
-
-endchoice
-
-choice
-prompt "Choose which shell is aliased to 'bash' name"
-
-config BUSYBOX_BASH_IS_NONE
-	bool "none"
-
-config BUSYBOX_BASH_IS_ASH
-	bool "ash"
-
-config BUSYBOX_BASH_IS_HUSH
-	bool "hush"
-
-endchoice
+comment "Options common to all shells"
+if BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH
 
 
 config BUSYBOX_FEATURE_SH_MATH
 config BUSYBOX_FEATURE_SH_MATH
 	bool "POSIX math support"
 	bool "POSIX math support"
 	default y
 	default y
-	depends on BUSYBOX_ASH || BUSYBOX_HUSH
+	depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH
 	help
 	help
-	  Enable math support in the shell via $((...)) syntax.
+	Enable math support in the shell via $((...)) syntax.
 
 
 config BUSYBOX_FEATURE_SH_MATH_64
 config BUSYBOX_FEATURE_SH_MATH_64
 	bool "Extend POSIX math support to 64 bit"
 	bool "Extend POSIX math support to 64 bit"
 	default y
 	default y
 	depends on BUSYBOX_FEATURE_SH_MATH
 	depends on BUSYBOX_FEATURE_SH_MATH
 	help
 	help
-	  Enable 64-bit math support in the shell. This will make the shell
-	  slightly larger, but will allow computation with very large numbers.
-	  This is not in POSIX, so do not rely on this in portable code.
+	Enable 64-bit math support in the shell. This will make the shell
+	slightly larger, but will allow computation with very large numbers.
+	This is not in POSIX, so do not rely on this in portable code.
 
 
 config BUSYBOX_FEATURE_SH_MATH_BASE
 config BUSYBOX_FEATURE_SH_MATH_BASE
 	bool "Support BASE#nnnn literals"
 	bool "Support BASE#nnnn literals"
@@ -479,60 +525,48 @@ config BUSYBOX_FEATURE_SH_MATH_BASE
 config BUSYBOX_FEATURE_SH_EXTRA_QUIET
 config BUSYBOX_FEATURE_SH_EXTRA_QUIET
 	bool "Hide message on interactive shell startup"
 	bool "Hide message on interactive shell startup"
 	default y
 	default y
-	depends on BUSYBOX_HUSH || BUSYBOX_ASH
+	depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH
 	help
 	help
-	  Remove the busybox introduction when starting a shell.
+	Remove the busybox introduction when starting a shell.
 
 
 config BUSYBOX_FEATURE_SH_STANDALONE
 config BUSYBOX_FEATURE_SH_STANDALONE
 	bool "Standalone shell"
 	bool "Standalone shell"
 	default n
 	default n
-	depends on (BUSYBOX_HUSH || BUSYBOX_ASH)
-	help
-	  This option causes busybox shells to use busybox applets
-	  in preference to executables in the PATH whenever possible. For
-	  example, entering the command 'ifconfig' into the shell would cause
-	  busybox to use the ifconfig busybox applet. Specifying the fully
-	  qualified executable name, such as '/sbin/ifconfig' will still
-	  execute the /sbin/ifconfig executable on the filesystem. This option
-	  is generally used when creating a statically linked version of busybox
-	  for use as a rescue shell, in the event that you screw up your system.
-
-	  This is implemented by re-execing /proc/self/exe (typically)
-	  with right parameters. Some selected applets ("NOFORK" applets)
-	  can even be executed without creating new process.
-	  Instead, busybox will call <applet>_main() internally.
-
-	  However, this causes problems in chroot jails without mounted /proc
-	  and with ps/top (command name can be shown as 'exe' for applets
-	  started this way).
-# untrue?
-#	  Note that this will *also* cause applets to take precedence
-#	  over shell builtins of the same name. So turning this on will
-#	  eliminate any performance gained by turning on the builtin "echo"
-#	  and "test" commands in ash.
-# untrue?
-#	  Note that when using this option, the shell will attempt to directly
-#	  run '/bin/busybox'. If you do not have the busybox binary sitting in
-#	  that exact location with that exact name, this option will not work at
-#	  all.
+	depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH
+	help
+	This option causes busybox shells to use busybox applets
+	in preference to executables in the PATH whenever possible. For
+	example, entering the command 'ifconfig' into the shell would cause
+	busybox to use the ifconfig busybox applet. Specifying the fully
+	qualified executable name, such as '/sbin/ifconfig' will still
+	execute the /sbin/ifconfig executable on the filesystem. This option
+	is generally used when creating a statically linked version of busybox
+	for use as a rescue shell, in the event that you screw up your system.
+
+	This is implemented by re-execing /proc/self/exe (typically)
+	with right parameters.
+
+	However, there are drawbacks: it is problematic in chroot jails
+	without mounted /proc, and ps/top may show command name as 'exe'
+	for applets started this way.
 
 
 config BUSYBOX_FEATURE_SH_NOFORK
 config BUSYBOX_FEATURE_SH_NOFORK
 	bool "Run 'nofork' applets directly"
 	bool "Run 'nofork' applets directly"
 	default n
 	default n
-	depends on (BUSYBOX_HUSH || BUSYBOX_ASH)
+	depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH
 	help
 	help
-	  This option causes busybox shells to not execute typical
-	  fork/exec/wait sequence, but call <applet>_main directly,
-	  if possible. (Sometimes it is not possible: for example,
-	  this is not possible in pipes).
+	This option causes busybox shells to not execute typical
+	fork/exec/wait sequence, but call <applet>_main directly,
+	if possible. (Sometimes it is not possible: for example,
+	this is not possible in pipes).
 
 
-	  This will be done only for some applets (those which are marked
-	  NOFORK in include/applets.h).
+	This will be done only for some applets (those which are marked
+	NOFORK in include/applets.h).
 
 
-	  This may significantly speed up some shell scripts.
+	This may significantly speed up some shell scripts.
 
 
-	  This feature is relatively new. Use with care. Report bugs
-	  to project mailing list.
+	This feature is relatively new. Use with care. Report bugs
+	to project mailing list.
 
 
 config BUSYBOX_FEATURE_SH_READ_FRAC
 config BUSYBOX_FEATURE_SH_READ_FRAC
 	bool "read -t N.NNN support (+110 bytes)"
 	bool "read -t N.NNN support (+110 bytes)"
@@ -544,11 +578,11 @@ config BUSYBOX_FEATURE_SH_READ_FRAC
 config BUSYBOX_FEATURE_SH_HISTFILESIZE
 config BUSYBOX_FEATURE_SH_HISTFILESIZE
 	bool "Use $HISTFILESIZE"
 	bool "Use $HISTFILESIZE"
 	default y
 	default y
-	depends on BUSYBOX_HUSH || BUSYBOX_ASH
+	depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH
 	help
 	help
-	  This option makes busybox shells to use $HISTFILESIZE variable
-	  to set shell history size. Note that its max value is capped
-	  by "History size" setting in library tuning section.
+	This option makes busybox shells to use $HISTFILESIZE variable
+	to set shell history size. Note that its max value is capped
+	by "History size" setting in library tuning section.
 
 
 config BUSYBOX_FEATURE_SH_EMBEDDED_SCRIPTS
 config BUSYBOX_FEATURE_SH_EMBEDDED_SCRIPTS
 	bool "Embed scripts in the binary"
 	bool "Embed scripts in the binary"
@@ -564,4 +598,6 @@ config BUSYBOX_FEATURE_SH_EMBEDDED_SCRIPTS
 	the script in 'applets_sh' and a stub C file containing
 	the script in 'applets_sh' and a stub C file containing
 	configuration in the appropriate subsystem directory.
 	configuration in the appropriate subsystem directory.
 
 
+endif # Options common to all shells
+
 endmenu
 endmenu

+ 104 - 108
package/busybox/config/sysklogd/Config.in

@@ -1,63 +1,120 @@
 # DO NOT EDIT. This file is generated from Config.src
 # DO NOT EDIT. This file is generated from Config.src
 #
 #
 # For a description of the syntax of this configuration file,
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 #
 
 
 menu "System Logging Utilities"
 menu "System Logging Utilities"
 
 
+config BUSYBOX_KLOGD
+	bool "klogd (5.7 kb)"
+	default y
+	help
+	klogd is a utility which intercepts and logs all
+	messages from the Linux kernel and sends the messages
+	out to the 'syslogd' utility so they can be logged. If
+	you wish to record the messages produced by the kernel,
+	you should enable this option.
+
+comment "klogd should not be used together with syslog to kernel printk buffer"
+	depends on BUSYBOX_KLOGD && BUSYBOX_FEATURE_KMSG_SYSLOG
+
+config BUSYBOX_FEATURE_KLOGD_KLOGCTL
+	bool "Use the klogctl() interface"
+	default y
+	depends on BUSYBOX_KLOGD
+	select BUSYBOX_PLATFORM_LINUX
+	help
+	The klogd applet supports two interfaces for reading
+	kernel messages. Linux provides the klogctl() interface
+	which allows reading messages from the kernel ring buffer
+	independently from the file system.
+
+	If you answer 'N' here, klogd will use the more portable
+	approach of reading them from /proc or a device node.
+	However, this method requires the file to be available.
+
+	If in doubt, say 'Y'.
+config BUSYBOX_LOGGER
+	bool "logger (6.3 kb)"
+	default y
+	select BUSYBOX_FEATURE_SYSLOG
+	help
+	The logger utility allows you to send arbitrary text
+	messages to the system log (i.e. the 'syslogd' utility) so
+	they can be logged. This is generally used to help locate
+	problems that occur within programs and scripts.
+config BUSYBOX_LOGREAD
+	bool "logread (4.8 kb)"
+	default y
+	help
+	If you enabled Circular Buffer support, you almost
+	certainly want to enable this feature as well. This
+	utility will allow you to read the messages that are
+	stored in the syslogd circular buffer.
+
+config BUSYBOX_FEATURE_LOGREAD_REDUCED_LOCKING
+	bool "Double buffering"
+	default y
+	depends on BUSYBOX_LOGREAD
+	help
+	'logread' output to slow serial terminals can have
+	side effects on syslog because of the semaphore.
+	This option make logread to double buffer copy
+	from circular buffer, minimizing semaphore
+	contention at some minor memory expense.
 
 
 config BUSYBOX_SYSLOGD
 config BUSYBOX_SYSLOGD
-	bool "syslogd"
+	bool "syslogd (13 kb)"
 	default y
 	default y
 	help
 	help
-	  The syslogd utility is used to record logs of all the
-	  significant events that occur on a system. Every
-	  message that is logged records the date and time of the
-	  event, and will generally also record the name of the
-	  application that generated the message. When used in
-	  conjunction with klogd, messages from the Linux kernel
-	  can also be recorded. This is terribly useful,
-	  especially for finding what happened when something goes
-	  wrong. And something almost always will go wrong if
-	  you wait long enough....
+	The syslogd utility is used to record logs of all the
+	significant events that occur on a system. Every
+	message that is logged records the date and time of the
+	event, and will generally also record the name of the
+	application that generated the message. When used in
+	conjunction with klogd, messages from the Linux kernel
+	can also be recorded. This is terribly useful,
+	especially for finding what happened when something goes
+	wrong. And something almost always will go wrong if
+	you wait long enough....
 
 
 config BUSYBOX_FEATURE_ROTATE_LOGFILE
 config BUSYBOX_FEATURE_ROTATE_LOGFILE
 	bool "Rotate message files"
 	bool "Rotate message files"
 	default y
 	default y
 	depends on BUSYBOX_SYSLOGD
 	depends on BUSYBOX_SYSLOGD
 	help
 	help
-	  This enables syslogd to rotate the message files
-	  on his own. No need to use an external rotatescript.
+	This enables syslogd to rotate the message files
+	on his own. No need to use an external rotate script.
 
 
 config BUSYBOX_FEATURE_REMOTE_LOG
 config BUSYBOX_FEATURE_REMOTE_LOG
 	bool "Remote Log support"
 	bool "Remote Log support"
 	default y
 	default y
 	depends on BUSYBOX_SYSLOGD
 	depends on BUSYBOX_SYSLOGD
 	help
 	help
-	  When you enable this feature, the syslogd utility can
-	  be used to send system log messages to another system
-	  connected via a network. This allows the remote
-	  machine to log all the system messages, which can be
-	  terribly useful for reducing the number of serial
-	  cables you use. It can also be a very good security
-	  measure to prevent system logs from being tampered with
-	  by an intruder.
+	When you enable this feature, the syslogd utility can
+	be used to send system log messages to another system
+	connected via a network. This allows the remote
+	machine to log all the system messages, which can be
+	terribly useful for reducing the number of serial
+	cables you use. It can also be a very good security
+	measure to prevent system logs from being tampered with
+	by an intruder.
 
 
 config BUSYBOX_FEATURE_SYSLOGD_DUP
 config BUSYBOX_FEATURE_SYSLOGD_DUP
 	bool "Support -D (drop dups) option"
 	bool "Support -D (drop dups) option"
 	default y
 	default y
 	depends on BUSYBOX_SYSLOGD
 	depends on BUSYBOX_SYSLOGD
 	help
 	help
-	  Option -D instructs syslogd to drop consecutive messages
-	  which are totally the same.
+	Option -D instructs syslogd to drop consecutive messages
+	which are totally the same.
 
 
 config BUSYBOX_FEATURE_SYSLOGD_CFG
 config BUSYBOX_FEATURE_SYSLOGD_CFG
 	bool "Support syslog.conf"
 	bool "Support syslog.conf"
-	default n
+	default y
 	depends on BUSYBOX_SYSLOGD
 	depends on BUSYBOX_SYSLOGD
 	help
 	help
-	  Supports restricted syslogd config. See docs/syslog.conf.txt
+	Supports restricted syslogd config. See docs/syslog.conf.txt
 
 
 config BUSYBOX_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS
 config BUSYBOX_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS
 	bool "Include milliseconds in timestamps"
 	bool "Include milliseconds in timestamps"
@@ -73,105 +130,44 @@ config BUSYBOX_FEATURE_SYSLOGD_READ_BUFFER_SIZE
 	range 256 20000
 	range 256 20000
 	depends on BUSYBOX_SYSLOGD
 	depends on BUSYBOX_SYSLOGD
 	help
 	help
-	  This option sets the size of the syslog read buffer.
-	  Actual memory usage increases around five times the
-	  change done here.
+	This option sets the size of the syslog read buffer.
+	Actual memory usage increases around five times the
+	change done here.
 
 
 config BUSYBOX_FEATURE_IPC_SYSLOG
 config BUSYBOX_FEATURE_IPC_SYSLOG
 	bool "Circular Buffer support"
 	bool "Circular Buffer support"
 	default y
 	default y
 	depends on BUSYBOX_SYSLOGD
 	depends on BUSYBOX_SYSLOGD
 	help
 	help
-	  When you enable this feature, the syslogd utility will
-	  use a circular buffer to record system log messages.
-	  When the buffer is filled it will continue to overwrite
-	  the oldest messages. This can be very useful for
-	  systems with little or no permanent storage, since
-	  otherwise system logs can eventually fill up your
-	  entire filesystem, which may cause your system to
-	  break badly.
+	When you enable this feature, the syslogd utility will
+	use a circular buffer to record system log messages.
+	When the buffer is filled it will continue to overwrite
+	the oldest messages. This can be very useful for
+	systems with little or no permanent storage, since
+	otherwise system logs can eventually fill up your
+	entire filesystem, which may cause your system to
+	break badly.
 
 
 config BUSYBOX_FEATURE_IPC_SYSLOG_BUFFER_SIZE
 config BUSYBOX_FEATURE_IPC_SYSLOG_BUFFER_SIZE
 	int "Circular buffer size in Kbytes (minimum 4KB)"
 	int "Circular buffer size in Kbytes (minimum 4KB)"
-	default 32
+	default 16
 	range 4 2147483647
 	range 4 2147483647
 	depends on BUSYBOX_FEATURE_IPC_SYSLOG
 	depends on BUSYBOX_FEATURE_IPC_SYSLOG
 	help
 	help
-	  This option sets the size of the circular buffer
-	  used to record system log messages.
+	This option sets the size of the circular buffer
+	used to record system log messages.
 
 
 config BUSYBOX_FEATURE_KMSG_SYSLOG
 config BUSYBOX_FEATURE_KMSG_SYSLOG
-       bool "Linux kernel printk buffer support"
-       default n
-       depends on BUSYBOX_SYSLOGD
-       select BUSYBOX_PLATFORM_LINUX
-       help
-         When you enable this feature, the syslogd utility will
-         write system log message to the Linux kernel's printk buffer.
-         This can be used as a smaller alternative to the syslogd IPC
-         support, as klogd and logread aren't needed.
-
-         NOTICE: Syslog facilities in log entries needs kernel 3.5+.
-
-config BUSYBOX_LOGREAD
-	bool "logread"
-	default y
-	depends on BUSYBOX_FEATURE_IPC_SYSLOG
-	help
-	  If you enabled Circular Buffer support, you almost
-	  certainly want to enable this feature as well. This
-	  utility will allow you to read the messages that are
-	  stored in the syslogd circular buffer.
-
-config BUSYBOX_FEATURE_LOGREAD_REDUCED_LOCKING
-	bool "Double buffering"
-	default y
-	depends on BUSYBOX_LOGREAD
-	help
-	  'logread' ouput to slow serial terminals can have
-	  side effects on syslog because of the semaphore.
-	  This option make logread to double buffer copy
-	  from circular buffer, minimizing semaphore
-	  contention at some minor memory expense.
-
-config BUSYBOX_KLOGD
-	bool "klogd"
-	default y
-	help
-	  klogd is a utility which intercepts and logs all
-	  messages from the Linux kernel and sends the messages
-	  out to the 'syslogd' utility so they can be logged. If
-	  you wish to record the messages produced by the kernel,
-	  you should enable this option.
-
-comment "klogd should not be used together with syslog to kernel printk buffer"
-       depends on BUSYBOX_KLOGD && BUSYBOX_FEATURE_KMSG_SYSLOG
-
-config BUSYBOX_FEATURE_KLOGD_KLOGCTL
-	bool "Use the klogctl() interface"
+	bool "Linux kernel printk buffer support"
 	default y
 	default y
-	depends on BUSYBOX_KLOGD
+	depends on BUSYBOX_SYSLOGD
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	help
-	  The klogd applet supports two interfaces for reading
-	  kernel messages. Linux provides the klogctl() interface
-	  which allows reading messages from the kernel ring buffer
-	  independently from the file system.
-
-	  If you answer 'N' here, klogd will use the more portable
-	  approach of reading them from /proc or a device node.
-	  However, this method requires the file to be available.
+	When you enable this feature, the syslogd utility will
+	write system log message to the Linux kernel's printk buffer.
+	This can be used as a smaller alternative to the syslogd IPC
+	support, as klogd and logread aren't needed.
 
 
-	  If in doubt, say 'Y'.
-
-config BUSYBOX_LOGGER
-	bool "logger"
-	default y
-	select BUSYBOX_FEATURE_SYSLOG
-	help
-	    The logger utility allows you to send arbitrary text
-	    messages to the system log (i.e. the 'syslogd' utility) so
-	    they can be logged. This is generally used to help locate
-	    problems that occur within programs and scripts.
+	NOTICE: Syslog facilities in log entries needs kernel 3.5+.
 
 
 endmenu
 endmenu

File diff suppressed because it is too large
+ 426 - 480
package/busybox/config/util-linux/Config.in


+ 197 - 0
package/busybox/config/util-linux/volume_id/Config.in

@@ -0,0 +1,197 @@
+# DO NOT EDIT. This file is generated from Config.src
+#
+# For a description of the syntax of this configuration file,
+# see docs/Kconfig-language.txt.
+#
+
+config BUSYBOX_VOLUMEID
+	bool #No description makes it a hidden option
+	default n
+
+menu "Filesystem/Volume identification"
+	depends on BUSYBOX_VOLUMEID
+
+config BUSYBOX_FEATURE_VOLUMEID_BCACHE
+	bool "bcache filesystem"
+	default y
+	depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_BTRFS
+	bool "btrfs filesystem"
+	default y
+	depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_CRAMFS
+	bool "cramfs filesystem"
+	default y
+	depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_EXFAT
+	bool "exFAT filesystem"
+	default y
+	depends on BUSYBOX_VOLUMEID
+	help
+	exFAT (extended FAT) is a proprietary file system designed especially
+	for flash drives. It has many features from NTFS, but with less
+	overhead. exFAT is used on most SDXC cards for consumer electronics.
+config BUSYBOX_FEATURE_VOLUMEID_EXT
+	bool "Ext filesystem"
+	default y
+	depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_F2FS
+	bool "f2fs filesystem"
+	default y
+	depends on BUSYBOX_VOLUMEID
+	help
+	F2FS (aka Flash-Friendly File System) is a log-structured file system,
+	which is adapted to newer forms of storage. F2FS also remedies some
+	known issues of the older log structured file systems, such as high
+	cleaning overhead.
+config BUSYBOX_FEATURE_VOLUMEID_FAT
+	bool "fat filesystem"
+	default y
+	depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_HFS
+	bool "hfs filesystem"
+	default y
+	depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_ISO9660
+	bool "iso9660 filesystem"
+	default y
+	depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_JFS
+	bool "jfs filesystem"
+	default y
+	depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_LFS
+	bool "LittleFS filesystem"
+	default y
+	depends on BUSYBOX_VOLUMEID && BUSYBOX_FEATURE_BLKID_TYPE
+	help
+	LittleFS is a small fail-safe filesystem designed for embedded
+	systems. It has strong copy-on-write guarantees and storage on disk
+	is always kept in a valid state. It also provides a form of dynamic
+	wear levelling for systems that can not fit a full flash translation
+	layer.
+config BUSYBOX_FEATURE_VOLUMEID_LINUXRAID
+	bool "linuxraid"
+	default y
+	depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_LINUXSWAP
+	bool "linux swap filesystem"
+	default y
+	depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_LUKS
+	bool "luks filesystem"
+	default y
+	depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_MINIX
+	bool "minix filesystem"
+	default y
+	depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_NILFS
+	bool "nilfs filesystem"
+	default y
+	depends on BUSYBOX_VOLUMEID
+	help
+	NILFS is a New Implementation of a Log-Structured File System (LFS)
+	that supports continuous snapshots. This provides features like
+	versioning of the entire filesystem, restoration of files that
+	were deleted a few minutes ago. NILFS keeps consistency like
+	conventional LFS, so it provides quick recovery after system crashes.
+
+	The possible use of NILFS includes versioning, tamper detection,
+	SOX compliance logging, and so forth. It can serve as an alternative
+	filesystem for Linux desktop environment, or as a basis of advanced
+	storage appliances.
+config BUSYBOX_FEATURE_VOLUMEID_NTFS
+	bool "ntfs filesystem"
+	default y
+	depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_OCFS2
+	bool "ocfs2 filesystem"
+	default y
+	depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_REISERFS
+	bool "Reiser filesystem"
+	default y
+	depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_ROMFS
+	bool "romfs filesystem"
+	default y
+	depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_SQUASHFS
+	bool "SquashFS filesystem"
+	default y
+	depends on BUSYBOX_VOLUMEID && BUSYBOX_FEATURE_BLKID_TYPE
+	help
+	Squashfs is a compressed read-only filesystem for Linux. Squashfs is
+	intended for general read-only filesystem use and in constrained block
+	device/memory systems (e.g. embedded systems) where low overhead is
+	needed.
+config BUSYBOX_FEATURE_VOLUMEID_SYSV
+	bool "sysv filesystem"
+	default y
+	depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_UBIFS
+	bool "UBIFS filesystem"
+	default y
+	depends on BUSYBOX_VOLUMEID
+	help
+	UBIFS (Unsorted Block Image File System) is a file
+	system for use with raw flash memory media.
+config BUSYBOX_FEATURE_VOLUMEID_UDF
+	bool "udf filesystem"
+	default y
+	depends on BUSYBOX_VOLUMEID
+### config FEATURE_VOLUMEID_HIGHPOINTRAID
+###	bool "highpoint raid"
+###	default y
+###	depends on BUSYBOX_VOLUMEID
+### config FEATURE_VOLUMEID_HPFS
+###	bool "hpfs filesystem"
+###	default y
+###	depends on BUSYBOX_VOLUMEID
+### config FEATURE_VOLUMEID_ISWRAID
+###	bool "intel raid"
+###	default y
+###	depends on BUSYBOX_VOLUMEID
+### config FEATURE_VOLUMEID_LSIRAID
+###	bool "lsi raid"
+###	default y
+###	depends on BUSYBOX_VOLUMEID
+### config FEATURE_VOLUMEID_LVM
+###	bool "lvm"
+###	default y
+###	depends on BUSYBOX_VOLUMEID
+### config FEATURE_VOLUMEID_MAC
+###	bool "mac filesystem"
+###	default y
+###	depends on BUSYBOX_VOLUMEID
+### config FEATURE_VOLUMEID_MSDOS
+###	bool "msdos filesystem"
+###	default y
+###	depends on BUSYBOX_VOLUMEID
+### config FEATURE_VOLUMEID_NVIDIARAID
+###	bool "nvidia raid"
+###	default y
+###	depends on BUSYBOX_VOLUMEID
+### config FEATURE_VOLUMEID_PROMISERAID
+###	bool "promise raid"
+###	default y
+###	depends on BUSYBOX_VOLUMEID
+### config FEATURE_VOLUMEID_SILICONRAID
+###	bool "silicon raid"
+###	default y
+###	depends on BUSYBOX_VOLUMEID
+### config FEATURE_VOLUMEID_UFS
+###	bool "ufs filesystem"
+###	default y
+###	depends on BUSYBOX_VOLUMEID
+### config FEATURE_VOLUMEID_VIARAID
+###	bool "via raid"
+###	default y
+###	depends on BUSYBOX_VOLUMEID
+config BUSYBOX_FEATURE_VOLUMEID_XFS
+	bool "xfs filesystem"
+	default y
+	depends on BUSYBOX_VOLUMEID
+
+endmenu

Some files were not shown because too many files changed in this diff