[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Comments on the "Changing the default system shell" talk



[No need to send me copies of replies, thanks]

Hi,

Goswin von Brederlow wrote:
> Hi,
> 
> in the talk you said you add a choice for /bin/sh and you add more
> freedom.

True.

> 
> 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
either.

> 
> 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. 

True

> So 
> 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
> period.

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
> dressing.
> 
> 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.

> If 
> 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.

Cheers,
Raphael Geissert



Reply to: