When /bin/sh does not point to bash, the following errors are printed when starting /etc/init.d/exim: /lib/rc/sh/openrc-run.sh: 19: /lib/rc/sh/openrc-run.sh: [[: not found /lib/rc/sh/openrc-run.sh: 19: /lib/rc/sh/openrc-run.sh: /var/spool/exim/db/retry: Permission denied /lib/rc/sh/openrc-run.sh: 19: /lib/rc/sh/openrc-run.sh: [[: not found /lib/rc/sh/openrc-run.sh: 19: /lib/rc/sh/openrc-run.sh: /var/spool/exim/db/retry.lockfile: Permission denied /lib/rc/sh/openrc-run.sh: 19: /lib/rc/sh/openrc-run.sh: [[: not found /lib/rc/sh/openrc-run.sh: 19: /lib/rc/sh/openrc-run.sh: /var/spool/exim/db/wait-remote_smtp: Permission denied /lib/rc/sh/openrc-run.sh: 19: /lib/rc/sh/openrc-run.sh: [[: not found /lib/rc/sh/openrc-run.sh: 19: /lib/rc/sh/openrc-run.sh: /var/spool/exim/db/wait-remote_smtp.lockfile: Permission denied These are caused by using the non-standard [[ command: [[ ${db} == *".lockfile" || ${db} == *"*" ]] && continue Fortunately, this can easily be replaced with a case statement.
I fixed this for 4.89, thanks!