mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 05:54:26 -04:00 
			
		
		
		
	Update busybox to version 1.34.0 * Remove upstreamed patches (205, 530, 540) * Remove one old patch that does not apply any more. (203) That was originally introduced in 2008 with563d23459, but does not apply after busybox restructuring with https://git.busybox.net/busybox/commit/networking/udhcp/dhcpc.c?h=1_34_stable&id=e6007c4911c3ea26925f9473b9f156a692585f30 and https://git.busybox.net/busybox/commit/networking/udhcp/dhcpc.c?h=1_34_stable&id=1c7253726fcbab09917f143f0b703efbd2df55c3 * Refresh config and patches. * Backport upstream fixes for - MIPS compilation breakage and - process substitution regression Config refresh: Refresh commands, run after busybox is first built once: cd utils/busybox/ cd config/ ../convert_menuconfig.pl ../../../../build_dir/target-aarch64_cortex-a53_musl/busybox-default/busybox-1.34.0 cd .. ./convert_defaults.pl < ../../../build_dir/target-aarch64_cortex-a53_musl/busybox-default/busybox-1.34.0/.config > Config-defaults.in Manual edits needed afterward: * Config-defaults.in: OpenWrt config symbol IPV6 logic applied to BUSYBOX_DEFAULT_FEATURE_IPV6 * Config-defaults.in: OpenWrt configTARGET_bcm53xx logic applied to BUSYBOX_DEFAULT_TRUNCATE (commit547f1ec) * Config-defaults.in: OpenWrt logic applied to BUSYBOX_DEFAULT_LOGIN_SESSION_AS_CHILD (commitdc92917) BUSYBOX_DEFAULT_UDHCPC_DEFAULT_INTERFACE (just "") * config/editors/Config.in: Add USE_GLIBC dependency to BUSYBOX_CONFIG_FEATURE_VI_REGEX_SEARCH (commitf141090) * config/shell/Config.in : change at "Options common to all shells" the symbol SHELL_ASH --> BUSYBOX_CONFIG_SHELL_ASH (discussion in http://lists.openwrt.org/pipermail/openwrt-devel/2021-January/033140.html Apparently our script does not see the hidden option while prepending config options with "BUSYBOX_CONFIG_" which leads to a missed dependency when the options are later evaluated.) * Edit Config.in files by adding quotes to sourced items in config/Config.in, config/networking/Config.in and config/util-linux/Config.in (commit1da014f) Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
		
			
				
	
	
		
			604 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			604 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # 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.
 | |
| #
 | |
| 
 | |
| menu "Shells"
 | |
| 
 | |
| 
 | |
| choice
 | |
| 	prompt "Choose which shell is aliased to 'sh' name"
 | |
| 	default BUSYBOX_CONFIG_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 ASH" here, it breaks "make allnoconfig"
 | |
| config BUSYBOX_CONFIG_SH_IS_ASH
 | |
| 	depends on !BUSYBOX_CONFIG_NOMMU
 | |
| 	bool "ash"
 | |
| 	select BUSYBOX_CONFIG_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_CONFIG_SH_IS_HUSH
 | |
| 	bool "hush"
 | |
| 	select BUSYBOX_CONFIG_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_CONFIG_SH_IS_NONE
 | |
| 	bool "none"
 | |
| 
 | |
| endchoice
 | |
| 
 | |
| choice
 | |
| 	prompt "Choose which shell is aliased to 'bash' name"
 | |
| 	default BUSYBOX_CONFIG_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_CONFIG_BASH_IS_ASH
 | |
| 	depends on !BUSYBOX_CONFIG_NOMMU
 | |
| 	bool "ash"
 | |
| 	select BUSYBOX_CONFIG_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_CONFIG_BASH_IS_HUSH
 | |
| 	bool "hush"
 | |
| 	select BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 	help
 | |
| 	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_CONFIG_BASH_IS_NONE
 | |
| 	bool "none"
 | |
