* Re: [OE-core] [PATCH 1/3] systemd: Upgrade 261.3 -> 262
2026-09-28 11:39 ` [PATCH 1/3] " Jaipaul Cheernam
@ 2026-09-29 6:31 ` Mathieu Dubois-Briand
2026-09-29 6:35 ` Jaipaul Cheernam
2026-09-29 6:59 ` [PATCH v2] " Jaipaul Cheernam
` (2 subsequent siblings)
3 siblings, 1 reply; 12+ messages in thread
From: Mathieu Dubois-Briand @ 2026-09-29 6:31 UTC (permalink / raw)
To: Jaipaul Cheernam, openembedded-core
On Mon Sep 28, 2026 at 1:39 PM CEST, Jaipaul Cheernam wrote:
> NEWS: https://github.com/systemd/systemd/blob/v262-stable/NEWS#L3-L877
>
> - Refresh patches for 262
> - Cleanup deprecated meson build options [1]
> - rules: install 60-persistent-media-controller.rules [2]
>
> [1] https://github.com/systemd/systemd/blob/v262-stable/NEWS#L41
> [2] https://github.com/systemd/systemd/commit/d153b49473
>
> Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
> ---
Hi Jaipaul,
Thanks for the upgrade. It looks like another patch needs refresh:
ERROR: systemd-1_262-r0 do_patch: Applying patch '/srv/pokybuild/yocto-worker/qemuarm64-alt/build/layers/openembedded-core/meta/recipes-core/systemd/systemd/0001-include-fix-limits.h-override.patch' on target directory '/srv/pokybuild/yocto-worker/qemuarm64-alt/build/build/tmp/work/cortexa57-poky-linux/systemd/262/sources/systemd-262'
CmdError('quilt --quiltrc /srv/pokybuild/yocto-worker/qemuarm64-alt/build/build/tmp/work/cortexa57-poky-linux/systemd/262/recipe-sysroot-native/etc/quiltrc push', 1, 'stdout: Applying patch 0001-include-fix-limits.h-override.patch
patching file src/include/musl/limits.h
Hunk #1 FAILED at 1.
1 out of 1 hunk FAILED -- rejects in file src/include/musl/limits.h
Patch 0001-include-fix-limits.h-override.patch can be reverse-applied
https://autobuilder.yoctoproject.org/valkyrie/#/builders/9/builds/4686
Can you have a look at that?
Thanks,
Mathieu
--
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 12+ messages in thread* [PATCH v2] systemd: Upgrade 261.3 -> 262
2026-09-28 11:39 ` [PATCH 1/3] " Jaipaul Cheernam
2026-09-29 6:31 ` [OE-core] " Mathieu Dubois-Briand
@ 2026-09-29 6:59 ` Jaipaul Cheernam
2026-09-30 6:04 ` [OE-core] " Mathieu Dubois-Briand
2026-10-01 7:50 ` [PATCH v3] " Jaipaul Cheernam
2026-10-06 19:37 ` [PATCH v4] " Jaipaul Cheernam
3 siblings, 1 reply; 12+ messages in thread
From: Jaipaul Cheernam @ 2026-09-29 6:59 UTC (permalink / raw)
To: openembedded-core
NEWS: https://github.com/systemd/systemd/blob/v262-stable/NEWS#L3-L877
- Refresh patches for v262
- Drop deprecated meson build options [1]
- Drop 0001-include-fix-limits.h-override.patch [2]
- Add rules: install 60-persistent-media-controller.rules [3]
[1] https://github.com/systemd/systemd/blob/v262-stable/NEWS#L41
[2] https://github.com/systemd/systemd/commit/6a131b32e0fe948e845ae4bf41f8fed003ec30ce
[3] https://github.com/systemd/systemd/commit/d153b49473
Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
---
Changes since v1:
- Drop 0001-include-fix-limits.h-override.patch
...ve_261.3.bb => systemd-boot-native_262.bb} | 0
...temd-boot_261.3.bb => systemd-boot_262.bb} | 0
...e_261.3.bb => systemd-tools-native_262.bb} | 3 -
meta/recipes-core/systemd/systemd.inc | 4 +-
...tall-dependency-links-at-install-tim.patch | 8 +-
.../0001-include-fix-limits.h-override.patch | 74 -------------------
.../0003-Do-not-create-var-log-README.patch | 2 +-
.../{systemd_261.3.bb => systemd_262.bb} | 3 +-
8 files changed, 8 insertions(+), 86 deletions(-)
rename meta/recipes-core/systemd/{systemd-boot-native_261.3.bb => systemd-boot-native_262.bb} (100%)
rename meta/recipes-core/systemd/{systemd-boot_261.3.bb => systemd-boot_262.bb} (100%)
rename meta/recipes-core/systemd/{systemd-tools-native_261.3.bb => systemd-tools-native_262.bb} (93%)
delete mode 100644 meta/recipes-core/systemd/systemd/0001-include-fix-limits.h-override.patch
rename meta/recipes-core/systemd/{systemd_261.3.bb => systemd_262.bb} (99%)
diff --git a/meta/recipes-core/systemd/systemd-boot-native_261.3.bb b/meta/recipes-core/systemd/systemd-boot-native_262.bb
similarity index 100%
rename from meta/recipes-core/systemd/systemd-boot-native_261.3.bb
rename to meta/recipes-core/systemd/systemd-boot-native_262.bb
diff --git a/meta/recipes-core/systemd/systemd-boot_261.3.bb b/meta/recipes-core/systemd/systemd-boot_262.bb
similarity index 100%
rename from meta/recipes-core/systemd/systemd-boot_261.3.bb
rename to meta/recipes-core/systemd/systemd-boot_262.bb
diff --git a/meta/recipes-core/systemd/systemd-tools-native_261.3.bb b/meta/recipes-core/systemd/systemd-tools-native_262.bb
similarity index 93%
rename from meta/recipes-core/systemd/systemd-tools-native_261.3.bb
rename to meta/recipes-core/systemd/systemd-tools-native_262.bb
index bffaf5a2f08..359bc972ccf 100644
--- a/meta/recipes-core/systemd/systemd-tools-native_261.3.bb
+++ b/meta/recipes-core/systemd/systemd-tools-native_262.bb
@@ -18,9 +18,6 @@ EXTRA_OEMESON += "--auto-features disabled"
# Link the binaries statically as we don't install libsystemd-shared.so
EXTRA_OEMESON += "-Dlink-systemctl-shared=false -Dlink-udev-shared=false"
-# Ensure unused build paths are not in the binary
-EXTRA_OEMESON += "-Dsysvinit-path= -Dsysvrcnd-path="
-
# Target-absolute paths that satisfy both tools from one meson configure:
# - systemd-hwdb needs prefix=/usr so the compiled-in UDEVLIBEXECDIR
# (/usr/lib/udev) matches the target rootfs layout, letting
diff --git a/meta/recipes-core/systemd/systemd.inc b/meta/recipes-core/systemd/systemd.inc
index 3ee898958fd..5ea45a78b2d 100644
--- a/meta/recipes-core/systemd/systemd.inc
+++ b/meta/recipes-core/systemd/systemd.inc
@@ -15,8 +15,8 @@ LICENSE:libsystemd = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=c09786363500a9acc29b147e6e72d2c6 \
file://LICENSE.LGPL2.1;md5=be0aaf4a380f73f7e00b420a007368f2"
-SRCREV = "3255daee1572366b74fe92f002a3d60ecbb27103"
-SRCBRANCH = "v261-stable"
+SRCREV = "8cc40e0c5e9234bf45084751ac53b1fbfe70b492"
+SRCBRANCH = "v262-stable"
SRC_URI = "git://github.com/systemd/systemd.git;protocol=https;branch=${SRCBRANCH};tag=v${PV}"
CVE_PRODUCT = "systemd"
diff --git a/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch b/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch
index b83803aa08e..0b9eb4ac3cc 100644
--- a/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch
+++ b/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch
@@ -1,4 +1,4 @@
-From 451af4755f0c1da552498682d910f4f4c5209639 Mon Sep 17 00:00:00 2001
+From 4793a67d3d738520f0193a9edff491989e8d77bc Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Thu, 21 Feb 2019 16:23:24 +0800
Subject: [PATCH] binfmt: Don't install dependency links at install time for
@@ -25,10 +25,10 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
3 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/units/meson.build b/units/meson.build
-index 27d8ef2f72..864caa44bb 100644
+index 9f8f8d0e41..9a74236690 100644
--- a/units/meson.build
+++ b/units/meson.build
-@@ -168,7 +168,6 @@ units = [
+@@ -172,7 +172,6 @@ units = [
{
'file' : 'proc-sys-fs-binfmt_misc.automount',
'conditions' : ['ENABLE_BINFMT'],
@@ -36,7 +36,7 @@ index 27d8ef2f72..864caa44bb 100644
},
{
'file' : 'proc-sys-fs-binfmt_misc.mount',
-@@ -279,7 +278,6 @@ units = [
+@@ -283,7 +282,6 @@ units = [
{
'file' : 'systemd-binfmt.service.in',
'conditions' : ['ENABLE_BINFMT'],
diff --git a/meta/recipes-core/systemd/systemd/0001-include-fix-limits.h-override.patch b/meta/recipes-core/systemd/systemd/0001-include-fix-limits.h-override.patch
deleted file mode 100644
index d11a5fe3f82..00000000000
--- a/meta/recipes-core/systemd/systemd/0001-include-fix-limits.h-override.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 6a131b32e0fe948e845ae4bf41f8fed003ec30ce Mon Sep 17 00:00:00 2001
-From: Yu Watanabe <watanabe.yu+github@gmail.com>
-Date: Tue, 22 Sep 2026 01:55:01 +0900
-Subject: [PATCH] include: fix limits.h override
-
-This is especially necessary since GCC 16.x.
-
-=====
-$ gcc --version
-gcc (GCC) 16.2.1 20260819 (Red Hat 16.2.1-2)
-Copyright (C) 2026 Free Software Foundation, Inc.
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-=====
-
-Without this change, /usr/include/limits.h is not included, hence POSIX
-constants are not defined:
-=====
-$ echo '#include <limits.h>' | gcc -E -H -isystem ~/git/systemd/src/include/musl - 2>&1 >/dev/null | grep '^\..*limit'
-. /home/watanabe/git/systemd/src/include/musl/limits.h
-.. /usr/lib/gcc/x86_64-redhat-linux/16/include/limits.h
-... /usr/lib/gcc/x86_64-redhat-linux/16/include/syslimits.h
-=====
-
-With this change, /usr/include/limits.h is included, thus POSIX
-constants are defined:
-=====
-$ echo '#include <limits.h>' | gcc -E -H -isystem ~/git/systemd/src/include/musl - 2>&1 >/dev/null | grep '^\..*limit'
-. /home/watanabe/git/systemd/src/include/musl/limits.h
-.. /usr/lib/gcc/x86_64-redhat-linux/16/include/limits.h
-... /usr/include/limits.h
-...... /usr/include/linux/limits.h
-.. /usr/lib/gcc/x86_64-redhat-linux/16/include/limits.h
-=====
-
-Replaces #43824.
-
-Upstream-Status: Backport [https://github.com/systemd/systemd/pull/43831]
-Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
----
- src/include/musl/limits.h | 20 ++++++++++++++++++++
- 1 file changed, 20 insertions(+)
-
-diff --git a/src/include/musl/limits.h b/src/include/musl/limits.h
-index 9620a3b0ac..bcc585be2c 100644
---- a/src/include/musl/limits.h
-+++ b/src/include/musl/limits.h
-@@ -1,6 +1,26 @@
- /* SPDX-License-Identifier: LGPL-2.1-or-later */
- #pragma once
-
-+/* GCC introduces a spurious, tricky inclusion cycle:
-+ * GCC's limits.h
-+ * -> GCC's syslimits.h
-+ * -> GCC's limits.h (again!!!)
-+ * -> glibc/musl's limits.h
-+ * -> define POSIX defines
-+ * -> define ISO C defines
-+ * This works only when GCC's limits.h is included first, but a user override breaks the cycle. Hence, we
-+ * need to manually achieve the cycle here. If GCC is not used (e.g., Clang), then including the compiler's
-+ * limits.h twice should be redundant but harmless. */
-+
-+/* First, get the POSIX defines from glibc/musl's limits.h. When the two macros below are defined, GCC's
-+ * limits.h includes the next limits.h, that is, one from glibc/musl. */
-+#define _GCC_LIMITS_H_
-+#define _GCC_NEXT_LIMITS_H
-+#include_next <limits.h> /* IWYU pragma: export */
-+#undef _GCC_NEXT_LIMITS_H
-+#undef _GCC_LIMITS_H_
-+
-+/* Next, get the ISO C defines from GCC's limits.h. */
- #include_next <limits.h> /* IWYU pragma: export */
-
- #include <assert.h>
diff --git a/meta/recipes-core/systemd/systemd/0003-Do-not-create-var-log-README.patch b/meta/recipes-core/systemd/systemd/0003-Do-not-create-var-log-README.patch
index 175ec7955bd..c64bfa82491 100644
--- a/meta/recipes-core/systemd/systemd/0003-Do-not-create-var-log-README.patch
+++ b/meta/recipes-core/systemd/systemd/0003-Do-not-create-var-log-README.patch
@@ -1,4 +1,4 @@
-From 0d4a5976056387ff3801fdb7f53e6d0760df0475 Mon Sep 17 00:00:00 2001
+From e36f6fc852f8331791f391a216885b9bea543aff Mon Sep 17 00:00:00 2001
From: Peter Kjellerstedt <pkj@axis.com>
Date: Tue, 21 Jan 2025 05:02:00 +0100
Subject: [PATCH] Do not create /var/log/README
diff --git a/meta/recipes-core/systemd/systemd_261.3.bb b/meta/recipes-core/systemd/systemd_262.bb
similarity index 99%
rename from meta/recipes-core/systemd/systemd_261.3.bb
rename to meta/recipes-core/systemd/systemd_262.bb
index 0901736e7c9..2562c9ff3b9 100644
--- a/meta/recipes-core/systemd/systemd_261.3.bb
+++ b/meta/recipes-core/systemd/systemd_262.bb
@@ -36,7 +36,6 @@ SRC_URI += "file://touchscreen.rules \
file://systemd-pager.sh \
file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
file://0003-Do-not-create-var-log-README.patch \
- file://0001-include-fix-limits.h-override.patch \
"
PAM_PLUGINS = " \
@@ -144,7 +143,6 @@ PACKAGECONFIG[journal-color] = ",,,less"
PACKAGECONFIG[journal-upload] = "-Dlibcurl=enabled,-Dlibcurl=disabled,curl"
PACKAGECONFIG[kmod] = "-Dkmod=enabled,-Dkmod=disabled,kmod,libkmod"
PACKAGECONFIG[ldconfig] = "-Dldconfig=true,-Dldconfig=false,,ldconfig"
-PACKAGECONFIG[libidn] = "-Dlibidn=enabled,-Dlibidn=disabled,libidn"
PACKAGECONFIG[libidn2] = "-Dlibidn2=enabled,-Dlibidn2=disabled,libidn2"
# Link udev shared with systemd helper library.
# If enabled the udev package depends on the systemd package (which has the needed shared library).
@@ -799,6 +797,7 @@ FILES:udev += "${base_sbindir}/udevd \
${nonarch_libdir}/udev/rules.d/60-persistent-alsa.rules \
${nonarch_libdir}/udev/rules.d/60-persistent-hidraw.rules \
${nonarch_libdir}/udev/rules.d/60-persistent-input.rules \
+ ${nonarch_libdir}/udev/rules.d/60-persistent-media-controller.rules \
${nonarch_libdir}/udev/rules.d/60-persistent-storage.rules \
${nonarch_libdir}/udev/rules.d/60-persistent-storage-mtd.rules \
${nonarch_libdir}/udev/rules.d/60-persistent-storage-tape.rules \
^ permalink raw reply related [flat|nested] 12+ messages in thread* Re: [OE-core] [PATCH v2] systemd: Upgrade 261.3 -> 262
2026-09-29 6:59 ` [PATCH v2] " Jaipaul Cheernam
@ 2026-09-30 6:04 ` Mathieu Dubois-Briand
2026-09-30 15:07 ` Jaipaul Cheernam
0 siblings, 1 reply; 12+ messages in thread
From: Mathieu Dubois-Briand @ 2026-09-30 6:04 UTC (permalink / raw)
To: Jaipaul Cheernam, openembedded-core
On Tue Sep 29, 2026 at 8:59 AM CEST, Jaipaul Cheernam wrote:
> NEWS: https://github.com/systemd/systemd/blob/v262-stable/NEWS#L3-L877
>
> - Refresh patches for v262
> - Drop deprecated meson build options [1]
> - Drop 0001-include-fix-limits.h-override.patch [2]
> - Add rules: install 60-persistent-media-controller.rules [3]
>
> [1] https://github.com/systemd/systemd/blob/v262-stable/NEWS#L41
> [2] https://github.com/systemd/systemd/commit/6a131b32e0fe948e845ae4bf41f8fed003ec30ce
> [3] https://github.com/systemd/systemd/commit/d153b49473
>
> Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
> ---
Hi Jaipaul,
Thanks for the new version. It looks better, except for a test fail:
Traceback (most recent call last):
File "/srv/pokybuild/yocto-worker/qemux86-64-alt/build/layers/openembedded-core/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/srv/pokybuild/yocto-worker/qemux86-64-alt/build/layers/openembedded-core/meta/lib/oeqa/runtime/cases/systemd.py", line 100, in test_systemd_failed
output += self.systemctl('status --full --failed')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/srv/pokybuild/yocto-worker/qemux86-64-alt/build/layers/openembedded-core/meta/lib/oeqa/runtime/cases/systemd.py", line 26, in systemctl
self.assertEqual(status, expected, message)
AssertionError: 3 != 0 : SYSTEMD_BUS_TIMEOUT=240s systemctl status --full --failed
x systemd-coredumpd.service - Listen Kernel Core Dump Socket
Loaded: loaded (/usr/lib/systemd/system/systemd-coredumpd.service; enabled; preset: enabled)
Active: failed (Result: start-limit-hit) since Tue 2026-09-29 15:04:12 UTC; 6s ago
Invocation: 14d841285f64478290e42885757aee13
Docs: man:systemd-coredump(8)
Process: 841 ExecCondition=/usr/lib/systemd/systemd-coredump --check-requirements (code=exited, status=1/FAILURE)
FD Store: 0 (limit: 512)
Mem peak: 2.1M
CPU: 43ms
...
RESULTS - systemd.SystemdBasicTests.test_systemd_failed: FAILED (1.69s)
https://autobuilder.yoctoproject.org/valkyrie/#/builders/95/builds/4667
Can you have a look at that?
Thanks,
Mathieu
--
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: [OE-core] [PATCH v2] systemd: Upgrade 261.3 -> 262
2026-09-30 6:04 ` [OE-core] " Mathieu Dubois-Briand
@ 2026-09-30 15:07 ` Jaipaul Cheernam
0 siblings, 0 replies; 12+ messages in thread
From: Jaipaul Cheernam @ 2026-09-30 15:07 UTC (permalink / raw)
To: Mathieu Dubois-Briand, openembedded-core, Richard Purdie
On 2026-09-30 08:04, Mathieu Dubois-Briand wrote:
> Thanks for the new version. It looks better, except for a test fail:
>
> Traceback (most recent call last):
> File "/srv/pokybuild/yocto-worker/qemux86-64-alt/build/layers/openembedded-core/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
> return func(*args, **kwargs)
> ^^^^^^^^^^^^^^^^^^^^^
> File "/srv/pokybuild/yocto-worker/qemux86-64-alt/build/layers/openembedded-core/meta/lib/oeqa/runtime/cases/systemd.py", line 100, in test_systemd_failed
> output += self.systemctl('status --full --failed')
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/srv/pokybuild/yocto-worker/qemux86-64-alt/build/layers/openembedded-core/meta/lib/oeqa/runtime/cases/systemd.py", line 26, in systemctl
> self.assertEqual(status, expected, message)
> AssertionError: 3 != 0 : SYSTEMD_BUS_TIMEOUT=240s systemctl status --full --failed
> x systemd-coredumpd.service - Listen Kernel Core Dump Socket
> Loaded: loaded (/usr/lib/systemd/system/systemd-coredumpd.service; enabled; preset: enabled)
> Active: failed (Result: start-limit-hit) since Tue 2026-09-29 15:04:12 UTC; 6s ago
> Invocation: 14d841285f64478290e42885757aee13
> Docs: man:systemd-coredump(8)
> Process: 841 ExecCondition=/usr/lib/systemd/systemd-coredump --check-requirements (code=exited, status=1/FAILURE)
> FD Store: 0 (limit: 512)
> Mem peak: 2.1M
> CPU: 43ms
>
> ...
> RESULTS - systemd.SystemdBasicTests.test_systemd_failed: FAILED (1.69s)
>
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/95/builds/4667
Hi Mathieu,
failure from the 262 upgrade related to kernel version.
I built both, systemd as init, and checked directly:
6.18.52:
# systemd-coredump --check-requirements; echo $?
ioctl(PIDFD_GET_INFO) does not support PIDFD_INFO_COREDUMP and/or
PIDFD_INFO_COREDUMP_SIGNAL.
1
-> coredumpd goes to failed (start-limit-hit), test_systemd_failed
fails
7.2.6:
# systemd-coredump --check-requirements; echo $?
0
-> coredumpd is active (running), test passes
But PIDFD_INFO_COREDUMP_SIGNAL is available from kernel version 6.19.
But below NEWS doesn't say anything about version requirements.
NEWS (https://github.com/systemd/systemd/blob/v262-stable/NEWS#L370) says
* systemd-coredump now supports the kernel coredump socket protocol
available since Linux 6.17. On supported kernels,
systemd-coredumpd.service listens on
/run/systemd/coredumpd/kernel,
and systemd-coredump-register.service registers the socket
through
kernel.core_pattern. Older kernels continue to use the
per-coredump
systemd-coredump@.service path. Changes to coredump.conf require
reloading systemd-coredumpd.service, and deployments that set a
custom kernel.core_pattern should stop and disable that service.
But looks like older kernel logic is not working as expected.
One solution is use ConditionKernelVersion and skip that test on
versions less than 6.19
https://www.freedesktop.org/software/systemd/man/latest/systemd.unit.html#ConditionKernelVersion=
Regards,
Jaipaul
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3] systemd: Upgrade 261.3 -> 262
2026-09-28 11:39 ` [PATCH 1/3] " Jaipaul Cheernam
2026-09-29 6:31 ` [OE-core] " Mathieu Dubois-Briand
2026-09-29 6:59 ` [PATCH v2] " Jaipaul Cheernam
@ 2026-10-01 7:50 ` Jaipaul Cheernam
2026-10-06 7:34 ` Paul Barker
2026-10-06 19:37 ` [PATCH v4] " Jaipaul Cheernam
3 siblings, 1 reply; 12+ messages in thread
From: Jaipaul Cheernam @ 2026-10-01 7:50 UTC (permalink / raw)
To: openembedded-core
NEWS: https://github.com/systemd/systemd/blob/v262-stable/NEWS#L3-L877
- Refresh patches for v262
- Drop deprecated meson build options [1]
- Drop 0001-include-fix-limits.h-override.patch [2]
- Add rules: install 60-persistent-media-controller.rules [3]
- Gate systemd-coredumpd.service on kernel >= 6.19
262's systemd-coredumpd.service needs PIDFD_INFO_COREDUMP_SIGNAL (Linux
6.19); on older kernels its ExecCondition fails and the unit flaps into
start-limit-hit, failing test_systemd_failed on qemu*-alt (6.18). Add a
ConditionKernelVersion=>=6.19 drop-in so it is skipped on 6.18 and active
on 7.2. Upstream report: [4]
[1] https://github.com/systemd/systemd/blob/v262-stable/NEWS#L41
[2] https://github.com/systemd/systemd/commit/6a131b32e0fe948e845ae4bf41f8fed003ec30ce
[3] https://github.com/systemd/systemd/commit/d153b49473
[4] https://github.com/systemd/systemd/issues/43963
Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
---
Changes since v2:
- Add conditional kernel version for systemd-coredumpd.service
Changes since v1:
- Drop 0001-include-fix-limits.h-override.patch
...ve_261.3.bb => systemd-boot-native_262.bb} | 0
...temd-boot_261.3.bb => systemd-boot_262.bb} | 0
...e_261.3.bb => systemd-tools-native_262.bb} | 3 -
meta/recipes-core/systemd/systemd.inc | 4 +-
...tall-dependency-links-at-install-tim.patch | 8 +-
.../0001-include-fix-limits.h-override.patch | 74 -------------------
.../0003-Do-not-create-var-log-README.patch | 2 +-
.../systemd/coredumpd-kernel-version.conf | 14 ++++
.../{systemd_261.3.bb => systemd_262.bb} | 13 +++-
9 files changed, 32 insertions(+), 86 deletions(-)
rename meta/recipes-core/systemd/{systemd-boot-native_261.3.bb => systemd-boot-native_262.bb} (100%)
rename meta/recipes-core/systemd/{systemd-boot_261.3.bb => systemd-boot_262.bb} (100%)
rename meta/recipes-core/systemd/{systemd-tools-native_261.3.bb => systemd-tools-native_262.bb} (93%)
delete mode 100644 meta/recipes-core/systemd/systemd/0001-include-fix-limits.h-override.patch
create mode 100644 meta/recipes-core/systemd/systemd/coredumpd-kernel-version.conf
rename meta/recipes-core/systemd/{systemd_261.3.bb => systemd_262.bb} (98%)
diff --git a/meta/recipes-core/systemd/systemd-boot-native_261.3.bb b/meta/recipes-core/systemd/systemd-boot-native_262.bb
similarity index 100%
rename from meta/recipes-core/systemd/systemd-boot-native_261.3.bb
rename to meta/recipes-core/systemd/systemd-boot-native_262.bb
diff --git a/meta/recipes-core/systemd/systemd-boot_261.3.bb b/meta/recipes-core/systemd/systemd-boot_262.bb
similarity index 100%
rename from meta/recipes-core/systemd/systemd-boot_261.3.bb
rename to meta/recipes-core/systemd/systemd-boot_262.bb
diff --git a/meta/recipes-core/systemd/systemd-tools-native_261.3.bb b/meta/recipes-core/systemd/systemd-tools-native_262.bb
similarity index 93%
rename from meta/recipes-core/systemd/systemd-tools-native_261.3.bb
rename to meta/recipes-core/systemd/systemd-tools-native_262.bb
index bffaf5a2f08..359bc972ccf 100644
--- a/meta/recipes-core/systemd/systemd-tools-native_261.3.bb
+++ b/meta/recipes-core/systemd/systemd-tools-native_262.bb
@@ -18,9 +18,6 @@ EXTRA_OEMESON += "--auto-features disabled"
# Link the binaries statically as we don't install libsystemd-shared.so
EXTRA_OEMESON += "-Dlink-systemctl-shared=false -Dlink-udev-shared=false"
-# Ensure unused build paths are not in the binary
-EXTRA_OEMESON += "-Dsysvinit-path= -Dsysvrcnd-path="
-
# Target-absolute paths that satisfy both tools from one meson configure:
# - systemd-hwdb needs prefix=/usr so the compiled-in UDEVLIBEXECDIR
# (/usr/lib/udev) matches the target rootfs layout, letting
diff --git a/meta/recipes-core/systemd/systemd.inc b/meta/recipes-core/systemd/systemd.inc
index 3ee898958fd..5ea45a78b2d 100644
--- a/meta/recipes-core/systemd/systemd.inc
+++ b/meta/recipes-core/systemd/systemd.inc
@@ -15,8 +15,8 @@ LICENSE:libsystemd = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=c09786363500a9acc29b147e6e72d2c6 \
file://LICENSE.LGPL2.1;md5=be0aaf4a380f73f7e00b420a007368f2"
-SRCREV = "3255daee1572366b74fe92f002a3d60ecbb27103"
-SRCBRANCH = "v261-stable"
+SRCREV = "8cc40e0c5e9234bf45084751ac53b1fbfe70b492"
+SRCBRANCH = "v262-stable"
SRC_URI = "git://github.com/systemd/systemd.git;protocol=https;branch=${SRCBRANCH};tag=v${PV}"
CVE_PRODUCT = "systemd"
diff --git a/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch b/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch
index b83803aa08e..0b9eb4ac3cc 100644
--- a/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch
+++ b/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch
@@ -1,4 +1,4 @@
-From 451af4755f0c1da552498682d910f4f4c5209639 Mon Sep 17 00:00:00 2001
+From 4793a67d3d738520f0193a9edff491989e8d77bc Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Thu, 21 Feb 2019 16:23:24 +0800
Subject: [PATCH] binfmt: Don't install dependency links at install time for
@@ -25,10 +25,10 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
3 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/units/meson.build b/units/meson.build
-index 27d8ef2f72..864caa44bb 100644
+index 9f8f8d0e41..9a74236690 100644
--- a/units/meson.build
+++ b/units/meson.build
-@@ -168,7 +168,6 @@ units = [
+@@ -172,7 +172,6 @@ units = [
{
'file' : 'proc-sys-fs-binfmt_misc.automount',
'conditions' : ['ENABLE_BINFMT'],
@@ -36,7 +36,7 @@ index 27d8ef2f72..864caa44bb 100644
},
{
'file' : 'proc-sys-fs-binfmt_misc.mount',
-@@ -279,7 +278,6 @@ units = [
+@@ -283,7 +282,6 @@ units = [
{
'file' : 'systemd-binfmt.service.in',
'conditions' : ['ENABLE_BINFMT'],
diff --git a/meta/recipes-core/systemd/systemd/0001-include-fix-limits.h-override.patch b/meta/recipes-core/systemd/systemd/0001-include-fix-limits.h-override.patch
deleted file mode 100644
index d11a5fe3f82..00000000000
--- a/meta/recipes-core/systemd/systemd/0001-include-fix-limits.h-override.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 6a131b32e0fe948e845ae4bf41f8fed003ec30ce Mon Sep 17 00:00:00 2001
-From: Yu Watanabe <watanabe.yu+github@gmail.com>
-Date: Tue, 22 Sep 2026 01:55:01 +0900
-Subject: [PATCH] include: fix limits.h override
-
-This is especially necessary since GCC 16.x.
-
-=====
-$ gcc --version
-gcc (GCC) 16.2.1 20260819 (Red Hat 16.2.1-2)
-Copyright (C) 2026 Free Software Foundation, Inc.
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-=====
-
-Without this change, /usr/include/limits.h is not included, hence POSIX
-constants are not defined:
-=====
-$ echo '#include <limits.h>' | gcc -E -H -isystem ~/git/systemd/src/include/musl - 2>&1 >/dev/null | grep '^\..*limit'
-. /home/watanabe/git/systemd/src/include/musl/limits.h
-.. /usr/lib/gcc/x86_64-redhat-linux/16/include/limits.h
-... /usr/lib/gcc/x86_64-redhat-linux/16/include/syslimits.h
-=====
-
-With this change, /usr/include/limits.h is included, thus POSIX
-constants are defined:
-=====
-$ echo '#include <limits.h>' | gcc -E -H -isystem ~/git/systemd/src/include/musl - 2>&1 >/dev/null | grep '^\..*limit'
-. /home/watanabe/git/systemd/src/include/musl/limits.h
-.. /usr/lib/gcc/x86_64-redhat-linux/16/include/limits.h
-... /usr/include/limits.h
-...... /usr/include/linux/limits.h
-.. /usr/lib/gcc/x86_64-redhat-linux/16/include/limits.h
-=====
-
-Replaces #43824.
-
-Upstream-Status: Backport [https://github.com/systemd/systemd/pull/43831]
-Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
----
- src/include/musl/limits.h | 20 ++++++++++++++++++++
- 1 file changed, 20 insertions(+)
-
-diff --git a/src/include/musl/limits.h b/src/include/musl/limits.h
-index 9620a3b0ac..bcc585be2c 100644
---- a/src/include/musl/limits.h
-+++ b/src/include/musl/limits.h
-@@ -1,6 +1,26 @@
- /* SPDX-License-Identifier: LGPL-2.1-or-later */
- #pragma once
-
-+/* GCC introduces a spurious, tricky inclusion cycle:
-+ * GCC's limits.h
-+ * -> GCC's syslimits.h
-+ * -> GCC's limits.h (again!!!)
-+ * -> glibc/musl's limits.h
-+ * -> define POSIX defines
-+ * -> define ISO C defines
-+ * This works only when GCC's limits.h is included first, but a user override breaks the cycle. Hence, we
-+ * need to manually achieve the cycle here. If GCC is not used (e.g., Clang), then including the compiler's
-+ * limits.h twice should be redundant but harmless. */
-+
-+/* First, get the POSIX defines from glibc/musl's limits.h. When the two macros below are defined, GCC's
-+ * limits.h includes the next limits.h, that is, one from glibc/musl. */
-+#define _GCC_LIMITS_H_
-+#define _GCC_NEXT_LIMITS_H
-+#include_next <limits.h> /* IWYU pragma: export */
-+#undef _GCC_NEXT_LIMITS_H
-+#undef _GCC_LIMITS_H_
-+
-+/* Next, get the ISO C defines from GCC's limits.h. */
- #include_next <limits.h> /* IWYU pragma: export */
-
- #include <assert.h>
diff --git a/meta/recipes-core/systemd/systemd/0003-Do-not-create-var-log-README.patch b/meta/recipes-core/systemd/systemd/0003-Do-not-create-var-log-README.patch
index 175ec7955bd..c64bfa82491 100644
--- a/meta/recipes-core/systemd/systemd/0003-Do-not-create-var-log-README.patch
+++ b/meta/recipes-core/systemd/systemd/0003-Do-not-create-var-log-README.patch
@@ -1,4 +1,4 @@
-From 0d4a5976056387ff3801fdb7f53e6d0760df0475 Mon Sep 17 00:00:00 2001
+From e36f6fc852f8331791f391a216885b9bea543aff Mon Sep 17 00:00:00 2001
From: Peter Kjellerstedt <pkj@axis.com>
Date: Tue, 21 Jan 2025 05:02:00 +0100
Subject: [PATCH] Do not create /var/log/README
diff --git a/meta/recipes-core/systemd/systemd/coredumpd-kernel-version.conf b/meta/recipes-core/systemd/systemd/coredumpd-kernel-version.conf
new file mode 100644
index 00000000000..dcc23825f42
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/coredumpd-kernel-version.conf
@@ -0,0 +1,14 @@
+# systemd 262's kernel coredump socket manager (systemd-coredumpd.service)
+# requires the PIDFD_INFO_COREDUMP_SIGNAL pidfd flag, added in Linux 6.19
+# (PIDFD_INFO_COREDUMP itself is from 6.16). Its ExecCondition
+# (systemd-coredump --check-requirements) fails on older kernels, and combined
+# with Restart=on-failure and the Upholds= relationship the unit flaps into
+# start-limit-hit instead of being skipped, which fails the systemd runtime
+# tests. OE-Core ships both linux-yocto 6.18 (< 6.19) and 7.2 (>= 6.19), so
+# gate activation on the kernel version at runtime: this keeps coredumpd active
+# on 7.2 while cleanly skipping it on 6.18. A ConditionKernelVersion= failure is
+# a clean skip and does not trigger the restart/start-limit escalation.
+# The per-coredump systemd-coredump@.service path remains available on all kernels.
+# Upstream report: https://github.com/systemd/systemd/issues/43963
+[Unit]
+ConditionKernelVersion=>=6.19
diff --git a/meta/recipes-core/systemd/systemd_261.3.bb b/meta/recipes-core/systemd/systemd_262.bb
similarity index 98%
rename from meta/recipes-core/systemd/systemd_261.3.bb
rename to meta/recipes-core/systemd/systemd_262.bb
index 0901736e7c9..d613f01c582 100644
--- a/meta/recipes-core/systemd/systemd_261.3.bb
+++ b/meta/recipes-core/systemd/systemd_262.bb
@@ -34,9 +34,9 @@ SRC_URI += "file://touchscreen.rules \
file://init \
file://99-default.preset \
file://systemd-pager.sh \
+ file://coredumpd-kernel-version.conf \
file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
file://0003-Do-not-create-var-log-README.patch \
- file://0001-include-fix-limits.h-override.patch \
"
PAM_PLUGINS = " \
@@ -144,7 +144,6 @@ PACKAGECONFIG[journal-color] = ",,,less"
PACKAGECONFIG[journal-upload] = "-Dlibcurl=enabled,-Dlibcurl=disabled,curl"
PACKAGECONFIG[kmod] = "-Dkmod=enabled,-Dkmod=disabled,kmod,libkmod"
PACKAGECONFIG[ldconfig] = "-Dldconfig=true,-Dldconfig=false,,ldconfig"
-PACKAGECONFIG[libidn] = "-Dlibidn=enabled,-Dlibidn=disabled,libidn"
PACKAGECONFIG[libidn2] = "-Dlibidn2=enabled,-Dlibidn2=disabled,libidn2"
# Link udev shared with systemd helper library.
# If enabled the udev package depends on the systemd package (which has the needed shared library).
@@ -355,6 +354,15 @@ do_install() {
# https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto
install -Dm 0644 ${UNPACKDIR}/99-default.preset ${D}${systemd_unitdir}/system-preset/99-default.preset
+ # Gate the new (v262) kernel coredump socket manager on a kernel
+ # that actually supports it (>= 6.19). See the drop-in for the full rationale.
+ if [ -e ${D}${systemd_system_unitdir}/systemd-coredumpd.service ]; then
+ install -Dm 0644 ${UNPACKDIR}/coredumpd-kernel-version.conf \
+ ${D}${systemd_system_unitdir}/systemd-coredumpd.service.d/99-kernel-version.conf
+ install -Dm 0644 ${UNPACKDIR}/coredumpd-kernel-version.conf \
+ ${D}${systemd_system_unitdir}/systemd-coredump-register.service.d/99-kernel-version.conf
+ fi
+
# add a profile fragment to disable systemd pager with busybox less
install -Dm 0644 ${UNPACKDIR}/systemd-pager.sh ${D}${sysconfdir}/profile.d/systemd-pager.sh
@@ -799,6 +807,7 @@ FILES:udev += "${base_sbindir}/udevd \
${nonarch_libdir}/udev/rules.d/60-persistent-alsa.rules \
${nonarch_libdir}/udev/rules.d/60-persistent-hidraw.rules \
${nonarch_libdir}/udev/rules.d/60-persistent-input.rules \
+ ${nonarch_libdir}/udev/rules.d/60-persistent-media-controller.rules \
${nonarch_libdir}/udev/rules.d/60-persistent-storage.rules \
${nonarch_libdir}/udev/rules.d/60-persistent-storage-mtd.rules \
${nonarch_libdir}/udev/rules.d/60-persistent-storage-tape.rules \
^ permalink raw reply related [flat|nested] 12+ messages in thread* Re: [PATCH v3] systemd: Upgrade 261.3 -> 262
2026-10-01 7:50 ` [PATCH v3] " Jaipaul Cheernam
@ 2026-10-06 7:34 ` Paul Barker
0 siblings, 0 replies; 12+ messages in thread
From: Paul Barker @ 2026-10-06 7:34 UTC (permalink / raw)
To: Jaipaul Cheernam, openembedded-core
On Thu, 2026-10-01 at 09:50 +0200, Jaipaul Cheernam wrote:
> NEWS: https://github.com/systemd/systemd/blob/v262-stable/NEWS#L3-L877
>
> - Refresh patches for v262
> - Drop deprecated meson build options [1]
> - Drop 0001-include-fix-limits.h-override.patch [2]
> - Add rules: install 60-persistent-media-controller.rules [3]
> - Gate systemd-coredumpd.service on kernel >= 6.19
>
> 262's systemd-coredumpd.service needs PIDFD_INFO_COREDUMP_SIGNAL (Linux
> 6.19); on older kernels its ExecCondition fails and the unit flaps into
> start-limit-hit, failing test_systemd_failed on qemu*-alt (6.18). Add a
> ConditionKernelVersion=>=6.19 drop-in so it is skipped on 6.18 and active
> on 7.2. Upstream report: [4]
>
> [1] https://github.com/systemd/systemd/blob/v262-stable/NEWS#L41
> [2] https://github.com/systemd/systemd/commit/6a131b32e0fe948e845ae4bf41f8fed003ec30ce
> [3] https://github.com/systemd/systemd/commit/d153b49473
> [4] https://github.com/systemd/systemd/issues/43963
>
> Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
> diff --git a/meta/recipes-core/systemd/systemd/coredumpd-kernel-version.conf b/meta/recipes-core/systemd/systemd/coredumpd-kernel-version.conf
> new file mode 100644
> index 00000000000..dcc23825f42
> --- /dev/null
> +++ b/meta/recipes-core/systemd/systemd/coredumpd-kernel-version.conf
> @@ -0,0 +1,14 @@
> +# systemd 262's kernel coredump socket manager (systemd-coredumpd.service)
> +# requires the PIDFD_INFO_COREDUMP_SIGNAL pidfd flag, added in Linux 6.19
> +# (PIDFD_INFO_COREDUMP itself is from 6.16). Its ExecCondition
> +# (systemd-coredump --check-requirements) fails on older kernels, and combined
> +# with Restart=on-failure and the Upholds= relationship the unit flaps into
> +# start-limit-hit instead of being skipped, which fails the systemd runtime
> +# tests. OE-Core ships both linux-yocto 6.18 (< 6.19) and 7.2 (>= 6.19), so
> +# gate activation on the kernel version at runtime: this keeps coredumpd active
> +# on 7.2 while cleanly skipping it on 6.18. A ConditionKernelVersion= failure is
> +# a clean skip and does not trigger the restart/start-limit escalation.
> +# The per-coredump systemd-coredump@.service path remains available on all kernels.
> +# Upstream report: https://github.com/systemd/systemd/issues/43963
> +[Unit]
> +ConditionKernelVersion=>=6.19
Hi Jaipaul,
Thanks for the patch!
The comment here needs a little re-work, it's too long and verbose. It
also references specific kernel recipe versions which will change
regularly, and this patch might not be looked at again until after the
comment becomes out-of-date.
We should also keep this conf file even when OE-core stops shipping
Linux 6.18 because BSP layers may continue using older kernel versions
for a while longer.
I think just keeping the first sentence of this comment is probably
enough detail.
Best regards,
--
Paul Barker
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v4] systemd: Upgrade 261.3 -> 262
2026-09-28 11:39 ` [PATCH 1/3] " Jaipaul Cheernam
` (2 preceding siblings ...)
2026-10-01 7:50 ` [PATCH v3] " Jaipaul Cheernam
@ 2026-10-06 19:37 ` Jaipaul Cheernam
3 siblings, 0 replies; 12+ messages in thread
From: Jaipaul Cheernam @ 2026-10-06 19:37 UTC (permalink / raw)
To: openembedded-core
NEWS: https://github.com/systemd/systemd/blob/v262-stable/NEWS#L3-L877
- Refresh patches for v262
- Drop deprecated meson build options [1]
- Drop 0001-include-fix-limits.h-override.patch [2]
- Add rules: install 60-persistent-media-controller.rules [3]
- Gate systemd-coredumpd.service on kernel >= 6.19
262's systemd-coredumpd.service needs PIDFD_INFO_COREDUMP_SIGNAL (Linux
6.19); on older kernels its ExecCondition fails and the unit flaps into
start-limit-hit, failing test_systemd_failed on qemu*-alt (6.18). Add a
ConditionKernelVersion=>=6.19 drop-in so it is skipped on 6.18 and active
on 7.2. Upstream report: [4]
[1] https://github.com/systemd/systemd/blob/v262-stable/NEWS#L41
[2] https://github.com/systemd/systemd/commit/6a131b32e0fe948e845ae4bf41f8fed003ec30ce
[3] https://github.com/systemd/systemd/commit/d153b49473
[4] https://github.com/systemd/systemd/issues/43963
Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
---
Changes since v3:
- Trim inline comment
Changes since v2:
- Add conditional kernel version for systemd-coredumpd.service
Changes since v1:
- Drop 0001-include-fix-limits.h-override.patch
...ve_261.3.bb => systemd-boot-native_262.bb} | 0
...temd-boot_261.3.bb => systemd-boot_262.bb} | 0
...e_261.3.bb => systemd-tools-native_262.bb} | 3 -
meta/recipes-core/systemd/systemd.inc | 4 +-
...tall-dependency-links-at-install-tim.patch | 8 +-
.../0001-include-fix-limits.h-override.patch | 74 -------------------
.../0003-Do-not-create-var-log-README.patch | 2 +-
.../systemd/coredumpd-kernel-version.conf | 4 +
.../{systemd_261.3.bb => systemd_262.bb} | 13 +++-
9 files changed, 22 insertions(+), 86 deletions(-)
rename meta/recipes-core/systemd/{systemd-boot-native_261.3.bb => systemd-boot-native_262.bb} (100%)
rename meta/recipes-core/systemd/{systemd-boot_261.3.bb => systemd-boot_262.bb} (100%)
rename meta/recipes-core/systemd/{systemd-tools-native_261.3.bb => systemd-tools-native_262.bb} (93%)
delete mode 100644 meta/recipes-core/systemd/systemd/0001-include-fix-limits.h-override.patch
create mode 100644 meta/recipes-core/systemd/systemd/coredumpd-kernel-version.conf
rename meta/recipes-core/systemd/{systemd_261.3.bb => systemd_262.bb} (98%)
diff --git a/meta/recipes-core/systemd/systemd-boot-native_261.3.bb b/meta/recipes-core/systemd/systemd-boot-native_262.bb
similarity index 100%
rename from meta/recipes-core/systemd/systemd-boot-native_261.3.bb
rename to meta/recipes-core/systemd/systemd-boot-native_262.bb
diff --git a/meta/recipes-core/systemd/systemd-boot_261.3.bb b/meta/recipes-core/systemd/systemd-boot_262.bb
similarity index 100%
rename from meta/recipes-core/systemd/systemd-boot_261.3.bb
rename to meta/recipes-core/systemd/systemd-boot_262.bb
diff --git a/meta/recipes-core/systemd/systemd-tools-native_261.3.bb b/meta/recipes-core/systemd/systemd-tools-native_262.bb
similarity index 93%
rename from meta/recipes-core/systemd/systemd-tools-native_261.3.bb
rename to meta/recipes-core/systemd/systemd-tools-native_262.bb
index bffaf5a2f08..359bc972ccf 100644
--- a/meta/recipes-core/systemd/systemd-tools-native_261.3.bb
+++ b/meta/recipes-core/systemd/systemd-tools-native_262.bb
@@ -18,9 +18,6 @@ EXTRA_OEMESON += "--auto-features disabled"
# Link the binaries statically as we don't install libsystemd-shared.so
EXTRA_OEMESON += "-Dlink-systemctl-shared=false -Dlink-udev-shared=false"
-# Ensure unused build paths are not in the binary
-EXTRA_OEMESON += "-Dsysvinit-path= -Dsysvrcnd-path="
-
# Target-absolute paths that satisfy both tools from one meson configure:
# - systemd-hwdb needs prefix=/usr so the compiled-in UDEVLIBEXECDIR
# (/usr/lib/udev) matches the target rootfs layout, letting
diff --git a/meta/recipes-core/systemd/systemd.inc b/meta/recipes-core/systemd/systemd.inc
index 7b82c930836..3efc48f65bd 100644
--- a/meta/recipes-core/systemd/systemd.inc
+++ b/meta/recipes-core/systemd/systemd.inc
@@ -13,8 +13,8 @@ LICENSE:libsystemd = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=c09786363500a9acc29b147e6e72d2c6 \
file://LICENSE.LGPL2.1;md5=be0aaf4a380f73f7e00b420a007368f2"
-SRCREV = "3255daee1572366b74fe92f002a3d60ecbb27103"
-SRCBRANCH = "v261-stable"
+SRCREV = "8cc40e0c5e9234bf45084751ac53b1fbfe70b492"
+SRCBRANCH = "v262-stable"
SRC_URI = "git://github.com/systemd/systemd.git;protocol=https;branch=${SRCBRANCH};tag=v${PV}"
CVE_PRODUCT = "systemd"
diff --git a/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch b/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch
index b83803aa08e..0b9eb4ac3cc 100644
--- a/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch
+++ b/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch
@@ -1,4 +1,4 @@
-From 451af4755f0c1da552498682d910f4f4c5209639 Mon Sep 17 00:00:00 2001
+From 4793a67d3d738520f0193a9edff491989e8d77bc Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Thu, 21 Feb 2019 16:23:24 +0800
Subject: [PATCH] binfmt: Don't install dependency links at install time for
@@ -25,10 +25,10 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
3 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/units/meson.build b/units/meson.build
-index 27d8ef2f72..864caa44bb 100644
+index 9f8f8d0e41..9a74236690 100644
--- a/units/meson.build
+++ b/units/meson.build
-@@ -168,7 +168,6 @@ units = [
+@@ -172,7 +172,6 @@ units = [
{
'file' : 'proc-sys-fs-binfmt_misc.automount',
'conditions' : ['ENABLE_BINFMT'],
@@ -36,7 +36,7 @@ index 27d8ef2f72..864caa44bb 100644
},
{
'file' : 'proc-sys-fs-binfmt_misc.mount',
-@@ -279,7 +278,6 @@ units = [
+@@ -283,7 +282,6 @@ units = [
{
'file' : 'systemd-binfmt.service.in',
'conditions' : ['ENABLE_BINFMT'],
diff --git a/meta/recipes-core/systemd/systemd/0001-include-fix-limits.h-override.patch b/meta/recipes-core/systemd/systemd/0001-include-fix-limits.h-override.patch
deleted file mode 100644
index d11a5fe3f82..00000000000
--- a/meta/recipes-core/systemd/systemd/0001-include-fix-limits.h-override.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 6a131b32e0fe948e845ae4bf41f8fed003ec30ce Mon Sep 17 00:00:00 2001
-From: Yu Watanabe <watanabe.yu+github@gmail.com>
-Date: Tue, 22 Sep 2026 01:55:01 +0900
-Subject: [PATCH] include: fix limits.h override
-
-This is especially necessary since GCC 16.x.
-
-=====
-$ gcc --version
-gcc (GCC) 16.2.1 20260819 (Red Hat 16.2.1-2)
-Copyright (C) 2026 Free Software Foundation, Inc.
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-=====
-
-Without this change, /usr/include/limits.h is not included, hence POSIX
-constants are not defined:
-=====
-$ echo '#include <limits.h>' | gcc -E -H -isystem ~/git/systemd/src/include/musl - 2>&1 >/dev/null | grep '^\..*limit'
-. /home/watanabe/git/systemd/src/include/musl/limits.h
-.. /usr/lib/gcc/x86_64-redhat-linux/16/include/limits.h
-... /usr/lib/gcc/x86_64-redhat-linux/16/include/syslimits.h
-=====
-
-With this change, /usr/include/limits.h is included, thus POSIX
-constants are defined:
-=====
-$ echo '#include <limits.h>' | gcc -E -H -isystem ~/git/systemd/src/include/musl - 2>&1 >/dev/null | grep '^\..*limit'
-. /home/watanabe/git/systemd/src/include/musl/limits.h
-.. /usr/lib/gcc/x86_64-redhat-linux/16/include/limits.h
-... /usr/include/limits.h
-...... /usr/include/linux/limits.h
-.. /usr/lib/gcc/x86_64-redhat-linux/16/include/limits.h
-=====
-
-Replaces #43824.
-
-Upstream-Status: Backport [https://github.com/systemd/systemd/pull/43831]
-Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
----
- src/include/musl/limits.h | 20 ++++++++++++++++++++
- 1 file changed, 20 insertions(+)
-
-diff --git a/src/include/musl/limits.h b/src/include/musl/limits.h
-index 9620a3b0ac..bcc585be2c 100644
---- a/src/include/musl/limits.h
-+++ b/src/include/musl/limits.h
-@@ -1,6 +1,26 @@
- /* SPDX-License-Identifier: LGPL-2.1-or-later */
- #pragma once
-
-+/* GCC introduces a spurious, tricky inclusion cycle:
-+ * GCC's limits.h
-+ * -> GCC's syslimits.h
-+ * -> GCC's limits.h (again!!!)
-+ * -> glibc/musl's limits.h
-+ * -> define POSIX defines
-+ * -> define ISO C defines
-+ * This works only when GCC's limits.h is included first, but a user override breaks the cycle. Hence, we
-+ * need to manually achieve the cycle here. If GCC is not used (e.g., Clang), then including the compiler's
-+ * limits.h twice should be redundant but harmless. */
-+
-+/* First, get the POSIX defines from glibc/musl's limits.h. When the two macros below are defined, GCC's
-+ * limits.h includes the next limits.h, that is, one from glibc/musl. */
-+#define _GCC_LIMITS_H_
-+#define _GCC_NEXT_LIMITS_H
-+#include_next <limits.h> /* IWYU pragma: export */
-+#undef _GCC_NEXT_LIMITS_H
-+#undef _GCC_LIMITS_H_
-+
-+/* Next, get the ISO C defines from GCC's limits.h. */
- #include_next <limits.h> /* IWYU pragma: export */
-
- #include <assert.h>
diff --git a/meta/recipes-core/systemd/systemd/0003-Do-not-create-var-log-README.patch b/meta/recipes-core/systemd/systemd/0003-Do-not-create-var-log-README.patch
index 175ec7955bd..c64bfa82491 100644
--- a/meta/recipes-core/systemd/systemd/0003-Do-not-create-var-log-README.patch
+++ b/meta/recipes-core/systemd/systemd/0003-Do-not-create-var-log-README.patch
@@ -1,4 +1,4 @@
-From 0d4a5976056387ff3801fdb7f53e6d0760df0475 Mon Sep 17 00:00:00 2001
+From e36f6fc852f8331791f391a216885b9bea543aff Mon Sep 17 00:00:00 2001
From: Peter Kjellerstedt <pkj@axis.com>
Date: Tue, 21 Jan 2025 05:02:00 +0100
Subject: [PATCH] Do not create /var/log/README
diff --git a/meta/recipes-core/systemd/systemd/coredumpd-kernel-version.conf b/meta/recipes-core/systemd/systemd/coredumpd-kernel-version.conf
new file mode 100644
index 00000000000..38ea613da94
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/coredumpd-kernel-version.conf
@@ -0,0 +1,4 @@
+# Requires the PIDFD_INFO_COREDUMP_SIGNAL pidfd flag, added in Linux 6.19.
+# Upstream report: https://github.com/systemd/systemd/issues/43963
+[Unit]
+ConditionKernelVersion=>=6.19
diff --git a/meta/recipes-core/systemd/systemd_261.3.bb b/meta/recipes-core/systemd/systemd_262.bb
similarity index 98%
rename from meta/recipes-core/systemd/systemd_261.3.bb
rename to meta/recipes-core/systemd/systemd_262.bb
index 0901736e7c9..d613f01c582 100644
--- a/meta/recipes-core/systemd/systemd_261.3.bb
+++ b/meta/recipes-core/systemd/systemd_262.bb
@@ -34,9 +34,9 @@ SRC_URI += "file://touchscreen.rules \
file://init \
file://99-default.preset \
file://systemd-pager.sh \
+ file://coredumpd-kernel-version.conf \
file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
file://0003-Do-not-create-var-log-README.patch \
- file://0001-include-fix-limits.h-override.patch \
"
PAM_PLUGINS = " \
@@ -144,7 +144,6 @@ PACKAGECONFIG[journal-color] = ",,,less"
PACKAGECONFIG[journal-upload] = "-Dlibcurl=enabled,-Dlibcurl=disabled,curl"
PACKAGECONFIG[kmod] = "-Dkmod=enabled,-Dkmod=disabled,kmod,libkmod"
PACKAGECONFIG[ldconfig] = "-Dldconfig=true,-Dldconfig=false,,ldconfig"
-PACKAGECONFIG[libidn] = "-Dlibidn=enabled,-Dlibidn=disabled,libidn"
PACKAGECONFIG[libidn2] = "-Dlibidn2=enabled,-Dlibidn2=disabled,libidn2"
# Link udev shared with systemd helper library.
# If enabled the udev package depends on the systemd package (which has the needed shared library).
@@ -355,6 +354,15 @@ do_install() {
# https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto
install -Dm 0644 ${UNPACKDIR}/99-default.preset ${D}${systemd_unitdir}/system-preset/99-default.preset
+ # Gate the new (v262) kernel coredump socket manager on a kernel
+ # that actually supports it (>= 6.19). See the drop-in for the full rationale.
+ if [ -e ${D}${systemd_system_unitdir}/systemd-coredumpd.service ]; then
+ install -Dm 0644 ${UNPACKDIR}/coredumpd-kernel-version.conf \
+ ${D}${systemd_system_unitdir}/systemd-coredumpd.service.d/99-kernel-version.conf
+ install -Dm 0644 ${UNPACKDIR}/coredumpd-kernel-version.conf \
+ ${D}${systemd_system_unitdir}/systemd-coredump-register.service.d/99-kernel-version.conf
+ fi
+
# add a profile fragment to disable systemd pager with busybox less
install -Dm 0644 ${UNPACKDIR}/systemd-pager.sh ${D}${sysconfdir}/profile.d/systemd-pager.sh
@@ -799,6 +807,7 @@ FILES:udev += "${base_sbindir}/udevd \
${nonarch_libdir}/udev/rules.d/60-persistent-alsa.rules \
${nonarch_libdir}/udev/rules.d/60-persistent-hidraw.rules \
${nonarch_libdir}/udev/rules.d/60-persistent-input.rules \
+ ${nonarch_libdir}/udev/rules.d/60-persistent-media-controller.rules \
${nonarch_libdir}/udev/rules.d/60-persistent-storage.rules \
${nonarch_libdir}/udev/rules.d/60-persistent-storage-mtd.rules \
${nonarch_libdir}/udev/rules.d/60-persistent-storage-tape.rules \
^ permalink raw reply related [flat|nested] 12+ messages in thread