Switching /bin/sh to dash without dash essential
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.
So, a proposal for doing a switch with dash not essential.
1) all /bin/sh shells know about each other.
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.
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
4) There is a package `the-shell ' that is essential and pre-depends on one of the /bin/sh shells.
1) You could have a registration mechanism. My assumption is the set is small enough static is good
2) I assume that package operations cannot take place between calling the prerm script and actually removing the package. If that is false, you could make sure that you are changing the link to a configured shell
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.