Remove the CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN option. It was sortof
stupid and didn't work properly anyways.
This commit is contained in:
1
debian/config-static
vendored
1
debian/config-static
vendored
@ -437,7 +437,6 @@ CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y
|
|||||||
CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION=y
|
CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION=y
|
||||||
CONFIG_FEATURE_COMMAND_HISTORY=15
|
CONFIG_FEATURE_COMMAND_HISTORY=15
|
||||||
CONFIG_FEATURE_SH_STANDALONE_SHELL=y
|
CONFIG_FEATURE_SH_STANDALONE_SHELL=y
|
||||||
CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN=y
|
|
||||||
CONFIG_FEATURE_SH_FANCY_PROMPT=y
|
CONFIG_FEATURE_SH_FANCY_PROMPT=y
|
||||||
# CONFIG_FEATURE_SH_EXTRA_QUIET is not set
|
# CONFIG_FEATURE_SH_EXTRA_QUIET is not set
|
||||||
|
|
||||||
|
1
debian/config-udeb
vendored
1
debian/config-udeb
vendored
@ -359,7 +359,6 @@ CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y
|
|||||||
# CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set
|
# CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set
|
||||||
CONFIG_FEATURE_COMMAND_HISTORY=15
|
CONFIG_FEATURE_COMMAND_HISTORY=15
|
||||||
CONFIG_FEATURE_SH_STANDALONE_SHELL=y
|
CONFIG_FEATURE_SH_STANDALONE_SHELL=y
|
||||||
# CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN is not set
|
|
||||||
CONFIG_FEATURE_SH_FANCY_PROMPT=y
|
CONFIG_FEATURE_SH_FANCY_PROMPT=y
|
||||||
# CONFIG_FEATURE_SH_EXTRA_QUIET is not set
|
# CONFIG_FEATURE_SH_EXTRA_QUIET is not set
|
||||||
|
|
||||||
|
1
debian/config-udeb-linux
vendored
1
debian/config-udeb-linux
vendored
@ -368,7 +368,6 @@ CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y
|
|||||||
# CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set
|
# CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set
|
||||||
CONFIG_FEATURE_COMMAND_HISTORY=15
|
CONFIG_FEATURE_COMMAND_HISTORY=15
|
||||||
CONFIG_FEATURE_SH_STANDALONE_SHELL=y
|
CONFIG_FEATURE_SH_STANDALONE_SHELL=y
|
||||||
# CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN is not set
|
|
||||||
CONFIG_FEATURE_SH_FANCY_PROMPT=y
|
CONFIG_FEATURE_SH_FANCY_PROMPT=y
|
||||||
# CONFIG_FEATURE_SH_EXTRA_QUIET is not set
|
# CONFIG_FEATURE_SH_EXTRA_QUIET is not set
|
||||||
|
|
||||||
|
@ -160,16 +160,14 @@ config CONFIG_FEATURE_SH_STANDALONE_SHELL
|
|||||||
default n
|
default n
|
||||||
depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
|
depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
|
||||||
help
|
help
|
||||||
Have all the busybox commands built into the shell, creating
|
This option causes the selected busybox shell to use busybox applets
|
||||||
a standalone shell.
|
in preference to executables in the PATH whenever possible. For
|
||||||
|
example, entering the command 'ifconfig' into the shell would cause
|
||||||
config CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN
|
busybox to use the ifconfig busybox applet. Specifying the fully
|
||||||
bool "Standalone shell -- applets always win"
|
qualified executable name, such as '/sbin/ifconfig' will still
|
||||||
default n
|
execute the /sbin/ifconfig executable on the filesystem. This option
|
||||||
depends on CONFIG_FEATURE_SH_STANDALONE_SHELL
|
is generally used when creating a staticly linked version of busybox
|
||||||
help
|
for use as a rescue shell, in the event that you screw up your system.
|
||||||
Use a command builtin to the shell over one with the same name,
|
|
||||||
that may be on the system.
|
|
||||||
|
|
||||||
config CONFIG_FEATURE_COMMAND_EDITING
|
config CONFIG_FEATURE_COMMAND_EDITING
|
||||||
bool "command line editing"
|
bool "command line editing"
|
||||||
|
@ -3717,15 +3717,9 @@ tryexec(char *cmd, char **argv, char **envp)
|
|||||||
int flg_bb = 0;
|
int flg_bb = 0;
|
||||||
char *name = cmd;
|
char *name = cmd;
|
||||||
|
|
||||||
#ifdef CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN
|
|
||||||
name = bb_get_last_path_component(name);
|
|
||||||
if(find_applet_by_name(name) != NULL)
|
|
||||||
flg_bb = 1;
|
|
||||||
#else
|
|
||||||
if(strchr(name, '/') == NULL && find_applet_by_name(name) != NULL) {
|
if(strchr(name, '/') == NULL && find_applet_by_name(name) != NULL) {
|
||||||
flg_bb = 1;
|
flg_bb = 1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
if(flg_bb) {
|
if(flg_bb) {
|
||||||
char **ap;
|
char **ap;
|
||||||
char **new;
|
char **new;
|
||||||
|
12
shell/hush.c
12
shell/hush.c
@ -1124,18 +1124,6 @@ static void pseudo_exec(struct child_prog *child)
|
|||||||
char** argv_l=child->argv;
|
char** argv_l=child->argv;
|
||||||
char *name = child->argv[0];
|
char *name = child->argv[0];
|
||||||
|
|
||||||
#ifdef CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN
|
|
||||||
/* Following discussions from November 2000 on the busybox mailing
|
|
||||||
* list, the default configuration, (without
|
|
||||||
* bb_get_last_path_component()) lets the user force use of an
|
|
||||||
* external command by specifying the full (with slashes) filename.
|
|
||||||
* If you enable CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN, then applets
|
|
||||||
* _aways_ override external commands, so if you want to run
|
|
||||||
* /bin/cat, it will use BusyBox cat even if /bin/cat exists on the
|
|
||||||
* filesystem and is _not_ busybox. Some systems may want this,
|
|
||||||
* most do not. */
|
|
||||||
name = bb_get_last_path_component(name);
|
|
||||||
#endif
|
|
||||||
/* Count argc for use in a second... */
|
/* Count argc for use in a second... */
|
||||||
for(argc_l=0;*argv_l!=NULL; argv_l++, argc_l++);
|
for(argc_l=0;*argv_l!=NULL; argv_l++, argc_l++);
|
||||||
optind = 1;
|
optind = 1;
|
||||||
|
@ -1275,15 +1275,6 @@ static int pseudo_exec(struct child_prog *child)
|
|||||||
*/
|
*/
|
||||||
name = child->argv[0];
|
name = child->argv[0];
|
||||||
|
|
||||||
#ifdef CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN
|
|
||||||
/* If you enable CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN, then
|
|
||||||
* if you run /bin/cat, it will use BusyBox cat even if
|
|
||||||
* /bin/cat exists on the filesystem and is _not_ busybox.
|
|
||||||
* Some systems want this, others do not. Choose wisely. :-)
|
|
||||||
*/
|
|
||||||
name = bb_get_last_path_component(name);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
{
|
{
|
||||||
char** argv_l=child->argv;
|
char** argv_l=child->argv;
|
||||||
int argc_l;
|
int argc_l;
|
||||||
|
@ -2836,9 +2836,6 @@ char *c, **v, **envp;
|
|||||||
|
|
||||||
#ifdef CONFIG_FEATURE_SH_STANDALONE_SHELL
|
#ifdef CONFIG_FEATURE_SH_STANDALONE_SHELL
|
||||||
char *name = c;
|
char *name = c;
|
||||||
#ifdef CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN
|
|
||||||
name = bb_get_last_path_component(name);
|
|
||||||
#endif
|
|
||||||
optind = 1;
|
optind = 1;
|
||||||
if (find_applet_by_name(name)) {
|
if (find_applet_by_name(name)) {
|
||||||
/* We have to exec here since we vforked. Running
|
/* We have to exec here since we vforked. Running
|
||||||
|
Reference in New Issue
Block a user