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: