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

Switching /bin/sh to dash (part two)



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-release@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

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: