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
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 menu "Archival Utilities"
@@ -9,453 +9,403 @@ menu "Archival Utilities"
 config BUSYBOX_FEATURE_SEAMLESS_XZ
 	bool "Make tar, rpm, modprobe etc understand .xz data"
 	default y
-	help
-	  Make tar, rpm, modprobe etc understand .xz data.
 
 config BUSYBOX_FEATURE_SEAMLESS_LZMA
 	bool "Make tar, rpm, modprobe etc understand .lzma data"
 	default y
-	help
-	  Make tar, rpm, modprobe etc understand .lzma data.
 
 config BUSYBOX_FEATURE_SEAMLESS_BZ2
 	bool "Make tar, rpm, modprobe etc understand .bz2 data"
 	default y
-	help
-	  Make tar, rpm, modprobe etc understand .bz2 data.
 
 config BUSYBOX_FEATURE_SEAMLESS_GZ
 	bool "Make tar, rpm, modprobe etc understand .gz data"
 	default y
-	help
-	  Make tar, rpm, modprobe etc understand .gz data.
 
 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
-	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
 	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
-	bool "Support for long filenames (not needed for debs)"
+	bool "Support long filenames (not needed for debs)"
 	default y
 	depends on BUSYBOX_AR
 	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
 	bool "Support archive creation"
 	default y
 	depends on BUSYBOX_AR
 	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
-	bool "bunzip2"
-	depends on !BUSYBOX_DISABLE_BUNZIP2
-	default n
+	bool "bunzip2 (8.7 kb)"
+	default y
+	select BUSYBOX_FEATURE_BZIP2_DECOMPRESS
 	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
-	bool "bzcat"
+	bool "bzcat (8.7 kb)"
 	default y
+	select BUSYBOX_FEATURE_BZIP2_DECOMPRESS
 	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
-	  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
-	bool "cpio"
-	depends on !BUSYBOX_DISABLE_CPIO
-	default n
+	bool "cpio (15 kb)"
+	default y
 	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
-	bool "Support for archive creation"
+	bool "Support archive creation"
 	default y
 	depends on BUSYBOX_CPIO
 	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
-	bool "Support for passthrough mode"
+	bool "Support passthrough mode"
 	default y
 	depends on BUSYBOX_FEATURE_CPIO_O
 	help
-	  Passthrough mode. Rarely used.
-
+	Passthrough mode. Rarely used.
 config BUSYBOX_DPKG
-	bool "dpkg"
-	default n
+	bool "dpkg (43 kb)"
+	default y
 	select BUSYBOX_FEATURE_SEAMLESS_GZ
 	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
-	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
+	select BUSYBOX_FEATURE_SEAMLESS_GZ
 	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
-	bool "gzip"
+	bool "gzip (17 kb)"
 	default y
 	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
 	bool "Enable long options"
 	default y
 	depends on BUSYBOX_GZIP && BUSYBOX_LONG_OPTS
-	help
-	  Enable use of long options, increases size by about 106 Bytes
 
 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
 	range 0 2
 	depends on BUSYBOX_GZIP
 	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
+	depends on BUSYBOX_GZIP
 	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
-	  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
 	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
-	  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
-	  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
-	  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
+	depends on BUSYBOX_LZOP || BUSYBOX_UNLZOP || BUSYBOX_LZOPCAT
 	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
-	bool "rpm"
-	depends on !BUSYBOX_DISABLE_RPM
-	default n
+	bool "rpm (32 kb)"
+	default y
 	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
-	bool "tar"
-	depends on !BUSYBOX_DISABLE_TAR
+	bool "tar (39 kb)"
 	default y
 	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
-	bool "Enable archive creation"
+	bool "Enable -c (archive creation)"
 	default y
 	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
 	bool "Autodetect compressed tarballs"
 	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)
 	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
-	bool "Enable -X (exclude from) and -T (include from) options)"
+	bool "Enable -X (exclude from) and -T (include from) options"
 	default y
 	depends on BUSYBOX_TAR
 	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
-	bool "Support for old tar header format"
+	bool "Support old tar header format"
 	default y
 	depends on BUSYBOX_TAR || BUSYBOX_DPKG
 	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
 	bool "Enable untarring of tarballs with checksums produced by buggy Sun tar"
-	default n
+	default y
 	depends on BUSYBOX_TAR || BUSYBOX_DPKG
 	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
-	bool "Support for GNU tar extensions (long filenames)"
+	bool "Support GNU tar extensions (long filenames)"
 	default y
 	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
-	bool "Support for writing to an external program"
+	bool "Support writing to an external program (--to-command)"
 	default y
 	depends on BUSYBOX_TAR && BUSYBOX_FEATURE_TAR_LONG_OPTIONS
 	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
 	bool "Enable use of user and group names"
 	default y
 	depends on BUSYBOX_TAR
 	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
-	bool "Enable -m (do not preserve time) option"
+	bool "Enable -m (do not preserve time) GNU option"
 	default y
 	depends on BUSYBOX_TAR
-	help
-	  With this option busybox supports GNU tar -m
-	  (do not preserve time) option.
 
 config BUSYBOX_FEATURE_TAR_SELINUX
-	bool "Support for extracting SELinux labels"
+	bool "Support extracting SELinux labels"
 	default n
 	depends on BUSYBOX_TAR && BUSYBOX_SELINUX
 	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
-	bool "unzip"
-	depends on !BUSYBOX_DISABLE_UNZIP
-	default n
+	bool "unzip (26 kb)"
+	default y
 	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
 	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
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 menu "Console Utilities"
 
 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
 	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
-	bool "clear"
-	default n
+	bool "clear (tiny)"
+	default y
 	help
-	  This program clears the terminal screen.
-
+	This program clears the terminal screen.
 config BUSYBOX_DEALLOCVT
-	bool "deallocvt"
-	default n
+	bool "deallocvt (1.9 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	help
-	  This program deallocates unused virtual consoles.
-
+	This program deallocates unused virtual consoles.
 config BUSYBOX_DUMPKMAP
-	bool "dumpkmap"
-	default n
+	bool "dumpkmap (1.6 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	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
-	bool "kbd_mode"
-	default n
+	bool "kbd_mode (4.1 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	help
-	  This program reports and sets keyboard mode.
-
+	This program reports and sets keyboard mode.
 config BUSYBOX_LOADFONT
-	bool "loadfont"
-	default n
+	bool "loadfont (5.2 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	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
 	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
-	bool "openvt"
-	default n
+	bool "openvt (7.2 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	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
-	bool "reset"
-	default n
+	bool "reset (345 bytes)"
+	default y
 	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
-	bool "resize"
-	default n
+	bool "resize (903 bytes)"
+	default y
 	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
 	bool "Print environment variables"
 	default y
 	depends on BUSYBOX_RESIZE
 	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
-	bool "setconsole"
-	default n
+	bool "setconsole (3.6 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	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
 	bool "Enable long options"
 	default y
 	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
-	bool "setkeycodes"
-	default n
+	bool "setkeycodes (2.1 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	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
-	bool "setlogcons"
-	default n
+	bool "setlogcons (1.8 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	help
-	  This program redirects the output console of kernel messages.
-
+	This program redirects the output console of kernel messages.
 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
-	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
-	  Support old (raw) console fonts.
+	Shows keys pressed.
 
 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
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 menu "Debian Utilities"
 
-config BUSYBOX_MKTEMP
-	bool "mktemp"
-	default n
-	help
-	  mktemp is used to create unique temporary files
-
 config BUSYBOX_PIPE_PROGRESS
-	bool "pipe_progress"
-	default n
+	bool "pipe_progress (275 bytes)"
+	default y
 	help
-	  Display a dot to indicate pipe activity.
-
+	Display a dot to indicate pipe activity.
 config BUSYBOX_RUN_PARTS
-	bool "run-parts"
-	default n
+	bool "run-parts (6.1 kb)"
+	default y
 	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
 	bool "Enable long options"
-	default n
+	default y
 	depends on BUSYBOX_RUN_PARTS && BUSYBOX_LONG_OPTS
-	help
-	  Support long options for the run-parts applet.
 
 config BUSYBOX_FEATURE_RUN_PARTS_FANCY
 	bool "Support additional arguments"
-	default n
+	default y
 	depends on BUSYBOX_RUN_PARTS
 	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
-	bool "start-stop-daemon"
-	default n
+	bool "start-stop-daemon (12 kb)"
+	default y
 	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
 	bool "Enable long options"
-	default n
+	default y
 	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
-	bool "which"
-	default n
+	bool "which (3.8 kb)"
+	default y
 	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

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

@@ -1,16 +1,35 @@
 # 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.
+# see docs/Kconfig-language.txt.
 #
 
 menu "Linux Ext2 FS Progs"
 
 config BUSYBOX_CHATTR
-	bool "chattr"
-	default n
+	bool "chattr (3.8 kb)"
+	default y
 	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
 ###	bool "e2fsck"
@@ -21,35 +40,13 @@ config BUSYBOX_CHATTR
 ###	  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
