Re: Switching /bin/sh to dash without dash essential
Sam Hartman wrote:
Folks, there was a longish discussion on IRC starting about an hour
ago about dash and bash.
I agree we want to move the default /bin/sh to /bin/dash.
However I'm failing to understand why we want dash to be essential.
If I'm not using dash as my /bin/sh why do I need it?
If the answer is that we really do want it everywhere independent of
what /bin/sh is, that's fine. However, that's not obvious to me.
We want everyone to use dash by default. If someone does not want to use
the default, they are free to do so, but the default system shell is
supposed to always be on the system.
So, a proposal for doing a switch with dash not essential.
1) all /bin/sh shells know about each other.
Not going to happen AFAICS. bash does not know about any for instance.
2) The prerm script for a /bin/sh shell finds another /bin/sh shell and updates the symlink if the current /bin/sh link is the one being removed.
Might be possible, but currently needs a lot of work and I don't see
anyone interested to do that.
3) The postinst for a /bin/sh shell can update the link if it decides that the installed shell would make a better /bin/sh
'it' decides :-)
4) There is a package `the-shell ' that is essential and pre-depends on one of the /bin/sh shells.
This seems ugly, I would rather go for a virtual package in that case
similar to awk.
I really don't mind if we go forward with the current proposal.
However, I think I and a lot of other people would appreciate clarity,
so far not expressed, about why dash needs to be essential.
You do not want to give the possibility to remove /bin/sh from the
system. Currently this is done by making the default system shell essential.