forked from pool/systemd
Accepting request 1094372 from Base:System
- Make sure to pre-install the groups systemd and udev rely on. This is needed when the tmpfiles are run at package installation time. Theoretically with only "Requires(pre): group()", rpm is allowed to drop the group at the end of the package installations hence let's keep "Requires: group()" dep. Note: this is also needed when (post)file-triggers are enabled due to the current limitation of the default libzypp transaction backend. - file-triggers: fix lua trigger priority for sysusers (bsc#1212376) A single digit in the priority used for sysusers got dropped somehow and upstream commit cd621954ed643c6ee0d869132293e26056a48826 forgot to restore it in the lua implementation. - file-triggers: skip the call to systemd-tmpfiles in chroot too. That way we ensure that packages that really need the tmpfiles in advance use the right API which is %tmpfiles_create_package. - file-triggers: to be consistent with what we already does with tmpfiles, we skip the call to systemd-sysusers and delay system user creations until the next reboot. - Temporarily add 5002-Revert-core-service-when-resetting-PID-also-reset-kn.patch until it's backported to the next stable release See https://github.com/systemd/systemd/pull/28000 - file-triggers: make sure to skip the call to systemd-tmpfile in the file-triggers when running on transaction systems (bsc#1212449) systemd-tmpfiles usually modifies paths that are not supposed to change during transactional updates (e.g. /var, /run). On transaction systems changes will happen on the next reboot. OBS-URL: https://build.opensuse.org/request/show/1094372 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=394
This commit is contained in:
commit
482626da80
@ -0,0 +1,41 @@
|
|||||||
|
From 996b00ede87d6a870332e63974a7d4def3c2f1b0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: msizanoen <msizanoen@qtmlabs.xyz>
|
||||||
|
Date: Mon, 12 Jun 2023 10:30:12 +0700
|
||||||
|
Subject: [PATCH 5002/5002] Revert "core/service: when resetting PID also reset
|
||||||
|
known flag"
|
||||||
|
|
||||||
|
This reverts commit ff32060f2ed37b68dc26256b05e2e69013b0ecfe.
|
||||||
|
|
||||||
|
This change is incorrect as we don't want to mark the PID as invalid but
|
||||||
|
only mark it as dead.
|
||||||
|
|
||||||
|
The change in question also breaks user level socket activation for
|
||||||
|
`podman.service` as the termination of the main `podman system service`
|
||||||
|
process is not properly handled, causing any application accessing the
|
||||||
|
socket to hang.
|
||||||
|
|
||||||
|
This is because the user-level `podman.service` unit also hosts two
|
||||||
|
non-main processes: `rootlessport` and `rootlessport-child` which causes
|
||||||
|
the `cgroup_good` check to still succeed.
|
||||||
|
|
||||||
|
The original submitter of this commit is recommended to find another
|
||||||
|
more correct way to fix the cgroupsv1 issue on CentOS 8.
|
||||||
|
---
|
||||||
|
src/core/service.c | 1 -
|
||||||
|
1 file changed, 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/core/service.c b/src/core/service.c
|
||||||
|
index 171e091dff..cecdd3bf50 100644
|
||||||
|
--- a/src/core/service.c
|
||||||
|
+++ b/src/core/service.c
|
||||||
|
@@ -3752,7 +3752,6 @@ static void service_sigchld_event(Unit *u, pid_t pid, int code, int status) {
|
||||||
|
return;
|
||||||
|
|
||||||
|
s->main_pid = 0;
|
||||||
|
- s->main_pid_known = false;
|
||||||
|
exec_status_exit(&s->main_exec_status, &s->exec_context, pid, code, status);
|
||||||
|
|
||||||
|
if (s->main_command) {
|
||||||
|
--
|
||||||
|
2.35.3
|
||||||
|
|
@ -1,8 +1,52 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jun 21 10:30:58 UTC 2023 - Franck Bui <fbui@suse.com>
|
||||||
|
|
||||||
|
- Make sure to pre-install the groups systemd and udev rely on. This is needed
|
||||||
|
when the tmpfiles are run at package installation time. Theoretically with
|
||||||
|
only "Requires(pre): group()", rpm is allowed to drop the group at the end of
|
||||||
|
the package installations hence let's keep "Requires: group()" dep.
|
||||||
|
|
||||||
|
Note: this is also needed when (post)file-triggers are enabled due to the
|
||||||
|
current limitation of the default libzypp transaction backend.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jun 21 09:28:29 UTC 2023 - Franck Bui <fbui@suse.com>
|
||||||
|
|
||||||
|
- file-triggers: fix lua trigger priority for sysusers (bsc#1212376)
|
||||||
|
|
||||||
|
A single digit in the priority used for sysusers got dropped somehow and
|
||||||
|
upstream commit cd621954ed643c6ee0d869132293e26056a48826 forgot to restore it
|
||||||
|
in the lua implementation.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jun 20 15:46:04 UTC 2023 - Franck Bui <fbui@suse.com>
|
||||||
|
|
||||||
|
- file-triggers: skip the call to systemd-tmpfiles in chroot too. That way we
|
||||||
|
ensure that packages that really need the tmpfiles in advance use the right
|
||||||
|
API which is %tmpfiles_create_package.
|
||||||
|
|
||||||
|
- file-triggers: to be consistent with what we already does with tmpfiles, we
|
||||||
|
skip the call to systemd-sysusers and delay system user creations until the
|
||||||
|
next reboot.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jun 20 07:05:34 UTC 2023 - Franck Bui <fbui@suse.com>
|
||||||
|
|
||||||
|
- Temporarily add
|
||||||
|
5002-Revert-core-service-when-resetting-PID-also-reset-kn.patch until it's
|
||||||
|
backported to the next stable release
|
||||||
|
|
||||||
|
See https://github.com/systemd/systemd/pull/28000
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Jun 16 14:38:33 UTC 2023 - Franck Bui <fbui@suse.com>
|
Fri Jun 16 14:38:33 UTC 2023 - Franck Bui <fbui@suse.com>
|
||||||
|
|
||||||
- Make sure to skip the call to systemd-tmpfile in the file-triggers when
|
- file-triggers: make sure to skip the call to systemd-tmpfile in the
|
||||||
running on transaction systems
|
file-triggers when running on transaction systems (bsc#1212449)
|
||||||
|
|
||||||
|
systemd-tmpfiles usually modifies paths that are not supposed to change during
|
||||||
|
transactional updates (e.g. /var, /run). On transaction systems changes will
|
||||||
|
happen on the next reboot.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Jun 1 15:58:24 UTC 2023 - Franck Bui <fbui@suse.com>
|
Thu Jun 1 15:58:24 UTC 2023 - Franck Bui <fbui@suse.com>
|
||||||
|
18
systemd.spec
18
systemd.spec
@ -138,14 +138,16 @@ Requires: systemd-default-settings-branding
|
|||||||
Requires: systemd-presets-branding
|
Requires: systemd-presets-branding
|
||||||
Requires: util-linux >= 2.27.1
|
Requires: util-linux >= 2.27.1
|
||||||
Requires: group(lock)
|
Requires: group(lock)
|
||||||
# This Recommends because some symbols of libpcre2 are dlopen()ed by journalctl
|
# The next dependency is also needed with file-triggers enabled due to the way
|
||||||
Recommends: libpcre2-8-0
|
# the libzypp default transaction backend works.
|
||||||
Recommends: libbpf0
|
Requires(pre): group(lock)
|
||||||
|
|
||||||
Requires(post): coreutils
|
Requires(post): coreutils
|
||||||
Requires(post): findutils
|
Requires(post): findutils
|
||||||
Requires(post): systemd-presets-branding
|
Requires(post): systemd-presets-branding
|
||||||
Requires(post): pam-config >= 0.79-5
|
Requires(post): pam-config >= 0.79-5
|
||||||
|
# This Recommends because some symbols of libpcre2 are dlopen()ed by journalctl
|
||||||
|
Recommends: libpcre2-8-0
|
||||||
|
Recommends: libbpf0
|
||||||
%endif
|
%endif
|
||||||
Conflicts: filesystem < 11.5
|
Conflicts: filesystem < 11.5
|
||||||
Conflicts: mkinitrd < 2.7.0
|
Conflicts: mkinitrd < 2.7.0
|
||||||
@ -216,6 +218,7 @@ Patch12: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch
|
|||||||
# will be removed as soon as a proper fix will be merged by upstream.
|
# will be removed as soon as a proper fix will be merged by upstream.
|
||||||
Patch5000: 5000-core-manager-run-generators-directly-when-we-are-in-.patch
|
Patch5000: 5000-core-manager-run-generators-directly-when-we-are-in-.patch
|
||||||
Patch5001: 5001-Revert-core-propagate-stop-too-if-restart-is-issued.patch
|
Patch5001: 5001-Revert-core-propagate-stop-too-if-restart-is-issued.patch
|
||||||
|
Patch5002: 5002-Revert-core-service-when-resetting-PID-also-reset-kn.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Systemd is a system and service manager, compatible with SysV and LSB
|
Systemd is a system and service manager, compatible with SysV and LSB
|
||||||
@ -323,6 +326,9 @@ Requires: filesystem
|
|||||||
Requires: kmod
|
Requires: kmod
|
||||||
Requires: system-group-hardware
|
Requires: system-group-hardware
|
||||||
Requires: group(kvm)
|
Requires: group(kvm)
|
||||||
|
# The next dependency is also needed with file-triggers enabled due to the way
|
||||||
|
# the libzypp default transaction backend works.
|
||||||
|
Requires(pre): group(kvm)
|
||||||
Requires(post): sed
|
Requires(post): sed
|
||||||
Requires(post): coreutils
|
Requires(post): coreutils
|
||||||
Requires(postun):coreutils
|
Requires(postun):coreutils
|
||||||
@ -1096,14 +1102,14 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%post container
|
%post container
|
||||||
|
%if %{with machined}
|
||||||
%if %{without filetriggers}
|
%if %{without filetriggers}
|
||||||
%tmpfiles_create systemd-nspawn.conf
|
%tmpfiles_create systemd-nspawn.conf
|
||||||
%endif
|
%endif
|
||||||
%if %{with machined}
|
|
||||||
%systemd_post machines.target
|
%systemd_post machines.target
|
||||||
%ldconfig
|
%ldconfig
|
||||||
%endif
|
|
||||||
%{_systemd_util_dir}/rpm/fixlet-container-post.sh $1 || :
|
%{_systemd_util_dir}/rpm/fixlet-container-post.sh $1 || :
|
||||||
|
%endif
|
||||||
|
|
||||||
%if %{with coredump}
|
%if %{with coredump}
|
||||||
%post coredump
|
%post coredump
|
||||||
|
@ -68,11 +68,14 @@ elseif pid > 0 then
|
|||||||
posix.wait(pid)
|
posix.wait(pid)
|
||||||
end
|
end
|
||||||
|
|
||||||
%transfiletriggerin -P 100700 -p <lua> -- /usr/lib/sysusers.d
|
%transfiletriggerin -P 1000700 -p <lua> -- /usr/lib/sysusers.d
|
||||||
-- This script will process files installed in /usr/lib/sysusers.d to create
|
-- This script will process files installed in /usr/lib/sysusers.d to create
|
||||||
-- specified users automatically. The priority is set such that it
|
-- specified users automatically. The priority is set such that it
|
||||||
-- will run before the tmpfiles file trigger.
|
-- will run before the tmpfiles file trigger.
|
||||||
|
-- Note: /run is never mounted during transactional updates.
|
||||||
|
if posix.access("/run/systemd/system") then
|
||||||
assert(rpm.execute("systemd-sysusers"))
|
assert(rpm.execute("systemd-sysusers"))
|
||||||
|
end
|
||||||
|
|
||||||
%if %{without bootstrap}
|
%if %{without bootstrap}
|
||||||
%transfiletriggerin -P 1000700 -n udev -p <lua> -- /usr/lib/udev/hwdb.d
|
%transfiletriggerin -P 1000700 -n udev -p <lua> -- /usr/lib/udev/hwdb.d
|
||||||
@ -102,7 +105,8 @@ end
|
|||||||
-- This script will process files installed in /usr/lib/tmpfiles.d to create
|
-- This script will process files installed in /usr/lib/tmpfiles.d to create
|
||||||
-- tmpfiles automatically. The priority is set such that it will run
|
-- tmpfiles automatically. The priority is set such that it will run
|
||||||
-- after the sysusers file trigger, but before any other triggers.
|
-- after the sysusers file trigger, but before any other triggers.
|
||||||
if os.getenv("TRANSACTIONAL_UPDATE") == nil then
|
-- Note: /run is never mounted during transactional updates.
|
||||||
|
if posix.access("/run/systemd/system") then
|
||||||
assert(rpm.execute("systemd-tmpfiles", "--create"))
|
assert(rpm.execute("systemd-tmpfiles", "--create"))
|
||||||
endf
|
endf
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user