-	select BUSYBOX_PLATFORM_LINUX
-	help
-	  lsattr lists the file attributes on a second extended file system.
-
-### config MKE2FS
+### config BUSYBOX_MKE2FS
 ###	bool "mke2fs"
 ###	default y
 ###	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  # 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
 ###	bool "e2label"
 ###	default y
@@ -59,7 +56,7 @@ config BUSYBOX_TUNE2FS
 ###	  filesystem located on device.
 
 ### NB: this one is now provided by util-linux/volume_id/*
-### config FINDFS
+### config BUSYBOX_FINDFS
 ###	bool "findfs"
 ###	default y
 ###	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
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 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
-	  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
-	bool "vi"
+	bool "vi (23 kb)"
 	default y
 	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
-	int "Maximum screen width in vi"
+	int "Maximum screen width"
 	range 256 16384
 	default 4096
 	depends on BUSYBOX_VI
 	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
-	bool "Allow vi to display 8-bit chars (otherwise shows dots)"
+	bool "Allow to display 8-bit chars (otherwise shows dots)"
 	default n
 	depends on BUSYBOX_VI
 	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
 	bool "Enable \":\" colon commands (no \"ex\" mode)"
 	default y
 	depends on BUSYBOX_VI
 	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
 	bool "Enable yank/put commands and mark cmds"
 	default y
 	depends on BUSYBOX_VI
 	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
 	bool "Enable search and replace cmds"
 	default y
 	depends on BUSYBOX_VI
 	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
 	bool "Enable regex in search and replace"
 	default n   # Uses GNU regex, which may be unavailable. FIXME
 	depends on BUSYBOX_FEATURE_VI_SEARCH
 	help
-	  Use extended regex search.
+	Use extended regex search.
 
 config BUSYBOX_FEATURE_VI_USE_SIGNALS
 	bool "Catch signals"
 	default y
 	depends on BUSYBOX_VI
 	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
 	bool "Remember previous cmd and \".\" cmd"
 	default y
 	depends on BUSYBOX_VI
 	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
 	bool "Enable -R option and \"view\" mode"
 	default y
 	depends on BUSYBOX_VI
 	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
-	bool "Enable set-able options, ai ic showmatch"
+	bool "Enable settable options, ai ic showmatch"
 	default y
 	depends on BUSYBOX_VI
 	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
-	bool "Support for :set"
+	bool "Support :set"
 	default y
 	depends on BUSYBOX_VI
-	help
-	  Support for ":set".
 
 config BUSYBOX_FEATURE_VI_WIN_RESIZE
 	bool "Handle window resize"
 	default y
 	depends on BUSYBOX_VI
 	help
-	  Make busybox vi behave nicely with terminals that get resized.
+	Behave nicely with terminals that get resized.
 
 config BUSYBOX_FEATURE_VI_ASK_TERMINAL
 	bool "Use 'tell me cursor position' ESC sequence to measure window"
 	default y
 	depends on BUSYBOX_VI
 	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
-	bool "Support undo command 'u'"
+	bool "Support undo command \"u\""
 	default y
 	depends on BUSYBOX_VI
 	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
 	bool "Enable undo operation queuing"
 	default y
 	depends on BUSYBOX_FEATURE_VI_UNDO
 	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
 	int "Maximum undo character queue size"
@@ -154,94 +209,20 @@ config BUSYBOX_FEATURE_VI_UNDO_QUEUE_MAX
 	range 32 65536
 	depends on BUSYBOX_FEATURE_VI_UNDO_QUEUE
 	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
 	bool "Allow vi and awk to execute shell commands"
-	default n
+	default y
 	depends on BUSYBOX_VI || BUSYBOX_AWK
 	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

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

@@ -1,58 +1,55 @@
 # 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.
+# see docs/Kconfig-language.txt.
 #
 
 menu "Finding Utilities"
 
 config BUSYBOX_FIND
-	bool "find"
-	depends on !BUSYBOX_DISABLE_FIND
+	bool "find (14 kb)"
 	default y
 	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
 	bool "Enable -print0: NUL-terminated output"
 	default y
 	depends on BUSYBOX_FIND
 	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
 	bool "Enable -mtime: modified time matching"
 	default y
 	depends on BUSYBOX_FIND
 	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
 	bool "Enable -mmin: modified time matching by minutes"
 	default y
 	depends on BUSYBOX_FIND
 	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
 	bool "Enable -perm: permissions matching"
 	default y
 	depends on BUSYBOX_FIND
-	help
-	  Enable searching based on file permissions.
 
 config BUSYBOX_FEATURE_FIND_TYPE
 	bool "Enable -type: file type matching (file/dir/link/...)"
 	default y
 	depends on BUSYBOX_FIND
 	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
 	bool "Enable -executable: file is executable"
@@ -63,108 +60,88 @@ config BUSYBOX_FEATURE_FIND_XDEV
 	bool "Enable -xdev: 'stay in filesystem'"
 	default y
 	depends on BUSYBOX_FIND
-	help
-	  This option allows find to restrict searches to a single filesystem.
 
 config BUSYBOX_FEATURE_FIND_MAXDEPTH
 	bool "Enable -mindepth N and -maxdepth N"
 	default y
 	depends on BUSYBOX_FIND
-	help
-	  This option enables -mindepth N and -maxdepth N option.
 
 config BUSYBOX_FEATURE_FIND_NEWER
 	bool "Enable -newer: compare file modification times"
 	default y
 	depends on BUSYBOX_FIND
 	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
 	bool "Enable -inum: inode number matching"
 	default y
 	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
 	bool "Enable -exec: execute commands"
 	default y
 	depends on BUSYBOX_FIND
 	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
 	bool "Enable -exec ... {} +"
 	default y
 	depends on BUSYBOX_FEATURE_FIND_EXEC
 	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
 	bool "Enable -user: username/uid matching"
 	default y
 	depends on BUSYBOX_FIND
-	help
-	  Support the 'find -user' option for searching by username or uid.
 
 config BUSYBOX_FEATURE_FIND_GROUP
 	bool "Enable -group: group/gid matching"
 	default y
 	depends on BUSYBOX_FIND
-	help
-	  Support the 'find -group' option for searching by group name or gid.
 
 config BUSYBOX_FEATURE_FIND_NOT
 	bool "Enable the 'not' (!) operator"
 	default y
 	depends on BUSYBOX_FIND
 	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
 	bool "Enable -depth"
 	default y
 	depends on BUSYBOX_FIND
 	help
-	  Process each directory's contents before the directory itself.
+	Process each directory's contents before the directory itself.
 
 config BUSYBOX_FEATURE_FIND_PAREN
 	bool "Enable parens in options"
 	default y
 	depends on BUSYBOX_FIND
 	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
 	bool "Enable -size: file size matching"
 	default y
 	depends on BUSYBOX_FIND
-	help
-	  Support the 'find -size' option for searching by file size.
 
 config BUSYBOX_FEATURE_FIND_PRUNE
 	bool "Enable -prune: exclude subdirectories"
 	default y
 	depends on BUSYBOX_FIND
 	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
 	bool "Enable -quit: exit"
@@ -178,113 +155,116 @@ config BUSYBOX_FEATURE_FIND_DELETE
 	default y
 	depends on BUSYBOX_FIND && BUSYBOX_FEATURE_FIND_DEPTH
 	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
 	bool "Enable -path: match pathname with shell pattern"
 	default y
 	depends on BUSYBOX_FIND
 	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
 	bool "Enable -regex: match pathname with regex"
 	default y
 	depends on BUSYBOX_FIND
 	help
-	  The -regex option matches whole pathname against regular expression.
+	The -regex option matches whole pathname against regular expression.
 
 config BUSYBOX_FEATURE_FIND_CONTEXT
 	bool "Enable -context: security context matching"
 	default n
 	depends on BUSYBOX_FIND && BUSYBOX_SELINUX
 	help
-	  Support the 'find -context' option for matching security context.
+	Support the 'find -context' option for matching security context.
 
 config BUSYBOX_FEATURE_FIND_LINKS
 	bool "Enable -links: link count matching"
 	default y
 	depends on BUSYBOX_FIND
 	help
-	  Support the 'find -links' option for matching number of links.
-
+	Support the 'find -links' option for matching number of links.
 config BUSYBOX_GREP
-	bool "grep"
-	depends on !BUSYBOX_DISABLE_GREP
+	bool "grep (8.6 kb)"
 	default y
 	help
-	  grep is used to search files for a specified pattern.
+	grep is used to search files for a specified pattern.
 
 config BUSYBOX_EGREP
-	bool "egrep"
-	depends on !BUSYBOX_DISABLE_GREP
+	bool "egrep (7.8 kb)"
 	default y
 	help
-	  Alias to "grep -E"
+	Alias to "grep -E".
 
 config BUSYBOX_FGREP
-	bool "fgrep"
-	depends on !BUSYBOX_DISABLE_GREP
+	bool "fgrep (7.8 kb)"
 	default y
 	help
