Changeset 3233

Show
Ignore:
Timestamp:
07/16/07 16:05:08 (1 year ago)
Author:
tg
Message:

first of a series of commits I'd suggest to not test until I did:

remove busybox ash and the other shells (hush, lash, msh); always
use mksh by default, as /bin/sh, /bin/ash symlink, /bin/mksh native,
and default admin login shell unless bash or zsh are selected

mksh is a superset of ash (I didn't find anything busybox ash can
do that mksh can't), and the upcoming mksh R30 will be even smaller
in -DMKSH_SMALL mode (but that one will lack vi editing mode)

ok wbx@

we planned this for 1.2, but it will greatly help the nfo conversion
and users request shells they can actually use if they don't have a
webinterface handy

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/freewrt/package/Config.in

    r3209 r3233  
    2121source "package/base-files/Config.in" 
    2222source "package/busybox/Config.in" 
     23source "package/mksh/Config.in" 
    2324source "package/uclibc/Config.in" 
    2425menu "Broadcom-specific packages" 
     
    4243endmenu 
    4344 
    44 menu "Shells" 
    45 source "package/Config.in.shell" 
    46 endmenu 
    47  
    4845menu "Applications" 
    4946source "package/autossh/Config.in" 
     47source "package/bash/Config.in" 
    5048source "package/binutils/Config.in" 
    5149source "package/bitchx/Config.in" 
     
    8280source "package/tar/Config.in" 
    8381source "package/vim/Config.in" 
     82source "package/zsh/Config.in" 
    8483endmenu 
    8584 
  • trunk/freewrt/package/Config.in.runtime

    r2795 r3233  
    11comment "Runtime Configuration" 
     2 
     3choice 
     4        prompt "Choose the login shell for the admin user" 
     5        default FWRT_BASEFILES_ADMIN_MKSH 
     6        help 
     7          Choose a shell which is to be used as the default login 
     8          shell for the "admin" user. Only shells selected above 
     9          can be chosen. 
     10 
     11config FWRT_BASEFILES_ADMIN_MKSH 
     12        depends FWRT_PACKAGE_MKSH 
     13        bool "mksh" 
     14        help 
     15          mksh is the MirBSD enhanced version of the Public Domain Korn 
     16          shell (pdksh), a bourne-compatible shell which is largely similar 
     17          to the original AT&T Korn shell. It includes bug fixes and 
     18          feature improvements in order to produce a modern, robust shell 
     19          good for interactive and especially script use. Some sh/ksh/pdksh 
     20          compatibility kludges have been removed. 
     21 
     22config FWRT_BASEFILES_ADMIN_BASH 
     23        depends FWRT_PACKAGE_BASH 
     24        bool "GNU bash" 
     25        help 
     26          bash is the GNU "bourne-again" shell, a pretty bloated bourne 
     27          compatible shell with some basic korn shell extensions and a 
     28          few home-grown ones. Because it's very big and slow, it can't 
     29          be selected as /bin/sh. 
     30 
     31config FWRT_BASEFILES_ADMIN_ZSH 
     32        depends FWRT_PACKAGE_ZSH 
     33        bool "zsh" 
     34        help 
     35          zsh is a powerful, bloated not-quite bourne (and even less 
     36          korn) compatible shell with rich features for interactive 
     37          uses. It cannot be selected as /bin/sh but as login shell. 
     38 
     39config FWRT_BASEFILES_ADMIN_SH 
     40        bool "/bin/sh" 
     41        help 
     42          Fall-back: use /bin/sh, whatever it is. 
     43 
     44endchoice 
    245 
    346config FWRT_RUNTIME_PACKAGES_URL 
  • trunk/freewrt/package/base-files/Makefile

    r3211 r3233  
    1010PKG_NAME:=              base-files 
    1111PKG_VERSION:=           1.1 
    12 PKG_RELEASE:=           15 
     12PKG_RELEASE:=           16 
    1313WRKDIST=                ${WRKDIR}/base-files 
    1414NO_DISTFILES:=          1 
     
    2222 
    2323ADMIN_SHELL:=           /bin/sh 
    24 ifeq (${FWRT_BASEFILES_ADMIN_ASH},y) 
    25 ADMIN_SHELL:=           /bin/ash 
     24ifeq (${FWRT_BASEFILES_ADMIN_BASH},y) 
     25ADMIN_SHELL:=           /bin/bash 
    2626endif 
    2727ifeq (${FWRT_BASEFILES_ADMIN_MKSH},y) 
    2828ADMIN_SHELL:=           /bin/mksh 
    29 endif 
    30 ifeq (${FWRT_BASEFILES_ADMIN_HUSH},y) 
    31 ADMIN_SHELL:=           /bin/hush 
    32 endif 
    33 ifeq (${FWRT_BASEFILES_ADMIN_LASH},y) 
    34 ADMIN_SHELL:=           /bin/lash 
    35 endif 
    36 ifeq (${FWRT_BASEFILES_ADMIN_MSH},y) 
    37 ADMIN_SHELL:=           /bin/msh 
    38 endif 
    39 ifeq (${FWRT_BASEFILES_ADMIN_BASH},y) 
    40 ADMIN_SHELL:=           /bin/bash 
    4129endif 
    4230ifeq (${FWRT_BASEFILES_ADMIN_ZSH},y) 
     
    7058            chmod 600 $(IDIR_BASE_FILES)/etc/.rnd 
    7159        echo /bin/sh >${IDIR_BASE_FILES}/etc/shells 
    72 ifneq (${BUSYBOX_CONFIG_ASH},) 
    73         echo /bin/ash >>${IDIR_BASE_FILES}/etc/shells 
    74 endif 
    75 ifneq (${BUSYBOX_CONFIG_HUSH},) 
    76         echo /bin/hush >>${IDIR_BASE_FILES}/etc/shells 
    77 endif 
    78 ifneq (${BUSYBOX_CONFIG_LASH},) 
    79         echo /bin/lash >>${IDIR_BASE_FILES}/etc/shells 
    80 endif 
    81 ifneq (${BUSYBOX_CONFIG_MSH},) 
    82         echo /bin/msh >>${IDIR_BASE_FILES}/etc/shells 
    83 endif 
    84 ifneq (${FWRT_PACKAGE_MKSH},) 
    85         echo /bin/mksh >>${IDIR_BASE_FILES}/etc/shells 
    86 endif 
    8760ifneq (${FWRT_PACKAGE_BASH},) 
    8861        echo /bin/bash >>${IDIR_BASE_FILES}/etc/shells 
    8962endif 
     63ifneq (${FWRT_PACKAGE_MKSH},) 
     64        echo /bin/ash >>${IDIR_BASE_FILES}/etc/shells 
     65        echo /bin/mksh >>${IDIR_BASE_FILES}/etc/shells 
     66endif 
    9067ifneq (${FWRT_PACKAGE_ZSH},) 
    9168        echo /bin/zsh >>${IDIR_BASE_FILES}/etc/shells 
    92 endif 
    93 ifneq (${FWRT_PACKAGE_MKSH_AS_BINASH},) 
    94         echo /bin/ash >>${IDIR_BASE_FILES}/etc/shells 
    9569endif 
    9670        mkdir -p $(IDIR_BASE_FILES)/dev 
  • trunk/freewrt/package/busybox/Makefile

    r3215 r3233  
    99PKG_NAME:=              busybox 
    1010PKG_VERSION:=           1.4.2 
    11 PKG_RELEASE:=           21 
     11PKG_RELEASE:=           22 
    1212PKG_MD5SUM:=            b4c61fb15642be9dde20e8493788c585 
    1313DISTFILES:=             $(PKG_NAME)-$(PKG_VERSION).tar.bz2 
  • trunk/freewrt/package/mksh/Config.in

    r2873 r3233  
    11config FWRT_PACKAGE_MKSH 
    2         prompt "mksh.............................. The MirBSD enhanced Korn Shell" 
     2        prompt "mksh................................. The MirBSD enhanced Korn Shell" 
    33        tristate 
    4         default n 
     4        default y 
    55        help 
    66          mksh is the MirBSD enhanced version of the Public Domain Korn 
     
    2525          Ideal for embedded systems. However, be aware you will lose some 
    2626          functionality you'd otherwise expect. 
    27  
    28 config FWRT_PACKAGE_MKSH_AS_BINASH 
    29         bool "  Install mksh as /bin/ash" 
    30         depends FWRT_PACKAGE_MKSH 
    31         depends !BUSYBOX_CONFIG_ASH 
    32         default y 
    33         help 
    34           Enable this, because some scripts use #!/bin/ash so FreeWRT needs a 
    35           working /bin/sh and /bin/ash all the time, which can be either of 
    36           mksh or busybox ash (or GNU bash, which is untested). 
    37  
    38 comment "  Disable ash above to be able to install mksh as /bin/ash if desired" 
    39         depends FWRT_PACKAGE_MKSH 
    40         depends BUSYBOX_CONFIG_ASH 
  • trunk/freewrt/package/mksh/Makefile

    r2873 r3233  
    2626        install -c -m 755 ${WRKBUILD}/mksh ${IDIR_MKSH}/bin/ 
    2727        install -c -m 444 ${WRKSRC}/dot.mkshrc ${IDIR_MKSH}/etc/mkshrc 
    28 ifeq (${FWRT_PACKAGE_MKSH_AS_BINSH},y) 
    29         cd ${IDIR_MKSH}/bin; ln -sf mksh sh 
    30 endif 
    31 ifeq (${FWRT_PACKAGE_MKSH_AS_BINASH},y) 
    32         cd ${IDIR_MKSH}/bin; ln -sf mksh ash 
    33 endif 
     28        cd ${IDIR_MKSH}/bin; ln -sf mksh sh; ln -sf mksh ash 
    3429 
    3530include ${TOPDIR}/mk/pkg-bottom.mk 
  • trunk/freewrt/package/mksh/Makefile.inc

    r3185 r3233  
    77PKG_NAME=               mksh 
    88PKG_VERSION=            29.7 
    9 PKG_RELEASE=            1 
     9PKG_RELEASE=            2 
    1010DISTFILES=              ${PKG_NAME}-R29g.cpio.gz 
    1111#DISTFILES=             mksh_${PKG_VERSION}.tar.gz 
  • trunk/freewrt/package/zsh/Config.in

    r2910 r3233  
    11config FWRT_PACKAGE_ZSH 
    2         prompt "zsh.............................. Z shell" 
     2        prompt "zsh............................... Z shell" 
    33        tristate 
    44        default n