source: freewrt/package/Config.in.shell@ fd3230b

Last change on this file since fd3230b was eb65834, checked in by Waldemar Brodkorb <wbx@…>, 18 years ago

add zsh for Sven Guckes, reorder some packages

git-svn-id: svn://www.freewrt.org/trunk/freewrt@2910 afb5a338-a214-0410-bd46-81f09a774fd1

  • Property mode set to 100644
File size: 6.2 KB
Line 
1# $FreeWRT$
2
3comment "Building shell packages and configuring their features"
4source "package/busybox/Config.ash"
5source "package/mksh/Config.in"
6source "package/bash/Config.in"
7source "package/zsh/Config.in"
8comment "Selecting appropriate shells from these enabled above"
9choice
10 prompt "Choose the default bourne shell (/bin/sh)"
11 default BUSYBOX_CONFIG_FEATURE_SH_IS_ASH if BUSYBOX_CONFIG_ASH
12 default FWRT_PACKAGE_MKSH_AS_BINSH if FWRT_PACKAGE_MKSH
13 help
14 Choose a shell which is to be used for /bin/sh.
15 The ash shell is the most bash-compatible shell
16 and full-featured one in busybox; mksh is a bit
17 more heavy-weight but feature-complete. The other
18 shells probably do not work as /bin/sh in FreeWRT.
19
20config BUSYBOX_CONFIG_FEATURE_SH_IS_ASH
21 depends BUSYBOX_CONFIG_ASH
22 bool "ash (busybox)"
23 help
24 Tha 'ash' shell adds about 60k in the default configuration and is
25 the most complete and most pedantically correct shell included with
26 busybox. This shell is actually a derivative of the Debian 'dash'
27 shell (by Herbert Xu), which was created by porting the 'ash' shell
28 (written by Kenneth Almquist) from NetBSD.
29
30config FWRT_PACKAGE_MKSH_AS_BINSH
31 depends FWRT_PACKAGE_MKSH
32 bool "mksh"
33 help
34 mksh is the MirBSD enhanced version of the Public Domain Korn
35 shell (pdksh), a bourne-compatible shell which is largely similar
36 to the original AT&T Korn shell. It includes bug fixes and
37 feature improvements in order to produce a modern, robust shell
38 good for interactive and especially script use. Some sh/ksh/pdksh
39 compatibility kludges have been removed.
40
41config BUSYBOX_CONFIG_FEATURE_SH_IS_HUSH
42 depends BUSYBOX_CONFIG_HUSH
43 bool "hush (busybox)"
44 help
45 hush is a very small shell (just 18k) and it has fairly complete
46 Bourne shell grammar. It even handles all the normal flow control
47 options such as if/then/elif/else/fi, for/in/do/done, while loops,
48 etc.
49
50 It does not handle case/esac, select, function, here documents ( <<
51 word ), arithmetic expansion, aliases, brace expansion, tilde
52 expansion, &> and >& redirection of stdout+stderr, etc.
53
54config BUSYBOX_CONFIG_FEATURE_SH_IS_LASH
55 depends BUSYBOX_CONFIG_LASH
56 bool "lash (busybox)"
57 help
58 lash is the very smallest shell (adds just 10k) and it is quite
59 usable as a command prompt, but it is not suitable for any but the
60 most trivial scripting (such as an initrd that calls insmod a few
61 times) since it does not understand any Bourne shell grammar. It
62 does handle pipes, redirects, and job control though. Adding in
63 command editing makes it a very nice lightweight command prompt.
64
65config BUSYBOX_CONFIG_FEATURE_SH_IS_MSH
66 depends BUSYBOX_CONFIG_MSH
67 bool "msh (busybox)"
68 help
69 The minix shell (adds just 30k) is quite complete and handles things
70 like for/do/done, case/esac and all the things you expect a Bourne
71 shell to do. It is not always pedantically correct about Bourne
72 shell grammar (try running the shell testscript "tests/sh.testcases"
73 on it and compare vs bash) but for most things it works quite well.
74 It also uses only vfork, so it can be used on uClinux systems.
75
76endchoice
77
78choice
79 prompt "Choose the login shell for the admin user"
80 default FWRT_BASEFILES_ADMIN_ASH if BUSYBOX_CONFIG_ASH
81 default FWRT_BASEFILES_ADMIN_MKSH if FWRT_PACKAGE_MKSH
82 default FWRT_BASEFILES_ADMIN_SH if (!BUSYBOX_CONFIG_ASH && !FWRT_PACKAGE_MKSH)
83 help
84 Choose a shell which is to be used as the default login
85 shell for the "admin" user. Only shells selected above
86 can be chosen.
87
88config FWRT_BASEFILES_ADMIN_ASH
89 depends BUSYBOX_CONFIG_ASH
90 bool "ash (busybox)"
91 help
92 Tha 'ash' shell adds about 60k in the default configuration and is
93 the most complete and most pedantically correct shell included with
94 busybox. This shell is actually a derivative of the Debian 'dash'
95 shell (by Herbert Xu), which was created by porting the 'ash' shell
96 (written by Kenneth Almquist) from NetBSD.
97
98config FWRT_BASEFILES_ADMIN_MKSH
99 depends FWRT_PACKAGE_MKSH
100 bool "mksh"
101 help
102 mksh is the MirBSD enhanced version of the Public Domain Korn
103 shell (pdksh), a bourne-compatible shell which is largely similar
104 to the original AT&T Korn shell. It includes bug fixes and
105 feature improvements in order to produce a modern, robust shell
106 good for interactive and especially script use. Some sh/ksh/pdksh
107 compatibility kludges have been removed.
108
109config FWRT_BASEFILES_ADMIN_BASH
110 depends FWRT_PACKAGE_BASH
111 bool "GNU bash"
112 help
113 bash is the GNU "bourne-again" shell, a pretty bloated bourne
114 compatible shell with some basic korn shell extensions and a
115 few home-grown ones. Because it's very big and slow, it can't
116 be selected as /bin/sh.
117
118config FWRT_BASEFILES_ADMIN_HUSH
119 depends BUSYBOX_CONFIG_HUSH
120 bool "hush (busybox)"
121 help
122 hush is a very small shell (just 18k) and it has fairly complete
123 Bourne shell grammar. It even handles all the normal flow control
124 options such as if/then/elif/else/fi, for/in/do/done, while loops,
125 etc.
126
127 It does not handle case/esac, select, function, here documents ( <<
128 word ), arithmetic expansion, aliases, brace expansion, tilde
129 expansion, &> and >& redirection of stdout+stderr, etc.
130
131config FWRT_BASEFILES_ADMIN_LASH
132 depends BUSYBOX_CONFIG_LASH
133 bool "lash (busybox)"
134 help
135 lash is the very smallest shell (adds just 10k) and it is quite
136 usable as a command prompt, but it is not suitable for any but the
137 most trivial scripting (such as an initrd that calls insmod a few
138 times) since it does not understand any Bourne shell grammar. It
139 does handle pipes, redirects, and job control though. Adding in
140 command editing makes it a very nice lightweight command prompt.
141
142config FWRT_BASEFILES_ADMIN_MSH
143 depends BUSYBOX_CONFIG_MSH
144 bool "msh (busybox)"
145 help
146 The minix shell (adds just 30k) is quite complete and handles things
147 like for/do/done, case/esac and all the things you expect a Bourne
148 shell to do. It is not always pedantically correct about Bourne
149 shell grammar (try running the shell testscript "tests/sh.testcases"
150 on it and compare vs bash) but for most things it works quite well.
151 It also uses only vfork, so it can be used on uClinux systems.
152
153config FWRT_BASEFILES_ADMIN_SH
154 bool "/bin/sh"
155 help
156 Fall-back: use /bin/sh, whatever it is.
157
158endchoice
Note: See TracBrowser for help on using the repository browser.