-	  Alias to "grep -F"
+	Alias to "grep -F".
 
 config BUSYBOX_FEATURE_GREP_CONTEXT
 	bool "Enable before and after context flags (-A, -B and -C)"
 	default y
-	depends on BUSYBOX_GREP
+	depends on BUSYBOX_GREP || BUSYBOX_EGREP || BUSYBOX_FGREP
 	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
-	bool "xargs"
-	default n
+	bool "xargs (7.2 kb)"
+	default y
 	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
 	bool "Enable -p: prompt and confirmation"
 	default y
 	depends on BUSYBOX_XARGS
 	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
 	bool "Enable single and double quotes and backslash"
 	default y
 	depends on BUSYBOX_XARGS
 	help
-	  Support quoting in the input.
+	Support quoting in the input.
 
 config BUSYBOX_FEATURE_XARGS_SUPPORT_TERMOPT
 	bool "Enable -x: exit if -s or -n is exceeded"
 	default y
 	depends on BUSYBOX_XARGS
 	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
 	bool "Enable -0: NUL-terminated input"
 	default y
 	depends on BUSYBOX_XARGS
 	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
 	bool "Enable -I STR: string to replace"
 	default y
 	depends on BUSYBOX_XARGS
 	help
-	  Support -I STR and -i[STR] options.
+	Support -I STR and -i[STR] options.
 
 config BUSYBOX_FEATURE_XARGS_SUPPORT_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
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 menu "Init Utilities"
 
 config BUSYBOX_BOOTCHARTD
-	bool "bootchartd"
-	default n
+	bool "bootchartd (10 kb)"
+	default y
 	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
 	bool "Compatible, bloated header"
 	default y
 	depends on BUSYBOX_BOOTCHARTD
 	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
 	bool "Support bootchartd.conf"
 	default y
 	depends on BUSYBOX_BOOTCHARTD
 	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
-	bool "halt"
+	bool "halt (4 kb)"
 	default y
 	help
-	  Stop all processes and either halt, reboot, or power off the system.
+	Stop all processes and halt the system.
 
 config BUSYBOX_POWEROFF
-	bool "poweroff"
+	bool "poweroff (4 kb)"
 	default y
 	help
-	  Stop all processes and power off the system.
+	Stop all processes and power off the system.
 
 config BUSYBOX_REBOOT
-	bool "reboot"
+	bool "reboot (4 kb)"
 	default y
 	help
-	  Stop all processes and reboot the system.
+	Stop all processes and reboot the system.
 
 config BUSYBOX_FEATURE_WAIT_FOR_INIT
 	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
 	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
-	  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
 	string "Path to telinit executable"
 	default "/sbin/telinit"
 	depends on BUSYBOX_FEATURE_CALL_TELINIT
 	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
-	bool "init"
+	bool "init (10 kb)"
 	default y
-	depends on !ADK_PACKAGE_SIMPLEINIT
 	select BUSYBOX_FEATURE_SYSLOG
 	help
-	  init is the first program run when the system boots.
+	init is the first program run when the system boots.
 
 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
 	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
 	bool "Support reading an inittab file"
 	default y
-	depends on BUSYBOX_INIT
+	depends on BUSYBOX_INIT || BUSYBOX_LINUXRC
 	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
 	bool "Support killing processes that have been removed from inittab"
 	default n
 	depends on BUSYBOX_FEATURE_USE_INITTAB
 	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
 	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
 	depends on BUSYBOX_FEATURE_KILL_REMOVED
 	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
 	bool "Run commands with leading dash with controlling tty"
 	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
 	bool "Enable init to write to syslog"
 	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
 	bool "Be quiet on boot (no 'init started:' message)"
 	default y
 	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
 	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
-	  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
 	string "Initial terminal type"
 	default "linux"
-	depends on BUSYBOX_INIT
+	depends on BUSYBOX_INIT || BUSYBOX_LINUXRC
 	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
-	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
-	depends on BUSYBOX_MESG
+	depends on BUSYBOX_INIT || BUSYBOX_LINUXRC
 	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

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

@@ -1,56 +1,55 @@
 # 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.
+# see docs/Kconfig-language.txt.
 #
 
-menu "Busybox Library Tuning"
+comment "Library Tuning"
 
 config BUSYBOX_FEATURE_USE_BSS_TAIL
 	bool "Use the end of BSS page"
 	default n
 	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
 	bool "Enable fractional duration arguments"
 	default y
 	help
 	Allow sleep N.NNN, top -d N.NNN etc.
-
 config BUSYBOX_FEATURE_RTMINMAX
 	bool "Support RTMIN[+n] and RTMAX[-n] signal names"
 	default y
 	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
 	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.
 	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
 	int "Minimum password length"
 	default 6
 	range 5 32
 	help
-	  Minimum allowable password length.
+	Minimum allowable password length.
 
 config BUSYBOX_MD5_SMALL
 	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
 	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
-       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
 	bool "Faster /proc scanning code (+100 bytes)"
-	default y
+	default n  # all "fast or small" options default to small
 	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
-	bool "Support for /etc/networks"
+	bool "Support /etc/networks"
 	default n
 	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
 	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"),
 	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
 	bool "Command line editing"
 	default y
 	help
-	  Enable line editing (mainly for shell command line).
+	Enable line editing (mainly for shell command line).
 
 config BUSYBOX_FEATURE_EDITING_MAX_LEN
 	int "Maximum length of input"
@@ -146,17 +156,17 @@ config BUSYBOX_FEATURE_EDITING_MAX_LEN
 	default 1024
 	depends on BUSYBOX_FEATURE_EDITING
 	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
 	bool "vi-style line editing commands"
 	default n
 	depends on BUSYBOX_FEATURE_EDITING
 	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
 	int "History size"
@@ -165,51 +175,47 @@ config BUSYBOX_FEATURE_EDITING_HISTORY
 	default 255
 	depends on BUSYBOX_FEATURE_EDITING
 	help
-	  Specify command history size (0 - disable).
+	Specify command history size (0 - disable).
 
 config BUSYBOX_FEATURE_EDITING_SAVEHISTORY
 	bool "History saving"
 	default y
 	depends on BUSYBOX_FEATURE_EDITING
 	help
-	  Enable history saving in shells.
+	Enable history saving in shells.
 
 config BUSYBOX_FEATURE_EDITING_SAVE_ON_EXIT
 	bool "Save history on shell exit, not after every command"
 	default n
 	depends on BUSYBOX_FEATURE_EDITING_SAVEHISTORY
 	help
-	  Save history on shell exit, not after every command.
+	Save history on shell exit, not after every command.
 
 config BUSYBOX_FEATURE_REVERSE_SEARCH
 	bool "Reverse history search"
 	default y
-	depends on BUSYBOX_FEATURE_EDITING_SAVEHISTORY
+	depends on BUSYBOX_FEATURE_EDITING
 	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
 	bool "Tab completion"
 	default y
 	depends on BUSYBOX_FEATURE_EDITING
-	help
-	  Enable tab completion.
 
 config BUSYBOX_FEATURE_USERNAME_COMPLETION
 	bool "Username completion"
-	default n
+	default y
 	depends on BUSYBOX_FEATURE_TAB_COMPLETION
-	help
-	  Enable username completion.
 
 config BUSYBOX_FEATURE_EDITING_FANCY_PROMPT
 	bool "Fancy shell prompts"
 	default y
 	depends on BUSYBOX_FEATURE_EDITING
 	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
 	bool "Enable automatic tracking of window size changes"
@@ -221,90 +227,229 @@ config BUSYBOX_FEATURE_EDITING_ASK_TERMINAL
 	default n
 	depends on BUSYBOX_FEATURE_EDITING
 	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
 	bool "Non-POSIX, but safer, copying to special nodes"
 	default y
 	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
 	bool "Give more precise messages when copy fails (cp, mv etc)"
 	default n
 	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
 	int "Copy buffer size, in kilobytes"
 	range 1 1024
 	default 4
 	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
 	bool "Skip rootfs in mount table"
 	default y
 	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
 	bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
 	default y
 	select BUSYBOX_PLATFORM_LINUX
 	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
 	bool "Use ioctl names rather than hex values in error messages"
 	default y
 	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
 	bool "Support infiniband HW"
-	default n
+	default y
 	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
 #
 # 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"
 
-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
-	bool "Support for shadow passwords"
+	bool "Support shadow passwords"
 	default y
 	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
 	bool "Use internal password and group functions rather than system functions"
-	default n
+	default y
 	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
 	bool "Use internal shadow password functions"
-	default n
+	default y
 	depends on BUSYBOX_USE_BB_PWD_GRP && BUSYBOX_FEATURE_SHADOWPASSWDS
 	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
 	bool "Use internal crypt functions"
-	default n
+	default y
 	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
 	bool "Enable SHA256/512 crypt functions"
-	default n
+	default y
 	depends on BUSYBOX_USE_BB_CRYPT
 	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
