Hello everybody, 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. Side effects: * 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. Policy references: * Section 10.4[2]: "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" Facts: * 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: [1]http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=debian-rele...@lists.debian.org&tag=goal-dash [2]http://www.debian.org/doc/debian-policy/ch-files.html#s-scripts [3]https://wiki.ubuntu.com/DashAsBinSh [4]http://manpages.debian.net/cgi-bin/man.cgi?query=checkbashisms [5]http://release.debian.org/lenny/goals.txt [6]http://lists.debian.org/debian-release/2009/04/msg00133.html 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). Cheers, -- Raphael Geissert - Debian Developer www.debian.org - get.debian.net
signature.asc
Description: This is a digitally signed message part.