diff --git a/changelog/updates/2024-07-03-systemd-255-8.md b/changelog/updates/2024-07-03-systemd-255-8.md new file mode 100644 index 0000000000..6c7c271e9d --- /dev/null +++ b/changelog/updates/2024-07-03-systemd-255-8.md @@ -0,0 +1 @@ +- systemd ([255.8](https://github.com/systemd/systemd-stable/commits/v255.8/)) diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/Manifest b/sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/Manifest index ad2990d127..540b042748 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/Manifest +++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/Manifest @@ -1 +1 @@ -DIST systemd-stable-255.4.tar.gz 14952427 BLAKE2B 27f5080f83a9e870fbe8e3ebcb500a63c42022f1f96f26f35c76eeeea85dab691291c31ee716cab330b76df5e576910a6a82f51267eff4f766b1d4c304d815c9 SHA512 8a2bde11a55f7f788ba7751789a5e9be6ce9634e88d54e49f6e832c4c49020c6cacaf2a610fe26f92998b0cbf43c6c2150a96b2c0953d23261009f57d71ea979 +DIST systemd-stable-255.8.tar.gz 15070471 BLAKE2B b437404af7fd73ef527f80d9d14d46a781444103d1756c27494ecf2664c9c5efe1169c85b91148a3bf190dc7c5e31cf8d42a13c84102d101ea7e4a0570e8d719 SHA512 7692be761a393924669a90f6f343998a85707a9daa3ce169ce67f62ae2a39338c2c3496066b2659c6500849104fab0529fca5704a3eb32375f2f44131216d1f1 diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/files/255-install-format-overflow.patch b/sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/files/255-install-format-overflow.patch deleted file mode 100644 index 3dca7d8e8e..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/files/255-install-format-overflow.patch +++ /dev/null @@ -1,43 +0,0 @@ -https://github.com/systemd/systemd-stable/commit/f85d2c6d1023b1fe558142440b1d63c4fc5f7c98 -https://github.com/systemd/systemd/issues/30448 -https://bugs.gentoo.org/916518 - -From f85d2c6d1023b1fe558142440b1d63c4fc5f7c98 Mon Sep 17 00:00:00 2001 -From: Luca Boccassi -Date: Sat, 24 Feb 2024 12:05:44 +0000 -Subject: [PATCH] install: fix compiler warning about empty directive argument -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -On ppc64el with gcc 13.2 on Ubuntu 24.04: - -3s In file included from ../src/basic/macro.h:386, -483s from ../src/basic/alloc-util.h:10, -483s from ../src/shared/install.c:12: -483s ../src/shared/install.c: In function ‘install_changes_dump’: -483s ../src/shared/install.c:432:64: error: ‘%s’ directive argument is null [-Werror=format-overflow=] -483s 432 | err = log_error_errno(changes[i].type, "Failed to %s unit, unit %s does not exist.", -483s | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -483s ../src/shared/install.c:432:75: note: format string is defined here -483s 432 | err = log_error_errno(changes[i].type, "Failed to %s unit, unit %s does not exist.", - -(cherry picked from commit 8040fa55a1cbc34dede3205a902095ecd26c21e3) ---- a/src/shared/install.c -+++ b/src/shared/install.c -@@ -340,9 +340,12 @@ void install_changes_dump(int r, const char *verb, const InstallChange *changes, - assert(verb || r >= 0); - - for (size_t i = 0; i < n_changes; i++) { -- if (changes[i].type < 0) -- assert(verb); - assert(changes[i].path); -+ /* This tries to tell the compiler that it's safe to use 'verb' in a string format if there -+ * was an error, but the compiler doesn't care and fails anyway, so strna(verb) is used -+ * too. */ -+ assert(verb || changes[i].type >= 0); -+ verb = strna(verb); - - /* When making changes here, make sure to also change install_error() in dbus-manager.c. */ - - diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/files/systemd-test-process-util.patch b/sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/files/systemd-test-process-util.patch new file mode 100644 index 0000000000..92c7eaf295 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/files/systemd-test-process-util.patch @@ -0,0 +1,31 @@ +From c3f91c76af292e3bd2c6e2b12e37de88cf5d7c72 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert +Date: Thu, 18 Apr 2024 00:04:44 -0400 +Subject: [PATCH] test-process-util: remove assert that fails under pid-sandbox + +Upstream refuses to fix this. + +Bug: https://bugs.gentoo.org/674458 +Bug: https://github.com/systemd/systemd/issues/25015 +--- + src/test/test-process-util.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/test/test-process-util.c b/src/test/test-process-util.c +index c96bd4341b..9ff1bdc082 100644 +--- a/src/test/test-process-util.c ++++ b/src/test/test-process-util.c +@@ -92,8 +92,8 @@ static void test_pid_get_comm_one(pid_t pid) { + assert_se(r >= 0 || r == -EACCES); + log_info("PID"PID_FMT" strlen(environ): %zi", pid, env ? (ssize_t)strlen(env) : (ssize_t)-errno); + +- if (!detect_container()) +- assert_se(get_ctty_devnr(pid, &h) == -ENXIO || pid != 1); ++ ++ + + (void) getenv_for_pid(pid, "PATH", &i); + log_info("PID"PID_FMT" $PATH: '%s'", pid, strna(i)); +-- +2.44.0 + diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/systemd-255.4.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/systemd-255.8.ebuild similarity index 97% rename from sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/systemd-255.4.ebuild rename to sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/systemd-255.8.ebuild index 0a4840ed3f..dcfd6a9080 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/systemd-255.4.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/systemd/systemd-255.8.ebuild @@ -184,8 +184,10 @@ BDEPEND=" $(python_gen_cond_dep " dev-python/jinja[\${PYTHON_USEDEP}] dev-python/lxml[\${PYTHON_USEDEP}] - boot? ( >=dev-python/pyelftools-0.30[\${PYTHON_USEDEP}] ) - ukify? ( test? ( ${PEFILE_DEPEND} ) ) + boot? ( + >=dev-python/pyelftools-0.30[\${PYTHON_USEDEP}] + test? ( ${PEFILE_DEPEND} ) + ) ") " @@ -200,11 +202,6 @@ pkg_pretend() { # die "systemd no longer supports split-usr" # fi if [[ ${MERGE_TYPE} != buildonly ]]; then - if use test && has pid-sandbox ${FEATURES}; then - ewarn "Tests are known to fail with PID sandboxing enabled." - ewarn "See https://bugs.gentoo.org/674458." - fi - local CONFIG_CHECK="~BLK_DEV_BSG ~CGROUPS ~CGROUP_BPF ~DEVTMPFS ~EPOLL ~FANOTIFY ~FHANDLE ~INOTIFY_USER ~IPV6 ~NET ~NET_NS ~PROC_FS ~SIGNALFD ~SYSFS @@ -258,7 +255,7 @@ src_unpack() { src_prepare() { local PATCHES=( - "${FILESDIR}"/255-install-format-overflow.patch + "${FILESDIR}/systemd-test-process-util.patch" # Flatcar: Adding our own patches here. "${FILESDIR}/0001-wait-online-set-any-by-default.patch" "${FILESDIR}/0002-networkd-default-to-kernel-IPForwarding-setting.patch" @@ -454,9 +451,15 @@ multilib_src_configure() { } multilib_src_test() { - unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR - local -x COLUMNS=80 - meson_src_test + ( + unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR + export COLUMNS=80 + addpredict /dev + addpredict /proc + addpredict /run + addpredict /sys/fs/cgroup + meson_src_test --timeout-multiplier=10 + ) || die } multilib_src_install_all() { @@ -726,6 +729,11 @@ pkg_postinst() { ebegin "Reexecuting system manager (systemd)" systemctl daemon-reexec eend $? || FAIL=1 + + # https://lists.freedesktop.org/archives/systemd-devel/2024-June/050466.html + ebegin "Signaling user managers to reexec" + systemctl kill --kill-whom='main' --signal='SIGRTMIN+25' 'user@*.service' + eend $? fi if [[ ${FAIL} ]]; then