It is possible for any of BusyBox, Dash, or Bash to install the /usr/bin/sh symbolic link. Only allow BASH_SH to be enabled if the symbolic link is not being installed by either BusyBox or Dash (unless overridden by ALLYES). Default to enabled if the link is not being installed by BusyBox or Dash. Also allow it to be manually disabled.
Rationale: It is common for Bash to be installed as an interactive login shell, but to use something lighter and faster for non-interactive use. Shell scripts typically use /bin/sh as the interpreter selected by the "shebang" line. Signed-off-by: Ian Abbott <[email protected]> --- rules/bash.in | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/rules/bash.in b/rules/bash.in index 3b3dd845d..5276df8d1 100644 --- a/rules/bash.in +++ b/rules/bash.in @@ -262,8 +262,20 @@ config BASH_CURSES bool prompt "Use libcurses instead of libtermcap" +comment "BusyBox sh is selected" + depends on BUSYBOX && !BUSYBOX_SH_IS_NONE + +comment "Dash sh is selected" + depends on DASH_LINK_SH + config BASH_SH bool - default BUSYBOX = n || BUSYBOX_SH_IS_NONE + depends on (!BUSYBOX || BUSYBOX_SH_IS_NONE) && !DASH_LINK_SH || ALLYES + default (!BUSYBOX || BUSYBOX_SH_IS_NONE) && !DASH_LINK_SH + prompt "link to /bin/sh" + help + Create a link symbolic link "/usr/bin/sh" ("/bin/sh") to + "bash". Select this to use bash as the interpreter for Bourne + shell scripts using the canonical "#!/bin/sh" shebang line. endif -- 2.43.0
