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

dash situation



Dear release team,

[Please CC me in replies, cause I am on neither list.]

I'd like to ping you about the dash situation, because it looks to me
that it can delay the release.

Current status
~~~~~~~~~~~~~~
dash is /bin/sh by default. It currently has three rc bugs.
 * #546528: dash's preinst shouldn't rely on /bin/sh
   This bug has a patch which is almost one year old. I pinged Gerrtit
   about half a year ago without any response. When Marek Kubica tried
   to NMU this patch further problems turned out. Raphael Geissert has
   worked on these problems, but no final solution is in place yet.

 * #538822: dash: fails to install overwriting files from bash
   This bug is also more than one year old. The bug was reproduced on a
   number of different systems. Thorsten Glaser pointed out that this is
   a more general issue preventing other shells from being /bin/sh.
   There have been numerous ideas without deep thought or testing. It
   affects users upgrading from Lenny if they followed README.Debian, so
   it needs to be addressed.

 * #582952: dash / LINENO-support lets many package FTBFS
   autoconf/configure seems to detect a working POSIX shell using
   presence of LINENO, so with this change it started using dash instead
   of bash being bitten by numerous bashisms. The actual bug is not in
   dash, but in far too many packages to fix.

Options
~~~~~~~
 * #546528: This seems to be "only" a policy violation and I have not
   found any reports about practical problems. If this is not to be
   fixed, it would be an option to tag this squeeze-ignore.

 * #538822: Must be addressed in some way. Since it only hits upgrading
   users that followed README.Debian, those users could be told to
   revert that change via release-notes.

 * #582952: This one involves either fixing a lot of packages or
   shipping a non-POSIX shell by default. Both of which are bad and
   probably breaking a lot of unrelated stuff. Shipping a non-POSIX dash
   seems to be slightly better to me as this hasn't bothered us so
   far[1].

Another option
~~~~~~~~~~~~~~
Due to the currently bad state of dash it is questionable whether Debian
can release with this shell as /bin/sh. So another option is to ship
bash as /bin/sh again. Not supporting dash as /bin/sh would make the
bugs mentioned above vanish. Beware that newer packages may contain
"dashisms" and thus introduce new problems when switching back to bash.

Question to release team
~~~~~~~~~~~~~~~~~~~~~~~~
Since any of these options involves quite fundamental changes to our
distribution they should happen very soon unless we wish to delay the
release. I hereby ask the release team to decide about the provider for
/bin/sh. Any changes either to the /bin/sh symlink or the dash package
should happen very soon. Having a clear message about what these changes
are to be is necessary to make them happen.


Next steps
~~~~~~~~~~
If anyone is going to work on the mentioned bug reports, please state
that in the bug report. Also note that the dash maintainer has requested
help with the package[2]. Also Raphael Geissert seems to have some plans
about the dash situation[3]. It would be nice if you (Raphael) could
give a status report.

I hope that we can get this set of issues fixed in one way or another.

Helmut

[1] Note that neither dash nor bash do conform to POSIX anyway. For
    instance "sh -c 'echo 0:$0 1:$1' - command_name command_option" is
    to print "0:command_name 1:command_option" whereas both dash and
    bash print "0:- 1:command_option". Some BSDs seem to get this right.
    See http://www.opengroup.org/onlinepubs/009695399/utilities/sh.html
    for details.
[2] http://lists.debian.org/debian-devel/2010/03/msg00589.html
[3] http://lists.debian.org/debian-devel/2010/03/msg00667.html


Reply to: