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

Re: Bug#619820: either bash or dash should be enough



* Russ Allbery [2011-03-28 17:20 -0700]:
> Practically speaking, I think bash is going to have to remain essential.
> There are innumerable scripts, package build rules, maintainer scripts,
> and other things in Debian referencing /bin/bash without declaring a
> dependency, ...

I agree.

> So, I think this reduces to whether or not dash needs to remain essential.
> I personally think that our default /bin/sh shell should be essential, and
> the reasons why we switched to dash for that still apply, so I'm
> comfortable keeping it essential.

If a user configures /bin/sh to point to bash, dash isn't used
anymore[1], so there is no reason to have dash installed on this user's
system.

I think dash should remain in base and be installed by default.  Reasons
for this include pretended better boot performance and simplifying writing
portable scripts with default configurations.

I also think dash should become build-essential, otherwise ./configure
might detect /bin/sh as bash on hosts with default configurations.  For
example, zgrep in Squeeze/i386 uses /bin/bash in it's shebang line, but
would use /bin/sh if it would have pointed to bash whilst ./configure
has been run.

But I do not think dash should remain essential.  Before this could be
changed, the mechanism how /bin/sh is handled should be improved (there
are two according RC bugs in dash and two important ones in bash).

> The problem with instead making "sh" essential is that we'd have to be
> very careful about what was allowed to Provide sh.

Given that bash would provide sh and stay essential, additionally making
sh essential wouldn't archive anything (or I do not understand what you
meant by 'making "sh" essential').

> Other people have discovered, for example, that zsh as /bin/sh has
> interesting and surprising issues that can break software that
> otherwise works with more common /bin/sh shells.

Grml used zsh as /bin/sh but switched to bash and later to dash[2]. Some
other shells in Debian, e.g., mksh, don't seem to have such surprising
issues when used as /bin/sh.


Regards
Carsten

 [1] unless there are really scripts in Debian that use dash in the
     shebang line
 [2] http://grml.org/faq/#zsh_binsh


Reply to: