Browse Source

config system: move some options closer to relevalnt tool subdirectories

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Denys Vlasenko 2 years ago
parent
commit
94c78aa0b9
6 changed files with 132 additions and 131 deletions
  1. 15 4
      coreutils/Config.src
  2. 20 0
      coreutils/df.c
  3. 61 124
      libbb/Config.src
  4. 2 2
      mailutils/Config.src
  5. 26 0
      networking/Config.src
  6. 8 1
      procps/Config.src

+ 15 - 4
coreutils/Config.src

@@ -5,10 +5,6 @@
 
 menu "Coreutils"
 
-INSERT
-
-comment "Common options"
-
 config FEATURE_VERBOSE
 	bool "Support verbose options (usually -v) for various applets"
 	default y
@@ -17,6 +13,19 @@ config FEATURE_VERBOSE
 	Also enables long option (--verbose) if it exists.
 	Without this option, -v is accepted but ignored.
 
+comment "Common options for date and touch"
+
+config FEATURE_TIMEZONE
+	bool "Allow timezone in dates"
+	default y
+	depends on DESKTOP
+	help
+	Permit the use of timezones when parsing user-provided data
+	strings, e.g. '1996-04-09 12:45:00 -0500'.
+
+	This requires support for the '%z' extension to strptime() which
+	may not be available in all implementations.
+
 comment "Common options for cp and mv"
 	depends on CP || MV
 
@@ -37,4 +46,6 @@ config FEATURE_HUMAN_READABLE
 	help
 	Allow df, du, and ls to have human readable output.
 
+INSERT
+
 endmenu

+ 20 - 0
coreutils/df.c

@@ -32,6 +32,26 @@
 //config:	-a Show all filesystems
 //config:	-i Inodes
 //config:	-B <SIZE> Blocksize
+//config:
+//config:config FEATURE_SKIP_ROOTFS
+//config:	bool "Skip rootfs in mount table"
+//config:	default y
+//config:	depends on DF
+//config:	help
+//config:	Ignore rootfs entry in mount table.
+//config:
+//config:	In Linux, kernel has a special filesystem, rootfs, which is initially
+//config:	mounted on /. It contains initramfs data, if kernel is configured
+//config:	to have one. Usually, another file system is mounted over / early
+//config:	in boot process, and therefore most tools which manipulate
+//config:	mount table, such as df, will skip rootfs entry.
+//config:
+//config:	However, some systems do not mount anything on /.
+//config:	If you need to configure busybox for one of these systems,
+//config:	you may find it useful to turn this option off to make df show
+//config:	initramfs statistics.
+//config:
+//config:	Otherwise, choose Y.
 
 //applet:IF_DF(APPLET_NOEXEC(df, df, BB_DIR_BIN, BB_SUID_DROP, df))
 

+ 61 - 124
libbb/Config.src

@@ -61,32 +61,73 @@ config SHA3_SMALL
 	64-bit x86: +270 bytes of code, 45% faster
 	32-bit x86: +450 bytes of code, 75% faster
 
-config FEATURE_FAST_TOP
-	bool "Faster /proc scanning code (+100 bytes)"
-	default n  # all "fast or small" options default to small
+config FEATURE_NON_POSIX_CP
+	bool "Non-POSIX, but safer, copying to special nodes"
+	default y
 	help
-	This option makes top and ps ~20% faster (or 20% less CPU hungry),
-	but code size is slightly bigger.
+	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 FEATURE_ETC_NETWORKS
-	bool "Support /etc/networks"
+config FEATURE_VERBOSE_CP_MESSAGE
+	bool "Give more precise messages when copy fails (cp, mv etc)"
 	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.
+	Error messages with this feature enabled:
 
-config FEATURE_ETC_SERVICES
-	bool "Consult /etc/services even for well-known ports"
-	default n
+	$ 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 FEATURE_USE_SENDFILE
+	bool "Use sendfile system call"
+	default y
+	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 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.
+
+config MONOTONIC_SYSCALL
+	bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
+	default y
+	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).
+
+config IOCTL_HEX2STR_ERROR
+	bool "Use ioctl names rather than hex values in error messages"
+	default y
 	help
-	Look up e.g. "telnet" and "http" in /etc/services file
-	instead of assuming ports 23 and 80.
-	This is almost never necessary (everybody uses standard ports),
-	and it makes sense to avoid reading this file.
-	If you disable this option, in the cases where port is explicitly
-	specified as a service name (e.g. "telnet HOST PORTNAME"),
-	it will still be looked up in /etc/services.
+	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 FEATURE_EDITING
 	bool "Command line editing"
@@ -302,107 +343,3 @@ config UNICODE_PRESERVE_BROKEN
 	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 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")
-
-config 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.
-
-config FEATURE_USE_SENDFILE
-	bool "Use sendfile system call"
-	default y
-	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 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.
-
-config FEATURE_SKIP_ROOTFS
-	bool "Skip rootfs in mount table"
-	default y
-	help
-	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.
-
-	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.
-
-config MONOTONIC_SYSCALL
-	bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
-	default y
-	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).
-
-config 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.
-
-config FEATURE_HWIB
-	bool "Support infiniband HW"
-	default y
-	help
-	Support for printing infiniband addresses in network applets.
-
-config FEATURE_TIMEZONE
-	bool "Allow timezone in dates"
-	default y
-	depends on DESKTOP
-	help
-	Permit the use of timezones when parsing user-provided data
-	strings, e.g. '1996-04-09 12:45:00 -0500'.
-
-	This requires support for the '%z' extension to strptime() which
-	may not be available in all implementations.

+ 2 - 2
mailutils/Config.src

@@ -1,7 +1,5 @@
 menu "Mail Utilities"
 
-INSERT
-
 config FEATURE_MIME_CHARSET
 	string "Default charset"
 	default "us-ascii"
@@ -9,4 +7,6 @@ config FEATURE_MIME_CHARSET
 	help
 	Default charset of the message.
 
+INSERT
+
 endmenu

+ 26 - 0
networking/Config.src

@@ -46,6 +46,32 @@ config VERBOSE_RESOLUTION_ERRORS
 	"can't resolve 'hostname.com'" and want to know more.
 	This may increase size of your executable a bit.
 
+config FEATURE_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.
+
+config FEATURE_ETC_SERVICES
+	bool "Consult /etc/services even for well-known ports"
+	default n
+	help
+	Look up e.g. "telnet" and "http" in /etc/services file
+	instead of assuming ports 23 and 80.
+	This is almost never necessary (everybody uses standard ports),
+	and it makes sense to avoid reading this file.
+	If you disable this option, in the cases where port is explicitly
+	specified as a service name (e.g. "telnet HOST PORTNAME"),
+	it will still be looked up in /etc/services.
+
+config FEATURE_HWIB
+	bool "Support infiniband HW"
+	default y
+	help
+	Support for printing infiniband addresses in network applets.
+
 config FEATURE_TLS_SHA1
 	bool "In TLS code, support ciphers which use deprecated SHA1"
 	depends on TLS

+ 8 - 1
procps/Config.src

@@ -5,7 +5,12 @@
 
 menu "Process Utilities"
 
-INSERT
+config FEATURE_FAST_TOP
+	bool "Faster /proc scanning code (+100 bytes)"
+	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.
 
 config FEATURE_SHOW_THREADS
 	bool "Support thread display in ps/pstree/top"
@@ -15,4 +20,6 @@ config FEATURE_SHOW_THREADS
 	Enables the ps -T option, showing of threads in pstree,
 	and 'h' command in top.
 
+INSERT
+
 endmenu