-	  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
-	  Support long options for the adduser applet.
+	Utility for creating a new user account.
 
 config BUSYBOX_FEATURE_CHECK_NAMES
 	bool "Enable sanity check on user/group names in adduser and addgroup"
 	default n
 	depends on BUSYBOX_ADDUSER || BUSYBOX_ADDGROUP
 	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
 	int "Last valid uid or gid for adduser and addgroup"
 	depends on BUSYBOX_ADDUSER || BUSYBOX_ADDGROUP
 	default 60000
 	help
-	  Last valid uid or gid for adduser and addgroup
+	Last valid uid or gid for adduser and addgroup
 
 config BUSYBOX_FIRST_SYSTEM_ID
 	int "First valid system uid or gid for adduser and addgroup"
 	depends on BUSYBOX_ADDUSER || BUSYBOX_ADDGROUP
-	range 0 64900
+	range 0 BUSYBOX_LAST_ID
 	default 100
 	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
 	int "Last valid system uid or gid for adduser and addgroup"
 	depends on BUSYBOX_ADDUSER || BUSYBOX_ADDGROUP
-	range 0 64900
+	range BUSYBOX_FIRST_SYSTEM_ID BUSYBOX_LAST_ID
 	default 999
 	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
-	  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
-	  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
-	  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
-	bool "deluser"
-	default n
+	bool "deluser (9.1 kb)"
+	default y
 	help
-	  Utility for deleting a user account.
+	Utility for deleting a user account.
 
 config BUSYBOX_DELGROUP
-	bool "delgroup"
-	default n
+	bool "delgroup (6.4 kb)"
+	default y
 	help
-	  Utility for deleting a group account.
+	Utility for deleting a group account.
 
 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
 	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
-	bool "getty"
+	bool "getty (10 kb)"
 	default y
 	select BUSYBOX_FEATURE_SYSLOG
 	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
-	bool "login"
+	bool "login (24 kb)"
 	default y
 	select BUSYBOX_FEATURE_SYSLOG
 	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
 	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
 	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
-	bool "Support for login scripts"
+	bool "Support login scripts"
 	depends on BUSYBOX_LOGIN
-	default n
+	default y
 	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
-	bool "Support for /etc/nologin"
-	default n
+	bool "Support /etc/nologin"
+	default y
 	depends on BUSYBOX_LOGIN
 	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
-	bool "Support for /etc/securetty"
-	default n
+	bool "Support /etc/securetty"
+	default y
 	depends on BUSYBOX_LOGIN
 	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
-	bool "passwd"
-	default n
+	bool "passwd (21 kb)"
+	default y
 	select BUSYBOX_FEATURE_SYSLOG
 	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
 	bool "Check new passwords for weakness"
-	default n
+	default y
 	depends on BUSYBOX_PASSWD
 	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
-	bool "su"
-	default n
+	bool "su (19 kb)"
+	default y
 	select BUSYBOX_FEATURE_SYSLOG
 	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
-	bool "Enable su to write to syslog"
+	bool "Log to syslog all attempts to use su"
 	default y
 	depends on BUSYBOX_SU
 
 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
+	depends on BUSYBOX_SU
 
 config BUSYBOX_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY
 	bool "Allow blank passwords only on TTYs in /etc/securetty"
 	default n
 	depends on BUSYBOX_SU
-
 config BUSYBOX_SULOGIN
-	bool "sulogin"
-	default n
+	bool "sulogin (17 kb)"
+	default y
 	select BUSYBOX_FEATURE_SYSLOG
 	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
-	bool "vlock"
-	default n
+	bool "vlock (17 kb)"
+	default y
 	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

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

@@ -1,55 +1,51 @@
 # DO NOT EDIT. This file is generated from Config.src
 menu "Mail Utilities"
 
-
 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
-	  Default charset of the message.
-
+	Create MIME-formatted messages.
 config BUSYBOX_POPMAILDIR
-	bool "popmaildir"
-	default n
+	bool "popmaildir (10 kb)"
+	default y
 	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
 	bool "Allow message filters and custom delivery program"
 	default y
 	depends on BUSYBOX_POPMAILDIR
 	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
-	bool "reformime"
-	default n
+	bool "reformime (7.5 kb)"
+	default y
 	help
-	  Parse MIME-formatted messages.
+	Parse MIME-formatted messages.
 
 config BUSYBOX_FEATURE_REFORMIME_COMPAT
 	bool "Accept and ignore options other than -x and -X"
 	default y
 	depends on BUSYBOX_REFORMIME
 	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
-	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
-	  Barebones sendmail.
+	Default charset of the message.
 
 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
 #
 # 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"
 
-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
 	bool "Simplified modutils"
-	default n
-	depends on !BUSYBOX_DISABLE_KMOD
-	select BUSYBOX_PLATFORM_LINUX
+	default y
 	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
-	depends on BUSYBOX_MODPROBE_SMALL
 	select BUSYBOX_PLATFORM_LINUX
 	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
-	bool "insmod"
+	bool "insmod (22 kb)"
 	default y
-	depends on !BUSYBOX_MODPROBE_SMALL
-	depends on !BUSYBOX_DISABLE_KMOD
 	select BUSYBOX_PLATFORM_LINUX
 	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
-	bool "lsmod"
+	bool "lsmod (1.9 kb)"
 	default y
-	depends on !BUSYBOX_MODPROBE_SMALL
-	depends on !BUSYBOX_DISABLE_KMOD
 	select BUSYBOX_PLATFORM_LINUX
 	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
 	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
 	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
-	bool "modprobe"
-	default n
-	depends on !BUSYBOX_DISABLE_KMOD
-	depends on !BUSYBOX_MODPROBE_SMALL
+	bool "modprobe (28 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	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
 	bool "Blacklist support"
-	default n
-	depends on BUSYBOX_MODPROBE
-	select BUSYBOX_PLATFORM_LINUX
+	default y
+	depends on BUSYBOX_MODPROBE && !BUSYBOX_MODPROBE_SMALL
 	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
 	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"
 
@@ -154,138 +114,132 @@ config BUSYBOX_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
 config BUSYBOX_FEATURE_2_4_MODULES
 	bool "Support version 2.2/2.4 Linux kernels"
 	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
-	  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
 	bool "Enable module version checking"
 	default n
 	depends on BUSYBOX_FEATURE_2_4_MODULES && (BUSYBOX_INSMOD || BUSYBOX_MODPROBE)
-	select BUSYBOX_PLATFORM_LINUX
 	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
 	bool "Add module symbols to kernel symbol table"
 	default n
 	depends on BUSYBOX_FEATURE_2_4_MODULES && (BUSYBOX_INSMOD || BUSYBOX_MODPROBE)
-	select BUSYBOX_PLATFORM_LINUX
 	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
 	bool "In kernel memory optimization (uClinux only)"
 	default n
 	depends on BUSYBOX_FEATURE_2_4_MODULES && (BUSYBOX_INSMOD || BUSYBOX_MODPROBE)
-	select BUSYBOX_PLATFORM_LINUX
 	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
 	bool "Enable insmod load map (-m) option"
 	default n
 	depends on BUSYBOX_FEATURE_2_4_MODULES && BUSYBOX_INSMOD
-	select BUSYBOX_PLATFORM_LINUX
 	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
 	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
-	  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
 	bool "Support tainted module checking with new kernels"
 	default y
 	depends on (BUSYBOX_LSMOD || BUSYBOX_FEATURE_2_4_MODULES) && !BUSYBOX_MODPROBE_SMALL
-	select BUSYBOX_PLATFORM_LINUX
 	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
-	bool "Support for module.aliases file"
+	bool "Support module.aliases file"
 	default y
-	depends on BUSYBOX_DEPMOD || BUSYBOX_MODPROBE
-	select BUSYBOX_PLATFORM_LINUX
+	depends on (BUSYBOX_DEPMOD || BUSYBOX_MODPROBE) && !BUSYBOX_MODPROBE_SMALL
 	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
-	bool "Support for module.symbols file"
+	bool "Support module.symbols file"
 	default y
-	depends on BUSYBOX_DEPMOD || BUSYBOX_MODPROBE
-	select BUSYBOX_PLATFORM_LINUX
+	depends on (BUSYBOX_DEPMOD || BUSYBOX_MODPROBE) && !BUSYBOX_MODPROBE_SMALL
 	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
 	string "Default directory containing modules"
 	default "/lib/modules"
-	depends on BUSYBOX_DEPMOD || BUSYBOX_MODPROBE || BUSYBOX_MODPROBE_SMALL || BUSYBOX_MODINFO
+	depends on BUSYBOX_DEPMOD || BUSYBOX_MODPROBE || BUSYBOX_MODINFO
 	help
-	  Directory that contains kernel modules.
-	  Defaults to "/lib/modules"
+	Directory that contains kernel modules.
+	Defaults to "/lib/modules"
 
 config BUSYBOX_DEFAULT_DEPMOD_FILE
 	string "Default name of 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

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

@@ -1,155 +1,51 @@
 # 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.
+# see docs/Kconfig-language.txt.
 #
 
 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
 	bool "Enable IPv6 support"
