2
0
forked from Ivasoft/openwrt

busybox: update to 1.27.2

Refresh patches, delete patches backported from upstream.

This fixes ntpd sync issues (ntpd would not sync if the first provided
peer address was unreachable).

Signed-off-by: Magnus Kroken <mkroken@gmail.com>
Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
This commit is contained in:
Magnus Kroken
2017-08-23 23:13:34 +02:00
committed by Hans Dedecker
parent 9adfeccd84
commit 89f8a01dab
30 changed files with 996 additions and 1166 deletions

View File

@@ -18,9 +18,19 @@ choice
config BUSYBOX_CONFIG_SH_IS_ASH
depends on !BUSYBOX_CONFIG_NOMMU
bool "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"
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"
@@ -32,7 +42,8 @@ choice
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.
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
@@ -47,9 +58,19 @@ choice
config BUSYBOX_CONFIG_BASH_IS_ASH
depends on !BUSYBOX_CONFIG_NOMMU
bool "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"
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"
@@ -68,12 +89,15 @@ config BUSYBOX_CONFIG_ASH
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_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_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
help
Compile ash for reduced size at the price of speed.
config BUSYBOX_CONFIG_ASH_INTERNAL_GLOB
bool "Use internal glob() implementation"
@@ -83,6 +107,23 @@ config BUSYBOX_CONFIG_ASH_INTERNAL_GLOB
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_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
config BUSYBOX_CONFIG_ASH_JOB_CONTROL
bool "Job control"
default BUSYBOX_DEFAULT_ASH_JOB_CONTROL
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
config BUSYBOX_CONFIG_ASH_ALIAS
bool "Alias support"
default BUSYBOX_DEFAULT_ASH_ALIAS
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT
bool "Pseudorandom generator and $RANDOM variable"
@@ -100,88 +141,62 @@ config BUSYBOX_CONFIG_ASH_EXPAND_PRMT
default BUSYBOX_DEFAULT_ASH_EXPAND_PRMT
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
help
"PS#" may contain volatile content, such as backquote commands.
$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_BASH_COMPAT
bool "bash-compatible extensions"
default BUSYBOX_DEFAULT_ASH_BASH_COMPAT
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
help
Enable bash-compatible extensions.
config BUSYBOX_CONFIG_ASH_IDLE_TIMEOUT
bool "Idle timeout variable"
bool "Idle timeout variable $TMOUT"
default BUSYBOX_DEFAULT_ASH_IDLE_TIMEOUT
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
help
Enables bash-like auto-logout after $TMOUT seconds of idle time.
Enable bash-like auto-logout after $TMOUT seconds of idle time.
config BUSYBOX_CONFIG_ASH_JOB_CONTROL
bool "Job control"
default BUSYBOX_DEFAULT_ASH_JOB_CONTROL
config BUSYBOX_CONFIG_ASH_MAIL
bool "Check for new mail in interactive shell"
default BUSYBOX_DEFAULT_ASH_MAIL
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
help
Enable job control in the ash shell.
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_ALIAS
bool "Alias support"
default BUSYBOX_DEFAULT_ASH_ALIAS
config BUSYBOX_CONFIG_ASH_ECHO
bool "echo builtin"
default BUSYBOX_DEFAULT_ASH_ECHO
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
help
Enable alias support in the ash shell.
config BUSYBOX_CONFIG_ASH_GETOPTS
bool "Builtin getopt to parse positional parameters"
default BUSYBOX_DEFAULT_ASH_GETOPTS
config BUSYBOX_CONFIG_ASH_PRINTF
bool "printf builtin"
default BUSYBOX_DEFAULT_ASH_PRINTF
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
help
Enable support for getopts builtin in ash.
config BUSYBOX_CONFIG_ASH_BUILTIN_ECHO
bool "Builtin version of 'echo'"
default BUSYBOX_DEFAULT_ASH_BUILTIN_ECHO
config BUSYBOX_CONFIG_ASH_TEST
bool "test builtin"
default BUSYBOX_DEFAULT_ASH_TEST
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
help
Enable support for echo builtin in ash.
config BUSYBOX_CONFIG_ASH_BUILTIN_PRINTF
bool "Builtin version of 'printf'"
default BUSYBOX_DEFAULT_ASH_BUILTIN_PRINTF
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
help
Enable support for printf builtin in ash.
config BUSYBOX_CONFIG_ASH_BUILTIN_TEST
bool "Builtin version of 'test'"
default BUSYBOX_DEFAULT_ASH_BUILTIN_TEST
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
help
Enable support for test builtin in ash.
config BUSYBOX_CONFIG_ASH_HELP
bool "help builtin"
default BUSYBOX_DEFAULT_ASH_HELP
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
help
Enable help builtin in ash.
config BUSYBOX_CONFIG_ASH_GETOPTS
bool "getopts builtin"
default BUSYBOX_DEFAULT_ASH_GETOPTS
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
config BUSYBOX_CONFIG_ASH_CMDCMD
bool "'command' command to override shell builtins"
bool "command builtin"
default BUSYBOX_DEFAULT_ASH_CMDCMD
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_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.
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.
config BUSYBOX_CONFIG_ASH_MAIL
bool "Check for new mail on interactive shells"
default BUSYBOX_DEFAULT_ASH_MAIL
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
help
Enable "check for new mail" function in the ash shell.
endif # ash options
config BUSYBOX_CONFIG_CTTYHACK
bool "cttyhack"
default BUSYBOX_DEFAULT_CTTYHACK
@@ -243,8 +258,6 @@ config BUSYBOX_CONFIG_HUSH_BASH_COMPAT
bool "bash-compatible extensions"
default BUSYBOX_DEFAULT_HUSH_BASH_COMPAT
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
help
Enable bash-compatible extensions.
config BUSYBOX_CONFIG_HUSH_BRACE_EXPANSION
bool "Brace expansion"
@@ -253,13 +266,6 @@ config BUSYBOX_CONFIG_HUSH_BRACE_EXPANSION
help
Enable {abc,def} extension.
config BUSYBOX_CONFIG_HUSH_HELP
bool "help builtin"
default BUSYBOX_DEFAULT_HUSH_HELP
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
help
Enable help builtin in hush. Code size + ~1 kbyte.
config BUSYBOX_CONFIG_HUSH_INTERACTIVE
bool "Interactive mode"
default BUSYBOX_DEFAULT_HUSH_INTERACTIVE
@@ -274,8 +280,6 @@ 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
help
Enable history saving in hush.
config BUSYBOX_CONFIG_HUSH_JOB
bool "Job control"
@@ -289,42 +293,38 @@ config BUSYBOX_CONFIG_HUSH_JOB
but no separate process group is formed.
config BUSYBOX_CONFIG_HUSH_TICK
bool "Process substitution"
bool "Support process substitution"
default BUSYBOX_DEFAULT_HUSH_TICK
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
help
Enable process substitution `command` and $(command) in hush.
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_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
help
Enable if/then/elif/else/fi in hush.
config BUSYBOX_CONFIG_HUSH_LOOPS
bool "Support for, while and until loops"
default BUSYBOX_DEFAULT_HUSH_LOOPS
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
help
Enable for, while and until loops in hush.
config BUSYBOX_CONFIG_HUSH_CASE
bool "Support case ... esac statement"
default BUSYBOX_DEFAULT_HUSH_CASE
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
help
Enable case ... esac statement in hush. +400 bytes.
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_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
help
Enable support for shell functions in hush. +800 bytes.
Enable support for shell functions. +800 bytes.
config BUSYBOX_CONFIG_HUSH_LOCAL
bool "Support local builtin"
bool "local builtin"
default BUSYBOX_DEFAULT_HUSH_LOCAL
depends on BUSYBOX_CONFIG_HUSH_FUNCTIONS
help
@@ -338,13 +338,6 @@ config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT
Enable pseudorandom generator and dynamic variable "$RANDOM".
Each read of "$RANDOM" will generate a new pseudorandom value.
config BUSYBOX_CONFIG_HUSH_EXPORT_N
bool "Support 'export -n' option"
default BUSYBOX_DEFAULT_HUSH_EXPORT_N
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
help
export -n unexports variables. It is a bash extension.
config BUSYBOX_CONFIG_HUSH_MODE_X
bool "Support 'hush -x' option and 'set -x' command"
default BUSYBOX_DEFAULT_HUSH_MODE_X
@@ -353,6 +346,88 @@ config BUSYBOX_CONFIG_HUSH_MODE_X
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_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
config BUSYBOX_CONFIG_HUSH_PRINTF
bool "printf builtin"
default BUSYBOX_DEFAULT_HUSH_PRINTF
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
config BUSYBOX_CONFIG_HUSH_TEST
bool "test builtin"
default BUSYBOX_DEFAULT_HUSH_TEST
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
config BUSYBOX_CONFIG_HUSH_HELP
bool "help builtin"
default BUSYBOX_DEFAULT_HUSH_HELP
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
config BUSYBOX_CONFIG_HUSH_EXPORT
bool "export builtin"
default BUSYBOX_DEFAULT_HUSH_EXPORT
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_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_KILL
bool "kill builtin (supports kill %jobspec)"
default BUSYBOX_DEFAULT_HUSH_KILL
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
config BUSYBOX_CONFIG_HUSH_WAIT
bool "wait builtin"
default BUSYBOX_DEFAULT_HUSH_WAIT
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
config BUSYBOX_CONFIG_HUSH_TRAP
bool "trap builtin"
default BUSYBOX_DEFAULT_HUSH_TRAP
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
config BUSYBOX_CONFIG_HUSH_TYPE
bool "type builtin"
default BUSYBOX_DEFAULT_HUSH_TYPE
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
config BUSYBOX_CONFIG_HUSH_READ
bool "read builtin"
default BUSYBOX_DEFAULT_HUSH_READ
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
config BUSYBOX_CONFIG_HUSH_SET
bool "set builtin"
default BUSYBOX_DEFAULT_HUSH_SET
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
config BUSYBOX_CONFIG_HUSH_UNSET
bool "unset builtin"
default BUSYBOX_DEFAULT_HUSH_UNSET
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
config BUSYBOX_CONFIG_HUSH_ULIMIT
bool "ulimit builtin"
default BUSYBOX_DEFAULT_HUSH_ULIMIT
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
config BUSYBOX_CONFIG_HUSH_UMASK
bool "umask builtin"
default BUSYBOX_DEFAULT_HUSH_UMASK
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
config BUSYBOX_CONFIG_HUSH_MEMLEAK
bool "memleak builtin (debugging)"
default BUSYBOX_DEFAULT_HUSH_MEMLEAK
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
config BUSYBOX_CONFIG_MSH
bool "msh (deprecated: aliased to hush)"
default BUSYBOX_DEFAULT_MSH
@@ -361,6 +436,9 @@ config BUSYBOX_CONFIG_MSH
msh is deprecated and will be removed, please migrate to hush.
comment "Options common to all shells"
if ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
config BUSYBOX_CONFIG_FEATURE_SH_MATH
bool "POSIX math support"
default BUSYBOX_DEFAULT_FEATURE_SH_MATH
@@ -399,23 +477,11 @@ config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE
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.
with right parameters.
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.
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"
@@ -444,5 +510,6 @@ config BUSYBOX_CONFIG_FEATURE_SH_HISTFILESIZE
to set shell history size. Note that its max value is capped
by "History size" setting in library tuning section.
endif # Options common to all shells
endmenu