[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: /bin/sh (was Re: jessie release goals)



On Tue, May 7, 2013 at 4:23 PM, Thorsten Glaser <tg@debian.org> wrote:
>
> Andreas Beckmann <anbe <at> debian.org> writes:
>
> > now might be the right time to start a discussion about release goals
> > for jessie. Here are some points that come into my mind right now (and
>
> * Resolve that /bin/sh issue (see the open RC bugs against dash which
>   just got ignored for a stable release for the *second* time) e.g. by
>   transitioning to Goswin’s system-shell-foo package, and then request
>   (eventually require) packages to declare any dependencies on shell
>   interpreters other than /bin/sh explicitly (begin by changing lintian
>   to not warn about these as bash still and dash newly is Essential,
>   then change Policy(IIRC) to request these dependencies to be explicit),
>   so that jessie+2, if not jessie+1, can be run without dash and bash
>   installed, which would mean encouraging maintainers of “core” tools
>   to not depend on them for their maintainer scripts, init scripts, etc.
>   (debootstrap would probably need to be adjusted to cope but we’ve got
>   two releases time for that).
>
> Shells suitable for /bin/sh are currently bash, dash, mksh.
>
> I believe posh can be made suitable with a bit of hacking it
> (e.g. adding fixes from mksh) and coreutils moving /usr/bin/printf
> to /bin/printf (best way out of the Md issue, really).
>
> I believe ksh93 can be made suitably by making 'alias local=typeset'
> implicit like pdksh did.

Solaris 11, OpenSolaris and Illumos use ksh93 as /bin/sh, /usr/bin/sh
and /usr/bin/ksh, partially for the massive performance gain over the
old Bourne shell and the busybox-like shell builtins (for example
ksh93v- comes, among others, with basename cat chgrp chmod chown cksum
cmp comm cp cut date dirname egrep expr fds fmt fgrep fold getconf
grep head id join ln logname md5sum mkdir mkfifo mktemp mv paste
pathchk printf rev rm rmdir stty sum sync tail tee tty uname uniq wc)
as builtin, all conforming to the POSIX/SUSv4 standards (tested and
certified!!), SystemV extensions and all extensions which are
implemented by both GNU and BSD the same way if they do not violate
POSIX/SUSv4 in the first place.

Josh


Reply to: