Re: Comments on the "Changing the default system shell" talk
[No need to send me copies of replies, thanks]
Goswin von Brederlow wrote:
> in the talk you said you add a choice for /bin/sh and you add more
> The choice being that the admin may dpkg-divert /bin/sh to whatever
> shell he wants and he then can fix whatever breaks. Great. We already
> have exactly that now. There is nothing added.
What has been "added" is that there's no silly reason anymore to have
bashisms on the /bin/sh scripts.
> No mechanism and no
> assurances that things won't break.
If you use dpkg-divert, it won't break unless you do it wrong, but there's
not much we can do about that. We can not prevent anyone from rm /bin/sh
> You say that dash is configurable as /bin/sh via debconf but in the
> next sentence you say you want dash to ship a /bin/sh link to dash.
> the deconf thing is purely a temporary thing and goes away. There
> won't be a choice left. Users will just get /bin/sh pointing to dash
No, /bin/sh is shipped to guarantee a symlink.
> You say that the default /bin/sh must be an essential package as only
> way to make sure it is always present. That is clearly wrong and we
> have mawk/gawk as a real life example of having something always
> installed (awk) while still keeping the choice open.
That's not the case during debootstrap.
> Overall I take 2 things from your talk:
> 1) You are removing bashisms from scripts using /bin/sh
> That is a good thing and your work there is verry welcome. Thanks for
> investing time there. This is actually where all the benefits really
> come from. Kudos there. Everything else seems to be just window
> 2) You are bloating the system and essential packages list
> You are simply replacing A with B. You are not adding any choice
> mechanism or garanties that a /bin/sh other than dash will work.
We have tested it, it works.
> admins dpkg-divert /bin/sh and use another shell they will be totaly
> left out in the cold with fixing any problems.
That's not new.
> Some maintainer will
> just close bugreports saying the only /bin/sh is dash.
If that ever happens, the maintainer should be taught that that's not true,
just like it is done in many other situations.
> You say you give admins a choice to divert /bin/sh to whatever (posix)
> shell they like. But you only give them a choice of adding yet another
> shell. Not a choice of replacing dash. Only a choice of adding even
> more. After diverting /bin/sh instead of having one useless shell we
> now have 2 useless shells on the system. At least until bash becomes
> non essential.
You could actually say the same about many other, even essential, tools; so
I don't see it as a problem. It is a period of transition.
> Will it eventually be policy that essential/required/standard packages
> must not depend on bash? Because as long as something in the core
> packages depends on bash it will remain non removable.
I'm not the right person to answer that as I'm not the person who wants to
pursue that change.