From 0183bc784e4eeb97b33f26efa3e004b71ffa6cef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Wed, 25 Feb 2026 18:28:51 +0100 Subject: [PATCH] Version 260~rc1 - See https://raw.githubusercontent.com/systemd/systemd/v260-rc1/NEWS. Too many changes to list or discuss here. --- ...vert-units-drop-runlevel-0-6-.target.patch | 88 ------------------- ...continue-without-resolve.hook-socket.patch | 8 +- ...pdate-helper-use-enqueue-marked-jobs.patch | 32 +++++++ 38769.patch | 32 +++---- sources | 2 +- systemd.spec | 8 +- 6 files changed, 56 insertions(+), 114 deletions(-) delete mode 100644 0001-Revert-units-drop-runlevel-0-6-.target.patch create mode 100644 0003-rpm-systemd-update-helper-use-enqueue-marked-jobs.patch diff --git a/0001-Revert-units-drop-runlevel-0-6-.target.patch b/0001-Revert-units-drop-runlevel-0-6-.target.patch deleted file mode 100644 index faf8341..0000000 --- a/0001-Revert-units-drop-runlevel-0-6-.target.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 61750e265ce3f7783a8dba831e91140f84ad89f2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Wed, 5 Nov 2025 17:52:16 +0100 -Subject: [PATCH 1/3] Revert "units: drop runlevel[0-6].target" - -This partially reverts commit e58ba80a40fb6e96543d56774a5bc5aa9cdadbf3. -The unit are still needed for compat. ---- - units/meson.build | 27 ++++++++++++++++++++++----- - 1 file changed, 22 insertions(+), 5 deletions(-) - -diff --git a/units/meson.build b/units/meson.build -index 2e04c4aa2b..46eaac4073 100644 ---- a/units/meson.build -+++ b/units/meson.build -@@ -1,5 +1,7 @@ - # SPDX-License-Identifier: LGPL-2.1-or-later - -+with_runlevels = conf.get('HAVE_SYSV_COMPAT') == 1 -+ - units = [ - { 'file' : 'basic.target' }, - { 'file' : 'blockdev@.target' }, -@@ -49,7 +51,7 @@ units = [ - }, - { - 'file' : 'graphical.target', -- 'symlinks' : ['default.target'], -+ 'symlinks' : ['default.target'] + (with_runlevels ? ['runlevel5.target'] : []), - }, - { 'file' : 'halt.target' }, - { -@@ -142,7 +144,10 @@ units = [ - 'conditions' : ['ENABLE_MACHINED'], - }, - { 'file' : 'modprobe@.service' }, -- { 'file' : 'multi-user.target' }, -+ { -+ 'file' : 'multi-user.target', -+ 'symlinks' : with_runlevels ? ['runlevel2.target', 'runlevel3.target', 'runlevel4.target'] : [], -+ }, - { - 'file' : 'systemd-mute-console.socket', - 'symlinks' : ['sockets.target.wants/'] -@@ -155,7 +160,10 @@ units = [ - { 'file' : 'nss-lookup.target' }, - { 'file' : 'nss-user-lookup.target' }, - { 'file' : 'paths.target' }, -- { 'file' : 'poweroff.target' }, -+ { -+ 'file' : 'poweroff.target', -+ 'symlinks' : with_runlevels ? ['runlevel0.target'] : [], -+ }, - { 'file' : 'printer.target' }, - { - 'file' : 'proc-sys-fs-binfmt_misc.automount', -@@ -180,7 +188,7 @@ units = [ - }, - { - 'file' : 'reboot.target', -- 'symlinks' : ['ctrl-alt-del.target'], -+ 'symlinks' : ['ctrl-alt-del.target'] + (with_runlevels ? ['runlevel6.target'] : []), - }, - { - 'file' : 'remote-cryptsetup.target', -@@ -200,7 +208,10 @@ units = [ - 'symlinks' : ['initrd-root-device.target.wants/'], - }, - { 'file' : 'rescue.service.in' }, -- { 'file' : 'rescue.target' }, -+ { -+ 'file' : 'rescue.target', -+ 'symlinks' : with_runlevels ? ['runlevel1.target'] : [], -+ }, - { 'file' : 'rpcbind.target' }, - { 'file' : 'serial-getty@.service.in' }, - { 'file' : 'shutdown.target' }, -@@ -1001,4 +1012,10 @@ else - dbussessionservicedir / 'org.freedesktop.systemd1.service')) - endif - -+if conf.get('HAVE_SYSV_COMPAT') == 1 -+ foreach i : [1, 2, 3, 4, 5] -+ install_emptydir(systemunitdir / 'runlevel@0@.target.wants'.format(i)) -+ endforeach -+endif -+ - subdir('user') diff --git a/0002-machined-continue-without-resolve.hook-socket.patch b/0002-machined-continue-without-resolve.hook-socket.patch index 2903c5e..4d7f401 100644 --- a/0002-machined-continue-without-resolve.hook-socket.patch +++ b/0002-machined-continue-without-resolve.hook-socket.patch @@ -1,17 +1,17 @@ -From 8d6d86d1d7e45eeae921e88adde55d6524027c96 Mon Sep 17 00:00:00 2001 +From 9b1828c629007953a7c0abdd4a830d2d65017570 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Wed, 26 Nov 2025 22:29:53 +0100 -Subject: [PATCH 3/3] machined: continue without resolve.hook socket +Subject: [PATCH 2/2] machined: continue without resolve.hook socket --- src/machine/machined-varlink.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/machine/machined-varlink.c b/src/machine/machined-varlink.c -index f83cbb8562..0b30cd0531 100644 +index 543e4c8ee7..04091b9674 100644 --- a/src/machine/machined-varlink.c +++ b/src/machine/machined-varlink.c -@@ -894,9 +894,15 @@ static int manager_varlink_init_resolve_hook(Manager *m) { +@@ -881,9 +881,15 @@ static int manager_varlink_init_resolve_hook(Manager *m) { r = sd_varlink_server_listen_address(s, VARLINK_PATH_MACHINED_RESOLVE_HOOK, 0666 | SD_VARLINK_SERVER_MODE_MKDIR_0755); diff --git a/0003-rpm-systemd-update-helper-use-enqueue-marked-jobs.patch b/0003-rpm-systemd-update-helper-use-enqueue-marked-jobs.patch new file mode 100644 index 0000000..ddb665c --- /dev/null +++ b/0003-rpm-systemd-update-helper-use-enqueue-marked-jobs.patch @@ -0,0 +1,32 @@ +From ecab24999254a2601c5fb13686ab986ff40427ba Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Wed, 25 Feb 2026 22:04:16 +0100 +Subject: [PATCH] rpm/systemd-update-helper: use 'enqueue-marked-jobs' + +Without this, a warning is emitted on upgrades. +--- + src/rpm/systemd-update-helper.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/rpm/systemd-update-helper.in b/src/rpm/systemd-update-helper.in +index 6467326e35..9063a2cc3b 100755 +--- a/src/rpm/systemd-update-helper.in ++++ b/src/rpm/systemd-update-helper.in +@@ -99,7 +99,7 @@ case "$command" in + fi + + if [[ "$command" =~ restart ]]; then +- systemctl reload-or-restart --marked ++ systemctl enqueue-marked-jobs + fi + ;; + +@@ -120,7 +120,7 @@ case "$command" in + + for user in $users; do + SYSTEMD_BUS_TIMEOUT={{UPDATE_HELPER_USER_TIMEOUT_SEC}}s \ +- systemctl --user -M "$user@" reload-or-restart --marked & ++ systemctl --user -M "$user@" enqueue-marked-jobs & + done + wait + fi diff --git a/38769.patch b/38769.patch index 09a7423..714a219 100644 --- a/38769.patch +++ b/38769.patch @@ -1,7 +1,7 @@ -From 00d70f36a0866660693347009446b7f872a05bf4 Mon Sep 17 00:00:00 2001 +From e364a55e4869288c3574c856c9c96ad174a204ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20G=C3=B6ttsche?= Date: Sat, 30 Aug 2025 13:55:56 +0200 -Subject: [PATCH] core: create userdb root directory with correct label +Subject: [PATCH 1/2] core: create userdb root directory with correct label Set up the /run/systemd/userdb directory with the default SELinux context on creation. @@ -16,27 +16,27 @@ longer is. Regression introduced in 736349958efe34089131ca88950e2e5bb391d36a. 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/core/varlink.c b/src/core/varlink.c -index 99f12c59e5..71a8ffd0e5 100644 +index ec4f8abad9..9a03bf9bda 100644 --- a/src/core/varlink.c +++ b/src/core/varlink.c -@@ -5,6 +5,7 @@ - #include "constants.h" +@@ -6,6 +6,7 @@ #include "errno-util.h" #include "manager.h" + #include "metrics.h" +#include "mkdir-label.h" #include "path-util.h" #include "pidref.h" #include "string-util.h" -@@ -441,7 +442,11 @@ static int manager_varlink_init_system(Manager *m) { - if (!fresh && varlink_server_contains_socket(m->varlink_server, address)) - continue; +@@ -469,7 +470,11 @@ static int varlink_server_listen_many_idempotent_sentinel( + if (!known_fresh && varlink_server_contains_socket(s, address)) + continue; -- r = sd_varlink_server_listen_address(m->varlink_server, address, 0666 | SD_VARLINK_SERVER_MODE_MKDIR_0755); -+ r = mkdir_parents_label(address, 0755); -+ if (r < 0) -+ log_warning_errno(r, "Failed to create parent directory of '%s', ignoring: %m", address); +- r = sd_varlink_server_listen_address(s, address, 0666 | SD_VARLINK_SERVER_MODE_MKDIR_0755); ++ r = mkdir_parents_label(address, 0755); ++ if (r < 0) ++ log_warning_errno(r, "Failed to create parent directory of '%s', ignoring: %m", address); + -+ r = sd_varlink_server_listen_address(m->varlink_server, address, 0666); - if (r < 0) - return log_error_errno(r, "Failed to bind to varlink socket '%s': %m", address); - } ++ r = sd_varlink_server_listen_address(s, address, 0666); + if (r < 0) { + log_error_errno(r, "Failed to bind to varlink socket '%s': %m", address); + break; diff --git a/sources b/sources index 323604e..4c6235c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (systemd-259.1.tar.gz) = 7cbeca5dad6413a876809200583854ddc706b7a69deff958eb1ca1afb726cf4dec014006c10d1945c450b754811d4b95a80fe1778cb3136997f6d11b11c0560e +SHA512 (systemd-260-rc1.tar.gz) = bb4762d7113aa3f47150fcb5de97ce1a7d6af1af1a810fb5b01def36f674e069529359947a42c0ff8746f7a87ebd14f9faf65361879a09a10586b17bffc0ae96 diff --git a/systemd.spec b/systemd.spec index 3b20779..2f3fad7 100644 --- a/systemd.spec +++ b/systemd.spec @@ -73,7 +73,7 @@ Url: https://systemd.io # But don't do that on OBS, otherwise the version subst fails, and will be # like 257-123-gabcd257.1 instead of 257-123-gabcd %if %{without obs} -Version: %{?version_override}%{!?version_override:259.1} +Version: %{?version_override}%{!?version_override:260~rc1} %else Version: %{?version_override}%{!?version_override:%(cat meson.version)} %endif @@ -142,10 +142,6 @@ Patch: https://github.com/systemd/systemd/pull/26494.patch # https://bugzilla.redhat.com/show_bug.cgi?id=2251843 Patch: 30846.patch -# Again create runlevelX.target. Dropping those files breaks upgrades. -# https://bugzilla.redhat.com/show_bug.cgi?id=2411195 -Patch: 0001-Revert-units-drop-runlevel-0-6-.target.patch - # userdb: create userdb root directory with correct label # We can drop this after SELinux policy is updated to handle the transition. Patch: 38769.patch @@ -153,6 +149,8 @@ Patch: 38769.patch # Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=2415701 Patch: 0002-machined-continue-without-resolve.hook-socket.patch +Patch: 0003-rpm-systemd-update-helper-use-enqueue-marked-jobs.patch + %endif %ifarch %{ix86} x86_64 aarch64 riscv64