Remove the CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN option. It was sortof

stupid and didn't work properly anyways.
This commit is contained in:
Eric Andersen 2004-04-07 09:34:27 +00:00
parent b80c67e32c
commit 075dd81c44
8 changed files with 8 additions and 43 deletions

View File

@ -437,7 +437,6 @@ CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y
CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION=y
CONFIG_FEATURE_COMMAND_HISTORY=15
CONFIG_FEATURE_SH_STANDALONE_SHELL=y
CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN=y
CONFIG_FEATURE_SH_FANCY_PROMPT=y
# CONFIG_FEATURE_SH_EXTRA_QUIET is not set

1
debian/config-udeb vendored
View File

@ -359,7 +359,6 @@ CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y
# CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set
CONFIG_FEATURE_COMMAND_HISTORY=15
CONFIG_FEATURE_SH_STANDALONE_SHELL=y
# CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN is not set
CONFIG_FEATURE_SH_FANCY_PROMPT=y
# CONFIG_FEATURE_SH_EXTRA_QUIET is not set

View File

@ -368,7 +368,6 @@ CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y
# CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set
CONFIG_FEATURE_COMMAND_HISTORY=15
CONFIG_FEATURE_SH_STANDALONE_SHELL=y
# CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN is not set
CONFIG_FEATURE_SH_FANCY_PROMPT=y
# CONFIG_FEATURE_SH_EXTRA_QUIET is not set

View File

@ -160,16 +160,14 @@ config CONFIG_FEATURE_SH_STANDALONE_SHELL
default n
depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
help
Have all the busybox commands built into the shell, creating
a standalone shell.
config CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN
bool "Standalone shell -- applets always win"
default n
depends on CONFIG_FEATURE_SH_STANDALONE_SHELL
help
Use a command builtin to the shell over one with the same name,
that may be on the system.
This option causes the selected busybox shell 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 staticly linked version of busybox
for use as a rescue shell, in the event that you screw up your system.
config CONFIG_FEATURE_COMMAND_EDITING
bool "command line editing"

View File

@ -3717,15 +3717,9 @@ tryexec(char *cmd, char **argv, char **envp)
int flg_bb = 0;
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) {
flg_bb = 1;
}
#endif
if(flg_bb) {
char **ap;
char **new;

View File

@ -1124,18 +1124,6 @@ static void pseudo_exec(struct child_prog *child)
char** argv_l=child->argv;
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... */
for(argc_l=0;*argv_l!=NULL; argv_l++, argc_l++);
optind = 1;

View File

@ -1275,15 +1275,6 @@ static int pseudo_exec(struct child_prog *child)
*/
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;
int argc_l;

View File

@ -2836,9 +2836,6 @@ char *c, **v, **envp;
#ifdef CONFIG_FEATURE_SH_STANDALONE_SHELL
char *name = c;
#ifdef CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN
name = bb_get_last_path_component(name);
#endif
optind = 1;
if (find_applet_by_name(name)) {
/* We have to exec here since we vforked. Running