| 
 | |
| endchoice
 | |
| 
 | |
| 
 | |
| config BUSYBOX_CONFIG_SHELL_ASH
 | |
| 	bool #hidden option
 | |
| 	depends on !BUSYBOX_CONFIG_NOMMU
 | |
| 
 | |
| config BUSYBOX_CONFIG_ASH
 | |
| 	bool "ash (78 kb)"
 | |
| 	default BUSYBOX_DEFAULT_ASH
 | |
| 	depends on !BUSYBOX_CONFIG_NOMMU
 | |
| 	select BUSYBOX_CONFIG_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 !NOMMU && (BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH)
 | |
| 
 | |
| config BUSYBOX_CONFIG_ASH_OPTIMIZE_FOR_SIZE
 | |
| 	bool "Optimize for size instead of speed"
 | |
| 	default BUSYBOX_DEFAULT_ASH_OPTIMIZE_FOR_SIZE
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_ASH
 | |
| 
 | |
| config BUSYBOX_CONFIG_ASH_INTERNAL_GLOB
 | |
| 	bool "Use internal glob() implementation"
 | |
| 	default BUSYBOX_DEFAULT_ASH_INTERNAL_GLOB	# Y is bigger, but because of uclibc glob() bug, let Y be default for now
 | |
| 	depends on BUSYBOX_CONFIG_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_CONFIG_ASH_BASH_COMPAT
 | |
| 	bool "bash-compatible extensions"
 | |
| 	default BUSYBOX_DEFAULT_ASH_BASH_COMPAT
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_ASH
 | |
| 
 | |
| config BUSYBOX_CONFIG_ASH_BASH_SOURCE_CURDIR
 | |
| 	bool "'source' and '.' builtins search current directory after $PATH"
 | |
| 	default BUSYBOX_DEFAULT_ASH_BASH_SOURCE_CURDIR   # do not encourage non-standard behavior
 | |
| 	depends on BUSYBOX_CONFIG_ASH_BASH_COMPAT
 | |
| 	help
 | |
| 	This is not compliant with standards. Avoid if possible.
 | |
| 
 | |
| config BUSYBOX_CONFIG_ASH_BASH_NOT_FOUND_HOOK
 | |
| 	bool "command_not_found_handle hook support"
 | |
| 	default BUSYBOX_DEFAULT_ASH_BASH_NOT_FOUND_HOOK
 | |
| 	depends on BUSYBOX_CONFIG_ASH_BASH_COMPAT
 | |
| 	help
 | |
| 	Enable support for the 'command_not_found_handle' hook function,
 | |
| 	from GNU bash, which allows for alternative command not found
 | |
| 	handling.
 | |
| 
 | |
| config BUSYBOX_CONFIG_ASH_JOB_CONTROL
 | |
| 	bool "Job control"
 | |
| 	default BUSYBOX_DEFAULT_ASH_JOB_CONTROL
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_ASH
 | |
| 
 | |
| config BUSYBOX_CONFIG_ASH_ALIAS
 | |
| 	bool "Alias support"
 | |
| 	default BUSYBOX_DEFAULT_ASH_ALIAS
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_ASH
 | |
| 
 | |
| config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT
 | |
| 	bool "Pseudorandom generator and $RANDOM variable"
 | |
| 	default BUSYBOX_DEFAULT_ASH_RANDOM_SUPPORT
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_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.
 | |
| 
 | |
| config BUSYBOX_CONFIG_ASH_EXPAND_PRMT
 | |
| 	bool "Expand prompt string"
 | |
| 	default BUSYBOX_DEFAULT_ASH_EXPAND_PRMT
 | |
| 	depends on BUSYBOX_CONFIG_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.
 | |
| 
 | |
| config BUSYBOX_CONFIG_ASH_IDLE_TIMEOUT
 | |
| 	bool "Idle timeout variable $TMOUT"
 | |
| 	default BUSYBOX_DEFAULT_ASH_IDLE_TIMEOUT
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_ASH
 | |
