Hi Andrew (dash maintainer), Chris (feedback), Russ (/bin/sh -> bash
user), and Thorsten (mksh maintainer),

(resent to bug with debdiff compressed to evade spam filter)

On Wed, Aug 07, 2024 at 11:55:27AM +0200, Helmut Grohne wrote:
> I am attaching a patch that adds a dash.preinst checking for affected
> upgrade scenarios and aborting those that require manual changes. I also
> attach a script for testing various upgrade scenarios and ran it locally
> to verify the correctness of the proposed change.

Chris and others indicated that failing preinst would be too strong.
After all, the system will continue to run and boot. Just other pieces
like proprietary software also installed may fall apart. As a
compromise, a critical debconf prompt was suggested. I've implemented
that approach and attach an updated patch.

I think the trade-off is fairly reasonable now. In the common case
(where /bin/sh -> dash), debconf isn't used at all and dash's own
diversion is deleted. In the rare event of there being a different
diversion without a matching /usr/bin/sh diversion, a critical debconf
error is raised and displayed to the user for confirmation. Before
continuing, they may duplicate the diversion. When
DEBIAN_FRONTEND=noninteractive (such as during mmdebstrap), the message
is still displayed, but does not require confirmation. With that, I
think we will get the message to most affected users and in particular
to users where /bin/sh points to mksh or bash.

Hope this looks good now.

Helmut

Attachment: dash_0.5.12-9.1.debdiff.gz
Description: application/gzip

Reply via email to