kill lash. "lash" builtin still exists, but it runs hush.

This commit is contained in:
Denis Vlasenko 2007-11-23 23:28:55 +00:00
parent 8ec6ee47f1
commit 96702ca945
7 changed files with 19 additions and 31 deletions

11
TODO
View File

@ -22,12 +22,9 @@ Rob Landley <rob@landley.net>:
The command shell situation is a big mess. We have three or four different The command shell situation is a big mess. We have three or four different
shells that don't really share any code, and the "standalone shell" doesn't shells that don't really share any code, and the "standalone shell" doesn't
work all that well (especially not in a chroot environment), due to apps not work all that well (especially not in a chroot environment), due to apps not
being reentrant. I'm writing a new shell (bbsh) to unify the various being reentrant.
shells and configurably add the minimal set of bash features people lash is phased out. hush can be configured down to be nearly as small,
actually use. The hardest part is it has to configure down as small as but less buggy :)
lash while providing lash's features. The rest is easy in comparison.
bzip2
Compression-side support.
init init
General cleanup (should use ENABLE_FEATURE_INIT_SYSLOG and ENABLE_FEATURE_INIT_DEBUG). General cleanup (should use ENABLE_FEATURE_INIT_SYSLOG and ENABLE_FEATURE_INIT_DEBUG).
depmod depmod
@ -35,8 +32,6 @@ Rob Landley <rob@landley.net>:
use of the depmod.pl (perl is to bloated for most embedded setups) and or orig use of the depmod.pl (perl is to bloated for most embedded setups) and or orig
modutils. The orig depmod is rather pointless to have to add to a firmware image modutils. The orig depmod is rather pointless to have to add to a firmware image
in when we already have a insmod/rmmod and friends. in when we already have a insmod/rmmod and friends.
Unify base64 handling.
[done]
Do a SUSv3 audit Do a SUSv3 audit
Look at the full Single Unix Specification version 3 (available online at Look at the full Single Unix Specification version 3 (available online at
"http://www.opengroup.org/onlinepubs/009695399/nfindex.html") and "http://www.opengroup.org/onlinepubs/009695399/nfindex.html") and

View File

@ -312,7 +312,6 @@ USE_SETSID(APPLET(setsid, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
USE_SETUIDGID(APPLET_ODDNAME(setuidgid, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, setuidgid)) USE_SETUIDGID(APPLET_ODDNAME(setuidgid, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, setuidgid))
USE_FEATURE_SH_IS_ASH(APPLET_NOUSAGE(sh, ash, _BB_DIR_BIN, _BB_SUID_NEVER)) USE_FEATURE_SH_IS_ASH(APPLET_NOUSAGE(sh, ash, _BB_DIR_BIN, _BB_SUID_NEVER))
USE_FEATURE_SH_IS_HUSH(APPLET_NOUSAGE(sh, hush, _BB_DIR_BIN, _BB_SUID_NEVER)) USE_FEATURE_SH_IS_HUSH(APPLET_NOUSAGE(sh, hush, _BB_DIR_BIN, _BB_SUID_NEVER))
USE_FEATURE_SH_IS_LASH(APPLET_NOUSAGE(sh, lash, _BB_DIR_BIN, _BB_SUID_NEVER))
USE_FEATURE_SH_IS_MSH(APPLET_NOUSAGE(sh, msh, _BB_DIR_BIN, _BB_SUID_NEVER)) USE_FEATURE_SH_IS_MSH(APPLET_NOUSAGE(sh, msh, _BB_DIR_BIN, _BB_SUID_NEVER))
USE_SHA1SUM(APPLET_ODDNAME(sha1sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER, sha1sum)) USE_SHA1SUM(APPLET_ODDNAME(sha1sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER, sha1sum))
USE_SLATTACH(APPLET(slattach, _BB_DIR_SBIN, _BB_SUID_NEVER)) USE_SLATTACH(APPLET(slattach, _BB_DIR_SBIN, _BB_SUID_NEVER))

View File

@ -3194,15 +3194,7 @@ USE_FEATURE_RUN_PARTS_FANCY("\n -l Prints names of all matching files even when
"[FILE]...\n" \ "[FILE]...\n" \
"or: sh -c command [args]..." "or: sh -c command [args]..."
#define lash_full_usage \ #define lash_full_usage \
"The BusyBox LAme SHell (command interpreter)" "lash is deprecated, please use hush"
#define lash_notes_usage \
"This command does not yet have proper documentation.\n\n" \
"Use lash just as you would use any other shell. It properly handles pipes,\n" \
"redirects, job control, can be used as the shell for scripts, and has a\n" \
"sufficient set of builtins to do what is needed. It does not (yet) support\n" \
"Bourne Shell syntax. If you need things like \"if-then-else\", \"while\", and such\n" \
"use ash or bash. If you just need a very simple and extremely small shell,\n" \
"this will do the job."
#define last_trivial_usage \ #define last_trivial_usage \
"" ""

View File

@ -20,9 +20,9 @@ config FEATURE_SH_IS_HUSH
select HUSH select HUSH
bool "hush" bool "hush"
config FEATURE_SH_IS_LASH ####config FEATURE_SH_IS_LASH
select LASH #### select LASH
bool "lash" #### bool "lash"
config FEATURE_SH_IS_MSH config FEATURE_SH_IS_MSH
select MSH select MSH
@ -229,16 +229,9 @@ config HUSH_LOOPS
config LASH config LASH
bool "lash" bool "lash"
default n default n
select TRUE select HUSH
select FALSE
select TEST
help help
lash is the very smallest shell (adds just 10k) and it is quite lash is deprecated and will be removed, please migrate to hush.
usable as a command prompt, but it is not suitable for any but the
most trivial scripting (such as an initrd that calls insmod a few
times) since it does not understand any Bourne shell grammar. It
does handle pipes, redirects, and job control though. Adding in
command editing makes it a very nice lightweight command prompt.
config MSH config MSH

View File

@ -7,7 +7,6 @@
lib-y:= lib-y:=
lib-$(CONFIG_ASH) += ash.o lib-$(CONFIG_ASH) += ash.o
lib-$(CONFIG_HUSH) += hush.o lib-$(CONFIG_HUSH) += hush.o
lib-$(CONFIG_LASH) += lash.o
lib-$(CONFIG_MSH) += msh.o lib-$(CONFIG_MSH) += msh.o
lib-$(CONFIG_CTTYHACK) += cttyhack.o lib-$(CONFIG_CTTYHACK) += cttyhack.o

View File

@ -3925,3 +3925,13 @@ int hush_main(int argc, char **argv)
#endif #endif
hush_exit(opt ? opt : last_return_code); hush_exit(opt ? opt : last_return_code);
} }
#if ENABLE_LASH
int lash_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
int lash_main(int argc, char **argv)
{
//bb_error_msg("lash is deprecated, please use hush instead");
return hush_main(argc, argv);
}
#endif