X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/f77b88d124ea1c900f9cf5e04046939aad48bbe1..242527ccb9da3ac4cfe50969092a739c8b359321:/package/busybox/config/Config.in diff --git a/package/busybox/config/Config.in b/package/busybox/config/Config.in index e7afb5362..eedb4ba40 100644 --- a/package/busybox/config/Config.in +++ b/package/busybox/config/Config.in @@ -8,6 +8,8 @@ config BUSYBOX_HAVE_DOT_CONFIG bool default y +menu "Busybox Settings" + menu "General Configuration" choice @@ -79,10 +81,12 @@ config BUSYBOX_CONFIG_FEATURE_CLEAN_UP bool "Clean up all memory before exiting (usually not needed)" default n help - As a size optimization, busybox by default does not cleanup memory - that is dynamically allocated or close files before exiting. This - saves space and is usually not needed since the OS will clean up for - us. Don't enable this unless you have a really good reason to clean + As a size optimization, busybox normally exits without explicitly + freeing dynamically allocated memory or closing files. This saves + space since the OS will clean up for us, but it can confuse debuggers + like valgrind, which report tons of memory and resource leaks. + + Don't enable this unless you have a really good reason to clean things up manually. config BUSYBOX_CONFIG_FEATURE_SUID @@ -100,7 +104,7 @@ config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG checking /etc/busybox.conf. The format of this file is as follows: = [Ssx-][Ssx-][x-] (|).(|) - + An example might help: [SUID] @@ -112,6 +116,13 @@ config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG cp = --- # disable applet cp for everyone + The file has to be owned by user root, group root and has to be + writeable only by root: + (chown 0.0 /etc/busybox.conf; chmod 600 /etc/busybox.conf) + The busybox executable has to be owned by user root, group + root and has to be setuid root for this to work: + (chown 0.0 /bin/busybox; chmod 4755 /bin/busybox) + Robert 'sandman' Griebl has more information here: . @@ -156,6 +167,48 @@ 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. + +config BUSYBOX_CONFIG_FEATURE_FULL_LIBBUSYBOX + bool "Feature-complete libbusybox" + default n if !CONFIG_FEATURE_SHARED_BUSYBOX + depends on BUSYBOX_CONFIG_BUILD_LIBBUSYBOX + help + Build a libbusybox with the complete feature-set, disregarding + the actually selected config. + + Normally, libbusybox will only contain the features which are + used by busybox itself. If you plan to write a separate + standalone application which uses libbusybox say 'Y'. + + Note: libbusybox is GPL, not LGPL, and exports no stable API that + might act as a copyright barrier. We can and will modify the + exported function set between releases (even minor version number + changes), and happily break out-of-tree features. + + Say 'N' if in doubt. + +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 + help + Use libbusybox.so also for busybox itself. + You need to have a working dynamic linker to use this variant. + config BUSYBOX_CONFIG_LFS bool default y @@ -195,43 +248,27 @@ config BUSYBOX_EXTRA_CFLAGS_OPTIONS if you want to add some simple compiler switches (like -march=i686), or check for warnings using -Werror, just those options here. -endmenu - -menu 'Installation Options' - -config BUSYBOX_CONFIG_INSTALL_NO_USR - bool "Don't use /usr" +config BUSYBOX_CONFIG_BUILD_AT_ONCE + bool "Compile all sources at once" default n help - Disable use of /usr. Don't activate this option if you don't know - that you really want this behaviour. + Normally each source-file is compiled with one invocation of + the compiler. + If you set this option, all sources are compiled at once. + This gives the compiler more opportunities to optimize which can + result in smaller and/or faster binaries. -config BUSYBOX_PREFIX - string - default "./_install" - help - Define your directory to install BusyBox files/subdirs in. + Setting this option will consume alot of memory, e.g. if you + enable all applets with all features, gcc uses more than 300MB + RAM during compilation of busybox. + This option is most likely only beneficial for newer compilers + such as gcc-4.1 and above. + Say 'N' unless you know what you are doing. endmenu -source package/busybox/config/archival/Config.in -source package/busybox/config/coreutils/Config.in -source package/busybox/config/console-tools/Config.in -source package/busybox/config/debianutils/Config.in -source package/busybox/config/editors/Config.in -source package/busybox/config/findutils/Config.in -source package/busybox/config/init/Config.in -source package/busybox/config/loginutils/Config.in -source package/busybox/config/miscutils/Config.in -source package/busybox/config/modutils/Config.in -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/util-linux/Config.in - menu 'Debugging Options' config BUSYBOX_CONFIG_DEBUG @@ -288,6 +325,82 @@ config BUSYBOX_CONFIG_EFENCE endchoice +config BUSYBOX_CONFIG_DEBUG_YANK_SUSv2 + bool "Disable obsolete features removed before SUSv3?" + default y + help + This option will disable backwards compatability with SuSv2, + specifically, old-style numeric options ('command -1 ') + will not be supported in head, tail, and fold. (Note: should + yank from renice too.) + +endmenu + +menu 'Installation Options' + +config BUSYBOX_CONFIG_INSTALL_NO_USR + bool "Don't use /usr" + default n + help + Disable use of /usr. Don't activate this option if you don't know + that you really want this behaviour. + +choice + prompt "Applets links" + default BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS + help + Choose how you install applets links. + +config BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS + bool "as soft-links" + help + Install applets as soft-links to the busybox binary. This needs some + free inodes on the filesystem, but might help with filesystem + generators that can't cope with hard-links. + +config BUSYBOX_CONFIG_INSTALL_APPLET_HARDLINKS + bool "as hard-links" + help + Install applets as hard-links to the busybox binary. This might count + on a filesystem with few inodes. + +config BUSYBOX_CONFIG_INSTALL_APPLET_DONT + bool + 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 + or a standalone shell for rescue pruposes. + +endchoice + +config BUSYBOX_PREFIX + string + default "./_install" + help + Define your directory to install BusyBox files/subdirs in. + +endmenu + +source package/busybox/config/libbb/Config.in endmenu +comment "Applets" + +source package/busybox/config/archival/Config.in +source package/busybox/config/coreutils/Config.in +source package/busybox/config/console-tools/Config.in +source package/busybox/config/debianutils/Config.in +source package/busybox/config/editors/Config.in +source package/busybox/config/findutils/Config.in +source package/busybox/config/init/Config.in +source package/busybox/config/loginutils/Config.in +source package/busybox/config/e2fsprogs/Config.in +source package/busybox/config/modutils/Config.in +source package/busybox/config/util-linux/Config.in +source package/busybox/config/miscutils/Config.in +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