-	default n
+	default y
 	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
 	bool "Enable Unix domain socket support (usually not needed)"
 	default n
 	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
 	bool "Prefer IPv4 addresses from DNS queries"
 	default y
 	depends on BUSYBOX_FEATURE_IPV6
 	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
 	bool "Verbose resolution errors"
 	default n
 	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
 	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).
 
 config BUSYBOX_ARP
-	bool "arp"
-	default n
+	bool "arp (10 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	help
-	  Manipulate the system ARP cache.
-
+	Manipulate the system ARP cache.
 config BUSYBOX_ARPING
-	bool "arping"
-	default n
+	bool "arping (9 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	help
-	  Ping hosts by ARP packets.
-
+	Ping hosts by ARP packets.
 config BUSYBOX_BRCTL
-	bool "brctl"
-	depends on !BUSYBOX_DISABLE_BRCTL
-	default n
+	bool "brctl (4.7 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	help
-	  Manage ethernet bridges.
-	  Supports addbr/delbr and addif/delif.
+	Manage ethernet bridges.
+	Supports addbr/delbr and addif/delif.
 
 config BUSYBOX_FEATURE_BRCTL_FANCY
 	bool "Fancy options"
 	default y
 	depends on BUSYBOX_BRCTL
 	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
-	bool "Support show, showmac and showstp"
+	bool "Support show"
 	default y
 	depends on BUSYBOX_BRCTL && BUSYBOX_FEATURE_BRCTL_FANCY
 	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
-	bool "dnsd"
-	default n
+	bool "dnsd (9.8 kb)"
+	default y
 	help
-	  Small and static DNS server daemon.
-
+	Small and static DNS server daemon.
 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
 	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
-	bool "ftpd"
-	default n
+	bool "ftpd (30 kb)"
+	default y
 	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
 	depends on BUSYBOX_FTPD
 	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
 	bool "Enable workaround for RFC-violating clients"
 	default y
 	depends on BUSYBOX_FTPD
 	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
-	bool "ftpget"
-	default n
+	bool "ftpget (7.8 kb)"
+	default y
 	help
-	  Retrieve a remote file via FTP.
+	Retrieve a remote file via FTP.
 
 config BUSYBOX_FTPPUT
-	bool "ftpput"
-	default n
+	bool "ftpput (7.5 kb)"
+	default y
 	help
-	  Store a remote file via FTP.
+	Store a remote file via FTP.
 
 config BUSYBOX_FEATURE_FTPGETPUT_LONG_OPTIONS
 	bool "Enable long options in ftpget/ftpput"
 	default y
 	depends on BUSYBOX_LONG_OPTS && (BUSYBOX_FTPGET || BUSYBOX_FTPPUT)
-	help
-	  Support long options for the ftpget/ftpput applet.
-
 config BUSYBOX_HOSTNAME
-	bool "hostname"
+	bool "hostname (5.5 kb)"
 	default y
 	help
-	  Show or set the system's host name.
+	Show or set the system's host name.
 
 config BUSYBOX_DNSDOMAINNAME
-	bool "dnsdomainname"
-	default n
+	bool "dnsdomainname (3.6 kb)"
+	default y
 	help
-	  Alias to "hostname -d".
-
+	Alias to "hostname -d".
 config BUSYBOX_HTTPD
-	bool "httpd"
-	default n
+	bool "httpd (32 kb)"
+	default y
 	help
-	  Serve web pages via an HTTP server.
+	HTTP server.
 
 config BUSYBOX_FEATURE_HTTPD_RANGES
 	bool "Support 'Ranges:' header"
 	default y
 	depends on BUSYBOX_HTTPD
 	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
 	bool "Enable -u <user> option"
 	default y
 	depends on BUSYBOX_HTTPD
 	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
-	bool "Enable Basic http Authentication"
+	bool "Enable HTTP authentication"
 	default y
 	depends on BUSYBOX_HTTPD
 	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
-	bool "Support MD5 crypted passwords for http Authentication"
+	bool "Support MD5-encrypted passwords in HTTP authentication"
 	default y
 	depends on BUSYBOX_FEATURE_HTTPD_BASIC_AUTH
 	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
 	bool "Support Common Gateway Interface (CGI)"
 	default y
 	depends on BUSYBOX_HTTPD
 	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
-	bool "Support for running scripts through an interpreter"
+	bool "Support running scripts through an interpreter"
 	default y
 	depends on BUSYBOX_FEATURE_HTTPD_CGI
 	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
 	bool "Set REMOTE_PORT environment variable for CGI"
 	default y
 	depends on BUSYBOX_FEATURE_HTTPD_CGI
 	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
 	bool "Enable -e option (useful for CGIs written as shell scripts)"
 	default y
 	depends on BUSYBOX_HTTPD
 	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
-	bool "Support for custom error pages"
+	bool "Support custom error pages"
 	default y
 	depends on BUSYBOX_HTTPD
 	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
-	bool "Support for reverse proxy"
+	bool "Support reverse proxy"
 	default y
 	depends on BUSYBOX_HTTPD
 	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
-	bool "Support for GZIP content encoding"
+	bool "Support GZIP content encoding"
 	default y
 	depends on BUSYBOX_HTTPD
 	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
-	bool "ifconfig"
-	default y if ADK_TARGET_WITH_NET
+	bool "ifconfig (12 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	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
 	bool "Enable status reporting output (+7k)"
 	default y
 	depends on BUSYBOX_IFCONFIG
 	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
 	bool "Enable slip-specific options \"keepalive\" and \"outfill\""
-	default n
+	default y
 	depends on BUSYBOX_IFCONFIG
 	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
 	bool "Enable options \"mem_start\", \"io_addr\", and \"irq\""
-	default n
+	default y
 	depends on BUSYBOX_IFCONFIG
 	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
 	bool "Enable option \"hw\" (ether only)"
 	default y
 	depends on BUSYBOX_IFCONFIG
 	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
 	bool "Set the broadcast automatically"
 	default y
 	depends on BUSYBOX_IFCONFIG
 	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
-	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
 	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
-	bool "ifplugd"
-	default n
+	bool "ifplugd (10 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	help
-	  Network interface plug detection daemon.
-
+	Network interface plug detection daemon.
 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
-	bool "ifdown"
-	default y if ADK_TARGET_WITH_NET
+	bool "ifdown (13 kb)"
+	default y
 	help
-	  Deactivate the specified interfaces.
+	Deactivate the specified interfaces.
 
 config BUSYBOX_IFUPDOWN_IFSTATE_PATH
 	string "Absolute path to ifstate file"
 	default "/var/run/ifstate"
-	depends on BUSYBOX_IFUP
+	depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN
 	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
-	bool "Use ip applet"
+	bool "Use ip tool (else ifconfig/route is used)"
 	default y
-	depends on BUSYBOX_IFUP
+	depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN
 	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
-	bool "Support for IPv4"
+	bool "Support IPv4"
 	default y
-	depends on BUSYBOX_IFUP
+	depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN
 	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
-	bool "Support for IPv6"
+	bool "Support IPv6"
 	default y
-	depends on BUSYBOX_IFUP && BUSYBOX_FEATURE_IPV6
+	depends on (BUSYBOX_IFUP || BUSYBOX_IFDOWN) && BUSYBOX_FEATURE_IPV6
 	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
 	bool "Enable mapping support"
-	default n
-	depends on BUSYBOX_IFUP
+	default y
+	depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN
 	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
-	bool "Support for external dhcp clients"
+	bool "Support external DHCP clients"
 	default n
-	depends on BUSYBOX_IFUP
+	depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN
 	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
-	bool "inetd"
-	default n
+	bool "inetd (18 kb)"
+	default y
 	select BUSYBOX_FEATURE_SYSLOG
 	help
-	  Internet superserver daemon
+	Internet superserver daemon
 
 config BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_ECHO
-	bool "Support echo service"
+	bool "Support echo service on port 7"
 	default y
 	depends on BUSYBOX_INETD
 	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
-	bool "Support discard service"
+	bool "Support discard service on port 8"
 	default y
 	depends on BUSYBOX_INETD
 	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
-	bool "Support time service"
+	bool "Support time service on port 37"
 	default y
 	depends on BUSYBOX_INETD
 	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
-	bool "Support daytime service"
+	bool "Support daytime service on port 13"
 	default y
 	depends on BUSYBOX_INETD
 	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
-	bool "Support chargen service"
+	bool "Support chargen service on port 19"
 	default y
 	depends on BUSYBOX_INETD
 	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
 	bool "Support RPC services"
-	default n
+	default n  # very rarely used, and needs Sun RPC support in libc
 	depends on BUSYBOX_INETD
-	select BUSYBOX_FEATURE_HAVE_RPC
 	help
-	  Support Sun-RPC based services
-
+	Support Sun-RPC based services
 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
 	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
 	bool "ip address"
 	default y
-	depends on BUSYBOX_IP
+	depends on BUSYBOX_IP || BUSYBOX_IPADDR
 	help
-	  Address manipulation support for the "ip" applet.
+	Address manipulation support for the "ip" applet.
 
 config BUSYBOX_FEATURE_IP_LINK
 	bool "ip link"
 	default y
