#!/bin/sh ver_old="$2" # Only when upgrading from an older version than 10.0_p1-r2 # and the openssh-server-common-openrc package is installed if [ "$(apk version -t "$ver_old" '10.0_p1-r2')" = '<' ] \ && apk info -e openssh-server-common-openrc > /dev/null then # If started, print message rc-service sshd status | grep -q started && cat >&2 <<-EOF * * The sshd service will now be restarted. * * This is a special exception to our rule * of not managing services through apk. * * From openssh version 10.0_p1 the user * authentication is split from sshd-session * into a separate sshd-auth binary and * without a restart of sshd it will not be * possible to log in. * * This restart of sshd is to prevent you * from being locked out of your system * during or after the upgrade. * EOF # Then restart, if started if rc-service --ifstarted sshd restart then # The above will exit with success even if sshd is stopped exit 0 else # If the command would fail for any reason, print this cat >&2 <<-EOF * * WARNING! * * The sshd service has failed to restart. * * You need to manually sort the issues and * restart sshd. * EOF # Return error, so that the user won't miss this exit 1 fi fi exit 0