| 	help
 | |
| 	Enable bash-like auto-logout after $TMOUT seconds of idle time.
 | |
| 
 | |
| config BUSYBOX_CONFIG_ASH_MAIL
 | |
| 	bool "Check for new mail in interactive shell"
 | |
| 	default BUSYBOX_DEFAULT_ASH_MAIL
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_ASH
 | |
| 	help
 | |
| 	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_CONFIG_ASH_ECHO
 | |
| 	bool "echo builtin"
 | |
| 	default BUSYBOX_DEFAULT_ASH_ECHO
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_ASH
 | |
| 
 | |
| config BUSYBOX_CONFIG_ASH_PRINTF
 | |
| 	bool "printf builtin"
 | |
| 	default BUSYBOX_DEFAULT_ASH_PRINTF
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_ASH
 | |
| 
 | |
| config BUSYBOX_CONFIG_ASH_TEST
 | |
| 	bool "test builtin"
 | |
| 	default BUSYBOX_DEFAULT_ASH_TEST
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_ASH
 | |
| 
 | |
| config BUSYBOX_CONFIG_ASH_HELP
 | |
| 	bool "help builtin"
 | |
| 	default BUSYBOX_DEFAULT_ASH_HELP
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_ASH
 | |
| 
 | |
| config BUSYBOX_CONFIG_ASH_GETOPTS
 | |
| 	bool "getopts builtin"
 | |
| 	default BUSYBOX_DEFAULT_ASH_GETOPTS
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_ASH
 | |
| 
 | |
| config BUSYBOX_CONFIG_ASH_CMDCMD
 | |
| 	bool "command builtin"
 | |
| 	default BUSYBOX_DEFAULT_ASH_CMDCMD
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_ASH
 | |
| 	help
 | |
| 	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_CONFIG_CTTYHACK
 | |
| 	bool "cttyhack (2.4 kb)"
 | |
| 	default BUSYBOX_DEFAULT_CTTYHACK
 | |
| 	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.
 | |
| 
 | |
| 	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.
 | |
| 
 | |
| 	Example for /etc/inittab (for busybox init):
 | |
| 
 | |
| 	::respawn:/bin/cttyhack /bin/sh
 | |
| 
 | |
| 	Starting an interactive shell from boot shell script:
 | |
| 
 | |
| 	setsid cttyhack sh
 | |
| 
 | |
| 	Giving controlling tty to shell running with PID 1:
 | |
| 
 | |
| 	# exec cttyhack sh
 | |
| 
 | |
| 	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'
 | |
| 
 | |
| 	Starting getty on a controlling tty from a shell script:
 | |
| 
 | |
| 	# getty 115200 $(cttyhack)
 | |
| config BUSYBOX_CONFIG_HUSH
 | |
| 	bool "hush (68 kb)"
 | |
| 	default BUSYBOX_DEFAULT_HUSH
 | |
| 	select BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 	help
 | |
| 	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 does not handle select, aliases, tilde expansion,
 | |
| 	&>file and >&file redirection of stdout+stderr.
 | |
| 
 | |
| config BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 	bool "Internal shell for embedded script support"
 | |
| 	default BUSYBOX_DEFAULT_SHELL_HUSH
 | |
| 
 | |
| # hush options
 | |
| # It's only needed to get "nice" menuconfig indenting.
 | |
| if SHELL_HUSH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_BASH_COMPAT
 | |
| 	bool "bash-compatible extensions"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_BASH_COMPAT
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_BRACE_EXPANSION
 | |
| 	bool "Brace expansion"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_BRACE_EXPANSION
 | |
| 	depends on BUSYBOX_CONFIG_HUSH_BASH_COMPAT
 | |
| 	help
 | |
| 	Enable {abc,def} extension.
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_BASH_SOURCE_CURDIR
 | |
