aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2007-11-23 23:28:55 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2007-11-23 23:28:55 +0000
commit96702ca945a8deac1f989584f2b25d1a16d14b72 (patch)
tree4de934d94214ca3b46dbce6de8dabe4517bd5247
parent8ec6ee47f1e70ff25518ad6455e68d45d7ce1b87 (diff)
downloadbusybox-w32-96702ca945a8deac1f989584f2b25d1a16d14b72.tar.gz
busybox-w32-96702ca945a8deac1f989584f2b25d1a16d14b72.tar.bz2
busybox-w32-96702ca945a8deac1f989584f2b25d1a16d14b72.zip
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 10ed7e0d5..52a4aad11 100644
--- a/TODO
+++ b/TODO
@@ -22,12 +22,9 @@ Rob Landley <rob@landley.net>:
22 The command shell situation is a big mess. We have three or four different 22 The command shell situation is a big mess. We have three or four different
23 shells that don't really share any code, and the "standalone shell" doesn't 23 shells that don't really share any code, and the "standalone shell" doesn't
24 work all that well (especially not in a chroot environment), due to apps not 24 work all that well (especially not in a chroot environment), due to apps not
25 being reentrant. I'm writing a new shell (bbsh) to unify the various 25 being reentrant.
26 shells and configurably add the minimal set of bash features people 26 lash is phased out. hush can be configured down to be nearly as small,
27 actually use. The hardest part is it has to configure down as small as 27 but less buggy :)
28 lash while providing lash's features. The rest is easy in comparison.
29 bzip2
30 Compression-side support.
31 init 28 init
32 General cleanup (should use ENABLE_FEATURE_INIT_SYSLOG and ENABLE_FEATURE_INIT_DEBUG). 29 General cleanup (should use ENABLE_FEATURE_INIT_SYSLOG and ENABLE_FEATURE_INIT_DEBUG).
33 depmod 30 depmod
@@ -35,8 +32,6 @@ Rob Landley <rob@landley.net>:
35 use of the depmod.pl (perl is to bloated for most embedded setups) and or orig 32 use of the depmod.pl (perl is to bloated for most embedded setups) and or orig
36 modutils. The orig depmod is rather pointless to have to add to a firmware image 33 modutils. The orig depmod is rather pointless to have to add to a firmware image
37 in when we already have a insmod/rmmod and friends. 34 in when we already have a insmod/rmmod and friends.
38 Unify base64 handling.
39 [done]
40 Do a SUSv3 audit 35 Do a SUSv3 audit
41 Look at the full Single Unix Specification version 3 (available online at 36 Look at the full Single Unix Specification version 3 (available online at
42 "http://www.opengroup.org/onlinepubs/009695399/nfindex.html") and 37 "http://www.opengroup.org/onlinepubs/009695399/nfindex.html") and
diff --git a/include/applets.h b/include/applets.h
index 757fa4a25..8fdf1a241 100644
--- a/include/applets.h
+++ b/include/applets.h
@@ -312,7 +312,6 @@ USE_SETSID(APPLET(setsid, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
312USE_SETUIDGID(APPLET_ODDNAME(setuidgid, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, setuidgid)) 312USE_SETUIDGID(APPLET_ODDNAME(setuidgid, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, setuidgid))
313USE_FEATURE_SH_IS_ASH(APPLET_NOUSAGE(sh, ash, _BB_DIR_BIN, _BB_SUID_NEVER)) 313USE_FEATURE_SH_IS_ASH(APPLET_NOUSAGE(sh, ash, _BB_DIR_BIN, _BB_SUID_NEVER))
314USE_FEATURE_SH_IS_HUSH(APPLET_NOUSAGE(sh, hush, _BB_DIR_BIN, _BB_SUID_NEVER)) 314USE_FEATURE_SH_IS_HUSH(APPLET_NOUSAGE(sh, hush, _BB_DIR_BIN, _BB_SUID_NEVER))
315USE_FEATURE_SH_IS_LASH(APPLET_NOUSAGE(sh, lash, _BB_DIR_BIN, _BB_SUID_NEVER))
316USE_FEATURE_SH_IS_MSH(APPLET_NOUSAGE(sh, msh, _BB_DIR_BIN, _BB_SUID_NEVER)) 315USE_FEATURE_SH_IS_MSH(APPLET_NOUSAGE(sh, msh, _BB_DIR_BIN, _BB_SUID_NEVER))
317USE_SHA1SUM(APPLET_ODDNAME(sha1sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER, sha1sum)) 316USE_SHA1SUM(APPLET_ODDNAME(sha1sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER, sha1sum))
318USE_SLATTACH(APPLET(slattach, _BB_DIR_SBIN, _BB_SUID_NEVER)) 317USE_SLATTACH(APPLET(slattach, _BB_DIR_SBIN, _BB_SUID_NEVER))
diff --git a/include/usage.h b/include/usage.h
index 82a17578a..d910e2bf6 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
3194 "[FILE]...\n" \ 3194 "[FILE]...\n" \
3195 "or: sh -c command [args]..." 3195 "or: sh -c command [args]..."
3196#define lash_full_usage \ 3196#define lash_full_usage \
3197 "The BusyBox LAme SHell (command interpreter)" 3197 "lash is deprecated, please use hush"
3198#define lash_notes_usage \
3199 "This command does not yet have proper documentation.\n\n" \
3200 "Use lash just as you would use any other shell. It properly handles pipes,\n" \
3201 "redirects, job control, can be used as the shell for scripts, and has a\n" \
3202 "sufficient set of builtins to do what is needed. It does not (yet) support\n" \
3203 "Bourne Shell syntax. If you need things like \"if-then-else\", \"while\", and such\n" \
3204 "use ash or bash. If you just need a very simple and extremely small shell,\n" \
3205 "this will do the job."
3206 3198
3207#define last_trivial_usage \ 3199#define last_trivial_usage \
3208 "" 3200 ""
diff --git a/shell/Config.in b/shell/Config.in
index 312583e87..9328c9102 100644
--- a/shell/Config.in
+++ b/shell/Config.in
@@ -20,9 +20,9 @@ config FEATURE_SH_IS_HUSH
20 select HUSH 20 select HUSH
21 bool "hush" 21 bool "hush"
22 22
23config FEATURE_SH_IS_LASH 23####config FEATURE_SH_IS_LASH
24 select LASH 24#### select LASH
25 bool "lash" 25#### bool "lash"
26 26
27config FEATURE_SH_IS_MSH 27config FEATURE_SH_IS_MSH
28 select MSH 28 select MSH
@@ -229,16 +229,9 @@ config HUSH_LOOPS
229config LASH 229config LASH
230 bool "lash" 230 bool "lash"
231 default n 231 default n
232 select TRUE 232 select HUSH
233 select FALSE
234 select TEST
235 help 233 help
236 lash is the very smallest shell (adds just 10k) and it is quite 234 lash is deprecated and will be removed, please migrate to hush.
237 usable as a command prompt, but it is not suitable for any but the
238 most trivial scripting (such as an initrd that calls insmod a few
239 times) since it does not understand any Bourne shell grammar. It
240 does handle pipes, redirects, and job control though. Adding in
241 command editing makes it a very nice lightweight command prompt.
242 235
243 236
244config MSH 237config MSH
diff --git a/shell/Kbuild b/shell/Kbuild
index 944eaff51..36a8ffd3a 100644
--- a/shell/Kbuild
+++ b/shell/Kbuild
@@ -7,7 +7,6 @@
7lib-y:= 7lib-y:=
8lib-$(CONFIG_ASH) += ash.o 8lib-$(CONFIG_ASH) += ash.o
9lib-$(CONFIG_HUSH) += hush.o 9lib-$(CONFIG_HUSH) += hush.o
10lib-$(CONFIG_LASH) += lash.o
11lib-$(CONFIG_MSH) += msh.o 10lib-$(CONFIG_MSH) += msh.o
12 11
13lib-$(CONFIG_CTTYHACK) += cttyhack.o 12lib-$(CONFIG_CTTYHACK) += cttyhack.o
diff --git a/shell/hush.c b/shell/hush.c
index 6bf4d1d19..b3c77aa14 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -3925,3 +3925,13 @@ int hush_main(int argc, char **argv)
3925#endif 3925#endif
3926 hush_exit(opt ? opt : last_return_code); 3926 hush_exit(opt ? opt : last_return_code);
3927} 3927}
3928
3929
3930#if ENABLE_LASH
3931int lash_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
3932int lash_main(int argc, char **argv)
3933{
3934 //bb_error_msg("lash is deprecated, please use hush instead");
3935 return hush_main(argc, argv);
3936}
3937#endif
diff --git a/shell/lash.c b/shell/lash_unused.c
index 781dfdb5a..781dfdb5a 100644
--- a/shell/lash.c
+++ b/shell/lash_unused.c