Re: Bug#619820: either bash or dash should be enough
Ben Finney <email@example.com> writes:
> Luk Claes <firstname.lastname@example.org> writes:
>> Well, by making dash the default *system* shell. bash is still the
>> default user shell.
> So, does that mean ‘bash’ and ‘dash’ should both remain essential?
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, particularly since that was one of the common solutions to
bashisms in scripts when we did the cleanup to be able to support dash as
/bin/sh. I don't think there's much to be gained by going through all of
those and requiring them to declare a dependency, particularly given how
much third-party Linux stuff also assumes that /bin/bash is always
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.
The problem with instead making "sh" essential is that we'd have to be
very careful about what was allowed to Provide sh. 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. If someone sets up their /bin/sh symlink manually
to point to some other shell, more power to them, but allowing those
shells to Provide sh the way that various awk implementations Provide awk
promises somewhat more interoperability and testing than I think we can
Russ Allbery (email@example.com) <http://www.eyrie.org/~eagle/>