diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-11-23 23:28:55 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-11-23 23:28:55 +0000 |
commit | 96702ca945a8deac1f989584f2b25d1a16d14b72 (patch) | |
tree | 4de934d94214ca3b46dbce6de8dabe4517bd5247 | |
parent | 8ec6ee47f1e70ff25518ad6455e68d45d7ce1b87 (diff) | |
download | busybox-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-- | TODO | 11 | ||||
-rw-r--r-- | include/applets.h | 1 | ||||
-rw-r--r-- | include/usage.h | 10 | ||||
-rw-r--r-- | shell/Config.in | 17 | ||||
-rw-r--r-- | shell/Kbuild | 1 | ||||
-rw-r--r-- | shell/hush.c | 10 | ||||
-rw-r--r-- | shell/lash_unused.c (renamed from shell/lash.c) | 0 |
7 files changed, 19 insertions, 31 deletions
@@ -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)) | |||
312 | USE_SETUIDGID(APPLET_ODDNAME(setuidgid, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, setuidgid)) | 312 | USE_SETUIDGID(APPLET_ODDNAME(setuidgid, chpst, _BB_DIR_USR_BIN, _BB_SUID_NEVER, setuidgid)) |
313 | USE_FEATURE_SH_IS_ASH(APPLET_NOUSAGE(sh, ash, _BB_DIR_BIN, _BB_SUID_NEVER)) | 313 | USE_FEATURE_SH_IS_ASH(APPLET_NOUSAGE(sh, ash, _BB_DIR_BIN, _BB_SUID_NEVER)) |
314 | USE_FEATURE_SH_IS_HUSH(APPLET_NOUSAGE(sh, hush, _BB_DIR_BIN, _BB_SUID_NEVER)) | 314 | USE_FEATURE_SH_IS_HUSH(APPLET_NOUSAGE(sh, hush, _BB_DIR_BIN, _BB_SUID_NEVER)) |
315 | USE_FEATURE_SH_IS_LASH(APPLET_NOUSAGE(sh, lash, _BB_DIR_BIN, _BB_SUID_NEVER)) | ||
316 | USE_FEATURE_SH_IS_MSH(APPLET_NOUSAGE(sh, msh, _BB_DIR_BIN, _BB_SUID_NEVER)) | 315 | USE_FEATURE_SH_IS_MSH(APPLET_NOUSAGE(sh, msh, _BB_DIR_BIN, _BB_SUID_NEVER)) |
317 | USE_SHA1SUM(APPLET_ODDNAME(sha1sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER, sha1sum)) | 316 | USE_SHA1SUM(APPLET_ODDNAME(sha1sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER, sha1sum)) |
318 | USE_SLATTACH(APPLET(slattach, _BB_DIR_SBIN, _BB_SUID_NEVER)) | 317 | USE_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 | ||
23 | config FEATURE_SH_IS_LASH | 23 | ####config FEATURE_SH_IS_LASH |
24 | select LASH | 24 | #### select LASH |
25 | bool "lash" | 25 | #### bool "lash" |
26 | 26 | ||
27 | config FEATURE_SH_IS_MSH | 27 | config FEATURE_SH_IS_MSH |
28 | select MSH | 28 | select MSH |
@@ -229,16 +229,9 @@ config HUSH_LOOPS | |||
229 | config LASH | 229 | config 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 | ||
244 | config MSH | 237 | config MSH |
diff --git a/shell/Kbuild b/shell/Kbuild index 944eaff51..36a8ffd3a 100644 --- a/shell/Kbuild +++ b/shell/Kbuild | |||
@@ -7,7 +7,6 @@ | |||
7 | lib-y:= | 7 | lib-y:= |
8 | lib-$(CONFIG_ASH) += ash.o | 8 | lib-$(CONFIG_ASH) += ash.o |
9 | lib-$(CONFIG_HUSH) += hush.o | 9 | lib-$(CONFIG_HUSH) += hush.o |
10 | lib-$(CONFIG_LASH) += lash.o | ||
11 | lib-$(CONFIG_MSH) += msh.o | 10 | lib-$(CONFIG_MSH) += msh.o |
12 | 11 | ||
13 | lib-$(CONFIG_CTTYHACK) += cttyhack.o | 12 | lib-$(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 | ||
3931 | int lash_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | ||
3932 | int 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 | |||