| 	bool "'source' and '.' builtins search current directory after $PATH"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_BASH_SOURCE_CURDIR   # do not encourage non-standard behavior
 | |
| 	depends on BUSYBOX_CONFIG_HUSH_BASH_COMPAT
 | |
| 	help
 | |
| 	This is not compliant with standards. Avoid if possible.
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_LINENO_VAR
 | |
| 	bool "$LINENO variable (bashism)"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_LINENO_VAR
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_INTERACTIVE
 | |
| 	bool "Interactive mode"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_INTERACTIVE
 | |
| 	depends on BUSYBOX_CONFIG_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.
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_SAVEHISTORY
 | |
| 	bool "Save command history to .hush_history"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_SAVEHISTORY
 | |
| 	depends on BUSYBOX_CONFIG_HUSH_INTERACTIVE && BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_JOB
 | |
| 	bool "Job control"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_JOB
 | |
| 	depends on BUSYBOX_CONFIG_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.
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_TICK
 | |
| 	bool "Support command substitution"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_TICK
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 	help
 | |
| 	Enable `command` and $(command).
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_IF
 | |
| 	bool "Support if/then/elif/else/fi"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_IF
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_LOOPS
 | |
| 	bool "Support for, while and until loops"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_LOOPS
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_CASE
 | |
| 	bool "Support case ... esac statement"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_CASE
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 	help
 | |
| 	Enable case ... esac statement. +400 bytes.
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_FUNCTIONS
 | |
| 	bool "Support funcname() { commands; } syntax"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_FUNCTIONS
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 	help
 | |
| 	Enable support for shell functions. +800 bytes.
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_LOCAL
 | |
| 	bool "local builtin"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_LOCAL
 | |
| 	depends on BUSYBOX_CONFIG_HUSH_FUNCTIONS
 | |
| 	help
 | |
| 	Enable support for local variables in functions.
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT
 | |
| 	bool "Pseudorandom generator and $RANDOM variable"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_RANDOM_SUPPORT
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 	help
 | |
| 	Enable pseudorandom generator and dynamic variable "$RANDOM".
 | |
| 	Each read of "$RANDOM" will generate a new pseudorandom value.
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_MODE_X
 | |
| 	bool "Support 'hush -x' option and 'set -x' command"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_MODE_X
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 	help
 | |
| 	This instructs hush to print commands before execution.
 | |
| 	Adds ~300 bytes.
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_ECHO
 | |
| 	bool "echo builtin"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_ECHO
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_PRINTF
 | |
| 	bool "printf builtin"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_PRINTF
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_TEST
 | |
| 	bool "test builtin"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_TEST
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_HELP
 | |
| 	bool "help builtin"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_HELP
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_EXPORT
 | |
| 	bool "export builtin"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_EXPORT
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_EXPORT_N
 | |
| 	bool "Support 'export -n' option"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_EXPORT_N
 | |
| 	depends on BUSYBOX_CONFIG_HUSH_EXPORT
 | |
| 	help
 | |
| 	export -n unexports variables. It is a bash extension.
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_READONLY
 | |
| 	bool "readonly builtin"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_READONLY
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 	help
 | |
| 	Enable support for read-only variables.
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_KILL
 | |
| 	bool "kill builtin (supports kill %jobspec)"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_KILL
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_WAIT
 | |
| 	bool "wait builtin"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_WAIT
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_COMMAND
 | |
| 	bool "command builtin"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_COMMAND
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_TRAP
 | |
| 	bool "trap builtin"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_TRAP
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_TYPE
 | |
| 	bool "type builtin"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_TYPE
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_TIMES
 | |
| 	bool "times builtin"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_TIMES
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_READ
 | |
| 	bool "read builtin"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_READ
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_SET
 | |
| 	bool "set builtin"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_SET
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_UNSET
 | |
| 	bool "unset builtin"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_UNSET
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_ULIMIT
 | |
| 	bool "ulimit builtin"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_ULIMIT
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_UMASK
 | |