-	depends on BUSYBOX_IP
+	depends on BUSYBOX_IP || BUSYBOX_IPLINK
 	help
-	  Configure network devices with "ip".
+	Configure network devices with "ip".
 
 config BUSYBOX_FEATURE_IP_ROUTE
 	bool "ip route"
 	default y
-	depends on BUSYBOX_IP
+	depends on BUSYBOX_IP || BUSYBOX_IPROUTE
 	help
-	  Add support for routing table management to "ip".
+	Add support for routing table management to "ip".
 
 config BUSYBOX_FEATURE_IP_ROUTE_DIR
 	string "ip route configuration directory"
 	default "/etc/iproute2"
 	depends on BUSYBOX_FEATURE_IP_ROUTE
 	help
-	  Location of the "ip" applet routing configuration.
+	Location of the "ip" applet routing configuration.
 
 config BUSYBOX_FEATURE_IP_TUNNEL
 	bool "ip tunnel"
-	default n
-	depends on BUSYBOX_IP
+	default y
+	depends on BUSYBOX_IP || BUSYBOX_IPTUNNEL
 	help
-	  Add support for tunneling commands to "ip".
+	Add support for tunneling commands to "ip".
 
 config BUSYBOX_FEATURE_IP_RULE
 	bool "ip rule"
-	default n
-	depends on BUSYBOX_IP
+	default y
+	depends on BUSYBOX_IP || BUSYBOX_IPRULE
 	help
-	  Add support for rule commands to "ip".
+	Add support for rule commands to "ip".
 
 config BUSYBOX_FEATURE_IP_NEIGH
 	bool "ip neighbor"
-	default n
-	depends on BUSYBOX_IP
+	default y
+	depends on BUSYBOX_IP || BUSYBOX_IPNEIGH
 	help
-	  Add support for neighbor commands to "ip".
+	Add support for neighbor commands to "ip".
 
 config BUSYBOX_FEATURE_IP_RARE_PROTOCOLS
 	bool "Support displaying rarely used link types"
 	default n
-	depends on BUSYBOX_IP
+	depends on BUSYBOX_IP || BUSYBOX_IPADDR || BUSYBOX_IPLINK || BUSYBOX_IPROUTE || BUSYBOX_IPTUNNEL || BUSYBOX_IPRULE || BUSYBOX_IPNEIGH
 	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
 	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
-	depends on BUSYBOX_IPCALC
+	depends on BUSYBOX_NC || BUSYBOX_NETCAT
 	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
-	depends on BUSYBOX_IPCALC && BUSYBOX_LONG_OPTS
+	depends on BUSYBOX_NC || BUSYBOX_NETCAT
 	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
-	bool "netstat"
-	default y if ADK_TARGET_WITH_NET
+	bool "netstat (10 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	help
-	  netstat prints information about the Linux networking subsystem.
+	netstat prints information about the Linux networking subsystem.
 
 config BUSYBOX_FEATURE_NETSTAT_WIDE
-	bool "Enable wide netstat output"
-	default n
+	bool "Enable wide output"
+	default y
 	depends on BUSYBOX_NETSTAT
 	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
 	bool "Enable PID/Program name output"
 	default y
 	depends on BUSYBOX_NETSTAT
 	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
-	bool "nslookup"
-	default y if ADK_TARGET_WITH_NET
+	bool "nslookup (9.7 kb)"
+	default y
 	help
-	  nslookup is a tool to query Internet name servers.
+	nslookup is a tool to query Internet name servers.
 
 config BUSYBOX_FEATURE_NSLOOKUP_BIG
 	bool "Use internal resolver code instead of libc"
 	depends on BUSYBOX_NSLOOKUP
-	default n
+	default y
 
 config BUSYBOX_FEATURE_NSLOOKUP_LONG_OPTIONS
 	bool "Enable long options"
-	default n
+	default y
 	depends on BUSYBOX_FEATURE_NSLOOKUP_BIG && BUSYBOX_LONG_OPTS
-
 config BUSYBOX_NTPD
-	bool "ntpd"
-	depends on !BUSYBOX_DISABLE_NTPD
-	default n
+	bool "ntpd (22 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	help
-	  The NTP client/server daemon.
+	The NTP client/server daemon.
 
 config BUSYBOX_FEATURE_NTPD_SERVER
 	bool "Make ntpd usable as a NTP server"
-	default n
-	depends on !BUSYBOX_DISABLE_NTPD
+	default y
 	depends on BUSYBOX_NTPD
 	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
 	bool "Make ntpd understand /etc/ntp.conf"
-	default n
+	default y
 	depends on BUSYBOX_NTPD
 	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
-	  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
-	bool "route"
-	default y if ADK_TARGET_WITH_NET
+	bool "route (8.7 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	help
-	  Route displays or manipulates the kernel's IP routing tables.
-
+	Route displays or manipulates the kernel's IP routing tables.
 config BUSYBOX_SLATTACH
-	bool "slattach"
-	default n
+	bool "slattach (6.2 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	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
 	bool "ssl_client (25 kb)"
-	default n
+	default y
 	select BUSYBOX_TLS
 	help
 	This tool pipes data to/from a socket, TLS-encrypting it.
-
 config BUSYBOX_TC
-	bool "tc"
-	default n
+	bool "tc (8.3 kb)"
+	default y
 	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
-	bool "tcpsvd"
-	default n
+	bool "tcpsvd (14 kb)"
+	default y
 	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
-	bool "telnet"
-	default y if ADK_TARGET_WITH_NET
+	bool "telnet (8.8 kb)"
+	default y
 	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
 	bool "Pass TERM type to remote host"
 	default y
 	depends on BUSYBOX_TELNET
 	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
 	bool "Pass USER type to remote host"
 	default y
 	depends on BUSYBOX_TELNET
 	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
 	bool "Enable window size autodetection"
 	default y
 	depends on BUSYBOX_TELNET
-
 config BUSYBOX_TELNETD
-	bool "telnetd"
-	default n
+	bool "telnetd (12 kb)"
+	default y
 	select BUSYBOX_FEATURE_SYSLOG
 	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
 
-	  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
 		  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
 		  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
 
-	  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
 		chmod 4755 /bin/busybox
 
-	  with all that done, telnetd _should_ work....
-
+	with all that done, telnetd _should_ work....
 
 config BUSYBOX_FEATURE_TELNETD_STANDALONE
 	bool "Support standalone telnetd (not inetd only)"
 	default y
 	depends on BUSYBOX_TELNETD
 	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
 	bool "Support -w SEC option (inetd wait mode)"
 	default y
 	depends on BUSYBOX_FEATURE_TELNETD_STANDALONE
 	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
-	bool "tftp"
-	default n
+	bool "tftp (11 kb)"
+	default y
 	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
-	bool "tftpd"
-	default n
+	bool "tftpd (10 kb)"
+	default y
 	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
 	bool "Enable 'tftp get' and/or tftpd upload code"
 	default y
 	depends on BUSYBOX_TFTP || BUSYBOX_TFTPD
 	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
 	bool "Enable 'tftp put' and/or tftpd download code"
 	default y
 	depends on BUSYBOX_TFTP || BUSYBOX_TFTPD
 	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
 	bool "Enable 'blksize' and 'tsize' protocol options"
 	default y
 	depends on BUSYBOX_TFTP || BUSYBOX_TFTPD
 	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
 	bool "Enable debug"
 	default n
 	depends on BUSYBOX_TFTP || BUSYBOX_TFTPD
 	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
 	bool #No description makes it a hidden option
 	default n
-
 config BUSYBOX_TRACEROUTE
-	bool "traceroute"
-	default n
+	bool "traceroute (11 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	help
-	  Utility to trace the route of IP packets.
+	Utility to trace the route of IP packets.
 
 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
-	  Utility to trace the route of IPv6 packets.
+	Utility to trace the route of IPv6 packets.
 
 config BUSYBOX_FEATURE_TRACEROUTE_VERBOSE
 	bool "Enable verbose output"
 	default y
-	depends on BUSYBOX_TRACEROUTE
+	depends on BUSYBOX_TRACEROUTE || BUSYBOX_TRACEROUTE6
 	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
-	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
-	bool "tunctl"
-	default n
+	bool "tunctl (6.2 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	help
-	  tunctl creates or deletes tun devices.
+	tunctl creates or deletes tun devices.
 
 config BUSYBOX_FEATURE_TUNCTL_UG
 	bool "Support owner:group assignment"
 	default y
 	depends on BUSYBOX_TUNCTL
 	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
-	bool "vconfig"
-	default n
+	bool "vconfig (2.3 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	help
-	  Creates, removes, and configures VLAN interfaces
-
+	Creates, removes, and configures VLAN interfaces
 config BUSYBOX_WGET
-	bool "wget"
-	depends on !BUSYBOX_DISABLE_WGET
-	default n
+	bool "wget (38 kb)"
+	default y
 	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
-	bool "Enable a nifty process meter (+2k)"
-	default n
+	bool "Enable progress bar (+2k)"
+	default y
 	depends on BUSYBOX_WGET
