This uses the 'replacement' service slot introduced in the Shepherd
version 0.5.0.
* gnu/services/shepherd.scm (shepherd-service-upgrade): Return a list of
services that need to be restarted to complete their upgrade.
* guix/scripts/system.scm (call-with-service-upgrade-info): Rename an internal
variable to reflect the change to shepherd-service-upgrade.
(upgrade-shepherd-services): Call 'load-services/safe' instead of
'load-services'. Print a message about services that need to be
manually restarted.
* gnu/services/herd.scm (load-services/safe): New procedure.
* doc/guix.texi (Invoking guix system): Document the new behaviour.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>