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

Switching the default /bin/sh to dash



Hello everybody,

I think everyone readying this list is more than aware of the intention to 
switch to dash as the default /bin/sh.
A lot of work has been done on many sides to make this switch doable and as 
smooth as possible and plenty of people has been contributing by testing, 
filing bugs, providing patches, fixing bugs and by using dash.

After a discussion on IRC of the main blockers to make this change happen 
*really soon now*, we (Luk Claes and I) have not identified any major 
blocker. We are therefore proposing to:

        Switch the default /bin/sh to dash in the following weeks

What actually needs to be done is:
* Make dash essential and make it replace the current /bin/sh symlink.

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:
* During the following weeks I will be working on providing patches for the 
known issues (check the list at [1]),
* and performing another archive-wide checkbashisms check on binary packages,
* debian/rules,
* and then an archive rebuild with dash as /bin/sh should follow.

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: 10679
* Over 724 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

Summarising:
Unless a major blocker shows up, the switch is going to be done on the 
following weeks.

Regards,
-- 
Raphael Geissert - Debian Maintainer
www.debian.org - get.debian.net

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


Reply to: