[BusyBox] Question about internal apps....

David Douthitt ssrat at mailbag.com
Fri Aug 10 10:08:11 UTC 2001


Erik Andersen wrote:
> 
> On Fri Aug 10, 2001 at 10:23:17AM -0400, David Douthitt wrote:
> > I have this in my Config.h
> >
> > //Allow the shell to invoke all the compiled in BusyBox applets as if
> > they
> > //were shell builtins.  Nice for staticly linking an emergency rescue
> > shell,
> > //among other things. Off by default.
> > // Only relevant if a shell is enabled.
> > #define BB_FEATURE_SH_STANDALONE_SHELL
> >
> > Now, I thought that this meant that busybox applets would entirely act
> > as if internal.  For example, in a system without only busybox installed
> [-------------snip---------------]
> > # tftp --help
> > tftp: No such file or directory
> 
> Works fine for me here.  Did you also enable BB_FEATURE_SH_APPLETS_ALWAYS_WIN?

I wondered about that, but I consciously left it out.  I'd like
something like this:

Given echo (internal) and /bin/echo (with a faked up -V parameter for
example's sake), I'd like this behavior (seems logical to me):

# busybox --install
/bin/echo already exists...
# echo -V
busybox ash 0.6.0
# /bin/echo -V
GNU echo 3.7

See?  Isn't this fairly standard?  My impression of
BB_FEATURE_SH_APPLETS_ALWAYS_WIN is that this would occur:

# busybox --install
/bin/echo already exists
# echo -V
busybox ash 0.6.0
# /bin/echo -V
busybox ash 0.6.0

...is this not what happens?  The description says:

//When this is enabled, busybox shell applets can be called using full
path
//names.  This causes applets (i.e., most busybox commands) to override
//real commands on the filesystem.  For example, if you run 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.  :-)
This
//only has meaning when BB_FEATURE_SH_STANDALONE_SHELL is enabled.
// Only relevant if a shell is enabled. Off by default.

I don't want this behavior.





More information about the busybox mailing list