-	help
-	  Enable the transfer progress bar for wget transfers.
 
 config BUSYBOX_FEATURE_WGET_AUTHENTICATION
 	bool "Enable HTTP authentication"
 	default y
 	depends on BUSYBOX_WGET
 	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
-	depends on BUSYBOX_WGET && BUSYBOX_LONG_OPTS
+	depends on BUSYBOX_WGET
 	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
 	depends on BUSYBOX_WGET
+	select BUSYBOX_TLS
 	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
 	bool "Try to connect to HTTPS using openssl"
-	default n
+	default y
 	depends on BUSYBOX_WGET
 	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
-	  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
-	bool "zcip"
-	default n
+	bool "zcip (8.4 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	select BUSYBOX_FEATURE_SYSLOG
 	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

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

@@ -1,148 +1,168 @@
 # 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.
+# 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
-	bool "udhcp server (udhcpd)"
-	default n
+	bool "udhcpd (21 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX
 	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
+	depends on BUSYBOX_UDHCPD
 	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
-	bool "Rewrite the lease file at every new acknowledge"
+	bool "Rewrite lease file at every new acknowledge"
 	default y
 	depends on BUSYBOX_UDHCPD
 	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
 	string "Absolute path to lease file"
 	default "/var/lib/misc/udhcpd.leases"
 	depends on BUSYBOX_UDHCPD
 	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
-	bool "udhcp client (udhcpc)"
+	bool "udhcpc (24 kb)"
 	default y
 	select BUSYBOX_PLATFORM_LINUX
 	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
 	bool "Verify that the offered address is free, using ARP ping"
 	default y
 	depends on BUSYBOX_UDHCPC
 	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
 	bool "Do not pass malformed host and domain names"
 	default y
 	depends on BUSYBOX_UDHCPC
 	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
-	  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
-	  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
-	depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC
+	depends on BUSYBOX_UDHCPC6
 	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
-	depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC
+	depends on BUSYBOX_UDHCPC6
 	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
-	  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
 	int "DHCP options slack buffer size"
@@ -150,19 +170,36 @@ config BUSYBOX_UDHCPC_SLACK_FOR_BUGGY_SERVERS
 	range 0 924
 	depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC
 	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
 #
 # For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
 #
 
 menu "Print Utilities"
 
-
 config BUSYBOX_LPD
-	bool "lpd"
-	default n
+	bool "lpd (5.5 kb)"
+	default y
 	help
-	  lpd is a print spooling daemon.
-
+	lpd is a print spooling daemon.
 config BUSYBOX_LPR
-	bool "lpr"
-	default n
+	bool "lpr (9.9 kb)"
+	default y
 	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
-	bool "lpq"
-	default n
+	bool "lpq (9.9 kb)"
+	default y
 	help
-	  lpq is a print spool queue examination and manipulation program.
+	lpq is a print spool queue examination and manipulation program.
 
 endmenu

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

@@ -1,223 +1,190 @@
 # 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.
+# see docs/Kconfig-language.txt.
 #
 
 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
-	bool "free"
-	default n
+	bool "free (3.1 kb)"
+	default y
 	select BUSYBOX_PLATFORM_LINUX #sysinfo()
 	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
-	bool "fuser"
-	default n
+	bool "fuser (7 kb)"
+	default y
 	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
-	bool "kill"
+	bool "kill (3.1 kb)"
 	default y
 	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
-	bool "killall"
-	default n
-	depends on BUSYBOX_KILL
+	bool "killall (5.6 kb)"
+	default y
 	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
-	bool "killall5"
+	bool "killall5 (5.3 kb)"
 	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
-	bool "pgrep"
+	bool "pgrep (6.5 kb)"
 	default y
 	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
-	bool "pidof"
-	default n
+	bool "pidof (6.3 kb)"
+	default y
 	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
-	bool "Enable argument for single shot (-s)"
+	bool "Enable single shot (-s)"
 	default y
 	depends on BUSYBOX_PIDOF
 	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
-	bool "Enable argument for omitting pids (-o)"
+	bool "Enable omitting pids (-o PID)"
 	default y
 	depends on BUSYBOX_PIDOF
 	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
-	  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
-	bool "ps"
-	depends on !BUSYBOX_DISABLE_PS
+	bool "ps (11 kb)"
 	default y
 	help
-	  ps gives a snapshot of the current processes.
+	ps gives a snapshot of the current processes.
 
 config BUSYBOX_FEATURE_PS_WIDE
-	bool "Enable wide output option (-w)"
+	bool "Enable wide output (-w)"
 	default y
-	depends on BUSYBOX_PS && !BUSYBOX_DESKTOP
+	depends on (BUSYBOX_PS || BUSYBOX_MINIPS) && !BUSYBOX_DESKTOP
 	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
-	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
-	  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
-	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
-	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
 	bool "Support Linux prior to 2.4.0 and non-ELF systems"
 	default n
 	depends on BUSYBOX_FEATURE_PS_TIME
 	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
-	  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
-	bool "sysctl"
+	bool "sysctl (7.4 kb)"
 	default y
 	help
-	  Configure kernel parameters at runtime.
-
+	Configure kernel parameters at runtime.
 config BUSYBOX_TOP
-	bool "top"
-	default n
+	bool "top (18 kb)"
+	default y
 	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
 	bool "Accept keyboard commands"
@@ -232,61 +199,75 @@ config BUSYBOX_FEATURE_TOP_CPU_USAGE_PERCENTAGE
 	default y
 	depends on BUSYBOX_TOP
 	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
 	bool "Show CPU global usage percentage"
 	default y
 	depends on BUSYBOX_FEATURE_TOP_CPU_USAGE_PERCENTAGE
 	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
 	bool "SMP CPU usage display ('c' key)"
 	default y
 	depends on BUSYBOX_FEATURE_TOP_CPU_GLOBAL_PERCENTS
 	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
 	bool "Show 1/10th of a percent in CPU/mem statistics"
 	default y
 	depends on BUSYBOX_FEATURE_TOP_CPU_USAGE_PERCENTAGE
 	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
 	bool "Show CPU process runs on ('j' field)"
 	default y
 	depends on BUSYBOX_TOP
 	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
 	bool "Topmem command ('s' key)"
 	default y
 	depends on BUSYBOX_TOP
 	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
-	depends on BUSYBOX_PS || BUSYBOX_TOP || BUSYBOX_PSTREE
+	select BUSYBOX_PLATFORM_LINUX #sysinfo()
 	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
-	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
-	  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

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

@@ -1,103 +1,98 @@
 # 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.
+# see docs/Kconfig-language.txt.
 #
 
 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
-	  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
-	bool "runsvdir"
-	default n
+	bool "runsvdir (6.3 kb)"
+	default y
 	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
 	bool "Enable scrolling argument log"
 	depends on BUSYBOX_RUNSVDIR
 	default n
 	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
-	bool "sv"
-	default n
+	bool "sv (8.5 kb)"
+	default y
 	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
 	string "Default directory for services"
 	default "/var/service"
 	depends on BUSYBOX_SV || BUSYBOX_SVC || BUSYBOX_SVOK
 	help
-	  Default directory for services.
-	  Defaults to "/var/service"
+	Default directory for services.
+	Defaults to "/var/service"
 
 config BUSYBOX_SVC
-	bool "svc"
-	default n
+	bool "svc (8.4 kb)"
+	default y
 	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
 	bool "svok (1.5 kb)"
-	default n
+	default y
 	help
 	svok checks whether runsv supervisor is running.
 	It is compatible with daemontools command with the same name.
-
 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
-	  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

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

@@ -1,124 +1,99 @@
 # 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.
+# see docs/Kconfig-language.txt.
 #
 
 menu "SELinux Utilities"
 	depends on BUSYBOX_SELINUX
 
-
 config BUSYBOX_CHCON
-	bool "chcon"
+	bool "chcon (8.9 kb)"
 	default n
 	depends on BUSYBOX_SELINUX
 	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
-	bool "getenforce"
+	bool "getenforce (1.7 kb)"
 	default n
 	depends on BUSYBOX_SELINUX
 	help
-	  Enable support to get the current mode of SELinux.
-
+	Enable support to get the current mode of SELinux.
 config BUSYBOX_GETSEBOOL
-	bool "getsebool"
+	bool "getsebool (5.5 kb)"
 	default n
 	depends on BUSYBOX_SELINUX
 	help
-	  Enable support to get SELinux boolean values.
-
+	Enable support to get SELinux boolean values.
 config BUSYBOX_LOAD_POLICY
-	bool "load_policy"
+	bool "load_policy (1.6 kb)"
 	default n
 	depends on BUSYBOX_SELINUX
 	help
-	  Enable support to load SELinux policy.
-
+	Enable support to load SELinux policy.
 config BUSYBOX_MATCHPATHCON
-	bool "matchpathcon"
+	bool "matchpathcon (6.1 kb)"
 	default n
 	depends on BUSYBOX_SELINUX
 	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
 	depends on BUSYBOX_SELINUX
 	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
 	depends on BUSYBOX_SELINUX
 	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
 	depends on BUSYBOX_SELINUX
 	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