| 	bool "umask builtin"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_UMASK
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_GETOPTS
 | |
| 	bool "getopts builtin"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_GETOPTS
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 
 | |
| config BUSYBOX_CONFIG_HUSH_MEMLEAK
 | |
| 	bool "memleak builtin (debugging)"
 | |
| 	default BUSYBOX_DEFAULT_HUSH_MEMLEAK
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 
 | |
| endif # hush options
 | |
| 
 | |
| 
 | |
| comment "Options common to all shells"
 | |
| if BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 
 | |
| config BUSYBOX_CONFIG_FEATURE_SH_MATH
 | |
| 	bool "POSIX math support"
 | |
| 	default BUSYBOX_DEFAULT_FEATURE_SH_MATH
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 	help
 | |
| 	Enable math support in the shell via $((...)) syntax.
 | |
| 
 | |
| config BUSYBOX_CONFIG_FEATURE_SH_MATH_64
 | |
| 	bool "Extend POSIX math support to 64 bit"
 | |
| 	default BUSYBOX_DEFAULT_FEATURE_SH_MATH_64
 | |
| 	depends on BUSYBOX_CONFIG_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.
 | |
| 
 | |
| config BUSYBOX_CONFIG_FEATURE_SH_MATH_BASE
 | |
| 	bool "Support BASE#nnnn literals"
 | |
| 	default BUSYBOX_DEFAULT_FEATURE_SH_MATH_BASE
 | |
| 	depends on BUSYBOX_CONFIG_FEATURE_SH_MATH
 | |
| 
 | |
| config BUSYBOX_CONFIG_FEATURE_SH_EXTRA_QUIET
 | |
| 	bool "Hide message on interactive shell startup"
 | |
| 	default BUSYBOX_DEFAULT_FEATURE_SH_EXTRA_QUIET
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 	help
 | |
| 	Remove the busybox introduction when starting a shell.
 | |
| 
 | |
| config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE
 | |
| 	bool "Standalone shell"
 | |
| 	default BUSYBOX_DEFAULT_FEATURE_SH_STANDALONE
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_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_CONFIG_FEATURE_SH_NOFORK
 | |
| 	bool "Run 'nofork' applets directly"
 | |
| 	default BUSYBOX_DEFAULT_FEATURE_SH_NOFORK
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_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 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 feature is relatively new. Use with care. Report bugs
 | |
| 	to project mailing list.
 | |
| 
 | |
| config BUSYBOX_CONFIG_FEATURE_SH_READ_FRAC
 | |
| 	bool "read -t N.NNN support (+110 bytes)"
 | |
| 	default BUSYBOX_DEFAULT_FEATURE_SH_READ_FRAC
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 	help
 | |
| 	Enable support for fractional second timeout in read builtin.
 | |
| 
 | |
| config BUSYBOX_CONFIG_FEATURE_SH_HISTFILESIZE
 | |
| 	bool "Use $HISTFILESIZE"
 | |
| 	default BUSYBOX_DEFAULT_FEATURE_SH_HISTFILESIZE
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_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.
 | |
| 
 | |
| config BUSYBOX_CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS
 | |
| 	bool "Embed scripts in the binary"
 | |
| 	default BUSYBOX_DEFAULT_FEATURE_SH_EMBEDDED_SCRIPTS
 | |
| 	depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH
 | |
| 	help
 | |
| 	Allow scripts to be compressed and embedded in the busybox
 | |
| 	binary. The scripts should be placed in the 'embed' directory
 | |
| 	at build time. Like applets, scripts can be run as
 | |
| 	'busybox SCRIPT ...' or by linking their name to the binary.
 | |
| 
 | |
| 	This also allows applets to be implemented as scripts: place
 | |
| 	the script in 'applets_sh' and a stub C file containing
 | |
| 	configuration in the appropriate subsystem directory.
 | |
| 
 | |
| endif # Options common to all shells
 | |
| 
 | |
| endmenu
 |