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_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
View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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