From c0981501efe59db86aed60894d2bb5075b49d3aa Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Fri, 29 Oct 2021 14:25:29 -0700 Subject: [PATCH] Version 249.6 --- ...y-the-full-path-for-systemctl-and-ot.patch | 9 ++---- ...-script-to-actually-invoke-systemctl.patch | 11 ++----- 0003-rpm-call-needs-restart-in-parallel.patch | 9 ++---- ...-services-at-the-end-of-the-transact.patch | 13 +++----- ...ate-helper-also-add-user-reexec-verb.patch | 9 ++---- ...per-add-missing-loop-over-user-units.patch | 30 +++++++++++++++++++ sources | 2 +- systemd.spec | 14 +++++++-- 8 files changed, 56 insertions(+), 41 deletions(-) create mode 100644 0006-update-helper-add-missing-loop-over-user-units.patch diff --git a/0001-rpm-don-t-specify-the-full-path-for-systemctl-and-ot.patch b/0001-rpm-don-t-specify-the-full-path-for-systemctl-and-ot.patch index f7b3a61..00a012c 100644 --- a/0001-rpm-don-t-specify-the-full-path-for-systemctl-and-ot.patch +++ b/0001-rpm-don-t-specify-the-full-path-for-systemctl-and-ot.patch @@ -1,7 +1,7 @@ -From d4bd8777a483ea834e687c1ee35dee32efe6e49f Mon Sep 17 00:00:00 2001 +From 7d9ee15d0fc2af87481ee371b278dbe7e68165ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Wed, 7 Jul 2021 14:02:36 +0200 -Subject: [PATCH 1/5] rpm: don't specify the full path for systemctl and other +Subject: [PATCH] rpm: don't specify the full path for systemctl and other commands We can make things a bit simpler and more readable by not specifying the path. @@ -10,8 +10,6 @@ recursively by anythign we invoke), this didn't really privide any security or robustness benefits. I guess that full paths were used because this style of rpm packagnig was popular in the past, with macros used for everything possible, with special macros for common commands like %{__ln} and %{__mkdir}. - -(cherry picked from commit 7d9ee15d0fc2af87481ee371b278dbe7e68165ef) --- src/rpm/macros.systemd.in | 24 ++++++++++++------------ src/rpm/triggers.systemd.in | 18 +++++++++--------- @@ -252,6 +250,3 @@ index 22abad9812..1631be18c9 100644 fi %transfiletriggerin -P 1000500 -- {{SYSCTL_DIR}} --- -2.31.1 - diff --git a/0002-rpm-use-a-helper-script-to-actually-invoke-systemctl.patch b/0002-rpm-use-a-helper-script-to-actually-invoke-systemctl.patch index 32047c5..212a58d 100644 --- a/0002-rpm-use-a-helper-script-to-actually-invoke-systemctl.patch +++ b/0002-rpm-use-a-helper-script-to-actually-invoke-systemctl.patch @@ -1,7 +1,7 @@ -From 09e8c6aa71ee4b5ff3ee85fc4855e2c1a246a079 Mon Sep 17 00:00:00 2001 +From 6d825ab2d42d3219e49a192bf99f9c09134a0df4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 22 Jul 2021 11:22:33 +0200 -Subject: [PATCH 2/5] rpm: use a helper script to actually invoke systemctl +Subject: [PATCH] rpm: use a helper script to actually invoke systemctl commands MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -27,8 +27,6 @@ implementation in bash to do the more complex stuff. The meson version is raised to 0.47 because that's needed for install_mode. We were planning to raise the required version anyway… - -(cherry picked from commit 6d825ab2d42d3219e49a192bf99f9c09134a0df4) --- README | 2 +- meson.build | 3 +- @@ -54,7 +52,7 @@ index 0e5c326deb..a8f23a0d5b 100644 gcc, awk, sed, grep, and similar tools clang >= 10.0, llvm >= 10.0 (optional, required to build BPF programs diff --git a/meson.build b/meson.build -index 738879eb21..fb986e84f7 100644 +index a2ee15bf32..c6b3e72d23 100644 --- a/meson.build +++ b/meson.build @@ -10,7 +10,7 @@ project('systemd', 'c', @@ -332,6 +330,3 @@ index 1631be18c9..83cd7617f8 100644 %transfiletriggerin -P 1000700 -- {{SYSUSERS_DIR}} # This script will process files installed in {{SYSUSERS_DIR}} to create --- -2.31.1 - diff --git a/0003-rpm-call-needs-restart-in-parallel.patch b/0003-rpm-call-needs-restart-in-parallel.patch index 4637f3e..b1efa37 100644 --- a/0003-rpm-call-needs-restart-in-parallel.patch +++ b/0003-rpm-call-needs-restart-in-parallel.patch @@ -1,7 +1,7 @@ -From 0a2e691b6b1fdceb4b7504870c4b792a66b5080f Mon Sep 17 00:00:00 2001 +From 3598aff4d963b2e51ac74d206161da47bfde785c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 22 Jul 2021 11:28:36 +0200 -Subject: [PATCH 3/5] rpm: call +needs-restart in parallel +Subject: [PATCH] rpm: call +needs-restart in parallel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -9,8 +9,6 @@ Content-Transfer-Encoding: 8bit Some rpms install a bunch of units… It seems nicer to invoke them all in parallel. In particular, timeouts in systemctl also run in parallel, so if there's some communication mishap, we will wait less. - -(cherry picked from commit 3598aff4d963b2e51ac74d206161da47bfde785c) --- src/rpm/systemd-update-helper.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) @@ -30,6 +28,3 @@ index 9fa49fa131..f3c75b75fa 100755 ;; system-reload-restart|system-reload|system-restart) --- -2.31.1 - diff --git a/0004-rpm-restart-user-services-at-the-end-of-the-transact.patch b/0004-rpm-restart-user-services-at-the-end-of-the-transact.patch index eac9b89..94eca7b 100644 --- a/0004-rpm-restart-user-services-at-the-end-of-the-transact.patch +++ b/0004-rpm-restart-user-services-at-the-end-of-the-transact.patch @@ -1,7 +1,7 @@ -From a63d5d320f81c1cbae07897a401ed5cc5374e0bf Mon Sep 17 00:00:00 2001 +From 36d55958ccc75fa3c91bdd7354d74c910f2f6cc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Wed, 7 Jul 2021 14:37:57 +0200 -Subject: [PATCH 4/5] rpm: restart user services at the end of the transaction +Subject: [PATCH] rpm: restart user services at the end of the transaction This closes an important gap: so far we would reexecute the system manager and restart system services that were configured to do so, but we wouldn't do the @@ -41,8 +41,6 @@ service manually. A follow-up for https://bugzilla.redhat.com/show_bug.cgi?id=1792468 and fa97d2fcf64e0558054bee673f734f523373b146. - -(cherry picked from commit 36d55958ccc75fa3c91bdd7354d74c910f2f6cc7) --- meson.build | 1 + meson_options.txt | 2 ++ @@ -53,7 +51,7 @@ fa97d2fcf64e0558054bee673f734f523373b146. 6 files changed, 94 insertions(+), 3 deletions(-) diff --git a/meson.build b/meson.build -index fb986e84f7..d898d9ccd0 100644 +index c6b3e72d23..cafce977c2 100644 --- a/meson.build +++ b/meson.build @@ -270,6 +270,7 @@ conf.set_quoted('TMPFILES_DIR', tmpfilesdir) @@ -65,7 +63,7 @@ index fb986e84f7..d898d9ccd0 100644 conf.set_quoted('USER_DATA_UNIT_DIR', userunitdir) conf.set_quoted('USER_ENV_GENERATOR_DIR', userenvgeneratordir) diff --git a/meson_options.txt b/meson_options.txt -index 163c8df87d..9383c7da6a 100644 +index b60261ac24..50f2b7b5e9 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -182,6 +182,8 @@ option('xinitrcdir', type : 'string', value : '', @@ -254,6 +252,3 @@ index 83cd7617f8..694cd94e8d 100644 %transfiletriggerin -P 1000700 -- {{SYSUSERS_DIR}} # This script will process files installed in {{SYSUSERS_DIR}} to create # specified users automatically. The priority is set such that it --- -2.31.1 - diff --git a/0005-update-helper-also-add-user-reexec-verb.patch b/0005-update-helper-also-add-user-reexec-verb.patch index 7c4f7ba..f5f407e 100644 --- a/0005-update-helper-also-add-user-reexec-verb.patch +++ b/0005-update-helper-also-add-user-reexec-verb.patch @@ -1,15 +1,13 @@ -From 37cd6c0fad847e5fffd9d107358a36e767c7ca42 Mon Sep 17 00:00:00 2001 +From 1262e824a4d638e347ae0d39c973f1f750962533 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Fri, 23 Jul 2021 15:35:23 +0200 -Subject: [PATCH 5/5] update-helper: also add "user-reexec" verb +Subject: [PATCH] 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 . - -(cherry picked from commit 1262e824a4d638e347ae0d39c973f1f750962533) --- src/rpm/systemd-update-helper.in | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) @@ -42,6 +40,3 @@ index f3466ab3c0..0c6675a9db 100755 if [[ "$command" =~ reload ]]; then for user in $users; do SYSTEMD_BUS_TIMEOUT={{UPDATE_HELPER_USER_TIMEOUT}} \ --- -2.31.1 - diff --git a/0006-update-helper-add-missing-loop-over-user-units.patch b/0006-update-helper-add-missing-loop-over-user-units.patch new file mode 100644 index 0000000..308c4c2 --- /dev/null +++ b/0006-update-helper-add-missing-loop-over-user-units.patch @@ -0,0 +1,30 @@ +From a4eba5d8cfaabbd87687c651fcdd06df9e267931 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 4 Nov 2021 09:49:18 +0100 +Subject: [PATCH] update-helper: add missing loop over user units + +Noticed by Luca. + +shellcheck doens't catch this, and somehow it was missed in review +and testing ;( +--- + src/rpm/systemd-update-helper.in | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/rpm/systemd-update-helper.in b/src/rpm/systemd-update-helper.in +index fa35e7ba90..7e007d4806 100755 +--- a/src/rpm/systemd-update-helper.in ++++ b/src/rpm/systemd-update-helper.in +@@ -52,8 +52,10 @@ case "$command" in + + users=$(systemctl list-units 'user@*' --legend=no | sed -n -r 's/.*user@([0-9]+).service.*/\1/p') + for user in $users; do +- SYSTEMD_BUS_TIMEOUT={{UPDATE_HELPER_USER_TIMEOUT}} \ +- systemctl --user -M "$user@" set-property "$unit" Markers=+needs-restart & ++ for unit in "$@"; do ++ SYSTEMD_BUS_TIMEOUT={{UPDATE_HELPER_USER_TIMEOUT}} \ ++ systemctl --user -M "$user@" set-property "$unit" Markers=+needs-restart & ++ done + done + wait + ;; diff --git a/sources b/sources index 4273125..27a9dc4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (systemd-249.5.tar.gz) = d6f1a5a6f03f0ed05b111aee75da509c5868c523af6209f33e630724dd0c7e0d0abf16920795d587e6c31a5915d247ebc613cf26d4aecf39f82ebb0690fab75f +SHA512 (systemd-249.6.tar.gz) = 7149cb807cac05a590545a9155ecacdf230f09cac70585fa8e7ddd1f03e86205cb1c91b51885b65d2f2cf921e6fdad5ca182047d290f31631c8eb362fe87e4a5 diff --git a/systemd.spec b/systemd.spec index 7207a00..a94eb50 100644 --- a/systemd.spec +++ b/systemd.spec @@ -30,8 +30,8 @@ Name: systemd Url: https://www.freedesktop.org/wiki/Software/systemd %if %{without inplace} -Version: 249.5 -Release: 1%{?dist} +Version: 249.6 +Release: 2%{?dist} %else # determine the build information from local checkout Version: %(tools/meson-vcs-tag.sh . error | sed -r 's/-([0-9])/.^\1/; s/-g/_g/') @@ -96,6 +96,7 @@ Patch0002: 0002-rpm-use-a-helper-script-to-actually-invoke-systemctl.patch Patch0003: 0003-rpm-call-needs-restart-in-parallel.patch Patch0004: 0004-rpm-restart-user-services-at-the-end-of-the-transact.patch Patch0005: 0005-update-helper-also-add-user-reexec-verb.patch +Patch0006: 0006-update-helper-add-missing-loop-over-user-units.patch # Downstream-only patches (5000–9999) # https://bugzilla.redhat.com/show_bug.cgi?id=1738828 @@ -998,6 +999,15 @@ fi %files standalone-sysusers -f .file-list-standalone-sysusers %changelog +* Thu Nov 4 2021 Zbigniew Jędrzejewski-Szmek - 249.6-2 +- Latest bugfix release (networkd, coredumpctl, varlink, udev, + systemctl, systemd itself, better detection of Hyper-V and + Virtualbox virtualization, documentation updates) +- Fix helper to restart user units + +* Fri Oct 29 2021 Adam Williamson - 249.5-2 +- Backport PR #133 to fix boot + * Tue Oct 12 2021 Zbigniew Jędrzejewski-Szmek - 249.5-1 - Latest bugfix release (various fixes in systemd-networkd, --timesyncd, -journald, -udev, homed, -resolved, -repart, -oomd,