summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Vlasenko2007-11-23 23:28:55 +0000
committerDenis Vlasenko2007-11-23 23:28:55 +0000
commit96702ca945a8deac1f989584f2b25d1a16d14b72 (patch)
tree4de934d94214ca3b46dbce6de8dabe4517bd5247
parent8ec6ee47f1e70ff25518ad6455e68d45d7ce1b87 (diff)
downloadbusybox-96702ca945a8deac1f989584f2b25d1a16d14b72.zip
busybox-96702ca945a8deac1f989584f2b25d1a16d14b72.tar.gz
kill lash. "lash" builtin still exists, but it runs hush.
-rw-r--r--TODO11
-rw-r--r--include/applets.h1
-rw-r--r--include/usage.h10
-rw-r--r--shell/Config.in17
-rw-r--r--shell/Kbuild1
-rw-r--r--shell/hush.c10
-rw-r--r--shell/lash_unused.c (renamed from shell/lash.c)0
7 files changed, 19 insertions, 31 deletions
diff --git a/TODO b/TODO
index 10ed7e0..52a4aad 100644
--- a/TODO
+++ b/TODO
@@ -22,12 +22,9 @@ Rob Landley <rob@landley.net>:
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
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
- shells and configurably add the minimal set of bash features people
- actually use. The hardest part is it has to configure down as small as
- lash while providing lash's features. The rest is easy in comparison.
- bzip2
- Compression-side support.
+ being reentrant.
+ lash is phased out. hush can be configured down to be nearly as small,
+ but less buggy :)
init
General cleanup (should use ENABLE_FEATURE_INIT_SYSLOG and ENABLE_FEATURE_INIT_DEBUG).
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
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.
- Unify base64 handling.
- [done]
Do a SUSv3 audit
Look at the full Single Unix Specification version 3 (available online at
"http://www.opengroup.org/onlinepubs/009695399/nfindex.html") and
diff --git a/include/applets.h b/include/applets.h
index 757fa4a..8fdf1a2 100644
--- a/include/applets.h
+++ b/include/applets.h
@@ -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_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_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_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))
diff --git a/include/usage.h b/include/usage.h
index 82a1757..d910e2b 100644
--- a/include/usage.h
+++ b/include/usage.h
@@ -3194,15 +3194,7 @@ USE_FEATURE_RUN_PARTS_FANCY("\n -l Prints names of all matching files even when
"[FILE]...\n" \
"or: sh -c command [args]..."
#define lash_full_usage \
- "The BusyBox LAme SHell (command interpreter)"
-#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."
+ "lash is deprecated, please use hush"
#define last_trivial_usage \
""
diff --git a/shell/Config.in b/shell/Config.in
index 312583e..9328c91 100644
--- a/shell/Config.in
+++ b/shell/Config.in
@@ -20,9 +20,9 @@ config FEATURE_SH_IS_HUSH
select HUSH
bool "hush"
-config FEATURE_SH_IS_LASH
- select LASH
- bool "lash"
+####config FEATURE_SH_IS_LASH
+#### select LASH
+#### bool "lash"
config FEATURE_SH_IS_MSH
select MSH
@@ -229,16 +229,9 @@ config HUSH_LOOPS
config LASH
bool "lash"
default n
- select TRUE
- select FALSE
- select TEST
+ select HUSH
help
- lash is the very smallest shell (adds just 10k) and it is quite
- 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.
+ lash is deprecated and will be removed, please migrate to hush.
config MSH
diff --git a/shell/Kbuild b/shell/Kbuild
index 944eaff..36a8ffd 100644
--- a/shell/Kbuild
+++ b/shell/Kbuild
@@ -7,7 +7,6 @@
lib-y:=
lib-$(CONFIG_ASH) += ash.o
lib-$(CONFIG_HUSH) += hush.o
-lib-$(CONFIG_LASH) += lash.o
lib-$(CONFIG_MSH) += msh.o
lib-$(CONFIG_CTTYHACK) += cttyhack.o
diff --git a/shell/hush.c b/shell/hush.c
index 6bf4d1d..b3c77aa 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -3925,3 +3925,13 @@ int hush_main(int argc, char **argv)
#endif
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
diff --git a/shell/lash.c b/shell/lash_unused.c
index 781dfdb..781dfdb 100644
--- a/shell/lash.c
+++ b/shell/lash_unused.c