Re: Bug#619820: either bash or dash should be enough
* Russ Allbery [2011-03-28 17:20 -0700]:
> Practically speaking, I think bash is going to have to remain essential.
> There are innumerable scripts, package build rules, maintainer scripts,
> and other things in Debian referencing /bin/bash without declaring a
> dependency, ...
I agree.
> So, I think this reduces to whether or not dash needs to remain essential.
> I personally think that our default /bin/sh shell should be essential, and
> the reasons why we switched to dash for that still apply, so I'm
> comfortable keeping it essential.
If a user configures /bin/sh to point to bash, dash isn't used
anymore[1], so there is no reason to have dash installed on this user's
system.
I think dash should remain in base and be installed by default. Reasons
for this include pretended better boot performance and simplifying writing
portable scripts with default configurations.
I also think dash should become build-essential, otherwise ./configure
might detect /bin/sh as bash on hosts with default configurations. For
example, zgrep in Squeeze/i386 uses /bin/bash in it's shebang line, but
would use /bin/sh if it would have pointed to bash whilst ./configure
has been run.
But I do not think dash should remain essential. Before this could be
changed, the mechanism how /bin/sh is handled should be improved (there
are two according RC bugs in dash and two important ones in bash).
> The problem with instead making "sh" essential is that we'd have to be
> very careful about what was allowed to Provide sh.
Given that bash would provide sh and stay essential, additionally making
sh essential wouldn't archive anything (or I do not understand what you
meant by 'making "sh" essential').
> Other people have discovered, for example, that zsh as /bin/sh has
> interesting and surprising issues that can break software that
> otherwise works with more common /bin/sh shells.
Grml used zsh as /bin/sh but switched to bash and later to dash[2]. Some
other shells in Debian, e.g., mksh, don't seem to have such surprising
issues when used as /bin/sh.
Regards
Carsten
[1] unless there are really scripts in Debian that use dash in the
shebang line
[2] http://grml.org/faq/#zsh_binsh
Reply to: