]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
2 days agosysext: add polkit support to varlink service 39796/head
Luca Boccassi [Wed, 12 Nov 2025 22:19:12 +0000 (22:19 +0000)] 
sysext: add polkit support to varlink service

2 days agovarlinkctl: add support for polkit interactive auth
Luca Boccassi [Wed, 19 Nov 2025 01:43:33 +0000 (01:43 +0000)] 
varlinkctl: add support for polkit interactive auth

2 days agocore: set Result=start-limit-hit when a unit is rate limited
Luca Boccassi [Wed, 3 Dec 2025 18:59:34 +0000 (18:59 +0000)] 
core: set Result=start-limit-hit when a unit is rate limited

There is currently no way to figure out a rate limit was hit on a unit,
as the last result is stripped in order to keep reporting the first
result, which is useful in case of a watchdog failure, which is the
reason why it was changed as such.

But rate limiting is also an important information to provide to
users, so allow the Result property to reflect it when it
happens.

2 days agoBump version in meson.version
Luca Boccassi [Wed, 17 Dec 2025 23:14:11 +0000 (23:14 +0000)] 
Bump version in meson.version

2 days agoFinalize meson.version for v259 v259
Luca Boccassi [Wed, 17 Dec 2025 23:02:36 +0000 (23:02 +0000)] 
Finalize meson.version for v259

2 days agoBoot loader menu docs and tweaks (#39842)
Luca Boccassi [Wed, 17 Dec 2025 23:00:59 +0000 (23:00 +0000)] 
Boot loader menu docs and tweaks (#39842)

2 days agosd-boot: correct typos 39842/head
Zbigniew Jędrzejewski-Szmek [Fri, 21 Nov 2025 11:07:04 +0000 (12:07 +0100)] 
sd-boot: correct typos

2 days agoTODO: remove resolved entry
Zbigniew Jędrzejewski-Szmek [Fri, 21 Nov 2025 11:06:31 +0000 (12:06 +0100)] 
TODO: remove resolved entry

Done in https://github.com/uapi-group/specifications/commit/677b722bb8b84625b68162ba201c8461497f9585.

2 days agodocs/BLI: add missing descriptions of feature bits
Zbigniew Jędrzejewski-Szmek [Fri, 21 Nov 2025 10:59:45 +0000 (11:59 +0100)] 
docs/BLI: add missing descriptions of feature bits

Follow up for 2553a5482c77980429565d14662f309e385bd472,
92bb46c464ffc6f04b633f7d82686a766663ad69,
e15d18b4c64e13c37a4c676bf61a5ecf8bba04a3,
a67f22c4a73a22312a61dd9352504cd2a960b8a8,
e1f1b5fc62f721a3a4c14d97ad01447b2ac07d6d.

2 days agoman/systemd-boot: say that /EFI/systemd/drivers is for hardware
Zbigniew Jędrzejewski-Szmek [Fri, 21 Nov 2025 10:31:12 +0000 (11:31 +0100)] 
man/systemd-boot: say that /EFI/systemd/drivers is for hardware

In aad0d11e7c6f1f7dcc7b00173140c74b8abf88cc we stopped supporting XBOOTLDR
with a different fs driver. This was the primary example that comes to mind
when we talk about loading filesystem drivers in the firmware. Since we don't
want people to do load such drivers, use a different example.

2 days agodocs/BOOT_LOADER_INTERFACE: use full variable names once
Zbigniew Jędrzejewski-Szmek [Fri, 21 Nov 2025 10:17:49 +0000 (11:17 +0100)] 
docs/BOOT_LOADER_INTERFACE: use full variable names once

We said in the header that "all EFI variables use the vendor UUID
4a67b082-0a4c-41cf-b6c7-440b29bb8c4f", but people not familiar with
UEFI might not know that this is concatenated with the variable name.
Let's use the full form once — when introducing the variable — to
make it easier to grep and search for.

While at it, use sembreaks in the document. This makes subsequent
changes much easier to review. (It also shows that some sentences
are rather long and thus hard to understand.)

3 days agoChores for v259 (#40120)
Luca Boccassi [Wed, 17 Dec 2025 18:39:40 +0000 (18:39 +0000)] 
Chores for v259 (#40120)

3 days agoNEWS: finalize 40120/head
Luca Boccassi [Wed, 17 Dec 2025 13:35:38 +0000 (13:35 +0000)] 
NEWS: finalize

3 days agoNEWS: update contributors list
Luca Boccassi [Wed, 17 Dec 2025 13:34:57 +0000 (13:34 +0000)] 
NEWS: update contributors list

3 days agoUpdate syscalls table
Luca Boccassi [Wed, 17 Dec 2025 13:33:26 +0000 (13:33 +0000)] 
Update syscalls table

ninja -C build update-syscall-tables update-syscall-header

3 days agoUpdate hwdb
Luca Boccassi [Wed, 17 Dec 2025 13:32:00 +0000 (13:32 +0000)] 
Update hwdb

ninja -C build update-hwdb

3 days agohwdb: fix unstable button triggering on Mipad 2 under GNOME (#40071)
QuickSwift315490 [Wed, 17 Dec 2025 13:26:47 +0000 (21:26 +0800)] 
hwdb: fix unstable button triggering on Mipad 2 under GNOME (#40071)

Change unknown key mappings to reserved.

A KEY_RESERVED button is marked as reserved and passed to the kernel. This will stop the kernel from passing this keystroke event to user space.

If unknown, the key is set to KEY_UNKNOWN and the event is passed to user space, which we want to avoid.

3 days agomeson: fix BPF build warnings due to MS extensions
Haiyue Wang [Wed, 17 Dec 2025 08:02:31 +0000 (16:02 +0800)] 
meson: fix BPF build warnings due to MS extensions

Fix BPF program build warnings on Linux-6.19.0-rc1, more detail is [1]:

A). clang-bpf

[781/2458] Generating src/network/bpf/sysctl-monitor/sysctl-monitor.bpf.unstripped.o with a custom command
In file included from ../src/network/bpf/sysctl-monitor/sysctl-monitor.bpf.c:3:
./vmlinux.h:60263:3: warning: declaration does not declare anything [-Wmissing-declarations]
 60263 |                 struct ns_tree;
       |                 ^~~~~~~~~~~~~~
./vmlinux.h:80251:2: warning: declaration does not declare anything [-Wmissing-declarations]
 80251 |         struct __fs_path;
       |         ^~~~~~~~~~~~~~~~
./vmlinux.h:96184:2: warning: declaration does not declare anything [-Wmissing-declarations]
 96184 |         struct freelist_tid;
       |         ^~~~~~~~~~~~~~~~~~~
./vmlinux.h:114441:2: warning: declaration does not declare anything [-Wmissing-declarations]
 114441 |         struct renamedata;
        |         ^~~~~~~~~~~~~~~~~
./vmlinux.h:118480:2: warning: declaration does not declare anything [-Wmissing-declarations]
 118480 |         union pipe_index;
        |         ^~~~~~~~~~~~~~~~
./vmlinux.h:130452:4: warning: declaration does not declare anything [-Wmissing-declarations]
 130452 |                         struct freelist_counters;
        |                         ^~~~~~~~~~~~~~~~~~~~~~~~
6 warnings generated.

B). gcc-bpf

meson setup -Dbpf-compiler=gcc build

[1040/2458] Generating src/network/bpf/sysctl-monitor/sysctl-monitor.bpf.unstripped.o with a custom command
In file included from ../src/network/bpf/sysctl-monitor/sysctl-monitor.bpf.c:3:
./vmlinux.h:60263:31: warning: declaration does not declare anything
60263 |                 struct ns_tree;
      |                               ^
./vmlinux.h:80251:25: warning: declaration does not declare anything
80251 |         struct __fs_path;
      |                         ^
./vmlinux.h:96184:28: warning: declaration does not declare anything
96184 |         struct freelist_tid;
      |                            ^
./vmlinux.h:114441:26: warning: declaration does not declare anything
114441 |         struct renamedata;
       |                          ^
./vmlinux.h:118480:25: warning: declaration does not declare anything
118480 |         union pipe_index;
       |                         ^
./vmlinux.h:130452:49: warning: declaration does not declare anything
130452 |                         struct freelist_counters;
       |                                                 ^

[1] https://git.kernel.org/torvalds/c/639f58a0f480
    "bpftool: Fix build warnings due to MS extensions"

Signed-off-by: Haiyue Wang <haiyuewa@163.com>
3 days agoman/systemd.exec: Make EnvironmentFile error conditions more explicit
Andrew Halaney [Mon, 15 Dec 2025 21:47:17 +0000 (15:47 -0600)] 
man/systemd.exec: Make EnvironmentFile error conditions more explicit

It is not entirely clear what happens when EnvironmentFile fails in the
prior wording. With the new wording it should now be clear that if it
fails to process the file the service will fail, and if it is prefixed
with "-" all errors are silently ignored.

Signed-off-by: Andrew Halaney <ahalaney@netflix.com>
3 days agotest: fix race condition in TEST-80-NOTIFYACCESS
Luca Boccassi [Tue, 16 Dec 2025 21:44:57 +0000 (21:44 +0000)] 
test: fix race condition in TEST-80-NOTIFYACCESS

In some cases systemd is faster to send the SIGHUP
than the script is to start the 'sleep' and background
it, so it never gets interrupted later and the test
is left hanging waiting for it.

[ 5028.410588] systemd[1]: Starting reload-timeout.service...
[ 5028.429544] reload-timeout.sh[165]: + set -o pipefail
[ 5028.429544] reload-timeout.sh[165]: + COUNTER=0
[ 5028.429841] reload-timeout.sh[165]: + trap sighup_handler SIGHUP
[ 5028.429841] reload-timeout.sh[165]: + export SYSTEMD_LOG_LEVEL=debug
[ 5028.429841] reload-timeout.sh[165]: + SYSTEMD_LOG_LEVEL=debug
[ 5028.429841] reload-timeout.sh[165]: + systemd-notify --ready
[ 5028.432891] systemd[1]: reload-timeout.service: Got notification message from PID 165: READY=1
[ 5028.432908] systemd[1]: reload-timeout.service: Changed start -> running
[ 5028.432983] systemd[1]: reload-timeout.service: Job 409 reload-timeout.service/start finished, result=done
[ 5028.432997] systemd[1]: Started reload-timeout.service.
[ 5028.433941] TEST-80-NOTIFYACCESS.sh[164]: Job for reload-timeout.service finished.
[ 5028.433941] TEST-80-NOTIFYACCESS.sh[164]: Got result done/Success for job reload-timeout.service.
[ 5028.433941] TEST-80-NOTIFYACCESS.sh[164]: Bus n/a: changing state RUNNING → CLOSED
[ 5028.436949] TEST-80-NOTIFYACCESS.sh[99]: + systemctl reload --no-block reload-timeout.service
[ 5028.444523] TEST-80-NOTIFYACCESS.sh[167]: Bus n/a: changing state UNSET → OPENING
[ 5028.444523] TEST-80-NOTIFYACCESS.sh[167]: sd-bus: starting bus by connecting to /run/systemd/private...
[ 5028.444523] TEST-80-NOTIFYACCESS.sh[167]: Bus n/a: changing state OPENING → AUTHENTICATING
[ 5028.444523] TEST-80-NOTIFYACCESS.sh[167]: Executing dbus call org.freedesktop.systemd1.Manager ReloadUnit(reload-timeout.service, replace)
[ 5028.444523] TEST-80-NOTIFYACCESS.sh[167]: Bus n/a: changing state AUTHENTICATING → RUNNING
[ 5028.445202] reload-timeout.sh[165]: + wait_for_signal
[ 5028.445586] reload-timeout.sh[169]: + sleep infinity
[ 5028.447285] reload-timeout.sh[165]: ++ sighup_handler
[ 5028.447285] reload-timeout.sh[165]: ++ echo hup1
[ 5028.444886] systemd[1]: reload-timeout.service: Trying to enqueue job reload-timeout.service/reload/replace
[ 5028.445228] systemd[1]: reload-timeout.service: Installed new job reload-timeout.service/reload as 491
[ 5028.445240] systemd[1]: reload-timeout.service: Enqueued job reload-timeout.service/reload as 491
[ 5028.446601] systemd[1]: reload-timeout.service: Service has no extensions to reload.
[ 5028.446799] systemd[1]: reload-timeout.service: Changed running -> reload-signal
[ 5028.446881] systemd[1]: Reloading reload-timeout.service...
[ 5028.451343] TEST-80-NOTIFYACCESS.sh[167]: Bus n/a: changing state RUNNING → CLOSED
[ 5028.452421] TEST-80-NOTIFYACCESS.sh[99]: + timeout 10 bash -c 'until [[ $(systemctl show reload-timeout.service -P SubState) == "reload-signal" ]]; do sleep .5; done'
[ 5028.460676] TEST-80-NOTIFYACCESS.sh[172]: Bus n/a: changing state UNSET → OPENING
[ 5028.460676] TEST-80-NOTIFYACCESS.sh[172]: sd-bus: starting bus by connecting to /run/systemd/private...
[ 5028.462029] TEST-80-NOTIFYACCESS.sh[172]: Bus n/a: changing state OPENING → AUTHENTICATING
[ 5028.462029] TEST-80-NOTIFYACCESS.sh[172]: Showing one /org/freedesktop/systemd1/unit/reload_2dtimeout_2eservice
[ 5028.463759] TEST-80-NOTIFYACCESS.sh[172]: Bus n/a: changing state AUTHENTICATING → RUNNING
[ 5028.470322] TEST-80-NOTIFYACCESS.sh[172]: Bus n/a: changing state RUNNING → CLOSED
[ 5028.472991] TEST-80-NOTIFYACCESS.sh[99]: + sync_in hup1
[ 5028.472991] TEST-80-NOTIFYACCESS.sh[99]: + read -r x
[ 5028.473839] reload-timeout.sh[165]: + wait 169
[ 5028.473996] TEST-80-NOTIFYACCESS.sh[99]: + test hup1 = hup1
[ 5028.473996] TEST-80-NOTIFYACCESS.sh[99]: + timeout 10 bash -c 'until [[ $(systemctl show reload-timeout.service -P SubState) == "reload-notify" ]]; do sleep .5; done'
[ 5038.477383] systemd[1]: TEST-80-NOTIFYACCESS.service: Failed with result 'exit-code'.

(note how the 'wait' is long after SIGHUP has been processed already)

Fixes https://github.com/systemd/systemd/issues/39581

Follow-up for ca8658120e1c9993bc05aa08dac2c74e618c2118

3 days agocore: fix extensions refreshing (dlopen() shenanigans) (#40112)
Yu Watanabe [Wed, 17 Dec 2025 09:41:23 +0000 (18:41 +0900)] 
core: fix extensions refreshing (dlopen() shenanigans) (#40112)

3 days agostub: Use log_debug if addons has no applicable sections
Vivian Wang [Wed, 17 Dec 2025 06:03:30 +0000 (14:03 +0800)] 
stub: Use log_debug if addons has no applicable sections

This can happen expectedly if an addon purely provides .dtbauto
sections, and there's no match for this machine. Reduce the log message
of this case to "debug" level.

3 days agopo: Translated using Weblate (Estonian)
Priit Jõerüüt [Wed, 17 Dec 2025 01:58:22 +0000 (01:58 +0000)] 
po: Translated using Weblate (Estonian)

Currently translated at 91.6% (242 of 264 strings)

Co-authored-by: Priit Jõerüüt <jrtkbfdr@users.noreply.translate.fedoraproject.org>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/et/
Translation: systemd/main

3 days agocore/exec-credential: fix credentials plain dir exchanging (#40108)
Mike Yuan [Tue, 16 Dec 2025 23:25:11 +0000 (00:25 +0100)] 
core/exec-credential: fix credentials plain dir exchanging (#40108)

Follow-ups for #39637

Split out from #40093

3 days agocore: dlopen() libcryptsetup in extensions refreshing 40112/head
Mike Yuan [Tue, 16 Dec 2025 20:09:15 +0000 (21:09 +0100)] 
core: dlopen() libcryptsetup in extensions refreshing

Follow-up for a08f2ea02dc4fcbd7f2f73a5a24e0af32b34fe55

This fixes extensions refreshing + verity-protected DDIs.
TEST-50-DISSECT previously passed because confext refreshing
is tested after live mount, the latter of which used to
load libcryptsetup in pid1.

3 days agoTEST-70-TPM2: re-enable tpm2-setup test on Alpine/postmarketOS
Yu Watanabe [Tue, 16 Dec 2025 18:54:57 +0000 (03:54 +0900)] 
TEST-70-TPM2: re-enable tpm2-setup test on Alpine/postmarketOS

After 64b5c5f593c8863316323568268e3d07f4f7cac7, the test passes on
Alpine/postmarketOS.

This partially reverts 9fafe89bcc91550f55a96f66972406ce678be2fb.

3 days agocore/service: defer cryptsetup dlopen to helper process
Mike Yuan [Tue, 16 Dec 2025 20:57:20 +0000 (21:57 +0100)] 
core/service: defer cryptsetup dlopen to helper process

This should still be safe, as we block dlopen() in namespace_fork().

Partially reverts 9252e26f4cbf92428cab595045716fee783f375e.

3 days agocore/unit: add unit_fork_helper_process_full() that takes ForkFlags
Mike Yuan [Tue, 16 Dec 2025 01:07:22 +0000 (02:07 +0100)] 
core/unit: add unit_fork_helper_process_full() that takes ForkFlags

3 days agoTEST-54-CREDS: add test case for #40108 40108/head
Mike Yuan [Tue, 16 Dec 2025 19:21:30 +0000 (20:21 +0100)] 
TEST-54-CREDS: add test case for #40108

3 days agocore/exec-credential: fix credentials plain dir exchanging
Mike Yuan [Tue, 16 Dec 2025 01:10:32 +0000 (02:10 +0100)] 
core/exec-credential: fix credentials plain dir exchanging

Follow-up for d796c6b7c64bd47b192c5351c955e9b8f4298bd4

rename() may yield ENOTEMPTY rather than EEXIST for existing dir,
so catch that too. Also, both the source and target must be
writable when exchanging.

Test coverage for this logic (i.e. user units with ExecStartPre=)
will be added later.

3 days agoprocess-util: add a flag for retaining dlopen()-ability
Mike Yuan [Tue, 16 Dec 2025 00:54:40 +0000 (01:54 +0100)] 
process-util: add a flag for retaining dlopen()-ability

While blocking dlopen() in child generally makes sense, it does
also lead to misery - in the very case of extension/cred refreshing
it then enforces loading of libcryptsetup/libacl in pid1, which
are otherwise never used. Let's add a flag to opt out hence, but
still prohibit it in namespace_fork/enter().

3 days agoacl-util: systematically fall back to fchmod() if acl is not available
Mike Yuan [Tue, 16 Dec 2025 01:18:25 +0000 (02:18 +0100)] 
acl-util: systematically fall back to fchmod() if acl is not available

Same as 2a64b56da44751a3205c16ed4de6aa52c8e92929, but for
fd_acl_make_writable().

While at it, un-export fd_acl_make_{read_only,writable}_fallback(),
instead apply ifdeffery in .c

3 days agoRevert "acl-util: drop now unused fd_acl_make_writable()"
Mike Yuan [Tue, 16 Dec 2025 00:47:10 +0000 (01:47 +0100)] 
Revert "acl-util: drop now unused fd_acl_make_writable()"

This reverts commit 4175cd4f400c2e89028878dc265ccd67ca838edd.

It turned out that we still need this. Preparation for later commits.

3 days agoacl-util: treat pointer type as a whole
Mike Yuan [Tue, 16 Dec 2025 00:43:29 +0000 (01:43 +0100)] 
acl-util: treat pointer type as a whole

Follow-up for 4976d6e9ac0c621a3182416c35350cd0fe2f1977

4 days agocore/service: do not honor SuccessExitStatus= for our own helpers
Mike Yuan [Sun, 14 Dec 2025 09:24:11 +0000 (10:24 +0100)] 
core/service: do not honor SuccessExitStatus= for our own helpers

They're exclusively under our control, hence errors should not be
suppressed based on external user input.

4 days agomkosi: drop gh from mkosi-tools debian/ubuntu
Luca Boccassi [Tue, 16 Dec 2025 16:50:06 +0000 (16:50 +0000)] 
mkosi: drop gh from mkosi-tools debian/ubuntu

It was removed from testing so building images fails

4 days agomkosi: update mkosi commit reference to 9e31235211d975bae25622d6205a8396d104335e
Luca Boccassi [Tue, 16 Dec 2025 13:13:25 +0000 (13:13 +0000)] 
mkosi: update mkosi commit reference to 9e31235211d975bae25622d6205a8396d104335e

9e31235211 pacman: Make sure hookdir exists
20009b7f48 make_image: log systemd-repart *.conf files at the --debug level
b94b415db9 run: Increase string limit for strace when debugging sandbox
9f6d9405d6 Ring the terminal bell after the last image has been built
b509b4246d Add glob in default initrd to exclude some exotic drivers
189394b8b9 Allow KernelModules= globs to also match relative to modules root dir
92bd086e4e zypper: add --force-resolution flag
3637749702 kmod: Only add fully resolved fw path if it exists
d41ac276c9 Add details to KernelModulesInitrd= doc
1b6960ddb1 Fix SplitArtifacts=repart-definitions for addons
07464f38d6 Add log_step call in build_kernel_modules_initrd
18f5885362 Use proper constants for ansi colors
454c1602b6 mkosi-obs: add SplitArtifacts=repart-definitions and use it
9e57461af6 Copy repart definitions to staging directory
1acab18874 Add SplitArtifacts=repart-definitions
c5c5c225e8 mkosi-obs: always include verity certificate
ac5babb8e0 Revert "Use Path.relative_to instead of Path.parts"
cbb1daeb76 action: Use environment variables instead of inputs
97c81eef72 portable: support split roothash

4 days agotpm2-util: create leading dirs for anchor secret
Lennart Poettering [Tue, 16 Dec 2025 11:10:32 +0000 (12:10 +0100)] 
tpm2-util: create leading dirs for anchor secret

Fixes #40087

4 days agotest: prefer tests with PCR 16 over PCR 11
Lennart Poettering [Wed, 10 Dec 2025 02:57:56 +0000 (11:57 +0900)] 
test: prefer tests with PCR 16 over PCR 11

PCR 16 is intended for debugging purposes, and is the only PCR that can
be reset by software. Let's prefer that for testing.

PCR 11 has a purpose (i.e. kernel is measured there on UKI systems, as
are the boot phases), hence let's not use that for testing.

That should remove any interference of boot time ordering and testing
our tpm code, as we will write to PCR 16 only, and reset it before we
rely on it.

This likely, kind of fixes #39582, but the issue mixes two things, PCR
11 issues on real-life hardware, and PCR 11 isues in our artificial
tests. Only the latter is addressed by this PR, the other issue needs
more debugging, but without logs we cannot do much.

4 days agoSync kernel headers and add GUEST_MEMFD_MAGIC (#40104)
Zbigniew Jędrzejewski-Szmek [Tue, 16 Dec 2025 13:04:03 +0000 (14:04 +0100)] 
Sync kernel headers and add GUEST_MEMFD_MAGIC (#40104)

4 days agocore/service: set unit log context in helper processes that bypass cgroup
Mike Yuan [Sat, 13 Dec 2025 16:56:51 +0000 (17:56 +0100)] 
core/service: set unit log context in helper processes that bypass cgroup

Since these helper processes aren't spawned in the unit cgroup,
let's explicitly attach unit log context so that all logging gets
attributed to the unit, including the ones done in library calls.

4 days agobasic: add GUEST_MEMFD_MAGIC from 6.19 40104/head
Luca Boccassi [Tue, 16 Dec 2025 11:44:42 +0000 (11:44 +0000)] 
basic: add GUEST_MEMFD_MAGIC from 6.19

 1/1815 systemd:kernel-filesystem-magics FAIL 0.05s exit status 1
――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――
stderr:
kernel knows additional filesystem magics: GUEST_MEMFD_MAGIC

4 days agoinclude: update kernel headers from v6.19~rc1
Luca Boccassi [Tue, 16 Dec 2025 11:43:29 +0000 (11:43 +0000)] 
include: update kernel headers from v6.19~rc1

4 days agobus-unit-util: ReloadSignal is a Service property
Mike Yuan [Mon, 15 Dec 2025 20:12:44 +0000 (21:12 +0100)] 
bus-unit-util: ReloadSignal is a Service property

Follow-up for c133545430897ece77a2066bc740c4a8f7b781e5

4 days agoci: remove --quiet from mkosi integration suite run
Luca Boccassi [Mon, 15 Dec 2025 22:51:16 +0000 (22:51 +0000)] 
ci: remove --quiet from mkosi integration suite run

Given the integration tests take a while to run, it is useful to see
at which point it is while it is running. Sometimes only a test
script or such subset is changed, which means there's no need to
wait for the entire suite to run, especially with the sanitizers
job which is super slow.

Partially reverts 9848f56cc68a5f193d515f080b7b01e6a689ae22

4 days agoTranslations update from Fedora Weblate (#40097)
Luca Boccassi [Mon, 15 Dec 2025 20:51:04 +0000 (20:51 +0000)] 
Translations update from Fedora Weblate (#40097)

Translations update from [Fedora
Weblate](https://translate.fedoraproject.org) for
[systemd/main](https://translate.fedoraproject.org/projects/systemd/main/).

Current translation status:

![Weblate translation
status](https://translate.fedoraproject.org/widget/systemd/main/horizontal-auto.svg)

4 days agopo: Translated using Weblate (Estonian) 40097/head
Priit Jõerüüt [Mon, 15 Dec 2025 19:58:23 +0000 (19:58 +0000)] 
po: Translated using Weblate (Estonian)

Currently translated at 90.1% (238 of 264 strings)

Co-authored-by: Priit Jõerüüt <jrtkbfdr@users.noreply.translate.fedoraproject.org>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/et/
Translation: systemd/main

4 days agopo: Translated using Weblate (Estonian)
Henri Aunin [Mon, 15 Dec 2025 19:58:23 +0000 (19:58 +0000)] 
po: Translated using Weblate (Estonian)

Currently translated at 90.1% (238 of 264 strings)

Co-authored-by: Henri Aunin <contact+fedora@hen.ee>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/et/
Translation: systemd/main

4 days agomkosi: use qemu from noble-proposed instead of ppa
Nick Rosbrook [Wed, 10 Dec 2025 21:56:50 +0000 (16:56 -0500)] 
mkosi: use qemu from noble-proposed instead of ppa

This is also temporary, but demonstrates that the version of qemu
currently in noble-proposed fixes https://launchpad.net/bugs/2127974,
which will ultimately allow for the fix to be released to noble-updates.

5 days agointegration-test: check tools distribution rather than image distribution
Yu Watanabe [Mon, 15 Dec 2025 06:06:08 +0000 (15:06 +0900)] 
integration-test: check tools distribution rather than image distribution

The tools and image distributions may be different.

This also fixes invalid escape sequence.

Follow-up for 9b42cc3b12c17a4b02d713b2ad499a74acecea1f.

5 days agomount-util: fix typo
Yu Watanabe [Mon, 15 Dec 2025 02:20:07 +0000 (11:20 +0900)] 
mount-util: fix typo

Follow-up for 273c6bc045fdfa50c693d0b88ec2a4cbc9258329.

5 days agosysext: Fix config file section docs and --root= (#40063)
Yu Watanabe [Mon, 15 Dec 2025 00:45:29 +0000 (09:45 +0900)] 
sysext: Fix config file section docs and --root= (#40063)

5 days agotree-wide: normalize comment style
Yu Watanabe [Wed, 10 Dec 2025 09:36:58 +0000 (18:36 +0900)] 
tree-wide: normalize comment style

5 days agohwdb: Fix ACCEL_MOUNT_MATRIX for Lenovo Ideapad MIIX 310-ICR (#40067)
0x06 [Sun, 14 Dec 2025 22:19:10 +0000 (23:19 +0100)] 
hwdb: Fix ACCEL_MOUNT_MATRIX for Lenovo Ideapad MIIX 310-ICR (#40067)

Tested with monitor-sensor on bvr1HCN44WW

5 days agohwdb: sensor: Remove Lenovo IdeaPad Duet 3 accel mount matrix (#40075)
David Santamaría Rogado [Sun, 14 Dec 2025 22:16:10 +0000 (23:16 +0100)] 
hwdb: sensor: Remove Lenovo IdeaPad Duet 3 accel mount matrix (#40075)

Same case as IdeaPad D330, matrix applied to solve issues in wayland
compositors when is not the way because correct data is send by the
sensor.

As described in #39529, let's remove the matrix.

5 days agohwdb: sensor: Add HP OmniBook Ultra Flip 14 accel mount matrix (#40076)
David Santamaría Rogado [Sun, 14 Dec 2025 22:14:00 +0000 (23:14 +0100)] 
hwdb: sensor: Add HP OmniBook Ultra Flip 14 accel mount matrix (#40076)

HP OmniBook Ultra Flip Laptop 14-fh0xxx tilt is inverted by default so
screen tilt-face down is up and vice versa, invert the axis then.

6 days agonamespace: Clone root dir descriptor before use (#39939)
Daan De Meyer [Sun, 14 Dec 2025 12:34:17 +0000 (13:34 +0100)] 
namespace: Clone root dir descriptor before use (#39939)

Before doing anything with the root directory file descriptor, let's
make sure we clone it first so that the caller can't mess with mount fd
attributes via mount_setattr() anymore.

We clone during parsing instead of in executor so that the caller can't
mess with the mount fd between invocations.

6 days agoTEST-50-DISSECT: Make sure RootDirectoryFileDescriptor= can be reused 39939/head
Daan De Meyer [Mon, 1 Dec 2025 18:35:51 +0000 (19:35 +0100)] 
TEST-50-DISSECT: Make sure RootDirectoryFileDescriptor= can be reused

6 days agonamespace: Clone root dir descriptor before use
Daan De Meyer [Fri, 28 Nov 2025 19:28:01 +0000 (20:28 +0100)] 
namespace: Clone root dir descriptor before use

Before doing anything with the root directory file descriptor, let's
make sure we clone it first so that the caller can't mess with mount fd
attributes via mount_setattr() anymore.

We clone during parsing instead of in executor so that the caller can't
mess with the mount fd between invocations.

6 days agomount-util: Add mount_fd_clone() helper
Daan De Meyer [Fri, 28 Nov 2025 18:06:37 +0000 (19:06 +0100)] 
mount-util: Add mount_fd_clone() helper

The kernel prevents you from open_tree()'ing an open_tree() fd unless it
was created from the caller's mount namespace. For various use cases, we
want to be able to open_tree() arbitrary mount file descriptors. Turns
out there's a way go get around it by mounting the mount file descriptor
in a throw-away mount namespace and then open_tree()'ing the mount file
descriptor. Let's implement this as a new helper mount_fd_clone() and
add a test for it.

Because move_mount()'ing the original fd makes it pretty useless as it
can't be move_mount()'ed again, we optionally make a second clone which
can replace the original fd so it can be cloned again later.

7 days agoconf-files: include the expected suffix in the 'unexpected suffix' debug message.
Alexis-Emmanuel Haeringer [Thu, 11 Dec 2025 21:36:23 +0000 (22:36 +0100)] 
conf-files: include the expected suffix in the 'unexpected suffix' debug message.

8 days agocore/execute-serialize: do not gracefully skip unknown image policies in executor...
Mike Yuan [Fri, 12 Dec 2025 15:20:14 +0000 (16:20 +0100)] 
core/execute-serialize: do not gracefully skip unknown image policies in executor (#40062)

8 days agoman/sysext.conf: Fix section name to match code 40063/head
Kai Lueke [Fri, 12 Dec 2025 12:54:47 +0000 (21:54 +0900)] 
man/sysext.conf: Fix section name to match code

The code uses SysExt and ConfExt for section names but the docs use
Sysext and Confext.
Align the docs with the code.

8 days agosysext: Fix config file support with --root=
Kai Lueke [Thu, 11 Dec 2025 10:49:20 +0000 (19:49 +0900)] 
sysext: Fix config file support with --root=

Config files for --root= weren't picked up as expected because the
--root= flag got parsed after the config file.
Switch the order of config file and CLI flag parsing while letting the
CLI flags overwrite things set by the config files by tracking state
during parsing.

8 days agodiscover-image: Rework image_make()
Daan De Meyer [Wed, 3 Dec 2025 10:08:56 +0000 (11:08 +0100)] 
discover-image: Rework image_make()

Currently, image_new() will calculate the image
path as the combination of dir_path and filename,
which is completely broken if filename is absolute
and dir_path is set.

Let's fix this by thoroughly cleaning up the
image_make() interface. Instead of having four
different arguments to pass in the image path,
let's reduce that to two, a file descriptor and a
path. If no file descriptor is provided, we create
own ourselves by opening the given path.

The callsites are updated to pass in an existing file
descriptor when available. Path calculation is moved
to callers instead of image_make().

8 days agotree-wide: Use meson test -q
Daan De Meyer [Thu, 11 Dec 2025 16:21:08 +0000 (17:21 +0100)] 
tree-wide: Use meson test -q

meson test output is extremely verbose, printing
a separate line for each successful test. Let's
add -q/--quiet everywhere so it only prints full
lines for skipped and failed tests.

8 days agohwdb: Add ACCEL_MOUNT_MATRIX for variant of TERRA PAD 1061
0x06 [Thu, 11 Dec 2025 22:53:51 +0000 (23:53 +0100)] 
hwdb: Add ACCEL_MOUNT_MATRIX for variant of TERRA PAD 1061

Tested with monitor-sensor

8 days agoresolve: use strcmp when comparing DnsServer names
Fletcher Woodruff [Thu, 11 Dec 2025 23:30:22 +0000 (15:30 -0800)] 
resolve: use strcmp when comparing DnsServer names

This fixes an issue where duplicate DNS Servers are added to
to resolv.conf files even when all fields are the same.

9 days agocore/execute-serialize: do not gracefully skip unknown image policies in executor 40062/head
Mike Yuan [Thu, 11 Dec 2025 15:26:34 +0000 (16:26 +0100)] 
core/execute-serialize: do not gracefully skip unknown image policies in executor

Follow-up for 7c0afcdde22d3d94fd23bfd0e473c263aaf54e8a

Addresses https://github.com/systemd/systemd/pull/40060#issuecomment-3641288267

As commented, the unknown values should have been filtered out
in pid1's initial parsing already, and the communication between
pid1 and executor is entirely internal which makes the graceful
practice counterproductive.

9 days agoshared/image-policy: format ", ignoring" + value msg in our usual style
Mike Yuan [Thu, 11 Dec 2025 15:25:26 +0000 (16:25 +0100)] 
shared/image-policy: format ", ignoring" + value msg in our usual style

9 days agocore: gracefully skip unknown policy designators in RootImagePolicy et al (#40060)
Luca Boccassi [Thu, 11 Dec 2025 05:38:26 +0000 (05:38 +0000)] 
core: gracefully skip unknown policy designators in RootImagePolicy et al (#40060)

Usually we gracefully ignore unknown configuration parameters, so that
service files can be written by upstreams and used across a variegated
range of distributions with various versions of systemd, to avoid
forcing users to the minimum common denominator and only adding settings
that are supported by the oldest distro supported.

Image policies do not behave like this, and any unknown partition or
policy designator causes the whole unit to fail to parse and a hard
error.

Change it so that parsing RootImagePolicy and friends via unit file or
D-Bus logs but otherwise ignores unknown specifiers, like other options
do.

This allows us to add new specifiers in the future, and users to adopt
them immediately.

Follow-up for d452335aa47fb1f1b11dc75bc462697431e64af3

9 days agoTEST-85-NETWORK: enable NetworkdSysctlTest
Yu Watanabe [Wed, 10 Dec 2025 15:20:18 +0000 (00:20 +0900)] 
TEST-85-NETWORK: enable NetworkdSysctlTest

Note, each test case must be prefixed with 'test_'.

This also adds one more log check for issue #40051.

Follow-up for c78bcda4613fe877881f9760da63f2f8f832118a.

10 days agomeson: bump version to v259~rc3 v259-rc3
Luca Boccassi [Wed, 10 Dec 2025 17:35:06 +0000 (17:35 +0000)] 
meson: bump version to v259~rc3

10 days agoChores for RC3 (#40058)
Zbigniew Jędrzejewski-Szmek [Wed, 10 Dec 2025 17:33:05 +0000 (18:33 +0100)] 
Chores for RC3 (#40058)

10 days agoNEWS: update date 40058/head
Luca Boccassi [Wed, 10 Dec 2025 17:11:24 +0000 (17:11 +0000)] 
NEWS: update date

10 days agoNEWS: update contributors list
Luca Boccassi [Wed, 10 Dec 2025 17:11:05 +0000 (17:11 +0000)] 
NEWS: update contributors list

10 days agohwdb: update autosuspend rules
Luca Boccassi [Wed, 10 Dec 2025 17:08:57 +0000 (17:08 +0000)] 
hwdb: update autosuspend rules

ninja -C build update-hwdb-autosuspend

10 days agoUpdate hwdb
Luca Boccassi [Wed, 10 Dec 2025 17:07:41 +0000 (17:07 +0000)] 
Update hwdb

ninja -C build update-hwdb

10 days agovmspawn: fix typo in log specifier
Antonio Alvarez Feijoo [Wed, 10 Dec 2025 15:32:08 +0000 (16:32 +0100)] 
vmspawn: fix typo in log specifier

Follow-up for 179dcf924f7d0ac9398f54baeb39b47abd23aeaf

10 days agopo: Translated using Weblate (Georgian)
Temuri Doghonadze [Wed, 10 Dec 2025 14:52:59 +0000 (14:52 +0000)] 
po: Translated using Weblate (Georgian)

Currently translated at 100.0% (264 of 264 strings)

Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/ka/
Translation: systemd/main

10 days agotest: Stop using grep -q in integration test
Daan De Meyer [Wed, 3 Dec 2025 12:36:52 +0000 (13:36 +0100)] 
test: Stop using grep -q in integration test

When a TTY is attached to the test unit, grep -q will generate SIGPIPE
for the previous command in the pipeline which in combo with `pipefail`
will cause the command to fail with exit status 141 which will fail the
test.

Replace with >/dev/null to avoid this from happening.

See also https://www.gnu.org/software/grep/manual/html_node/Usage.html
> There is a related problem with Bash’s set -e -o pipefail. Since grep
> does not always read all its input, a command outputting to a pipe read
> by grep can fail when grep exits before reading all its input, and the
> command’s failure can cause Bash to exit.

Co-authored-by: Yu Watanabe <watanabe.yu+github@gmail.com>
10 days agobus-wait-for-jobs: fix failed job logging (#40043)
Yu Watanabe [Wed, 10 Dec 2025 10:00:39 +0000 (19:00 +0900)] 
bus-wait-for-jobs: fix failed job logging (#40043)

Follow-ups for 0d91a204cb78d692f23e80d3a08f9b81ecad753a.
Fixes #40030.

10 days agomanager-serialize: add logging for ENOMEM
David Tardon [Tue, 9 Dec 2025 09:41:59 +0000 (10:41 +0100)] 
manager-serialize: add logging for ENOMEM

10 days agotree-wide: flatten nested error checks
David Tardon [Tue, 9 Dec 2025 09:04:36 +0000 (10:04 +0100)] 
tree-wide: flatten nested error checks

10 days agotar-util: allow to build without acl support (#39965)
Zbigniew Jędrzejewski-Szmek [Wed, 10 Dec 2025 08:42:50 +0000 (09:42 +0100)] 
tar-util: allow to build without acl support (#39965)

This adds minimal definitions provided by libacl to make tar-util built
without libacl support.
Fixes the following compile error:
```
../src/shared/tar-util.c:62:9: error: unknown type name 'acl_t'
   62 |         acl_t acl_access, acl_default;
      |         ^~~~~
```

Follow-up for 4ded7f7a434c59534f65a0f9d391c55961eb110d.
Fixes #39928.
Replaces #39954.

10 days agobus-wait-for-jobs: assign unique error code from service result 40043/head
Yu Watanabe [Tue, 9 Dec 2025 19:15:28 +0000 (04:15 +0900)] 
bus-wait-for-jobs: assign unique error code from service result

10 days agohwdb: sensor: Remove Lenovo IdeaPad D330 accel mount matrix
David Santamaría Rogado [Wed, 10 Dec 2025 04:18:01 +0000 (05:18 +0100)] 
hwdb: sensor: Remove Lenovo IdeaPad D330 accel mount matrix

Reading values from iio-sensor we are getting bad values. This matrix was added because the panel was a vertical one but the normal position is horizontal and the sensor is not bad oriented.

Removing the matrix ensure we have correct orientation values and prevent from misleads where the incorrect values we were getting messed up.

For example mutter actually is setting incorrect screen rotation for devices with panel orientation quirks.

I'm pretty sure that there are more devices where we have incorrectly "corrected" the sensor values when the only problem was the panel orientation.

Signed-off-by: David Santamaría Rogado <howl.nsp@gmail.com>
10 days agohostname: explain a bit why hostnames should be single DNS labels, not fqdns
Lennart Poettering [Wed, 10 Dec 2025 01:03:47 +0000 (10:03 +0900)] 
hostname: explain a bit why hostnames should be single DNS labels, not fqdns

10 days agoresolve: always read /etc/resolv.conf on reload systemd-resolved
Pasquale van Heumen [Tue, 9 Dec 2025 15:45:10 +0000 (16:45 +0100)] 
resolve: always read /etc/resolv.conf on reload systemd-resolved

When systemd-resolved is used in resolv.conf foreign mode, reloading the
systemd-resolved daemon does not read resolv.conf when not touched since
the last time resolved read the file. Since the DNS servers list is
flushed during a reload, resolved forgets about the servers
in /etc/resolv.conf

When reloading the daemon it is expected that all configuration is
reloaded regardless of the disk timestamps.

10 days agoboot: handle empty initrd files (#40040)
Ricardo Salveti [Tue, 9 Dec 2025 19:55:57 +0000 (04:55 +0900)] 
boot: handle empty initrd files (#40040)

Commit f8fa4222c9ac3e74e91c64e25e9532c99559cf99 added extra logic to
account for the size of the initrds before allocating the required memory pages,
but missed checking if the initrds were empty before allocating memory.

Extend the initrd options only when the initrd is valid, and add extra
check for validating that there is at least one valid initrd file before
allocating memory, fixing the following crash when booting with empty
initrd files:

src/boot/log.c:30@efi_assert: systemd-boot: Assertion
 'BS->AllocatePages(type, memory_type, n_pages, &addr) == EFI_SUCCESS'
failed at /usr/src/debug/systemd-boot/257.8/src/boot/util.h:95@xmalloc_pages, halting.

Fixes: f8fa4222c9ac3e74e91c64e25e9532c99559cf99
("boot: Make initrd_prepare() semantically equivalent to combine_initrds()")

10 days agobus-wait-for-jobs: do not say "Unexpected job result" when job is simply failed
Yu Watanabe [Tue, 9 Dec 2025 18:59:12 +0000 (03:59 +0900)] 
bus-wait-for-jobs: do not say "Unexpected job result" when job is simply failed

10 days agobus-wait-for-jobs: use SYNTHETIC_ERRNO()
Yu Watanabe [Tue, 9 Dec 2025 18:48:30 +0000 (03:48 +0900)] 
bus-wait-for-jobs: use SYNTHETIC_ERRNO()

Since 0d91a204cb78d692f23e80d3a08f9b81ecad753a, we always logs
something. Hence, we can use SYNTHETIC_ERRNO().

10 days agobus-wait-for-jobs: fix quiet argument for log_job_error_with_service_result()
Yu Watanabe [Tue, 9 Dec 2025 18:26:40 +0000 (03:26 +0900)] 
bus-wait-for-jobs: fix quiet argument for log_job_error_with_service_result()

The argument 'quiet' is a boolean, not a integrer and not a log level.

Follow-up for 0d91a204cb78d692f23e80d3a08f9b81ecad753a.
Fixes #40030.

11 days agopo: Translated using Weblate (Slovenian)
Martin Srebotnjak [Tue, 9 Dec 2025 15:58:22 +0000 (15:58 +0000)] 
po: Translated using Weblate (Slovenian)

Currently translated at 100.0% (264 of 264 strings)

Co-authored-by: Martin Srebotnjak <miles@filmsi.net>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/sl/
Translation: systemd/main

11 days agotar-util: allow to build without libacl support 39965/head
Yu Watanabe [Tue, 2 Dec 2025 05:13:15 +0000 (14:13 +0900)] 
tar-util: allow to build without libacl support

Fixes #39928.
Follow-up for 4ded7f7a434c59534f65a0f9d391c55961eb110d.

11 days agotar-util: allocate ACL entry only when necessary
Yu Watanabe [Tue, 9 Dec 2025 14:39:41 +0000 (23:39 +0900)] 
tar-util: allocate ACL entry only when necessary

Follow-up for 4ded7f7a434c59534f65a0f9d391c55961eb110d.

11 days agoacl-util: define minimal types and constants even when acl support is disabled
Yu Watanabe [Tue, 2 Dec 2025 05:12:23 +0000 (14:12 +0900)] 
acl-util: define minimal types and constants even when acl support is disabled

11 days agoudev-builtin-net_id: fix construction of USB specifier-based names
Jeremy Kerr [Tue, 9 Dec 2025 13:22:55 +0000 (22:22 +0900)] 
udev-builtin-net_id: fix construction of USB specifier-based names

Commit 0bac1ed242 ("tree-wide: Fix constness issues with newer glibc")
split a temporary var in get_usb_specifier to const and non-const
versions, but missed converting a couple of uses. This means we get
names of with components of:

 port: uN
 config: cC.I
 interface: iC.I

instead of:

 port: uN
 config: cC
 interface: iI

This results in net names like enu1c1.0i1.0, as we also no longer hit
the config==1 and interf==0 elision cases.

Change the config portion handling to start from the correct position,
and the earlier check for NULL.

11 days agotest: use -force with unsquashfs for test reruns
Luca Boccassi [Sat, 6 Dec 2025 00:39:04 +0000 (00:39 +0000)] 
test: use -force with unsquashfs for test reruns

In case a test is reran or a directory reused, overwrite it
instead of failing

11 days agoshell-completion: fix portablectl path completion with preceding params
Luca Boccassi [Wed, 3 Dec 2025 22:23:23 +0000 (22:23 +0000)] 
shell-completion: fix portablectl path completion with preceding params

The completion fails to complete to paths for verbs that need them when
a --param is the previous word, e.g.:

portablectl attach --runtime <tab>

fails to complete to paths