On 10/20/26 11:48 AM, Kirill A. Korinsky wrote:
On Tue, 20 Oct 2026 09:01:00 +0200,
David Uhden Collado <[email protected]> wrote:

Please find attached a small patch improving shell detection on
OpenBSD.

It recognizes ksh as a POSIX-compatible shell and prefers the
base-system /bin/ksh or /bin/sh as the fallback.

This avoids requiring Bash or Zsh for normal command execution.

> > Right now, if I understand code the right way, it expects bash and falls
back to /bin/sh.

I somehow doubt it will run as expected if you don't give it bash for real.


Why do you need to add ksh here?

++        } else if cfg!(target_os = "openbsd") {
++            // Prefer the platform ksh/sh over bash/zsh when the user shell is
++            // not a recognized explicit choice. An explicit bash/zsh stays.
++            user_default_shell
++                .or_else(|| get_shell(ShellType::Sh))
++                .or_else(|| get_shell(ShellType::Bash))
++                .or_else(|| get_shell(ShellType::Zsh))

FWIW your explanation hasn't said anything about zsh, but here it is.

P.S. I've added run time dependency to bash, it will be included into next
      update.


Reply via email to