|| ||Raphael Geissert <atomo64-AT-gmail.com> |
|| ||debian-devel-AT-lists.debian.org |
|| ||Switching /bin/sh to dash (part two) |
|| ||Sun, 19 Jul 2009 18:04:13 +0200|
|| ||Article, Thread
This is a follow up to my previous thread, with a slightly different proposal.
What actually needs to be done is:
* Make dash essential, make it divert the current /bin/sh symlink by default,
make another essential package depend on dash. Prompt the user before
diverting on interactive upgrades.
What won't change:
* Bash will still be used as the default interactive shells for users.
* Errors caused by the use of bashisms.
* Faster boot, builds, and general usage of /bin/sh scripts.
* Reduced memory footprint when running /bin/sh scripts.
Counter side effects:
* Fix known bashisms,
* rebuild the archive with dash as /bin/sh.
* Section 10.4:
"Scripts may assume that /bin/sh implements the SUSv3 Shell Command Language"
"If a shell script requires non-SUSv3 features from the shell interpreter
other than those listed above, the appropriate shell must be specified in the
first line of the script"
* Dash's inst popcon from Debian: 10733
* Over 783 issues detected and fixed
* It's been more than three years since Ubuntu made the switch,
without all the extra bashisms-hunting Debian has done,
without rolling it back.
References of interest:
Main diff between the previous proposal:
Current installations will only be switched to dash if it was not previously
installed and if you agree to make the switch (debconf prompt).
Raphael Geissert - Debian Developer
www.debian.org - get.debian.net
to post comments)