Changeset 2725 in MondoRescue for branches/2.2.9/mindi-busybox/shell/Config.in


Ignore:
Timestamp:
Feb 25, 2011, 9:26:54 PM (13 years ago)
Author:
Bruno Cornec
Message:
  • Update mindi-busybox to 1.18.3 to avoid problems with the tar command which is now failing on recent versions with busybox 1.7.3
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2.9/mindi-busybox/shell/Config.in

    r1765 r2725  
     1# DO NOT EDIT. This file is generated from Config.src
    12#
    23# For a description of the syntax of this configuration file,
     
    67menu "Shells"
    78
    8 choice
    9     prompt "Choose your default shell"
    10     default FEATURE_SH_IS_NONE
    11     help
    12       Choose a shell. The ash shell is the most bash compatible
    13       and full featured one.
    14 
    15 config FEATURE_SH_IS_ASH
    16     select ASH
    17     bool "ash"
    18 
    19 config FEATURE_SH_IS_HUSH
    20     select HUSH
    21     bool "hush"
    22 
    23 config FEATURE_SH_IS_LASH
    24     select LASH
    25     bool "lash"
    26 
    27 config FEATURE_SH_IS_MSH
    28     select MSH
    29     bool "msh"
    30 
    31 config FEATURE_SH_IS_NONE
    32     bool "none"
    33 
    34 endchoice
    35 
    369config ASH
    3710    bool "ash"
    38     default n
    39     select TEST
     11    default y
     12    depends on !NOMMU
    4013    help
    4114      Tha 'ash' shell adds about 60k in the default configuration and is
    4215      the most complete and most pedantically correct shell included with
    43       busybox.  This shell is actually a derivative of the Debian 'dash'
     16      busybox. This shell is actually a derivative of the Debian 'dash'
    4417      shell (by Herbert Xu), which was created by porting the 'ash' shell
    4518      (written by Kenneth Almquist) from NetBSD.
    4619
    47 comment "Ash Shell Options"
    48     depends on ASH
     20config ASH_BASH_COMPAT
     21    bool "bash-compatible extensions"
     22    default y
     23    depends on ASH
     24    help
     25      Enable bash-compatible extensions.
    4926
    5027config ASH_JOB_CONTROL
     
    5532      Enable job control in the ash shell.
    5633
    57 config ASH_READ_NCHARS
    58     bool "'read -n N' and 'read -s' support"
    59     default n
    60     depends on ASH
    61     help
    62       'read -n N' will return a value after N characters have been read.
    63       'read -s' will read without echoing the user's input.
    64 
    65 config ASH_READ_TIMEOUT
    66     bool "'read -t S' support."
    67     default n
    68     depends on ASH
    69     help
    70       'read -t S' will return a value after S seconds have passed.
    71       This implementation will allow fractional seconds, expressed
    72       as a decimal fraction, e.g. 'read -t 2.5 foo'.
    73 
    7434config ASH_ALIAS
    7535    bool "alias support"
     
    7939      Enable alias support in the ash shell.
    8040
    81 config ASH_MATH_SUPPORT
    82     bool "Posix math support"
    83     default y
    84     depends on ASH
    85     help
    86       Enable math support in the ash shell.
    87 
    88 config ASH_MATH_SUPPORT_64
    89     bool "Extend Posix math support to 64 bit"
    90     default n
    91     depends on ASH_MATH_SUPPORT
    92     help
    93       Enable 64-bit math support in the ash shell.  This will make
    94       the shell slightly larger, but will allow computation with very
    95       large numbers.
    96 
    9741config ASH_GETOPTS
    9842    bool "Builtin getopt to parse positional parameters"
    99     default n
     43    default y
    10044    depends on ASH
    10145    help
     
    10549    bool "Builtin version of 'echo'"
    10650    default y
    107     select ECHO
    10851    depends on ASH
    10952    help
    11053      Enable support for echo, builtin to ash.
     54
     55config ASH_BUILTIN_PRINTF
     56    bool "Builtin version of 'printf'"
     57    default y
     58    depends on ASH
     59    help
     60      Enable support for printf, builtin to ash.
    11161
    11262config ASH_BUILTIN_TEST
    11363    bool "Builtin version of 'test'"
    11464    default y
    115     select TEST
    11665    depends on ASH
    11766    help
     
    12069config ASH_CMDCMD
    12170    bool "'command' command to override shell builtins"
    122     default n
     71    default y
    12372    depends on ASH
    12473    help
     
    12978config ASH_MAIL
    13079    bool "Check for new mail on interactive shells"
    131     default y
     80    default n
    13281    depends on ASH
    13382    help
     
    14291
    14392config ASH_RANDOM_SUPPORT
    144     bool "Pseudorandom generator and variable $RANDOM"
    145     default n
     93    bool "Pseudorandom generator and $RANDOM variable"
     94    default y
    14695    depends on ASH
    14796    help
     
    14998      Each read of "$RANDOM" will generate a new pseudorandom value.
    15099      You can reset the generator by using a specified start value.
    151       After "unset RANDOM" then generator will switch off and this
     100      After "unset RANDOM" the generator will switch off and this
    152101      variable will no longer have special treatment.
    153102
    154103config ASH_EXPAND_PRMT
    155104    bool "Expand prompt string"
    156     default n
    157     depends on ASH
    158     help
    159       "PS#" may be contain volatile content, such as backquote commands.
     105    default y
     106    depends on ASH
     107    help
     108      "PS#" may contain volatile content, such as backquote commands.
    160109      This option recreates the prompt string from the environment
    161110      variable each time it is displayed.
    162111
     112config CTTYHACK
     113    bool "cttyhack"
     114    default y
     115    help
     116      One common problem reported on the mailing list is "can't access tty;
     117      job control turned off" error message which typically appears when
     118      one tries to use shell with stdin/stdout opened to /dev/console.
     119      This device is special - it cannot be a controlling tty.
     120
     121      Proper solution is to use correct device instead of /dev/console.
     122
     123      cttyhack provides "quick and dirty" solution to this problem.
     124      It analyzes stdin with various ioctls, trying to determine whether
     125      it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line).
     126      If it detects one, it closes stdin/out/err and reopens that device.
     127      Then it executes given program. Opening the device will make
     128      that device a controlling tty. This may require cttyhack
     129      to be a session leader.
     130
     131      Example for /etc/inittab (for busybox init):
     132
     133      ::respawn:/bin/cttyhack /bin/sh
     134
     135      Starting an interactive shell from boot shell script:
     136
     137      setsid cttyhack sh
     138
     139      Giving controlling tty to shell running with PID 1:
     140
     141      # exec cttyhack sh
     142
     143      Without cttyhack, you need to know exact tty name,
     144      and do something like this:
     145
     146      # exec setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1'
     147
    163148config HUSH
    164149    bool "hush"
    165     default n
    166     select TRUE
    167     select FALSE
    168     select TEST
    169     help
    170       hush is a very small shell (just 18k) and it has fairly complete
    171       Bourne shell grammar.  It even handles all the normal flow control
    172       options such as if/then/elif/else/fi, for/in/do/done, while loops,
    173       etc.
    174 
    175       It does not handle case/esac, select, function, here documents ( <<
    176       word ), arithmetic expansion, aliases, brace expansion, tilde
    177       expansion, &> and >& redirection of stdout+stderr, etc.
     150    default y
     151    help
     152      hush is a small shell (25k). It handles the normal flow control
     153      constructs such as if/then/elif/else/fi, for/in/do/done, while loops,
     154      case/esac. Redirections, here documents, $((arithmetic))
     155      and functions are supported.
     156
     157      It will compile and work on no-mmu systems.
     158
     159      It does not handle select, aliases, tilde expansion,
     160      &>file and >&file redirection of stdout+stderr.
     161
     162config HUSH_BASH_COMPAT
     163    bool "bash-compatible extensions"
     164    default y
     165    depends on HUSH
     166    help
     167      Enable bash-compatible extensions.
     168
     169config HUSH_BRACE_EXPANSION
     170    bool "Brace expansion"
     171    default y
     172    depends on HUSH_BASH_COMPAT
     173    help
     174      Enable {abc,def} extension.
    178175
    179176config HUSH_HELP
    180177    bool "help builtin"
    181     default n
     178    default y
    182179    depends on HUSH
    183180    help
     
    191188      Enable interactive mode (prompt and command editing).
    192189      Without this, hush simply reads and executes commands
    193       from stdin just like a shell script from the file.
     190      from stdin just like a shell script from a file.
    194191      No prompt, no PS1/PS2 magic shell variables.
     192
     193config HUSH_SAVEHISTORY
     194    bool "Save command history to .hush_history"
     195    default y
     196    depends on HUSH_INTERACTIVE && FEATURE_EDITING_SAVEHISTORY
     197    help
     198      Enable history saving in hush.
    195199
    196200config HUSH_JOB
    197201    bool "Job control"
    198     default n
     202    default y
    199203    depends on HUSH_INTERACTIVE
    200204    help
     
    207211config HUSH_TICK
    208212    bool "Process substitution"
    209     default n
     213    default y
    210214    depends on HUSH
    211215    help
     
    214218config HUSH_IF
    215219    bool "Support if/then/elif/else/fi"
    216     default n
     220    default y
    217221    depends on HUSH
    218222    help
     
    221225config HUSH_LOOPS
    222226    bool "Support for, while and until loops"
     227    default y
     228    depends on HUSH
     229    help
     230      Enable for, while and until loops in hush.
     231
     232config HUSH_CASE
     233    bool "Support case ... esac statement"
     234    default y
     235    depends on HUSH
     236    help
     237      Enable case ... esac statement in hush. +400 bytes.
     238
     239config HUSH_FUNCTIONS
     240    bool "Support funcname() { commands; } syntax"
     241    default y
     242    depends on HUSH
     243    help
     244      Enable support for shell functions in hush. +800 bytes.
     245
     246config HUSH_LOCAL
     247    bool "Support local builtin"
     248    default y
     249    depends on HUSH_FUNCTIONS
     250    help
     251      Enable support for local variables in functions.
     252
     253config HUSH_RANDOM_SUPPORT
     254    bool "Pseudorandom generator and $RANDOM variable"
     255    default y
     256    depends on HUSH
     257    help
     258      Enable pseudorandom generator and dynamic variable "$RANDOM".
     259      Each read of "$RANDOM" will generate a new pseudorandom value.
     260
     261config HUSH_EXPORT_N
     262    bool "Support 'export -n' option"
     263    default y
     264    depends on HUSH
     265    help
     266      export -n unexports variables. It is a bash extension.
     267
     268config HUSH_MODE_X
     269    bool "Support 'hush -x' option and 'set -x' command"
     270    default y
     271    depends on HUSH
     272    help
     273      This instructs hush to print commands before execution.
     274      Adds ~300 bytes.
     275
     276config MSH
     277    bool "msh (deprecated: aliased to hush)"
    223278    default n
    224     depends on HUSH
    225     help
    226       Enable for, while and until loops in hush.
    227 
    228 config LASH
    229     bool "lash"
    230     default n
    231     select TRUE
    232     select FALSE
    233     select TEST
    234     help
    235       lash is the very smallest shell (adds just 10k) and it is quite
    236       usable as a command prompt, but it is not suitable for any but the
    237       most trivial scripting (such as an initrd that calls insmod a few
    238       times) since it does not understand any Bourne shell grammar.  It
    239       does handle pipes, redirects, and job control though.  Adding in
    240       command editing makes it a very nice lightweight command prompt.
    241 
    242 
    243 config MSH
    244     bool "msh"
    245     default n
    246     select TRUE
    247     select FALSE
    248     select TEST
    249     help
    250       The minix shell (adds just 30k) is quite complete and handles things
    251       like for/do/done, case/esac and all the things you expect a Bourne
    252       shell to do.  It is not always pedantically correct about Bourne
    253       shell grammar (try running the shell testscript "tests/sh.testcases"
    254       on it and compare vs bash) but for most things it works quite well.
    255       It also uses only vfork, so it can be used on uClinux systems.
    256 
    257 comment "Bourne Shell Options"
    258     depends on MSH || LASH || HUSH || ASH
     279    select HUSH
     280    help
     281      msh is deprecated and will be removed, please migrate to hush.
     282
     283
     284choice
     285    prompt "Choose which shell is aliased to 'sh' name"
     286    default FEATURE_SH_IS_ASH
     287    help
     288      Choose which shell you want to be executed by 'sh' alias.
     289      The ash shell is the most bash compatible and full featured one.
     290
     291# note: cannot use "select ASH" here, it breaks "make allnoconfig"
     292config FEATURE_SH_IS_ASH
     293    depends on ASH
     294    bool "ash"
     295    depends on !NOMMU
     296
     297config FEATURE_SH_IS_HUSH
     298    depends on HUSH
     299    bool "hush"
     300
     301config FEATURE_SH_IS_NONE
     302    bool "none"
     303
     304endchoice
     305
     306choice
     307    prompt "Choose which shell is aliased to 'bash' name"
     308    default FEATURE_BASH_IS_NONE
     309    help
     310      Choose which shell you want to be executed by 'bash' alias.
     311      The ash shell is the most bash compatible and full featured one.
     312
     313      Note that selecting this option does not switch on any bash
     314      compatibility code. It merely makes it possible to install
     315      /bin/bash (sym)link and run scripts which start with
     316      #!/bin/bash line.
     317
     318      Many systems use it in scripts which use bash-specific features,
     319      even simple ones like $RANDOM. Without this option, busybox
     320      can't be used for running them because it won't recongnize
     321      "bash" as a supported applet name.
     322
     323config FEATURE_BASH_IS_ASH
     324    depends on ASH
     325    bool "ash"
     326    depends on !NOMMU
     327
     328config FEATURE_BASH_IS_HUSH
     329    depends on HUSH
     330    bool "hush"
     331
     332config FEATURE_BASH_IS_NONE
     333    bool "none"
     334
     335endchoice
     336
     337
     338config SH_MATH_SUPPORT
     339    bool "POSIX math support"
     340    default y
     341    depends on ASH || HUSH
     342    help
     343      Enable math support in the shell via $((...)) syntax.
     344
     345config SH_MATH_SUPPORT_64
     346    bool "Extend POSIX math support to 64 bit"
     347    default y
     348    depends on SH_MATH_SUPPORT
     349    help
     350      Enable 64-bit math support in the shell. This will make the shell
     351      slightly larger, but will allow computation with very large numbers.
     352      This is not in POSIX, so do not rely on this in portable code.
    259353
    260354config FEATURE_SH_EXTRA_QUIET
    261355    bool "Hide message on interactive shell startup"
    262     default n
    263     depends on MSH || LASH || HUSH || ASH
     356    default y
     357    depends on HUSH || ASH
    264358    help
    265359      Remove the busybox introduction when starting a shell.
     
    268362    bool "Standalone shell"
    269363    default n
    270     depends on (MSH || LASH || HUSH || ASH) && FEATURE_PREFER_APPLETS
     364    depends on (HUSH || ASH) && FEATURE_PREFER_APPLETS
    271365    help
    272366      This option causes busybox shells to use busybox applets
    273       in preference to executables in the PATH whenever possible.  For
     367      in preference to executables in the PATH whenever possible. For
    274368      example, entering the command 'ifconfig' into the shell would cause
    275       busybox to use the ifconfig busybox applet.  Specifying the fully
     369      busybox to use the ifconfig busybox applet. Specifying the fully
    276370      qualified executable name, such as '/sbin/ifconfig' will still
    277       execute the /sbin/ifconfig executable on the filesystem.  This option
     371      execute the /sbin/ifconfig executable on the filesystem. This option
    278372      is generally used when creating a statically linked version of busybox
    279373      for use as a rescue shell, in the event that you screw up your system.
     
    289383# untrue?
    290384#     Note that this will *also* cause applets to take precedence
    291 #     over shell builtins of the same name.  So turning this on will
     385#     over shell builtins of the same name. So turning this on will
    292386#     eliminate any performance gained by turning on the builtin "echo"
    293387#     and "test" commands in ash.
    294388# untrue?
    295389#     Note that when using this option, the shell will attempt to directly
    296 #     run '/bin/busybox'.  If you do not have the busybox binary sitting in
     390#     run '/bin/busybox'. If you do not have the busybox binary sitting in
    297391#     that exact location with that exact name, this option will not work at
    298392#     all.
    299393
    300 config CTTYHACK
    301     bool "cttyhack"
     394config FEATURE_SH_NOFORK
     395    bool "Run 'nofork' applets directly"
    302396    default n
    303     help
    304       One common problem reported on the mailing list is "can't access tty;
    305       job control turned off" error message which typically appears when
    306       one tries to use shell with stdin/stdout opened to /dev/console.
    307       This device is special - it cannot be a controlling tty.
    308 
    309       Proper solution is to use correct device instead of /dev/console.
    310 
    311       cttyhack provides "quick and dirty" solution to this problem.
    312       It analyzes stdin with various ioctls, trying to determine whether
    313       it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line).
    314       If it detects one, it closes stdin/out/err and reopens that device.
    315       Then it executes given program. Usage example for /etc/inittab
    316       (for busybox init):
    317 
    318       ::respawn:/bin/cttyhack /bin/sh
     397    depends on (HUSH || ASH) && FEATURE_PREFER_APPLETS
     398    help
     399      This option causes busybox shells [currently only ash]
     400      to not execute typical fork/exec/wait sequence, but call <applet>_main
     401      directly, if possible. (Sometimes it is not possible: for example,
     402      this is not possible in pipes).
     403
     404      This will be done only for some applets (those which are marked
     405      NOFORK in include/applets.h).
     406
     407      This may significantly speed up some shell scripts.
     408
     409      This feature is relatively new. Use with care.
    319410
    320411endmenu
Note: See TracChangeset for help on using the changeset viewer.