X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/71d39e274f5c2847a1b2eedd4afa8e298029f93d..3b20aec50f6ec53d9e532d6718924f01305e8004:/package/busybox/config/Config.in diff --git a/package/busybox/config/Config.in b/package/busybox/config/Config.in index eedb4ba40..d288bfb0a 100644 --- a/package/busybox/config/Config.in +++ b/package/busybox/config/Config.in @@ -4,7 +4,7 @@ # -config BUSYBOX_HAVE_DOT_CONFIG +config BUSYBOX_CONFIG_HAVE_DOT_CONFIG bool default y @@ -12,9 +12,34 @@ menu "Busybox Settings" menu "General Configuration" +config BUSYBOX_CONFIG_NITPICK + bool "See lots more (probably unnecessary) configuration options." + default n + help + Some BusyBox applets have more configuration options than anyone + will ever care about. To avoid drowining people in complexity, most + of the applet features that can be set to a sane default value are + hidden, unless you hit the above switch. + + This is better than to telling people to edit the busybox source + code, but not by much. + + See http://en.wikipedia.org/wiki/Fibber_McGee_and_Molly#The_Closet + + You have been warned. + +config BUSYBOX_CONFIG_DESKTOP + bool "Enable options for full-blown desktop systems" + default n + help + Enable options and features which are not essential. + Select this only if you plan to use busybox on full-blown + desktop machine with common Linux distro, not on an embedded box. + choice prompt "Buffer allocation policy" default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK + depends on BUSYBOX_CONFIG_NITPICK help There are 3 ways BusyBox can handle buffer allocations: - Use malloc. This costs code size for the call to xmalloc. @@ -36,15 +61,39 @@ config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_IN_BSS endchoice +config BUSYBOX_CONFIG_SHOW_USAGE + bool "Show terse applet usage messages" + default y + help + All BusyBox applets will show help messages when invoked with + wrong arguments. You can turn off printing these terse usage + messages if you say no here. + This will save you up to 7k. + config BUSYBOX_CONFIG_FEATURE_VERBOSE_USAGE bool "Show verbose applet usage messages" default y + select BUSYBOX_CONFIG_SHOW_USAGE help All BusyBox applets will show more verbose help messages when busybox is invoked with --help. This will add a lot of text to the busybox binary. In the default configuration, this will add about 13k, but it can add much more depending on your configuration. +config BUSYBOX_CONFIG_FEATURE_COMPRESS_USAGE + bool "Store applet usage messages in compressed form" + default y + depends on BUSYBOX_CONFIG_SHOW_USAGE + help + Store usage messages in compressed form, uncompress them on-the-fly + when --help is called. + + If you have a really tiny busybox with few applets enabled (and + bunzip2 isn't one of them), the overhead of the decompressor might + be noticeable. Also, if you run executables directly from ROM + and have very little memory, this might not be a win. Otherwise, + you probably want this. + config BUSYBOX_CONFIG_FEATURE_INSTALLER bool "Support --install [-s] to install applet links at runtime" default n @@ -61,25 +110,27 @@ config BUSYBOX_CONFIG_LOCALE_SUPPORT Enable this if your system has locale support and you would like busybox to support locale settings. -config BUSYBOX_CONFIG_FEATURE_DEVFS - bool "Support for devfs" +config BUSYBOX_CONFIG_GETOPT_LONG + bool "Enable support for --long-options" default y help - Enable if you want BusyBox to work with devfs. + Enable this if you want busybox applets to use the gnu --long-option + style, in addition to single character -a -b -c style options. config BUSYBOX_CONFIG_FEATURE_DEVPTS bool "Use the devpts filesystem for Unix98 PTYs" - default y if BUSYBOX_CONFIG_FEATURE_DEVFS + default y help Enable if you want BusyBox to use Unix98 PTY support. If enabled, busybox will use /dev/ptmx for the master side of the pseudoterminal and /dev/pts/ for the slave side. Otherwise, BSD style /dev/ttyp will be used. To use this option, you should have - devpts or devfs mounted. + devpts mounted. config BUSYBOX_CONFIG_FEATURE_CLEAN_UP bool "Clean up all memory before exiting (usually not needed)" default n + depends on BUSYBOX_CONFIG_NITPICK help As a size optimization, busybox normally exits without explicitly freeing dynamically allocated memory or closing files. This saves @@ -93,15 +144,32 @@ config BUSYBOX_CONFIG_FEATURE_SUID bool "Support for SUID/SGID handling" default y help - Support SUID and SGID binaries. + With this option you can install the busybox binary belonging + to root with the suid bit set, and it'll and it'll automatically drop + priviledges for applets that don't need root access. + + If you're really paranoid and don't want to do this, build two + busybox binaries with different applets in them (and the appropriate + symlinks pointing to each binary), and only set the suid bit on the + one that needs it. The applets currently marked to need the suid bit + are login, passwd, su, ping, traceroute, crontab, dnsd, ipcrm, ipcs, + and vlock. + +config BUSYBOX_CONFIG_FEATURE_SYSLOG + bool "Support for syslog" + default y + help + This option is auto-selected when you select any applet which may + send its output to syslog. You do not need to select it manually. config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG bool "Runtime SUID/SGID configuration via /etc/busybox.conf" default n if BUSYBOX_CONFIG_FEATURE_SUID depends on BUSYBOX_CONFIG_FEATURE_SUID help - Allow the SUID / SGID state of an applet to be determined runtime by - checking /etc/busybox.conf. The format of this file is as follows: + Allow the SUID / SGID state of an applet to be determined at runtime + by checking /etc/busybox.conf. (This is sort of a poor man's sudo.) + The format of this file is as follows: = [Ssx-][Ssx-][x-] (|).(|) @@ -134,21 +202,44 @@ config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG_QUIET /etc/busybox.conf should be readable by the user needing the SUID, check this option to avoid users to be notified about missing permissions. +config BUSYBOX_CONFIG_FEATURE_HAVE_RPC + bool "RPC support" + default y + help + Select this if you have rpc support. + This automatically turns off all configuration options that rely + on RPC. + config BUSYBOX_CONFIG_SELINUX bool "Support NSA Security Enhanced Linux" default n help - Enable support for SE Linux in applets ls, ps, and id. Also provide - the option of compiling in SE Linux applets. + Enable support for SELinux in applets ls, ps, and id. Also provide + the option of compiling in SELinux applets. - If you do not have a complete SE Linux Full Userland installed, this - stuff will not compile. Go visit + If you do not have a complete SELinux userland installed, this stuff + will not compile. Go visit http://www.nsa.gov/selinux/index.html - to download the necessary stuff to allow busybox to compile with this - option enabled. + to download the necessary stuff to allow busybox to compile with + this option enabled. Specifially, libselinux 1.28 or better is + directly required by busybox. If the installation is located in a + non-standard directory, provide it by invoking make as follows: + CFLAGS=-I \ + LDFLAGS=-L \ + make Most people will leave this set to 'N'. +config BUSYBOX_CONFIG_BUSYBOX_EXEC_PATH + string "Path to BusyBox executable" + default "/proc/self/exe" + help + When Busybox applets need to run other busybox applets, BusyBox + sometimes needs to exec() itself. When the /proc filesystem is + mounted, /proc/self/exe always points to the currently running + executable. If you haven't got /proc, set this to wherever you + want to run BusyBox from. + endmenu menu 'Build Options' @@ -167,24 +258,21 @@ config BUSYBOX_CONFIG_STATIC Most people will leave this set to 'N'. -# The busybox shared library feature is there so make standalone can produce -# smaller applets. Since make standalone isn't in yet, there's nothing using -# this yet, and so it's disabled. -config BUSYBOX_CONFIG_DISABLE_SHARED - bool - default n - config BUSYBOX_CONFIG_BUILD_LIBBUSYBOX bool "Build shared libbusybox" default n - depends on BUSYBOX_CONFIG_DISABLE_SHARED help Build a shared library libbusybox.so which contains all libraries used inside busybox. + This is an experimental feature intended to support the upcoming + "make standalone" mode. Enabling it against the one big busybox + binary serves no purpose (and increases the size). You should + almost certainly say "no" to this right now. + config BUSYBOX_CONFIG_FEATURE_FULL_LIBBUSYBOX bool "Feature-complete libbusybox" - default n if !CONFIG_FEATURE_SHARED_BUSYBOX + default n if !BUSYBOX_CONFIG_FEATURE_SHARED_BUSYBOX depends on BUSYBOX_CONFIG_BUILD_LIBBUSYBOX help Build a libbusybox with the complete feature-set, disregarding @@ -204,7 +292,7 @@ config BUSYBOX_CONFIG_FEATURE_FULL_LIBBUSYBOX config BUSYBOX_CONFIG_FEATURE_SHARED_BUSYBOX bool "Use shared libbusybox for busybox" default n if BUSYBOX_CONFIG_BUILD_LIBBUSYBOX - depends on !CONFIG_STATIC && BUSYBOX_CONFIG_BUILD_LIBBUSYBOX + depends on !BUSYBOX_CONFIG_STATIC && BUSYBOX_CONFIG_BUILD_LIBBUSYBOX help Use libbusybox.so also for busybox itself. You need to have a working dynamic linker to use this variant. @@ -212,7 +300,7 @@ config BUSYBOX_CONFIG_FEATURE_SHARED_BUSYBOX config BUSYBOX_CONFIG_LFS bool default y - select BUSYBOX_FDISK_SUPPORT_LARGE_DISKS + select BUSYBOX_CONFIG_FDISK_SUPPORT_LARGE_DISKS help If you want to build BusyBox with large file support, then enable this option. This will have no effect if your kernel or your C @@ -221,33 +309,6 @@ config BUSYBOX_CONFIG_LFS cp, mount, tar, and many others. If you want to access files larger than 2 Gigabytes, enable this option. Otherwise, leave it set to 'N'. -config BUSYBOX_USING_CROSS_COMPILER - bool - default y - help - Do you want to build BusyBox with a Cross Compiler? If so, - then enable this option. Otherwise leave it set to 'N'. - -config BUSYBOX_CROSS_COMPILER_PREFIX - string - default "mipsel-uclibc-" - depends on BUSYBOX_USING_CROSS_COMPILER - help - If you want to build BusyBox with a cross compiler, then you - will need to set this to the cross-compiler prefix. For example, - if my cross-compiler is /usr/i386-linux-uclibc/bin/i386-uclibc-gcc - then I would enter '/usr/i386-linux-uclibc/bin/i386-uclibc-' here, - which will ensure the correct compiler is used. - -config BUSYBOX_EXTRA_CFLAGS_OPTIONS - string - default "-Os " - help - Do you want to pass any extra CFLAGS options to the compiler as - you build BusyBox? If so, this is the option for you... For example, - if you want to add some simple compiler switches (like -march=i686), - or check for warnings using -Werror, just those options here. - config BUSYBOX_CONFIG_BUILD_AT_ONCE bool "Compile all sources at once" default n @@ -272,17 +333,27 @@ endmenu menu 'Debugging Options' config BUSYBOX_CONFIG_DEBUG - bool "Build BusyBox with Debugging symbols" + bool "Build BusyBox with extra Debugging symbols" default n help - Say Y here if you wish to compile BusyBox with debugging symbols. - This will allow you to use a debugger to examine BusyBox internals - while applets are running. This increases the size of the binary - considerably and should only be used when doing development. - If you are doing development and want to debug BusyBox, answer Y. + Say Y here if you wish to examine BusyBox internals while applets are + running. This increases the size of the binary considerably, and + should only be used when doing development. If you are doing + development and want to debug BusyBox, answer Y. Most people should answer N. +config BUSYBOX_CONFIG_DEBUG_PESSIMIZE + bool "Disable compiler optimizations." + default n + depends on BUSYBOX_CONFIG_DEBUG + help + The compiler's optimization of source code can eliminate and reorder + code, resulting in an executable that's hard to understand when + stepping through it with a debugger. This switches it off, resulting + in a much bigger executable that more closely matches the source + code. + choice prompt "Additional debugging library" default BUSYBOX_CONFIG_NO_DEBUG_LIB @@ -325,14 +396,14 @@ config BUSYBOX_CONFIG_EFENCE endchoice -config BUSYBOX_CONFIG_DEBUG_YANK_SUSv2 - bool "Disable obsolete features removed before SUSv3?" +config BUSYBOX_CONFIG_INCLUDE_SUSv2 + bool "Enable obsolete features removed before SUSv3?" default y help - This option will disable backwards compatability with SuSv2, + This option will enable backwards compatibility with SuSv2, specifically, old-style numeric options ('command -1 ') - will not be supported in head, tail, and fold. (Note: should - yank from renice too.) + will be supported in head, tail, and fold. (Note: should + affect renice too.) endmenu @@ -369,13 +440,13 @@ config BUSYBOX_CONFIG_INSTALL_APPLET_DONT prompt "not installed" depends on BUSYBOX_CONFIG_FEATURE_INSTALLER || BUSYBOX_CONFIG_FEATURE_SH_STANDALONE_SHELL help - Do not install applets links. Usefull when using the -install feature + Do not install applet links. Useful when using the -install feature or a standalone shell for rescue pruposes. endchoice -config BUSYBOX_PREFIX - string +config BUSYBOX_CONFIG_PREFIX + string "BusyBox installation prefix" default "./_install" help Define your directory to install BusyBox files/subdirs in. @@ -404,3 +475,4 @@ source package/busybox/config/networking/Config.in source package/busybox/config/procps/Config.in source package/busybox/config/shell/Config.in source package/busybox/config/sysklogd/Config.in +source package/busybox/config/runit/Config.in