From: Zbigniew Jędrzejewski-Szmek Date: Fri, 23 Jul 2021 13:35:23 +0000 (+0200) Subject: update-helper: also add "user-reexec" verb X-Git-Tag: v250-rc1~920^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F20276%2Fhead;p=thirdparty%2Fsystemd.git update-helper: also add "user-reexec" verb This is not called from the systemd.triggers or systemd.macros files. Instead, it would be called from the scriptlets in systemd rpm package itself, at the place where we call systemctl daemon-reexec. See https://github.com/systemd/systemd/pull/20289#issuecomment-885622200 . --- diff --git a/src/rpm/systemd-update-helper.in b/src/rpm/systemd-update-helper.in index f3466ab3c05..0c6675a9db0 100755 --- a/src/rpm/systemd-update-helper.in +++ b/src/rpm/systemd-update-helper.in @@ -74,7 +74,7 @@ case "$command" in fi ;; - user-reload-restart|user-reload|user-restart) + user-reload-restart|user-reload|user-restart|user-reexec) if [ -n "$*" ]; then echo "Unexpected arguments for '$command': $*" exit 2 @@ -84,6 +84,14 @@ case "$command" in users=$(systemctl list-units 'user@*' --legend=no | sed -n -r 's/.*user@([0-9]+).service.*/\1/p') + if [[ "$command" =~ reexec ]]; then + for user in $users; do + SYSTEMD_BUS_TIMEOUT={{UPDATE_HELPER_USER_TIMEOUT}} \ + systemctl --user -M "$user@" daemon-reexec & + done + wait + fi + if [[ "$command" =~ reload ]]; then for user in $users; do SYSTEMD_BUS_TIMEOUT={{UPDATE_HELPER_USER_TIMEOUT}} \