[adelie-devel] Re: dash as /bin/sh

From: Horst G. Burkhardt <horst_at_adelielinux.org>
Date: Tue, 13 Feb 2018 10:04:15 +1100

On Mon, 12 Feb 2018 16:51:07 -0600
"A. Wilcox" <awilfox(a)adelielinux.org> wrote:

> On 02/12/18 16:26, A. Wilcox wrote:

>> Correct on both accounts. My concern is more with root's default
>> login shell being /bin/sh. I do not know how well dash would be
>> tolerated as the interactive shell for administrating Adélie.

Honestly, that's a preference issue - it's trivial to change the
default login shell for root to something friendlier.

> > So again: I don't have a problem offering the option, but I really
> > do not want to make it the default until we have an answer for
> > root.

"let root have nice things" or "don't spend any more time than you need
to in an interactive root shell". Or perhaps some mix of both. This
isn't a huge obstacle, it's just another thing that needs to go in the
documentation - "hey, POSIX sh is kind of limiting, you might want to
use bash for day to day system administration."

> Just pushed system/dash. It has dash-binsh. For testing purposes, I
> swapped bash-binsh with dash-binsh on the ppc32 builder. (Nerves of
> steel here.)
>
> It works great, it didn't break anything or set the world on fire,
> etc.
>
> I was so happy I actually tried building dash with itself as /bin/sh!
>
> awilcox on elaine /usr/src/packages/system/dash $ abuild
> /usr/bin/abuild: 1778: /usr/bin/abuild: Bad substitution
> >>> ERROR: dash: all failed

ooft. I've seen this happen with some configure scripts that falsely
advertise that they're 'sh' when they only ever really got tested with
bash.

> abuild does not work with dash as /bin/sh. This is pretty much going
> to be a non-starter on builders, and it's going to make development on
> computers with dash-binsh completely unusable.
>
> I'm not sure if dash-binsh should conflict with abuild so a user can't
> do that, or if I should just remove dash-binsh completely, or if
> abuild should depend on bash and use #!/bin/bash. This is kind of
> terrible, especially since abuild works fine with bash or busybox
> as /bin/sh. It even almost works completely with zsh as /bin/sh.

The solution is to make abuild depend on bash and use #!/bin/bash - if
it's using sh features that aren't quite POSIX it shouldn't be calling
sh.

If abuild doesn't honestly advertise its requirements and capabilities,
that's an issue with abuild, and it's a fixable one. We have a good
working relationship already with the Alpine folks, and you've
mentioned some of them also would like dash as /bin/sh - I'm sure
they'll be amenable to that being fixed.

Best,
 - Horst.
Received on Mon Feb 12 2018 - 23:04:28 UTC

This archive was generated by hypermail 2.4.0 : Sat May 08 2021 - 22:54:40 UTC