-	bool "setenforce"
+	bool "setenforce (2.1 kb)"
 	default n
 	depends on BUSYBOX_SELINUX
 	help
-	  Enable support to modify the mode SELinux is running in.
-
+	Enable support to modify the mode SELinux is running in.
 config BUSYBOX_SETFILES
-	bool "setfiles"
+	bool "setfiles (13 kb)"
 	default n
 	depends on BUSYBOX_SELINUX
 	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
 	bool "Enable check option"
 	default n
 	depends on BUSYBOX_SETFILES
 	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
 	depends on BUSYBOX_SELINUX
 	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
 	depends on BUSYBOX_SELINUX
 	help
-	  Displays the status of SELinux.
+	Enable support for change boolean.
+	semanage and -P option is not supported yet.
 
 endmenu

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

@@ -1,214 +1,303 @@
 # 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.
+# see docs/Kconfig-language.txt.
 #
 
 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"
-	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
+	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
-	  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
 	bool "bash-compatible extensions"
 	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
-	  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
-	  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
 	bool "Job control"
 	default y
-	depends on BUSYBOX_ASH
-	help
-	  Enable job control in the ash shell.
+	depends on BUSYBOX_SHELL_ASH
 
 config BUSYBOX_ASH_ALIAS
 	bool "Alias support"
 	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
-	depends on BUSYBOX_ASH
+	depends on BUSYBOX_SHELL_ASH
 	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
-	depends on BUSYBOX_ASH
+	depends on BUSYBOX_SHELL_ASH
 	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
-	depends on BUSYBOX_ASH
+	depends on BUSYBOX_SHELL_ASH
 	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
-	depends on BUSYBOX_ASH
+	depends on BUSYBOX_SHELL_ASH
 	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
-	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
-	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
-	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
-	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
-	depends on BUSYBOX_ASH
+	depends on BUSYBOX_SHELL_ASH
 	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
-	bool "cttyhack"
-	default n
+	bool "cttyhack (2.4 kb)"
+	default y
 	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
-	bool "hush"
-	default y if ADK_TARGET_UCLINUX
-	default n
+	bool "hush (68 kb)"
+	default y
 	select BUSYBOX_SHELL_HUSH
 	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
 	bool "Internal shell for embedded script support"
 	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
 	bool "bash-compatible extensions"
 	default y
-	depends on BUSYBOX_HUSH
-	help
-	  Enable bash-compatible extensions.
+	depends on BUSYBOX_SHELL_HUSH
 
 config BUSYBOX_HUSH_BRACE_EXPANSION
 	bool "Brace expansion"
 	default y
 	depends on BUSYBOX_HUSH_BASH_COMPAT
 	help
-	  Enable {abc,def} extension.
+	Enable {abc,def} extension.
 
 config BUSYBOX_HUSH_LINENO_VAR
 	bool "$LINENO variable"
@@ -222,105 +311,85 @@ config BUSYBOX_HUSH_BASH_SOURCE_CURDIR
 	help
 	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
 	bool "Interactive mode"
 	default y
-	depends on BUSYBOX_HUSH
+	depends on BUSYBOX_SHELL_HUSH
 	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
 	bool "Save command history to .hush_history"
 	default y
 	depends on BUSYBOX_HUSH_INTERACTIVE && BUSYBOX_FEATURE_EDITING_SAVEHISTORY
-	help
-	  Enable history saving in hush.
 
 config BUSYBOX_HUSH_JOB
 	bool "Job control"
 	default y
 	depends on BUSYBOX_HUSH_INTERACTIVE
 	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
-	bool "Process substitution"
+	bool "Support command substitution"
 	default y
-	depends on BUSYBOX_HUSH
+	depends on BUSYBOX_SHELL_HUSH
 	help
-	  Enable process substitution `command` and $(command) in hush.
+	Enable `command` and $(command).
 
 config BUSYBOX_HUSH_IF
 	bool "Support if/then/elif/else/fi"
 	default y
-	depends on BUSYBOX_HUSH
-	help
-	  Enable if/then/elif/else/fi in hush.
+	depends on BUSYBOX_SHELL_HUSH
 
 config BUSYBOX_HUSH_LOOPS
 	bool "Support for, while and until loops"
 	default y
-	depends on BUSYBOX_HUSH
-	help
-	  Enable for, while and until loops in hush.
+	depends on BUSYBOX_SHELL_HUSH
 
 config BUSYBOX_HUSH_CASE
 	bool "Support case ... esac statement"
 	default y
-	depends on BUSYBOX_HUSH
+	depends on BUSYBOX_SHELL_HUSH
 	help
-	  Enable case ... esac statement in hush. +400 bytes.
+	Enable case ... esac statement. +400 bytes.
 
 config BUSYBOX_HUSH_FUNCTIONS
 	bool "Support funcname() { commands; } syntax"
 	default y
-	depends on BUSYBOX_HUSH
+	depends on BUSYBOX_SHELL_HUSH
 	help
-	  Enable support for shell functions in hush. +800 bytes.
+	Enable support for shell functions. +800 bytes.
 
 config BUSYBOX_HUSH_LOCAL
-	bool "Support local builtin"
+	bool "local builtin"
 	default y
 	depends on BUSYBOX_HUSH_FUNCTIONS
 	help
-	  Enable support for local variables in functions.
+	Enable support for local variables in functions.
 
 config BUSYBOX_HUSH_RANDOM_SUPPORT
 	bool "Pseudorandom generator and $RANDOM variable"
 	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
-	  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
 	bool "Support 'hush -x' option and 'set -x' command"
 	default y
-	depends on BUSYBOX_HUSH
+	depends on BUSYBOX_SHELL_HUSH
 	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
 	bool "echo builtin"
@@ -426,50 +495,27 @@ config BUSYBOX_HUSH_MEMLEAK
 	default n
 	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
 	bool "POSIX math support"
 	default y
-	depends on BUSYBOX_ASH || BUSYBOX_HUSH
+	depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH
 	help
-	  Enable math support in the shell via $((...)) syntax.
+	Enable math support in the shell via $((...)) syntax.
 
 config BUSYBOX_FEATURE_SH_MATH_64
 	bool "Extend POSIX math support to 64 bit"
 	default y
 	depends on BUSYBOX_FEATURE_SH_MATH
 	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
 	bool "Support BASE#nnnn literals"
@@ -479,60 +525,48 @@ config BUSYBOX_FEATURE_SH_MATH_BASE
 config BUSYBOX_FEATURE_SH_EXTRA_QUIET
 	bool "Hide message on interactive shell startup"
 	default y
-	depends on BUSYBOX_HUSH || BUSYBOX_ASH
+	depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH
 	help
-	  Remove the busybox introduction when starting a shell.
+	Remove the busybox introduction when starting a shell.
 
 config BUSYBOX_FEATURE_SH_STANDALONE
 	bool "Standalone shell"
 	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
 	bool "Run 'nofork' applets directly"
 	default n
-	depends on (BUSYBOX_HUSH || BUSYBOX_ASH)
+	depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH
 	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
 	bool "read -t N.NNN support (+110 bytes)"
@@ -544,11 +578,11 @@ config BUSYBOX_FEATURE_SH_READ_FRAC
 config BUSYBOX_FEATURE_SH_HISTFILESIZE
 	bool "Use $HISTFILESIZE"
 	default y
-	depends on BUSYBOX_HUSH || BUSYBOX_ASH
+	depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH
 	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
 	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
 	configuration in the appropriate subsystem directory.
 
+endif # Options common to all shells
+
 endmenu

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

@@ -1,63 +1,120 @@
 # 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.
+# see docs/Kconfig-language.txt.
 #
 
 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
-	bool "syslogd"
+	bool "syslogd (13 kb)"
 	default y
 	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
 	bool "Rotate message files"
 	default y
 	depends on BUSYBOX_SYSLOGD
 	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
 	bool "Remote Log support"
 	default y
 	depends on BUSYBOX_SYSLOGD
 	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
 	bool "Support -D (drop dups) option"
 	default y
 	depends on BUSYBOX_SYSLOGD
 	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
 	bool "Support syslog.conf"
-	default n
+	default y
 	depends on BUSYBOX_SYSLOGD
 	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
 	bool "Include milliseconds in timestamps"
@@ -73,105 +130,44 @@ config BUSYBOX_FEATURE_SYSLOGD_READ_BUFFER_SIZE
 	range 256 20000
 	depends on BUSYBOX_SYSLOGD
 	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
 	bool "Circular Buffer support"
 	default y
 	depends on BUSYBOX_SYSLOGD
 	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
 	int "Circular buffer size in Kbytes (minimum 4KB)"
-	default 32
+	default 16
 	range 4 2147483647
 	depends on BUSYBOX_FEATURE_IPC_SYSLOG
 	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
-       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
-	depends on BUSYBOX_KLOGD
+	depends on BUSYBOX_SYSLOGD
 	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.
+	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

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