]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
2 months agonsresourced: Allow operations outside transient UID/GID ranges
Daan De Meyer [Fri, 23 Jan 2026 11:30:59 +0000 (12:30 +0100)] 
nsresourced: Allow operations outside transient UID/GID ranges

The purpose of the userns-restrict BPF-LSM program is to prevent the
transient ranges leaking to disk, so let's allow operations outside the
transient UID ranges, even if the mount is not allowlisted.

This is preparation for the next commits where we'll add support for mapping
the current user and the foreign UID range into the user namespaces provisioned
by nsresourced. Operations creating files/directories as these UIDs/GIDs should
not need the corresponding mount to be allowlisted with nsresourced.

2 months agosystemctl: introduce enqueue-marked-jobs verb (#40810)
Mike Yuan [Tue, 24 Feb 2026 17:08:22 +0000 (18:08 +0100)] 
systemctl: introduce enqueue-marked-jobs verb (#40810)

2 months agoman: coredump: KeepFree/MaxUse clarification of default values (#40796)
Yu Watanabe [Tue, 24 Feb 2026 16:35:38 +0000 (01:35 +0900)] 
man: coredump: KeepFree/MaxUse clarification of default values (#40796)

On sd-coredump for both `MaxUse` and `KeepFree` defaults has a caveat,
it may set it differently if not explicit configured.
On `MaxUse` it'll cap to 4GiB as seem
[here](https://github.com/systemd/systemd/blob/d39b10371964d048a3c5d7dbf84552ecdba66bbe/src/coredump/coredump-vacuum.c#L82).
Similar for `KeepFree`
[here](https://github.com/systemd/systemd/blob/d39b10371964d048a3c5d7dbf84552ecdba66bbe/src/coredump/coredump-vacuum.c#L98)

Also show that `MaxUse` takes precedence.

Making this clear at the man page

2 months agoimport/pull-oci: fix several OOM checks
Antonio Alvarez Feijoo [Tue, 24 Feb 2026 14:26:16 +0000 (15:26 +0100)] 
import/pull-oci: fix several OOM checks

Follow-up for a9f6ba04969d6eb2e629e30299fab7538ef42a57

2 months agoupdate TODO 40797/head
Lennart Poettering [Sun, 22 Feb 2026 20:08:45 +0000 (21:08 +0100)] 
update TODO

2 months agoanalyzer: remove spurious empty line
Lennart Poettering [Mon, 23 Feb 2026 20:56:40 +0000 (21:56 +0100)] 
analyzer: remove spurious empty line

2 months agosd-varlink: add a bit of debug logging indicating when exit-on-idle triggers
Lennart Poettering [Mon, 23 Feb 2026 12:22:44 +0000 (13:22 +0100)] 
sd-varlink: add a bit of debug logging indicating when exit-on-idle triggers

2 months agosd-varlink: use correct error variable
Lennart Poettering [Mon, 23 Feb 2026 12:22:27 +0000 (13:22 +0100)] 
sd-varlink: use correct error variable

2 months agosd-netlink: pin reply slot while we execute callback
Lennart Poettering [Mon, 23 Feb 2026 12:25:17 +0000 (13:25 +0100)] 
sd-netlink: pin reply slot while we execute callback

The callback might drop the last ref to the slot object, and we still
want to access it. Hence do what we usually do in these cases: keep an
extra reference while processing the callback.

2 months agonetwork: enable LLDP for links that use only link-local addressing
Lennart Poettering [Sun, 22 Feb 2026 13:15:20 +0000 (14:15 +0100)] 
network: enable LLDP for links that use only link-local addressing

Links with link-local-only communication are typically peer-to-peer
links between two laptops or similar. In such cases it makes sense to be
able to see which device one is specifically connected to, hence let's
just enable LLDP for it. This doesn't leak any data really, given that
this is inherently local, and typically only used between isolated
systems that are under the same user's possession.

Background: I recently connected multiple laptops via thunderbolt networking
and was kinda annoyed not being able to see what system I was actually
talking to.

(Also, the file touched here is an example only anyway, so even if this
would leak too much info, it's not in effect by default)

2 months agojournalctl: order systemd-journalctl.socket after systemd-sysusers
Kai Lüke [Tue, 24 Feb 2026 11:10:48 +0000 (20:10 +0900)] 
journalctl: order systemd-journalctl.socket after systemd-sysusers

The socket failed on boot due to a ordering problem caused by
systemd-sysusers running later and thus the socket group was still
missing. The socket unit can only start when systemd-sysusers created
the group.
Order the socket after systemd-sysusers.service to have the group
available.

2 months agoudev: hwdb: replace ID_INPUT_JOYSTICK_INTEGRATION (#40761)
Yu Watanabe [Tue, 24 Feb 2026 15:13:15 +0000 (00:13 +0900)] 
udev: hwdb: replace ID_INPUT_JOYSTICK_INTEGRATION (#40761)

Could ask to Bastien Nocera who originally commited the joysticks hwdb
integration
https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1429#note_3338386
and stated that was for use in iio-sensor but later anything was done.

As the variable was never used replace it with the new variable actually
in the process to be use in libinput. Even more at least some of the
idea that was planed for ID_INPUT_JOYSTICK_INTEGRATION could be done in
libinput.

Actually ID_INPUT_JOYSTICK_INTEGRATION was never used anywhere, replace
it with ID_INTEGRATION.

Follow up: a4381cae8bfacb1160967ac499c2919da7ff8c2b.

2 months agoman/systemctl: deprecate --marked 40810/head
Mike Yuan [Tue, 24 Feb 2026 14:43:21 +0000 (15:43 +0100)] 
man/systemctl: deprecate --marked

2 months agosystemctl: introduce enqueue-marked-jobs verb, stop lumping it with distinct verbs
Mike Yuan [Tue, 24 Feb 2026 14:41:20 +0000 (15:41 +0100)] 
systemctl: introduce enqueue-marked-jobs verb, stop lumping it with distinct verbs

2 months agovarlink-idl: allow to pass polkit arguments to io.systemd.service.Reload() 40808/head
Yu Watanabe [Tue, 24 Feb 2026 12:54:54 +0000 (21:54 +0900)] 
varlink-idl: allow to pass polkit arguments to io.systemd.service.Reload()

Then, varlink interfaces with unprivileged access can be implement the
method.

2 months agonetwork: rename dispatch_interface() and make it take flags
Yu Watanabe [Tue, 24 Feb 2026 12:06:43 +0000 (21:06 +0900)] 
network: rename dispatch_interface() and make it take flags

No functional change. Just refactoring and preparation for later change.

2 months agonetwork: rename io.systemd.Network.LinkUp()/LinkDown()
Yu Watanabe [Tue, 24 Feb 2026 11:55:40 +0000 (20:55 +0900)] 
network: rename io.systemd.Network.LinkUp()/LinkDown()

Then, this also moves their implementations to networkd-link-varlink.c.

2 months agoRevert "systemctl: allow --marker with start/stop too"
Mike Yuan [Tue, 24 Feb 2026 14:22:28 +0000 (15:22 +0100)] 
Revert "systemctl: allow --marker with start/stop too"

This reverts commit 351b4dd123f89f7f8491239b2d3f77bef5d00797.

I'm pretty sure we should not create more of these multiplexer
interfaces, which in this specific also leads to a fair bit of
confusion: start/stop/reload-or-restart --marked all enqueue
all job types.

Instead, a dedicated verb will be introduced in later commits.

2 months agoinclude: update kernel headers from v7.0-rc1
Yu Watanabe [Tue, 24 Feb 2026 11:27:08 +0000 (20:27 +0900)] 
include: update kernel headers from v7.0-rc1

In v7.0-rc1, the kernel introduces typelimits.h to define __KERNEL_INT_MIN/_MAX.
Also, NULL_FS_MAGIC has been introduced for immutable rootfs..

2 months agotest: test io.systemd.JournalAccess
Yu Watanabe [Tue, 24 Feb 2026 11:10:14 +0000 (20:10 +0900)] 
test: test io.systemd.JournalAccess

Follow-up for a109189fabe6a4c307528459f891c2d545361622.

2 months agoerrno-list: filter out EFSBADCRC and EFSCORRUPTED
Yu Watanabe [Tue, 24 Feb 2026 11:19:45 +0000 (20:19 +0900)] 
errno-list: filter out EFSBADCRC and EFSCORRUPTED

These are introduced in kernel v7.0.

2 months agoNEWS: update for recent merges
Luca Boccassi [Tue, 24 Feb 2026 12:00:06 +0000 (12:00 +0000)] 
NEWS: update for recent merges

2 months agoudev: Trigger uaccess builtin on xaccess-* prefix
Alessandro Astone [Tue, 24 Feb 2026 09:48:49 +0000 (10:48 +0100)] 
udev: Trigger uaccess builtin on xaccess-* prefix

Fixup xaccess trigger after the rework.
There's no single `xaccess` tag anymore; instead we match on a prefix.

2 months agoresolved: Add ifindex=0 support for BrowseServices to browse all mDNS interfaces...
Luca Boccassi [Tue, 24 Feb 2026 11:53:47 +0000 (11:53 +0000)] 
resolved: Add ifindex=0 support for BrowseServices to browse all mDNS interfaces (#40133)

With v259, resolved can be used to replace Avahi for mDNS service
discovery and announcement. One key difference in the API is that Avahi
by default browses on all available interfaces by passing a special
`AVAHI_IF_UNSPEC` (-1) interface index value. With this change, passing
ifindex value `0` can be used to achieve the same , so this will work:
```
# Browse on all available interfaces
varlinkctl call --more unix:/run/systemd/resolve/io.systemd.Resolve \
    io.systemd.Resolve.BrowseServices \
    '{"domain":"local","type":"_display._tcp","ifindex":0,"flags":0}'
```
Not having to iterate through all interfaces on the client side then
also makes it more straight forward to build a resolve-avahi-compat
library for painlessly replacing Avahi with systemd-resolved.

A PoC compat lib requiring this change is available at
https://github.com/LorbusChris/resolve-avahi-compat

2 months agoSome bug fixes for logind inhibitors (#40400)
Luca Boccassi [Tue, 24 Feb 2026 11:50:01 +0000 (11:50 +0000)] 
Some bug fixes for logind inhibitors (#40400)

See individual commits

Related:
- https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4040
- https://gitlab.gnome.org/GNOME/gnome-session/-/merge_requests/170
-
https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/3309

2 months agoNEWS: Add note about logind's Can* return values 40400/head
Adrian Vovk [Tue, 24 Feb 2026 01:02:03 +0000 (20:02 -0500)] 
NEWS: Add note about logind's Can* return values

We've changed them to return additional values, which may be a breaking
change for desktop environments. In practice, it doesn't seem to be a
major issue. However, let's make sure to document the changes in the
NEWS anyway!

2 months agologin1: Emit NCurrentInhibitors changed events
Adrian Vovk [Tue, 20 Jan 2026 00:26:30 +0000 (19:26 -0500)] 
login1: Emit NCurrentInhibitors changed events

Currently, there's no way for a desktop environment to detect when a
systemd inhibitor has been added or removed. This means that a desktop
environment that wishes to show current inhibitors to the user will be
either forced to poll systemd or just use stale data.

Now, the desktop can listen for changed events on NCurrentInhibitors and
call GetInhibitors() in response to that.

2 months agologin1: Add "inhibited" state to Can* methods
Adrian Vovk [Mon, 19 Jan 2026 23:15:53 +0000 (18:15 -0500)] 
login1: Add "inhibited" state to Can* methods

Desktops cannot currently tell the difference between a power action
being set to challenge permanently (i.e. because the sysadmin wanted to
restrict the given user) and a power action being set to challenge
because it's temporarily inhibited.

Thus, a desktop might take an action that is valid in the first case but
not the second case. For instance: GNOME hides all of its automatic
suspend settings from the UI whenever a sleep inhibitor is active.

This now returns a new state: "inhibited". It communicates to the
desktop that the action is available normally, but at the moment the
desktop isn't allowed to perform the action due to an inhibitor.

Related: https://github.com/systemd/systemd/issues/37311

2 months agomanager: add needs-stop/needs-start (#40709)
Zbigniew Jędrzejewski-Szmek [Mon, 23 Feb 2026 23:36:06 +0000 (00:36 +0100)] 
manager: add needs-stop/needs-start (#40709)

Intend to use these in the deb packaging scriptlets

Fixes: #19755
2 months agomkosi: update debian commit reference to 89a825b80ee85e58b530cd95438988a6fb3531a3
Luca Boccassi [Mon, 23 Feb 2026 20:49:26 +0000 (20:49 +0000)] 
mkosi: update debian commit reference to 89a825b80ee85e58b530cd95438988a6fb3531a3

89a825b80e Install new files for upstream build
38b1a75eaa systemd.postinst: update journal catalog after reexecing managers
9420ffa0dd Install new files for upstream build
cb5fdf4df0 Install sd-report from new path
2501efe312 homed: drop dependency satisfied since bookworm/noble
424262b674 d/control: add TODO
9aaa01c99d d/libsystemd-shared.preinst: refuse to upgrade without unified cgroupv2 hierarchy
7d0ac8a4b8 Install new files for upstream build
7e55d41841 Do not install legacy.conf in upstream builds
190387958e d/e/checkout-upstream: try to install build deps with sudo in case it fails
2a4aa9f426 Disable installing runlevel targets for upstream build
e02600f2d9 Install new files for upstream build
0f1a56cf10 Update changelog for 259.1-1 release
e463300b1a d/e/checkout-upstream: try to install build deps again after switching to CI branch
b3f72821e5 Install ask-password polkit policy file
8219d561ae Restrict the tpm2-generator manpage to arches where it is built
30a0f27283 systemd.postinst: reexec system manager before user instances
1fc9ea2790 systemd.postinst: reexec before restarting any service
d9991aeb22 d/control: use libarchive13t64 | libarchive13 for bookworm/jammy
b750346711 d/control: make systemd-container Depends: libarchive13t64

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

2 months agosd-device,udev: several fixlets and cleanups for managing tags (#40786)
Luca Boccassi [Mon, 23 Feb 2026 21:53:28 +0000 (21:53 +0000)] 
sd-device,udev: several fixlets and cleanups for managing tags (#40786)

2 months agosysupdated: Split Update() into Acquire() and Install() D-Bus methods (#40628)
Lennart Poettering [Mon, 23 Feb 2026 21:08:37 +0000 (22:08 +0100)] 
sysupdated: Split Update() into Acquire() and Install() D-Bus methods (#40628)

These mirror the `sysupdate acquire` and `sysupdate install` verbs,
which are themselves a split of `sysupdate update` into downloading and
installing stages.

I have dropped the existing `Update()` method in the final commit, as
per the suggestion on
https://gitlab.gnome.org/GNOME/gnome-software/-/merge_requests/2004#note_2145880.
If the D-Bus API for `sysupdated` is considered stable now, though, I
can drop that commit.

CC @AdrianVovk

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

2 months agoSeveral follow-ups for JournalAccess varlink interface (#40794)
Daan De Meyer [Mon, 23 Feb 2026 19:17:31 +0000 (20:17 +0100)] 
Several follow-ups for JournalAccess varlink interface (#40794)

2 months agoman: coredump: MaxUse takes precedence 40796/head
André Paiusco [Mon, 23 Feb 2026 16:43:09 +0000 (16:43 +0000)] 
man: coredump: MaxUse takes precedence

2 months agosysupdated: Drop the Update() D-Bus method 40628/head
Philip Withnall [Mon, 19 Jan 2026 18:33:27 +0000 (18:33 +0000)] 
sysupdated: Drop the Update() D-Bus method

Now that it’s been replaced by `Acquire()` and `Install()`, there’s no
need to expose it as a separate method. Wrappers around `sysupdated` can
still expose an ‘update’ convenience verb by calling those two methods.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
Helps: https://github.com/systemd/systemd/issues/34814

2 months agotest: Expand sysupdate test to test updatectl update
Philip Withnall [Mon, 19 Jan 2026 18:12:39 +0000 (18:12 +0000)] 
test: Expand sysupdate test to test updatectl update

This further expands the sysupdate test to run the suite a fourth time,
testing that `updatectl update` behaves the same as `sysupdate update`
and `sysupdate acquire; sysupdate update --offline`.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
2 months agoupdatectl: Expose partial/pending updates in the updatectl list output
Philip Withnall [Mon, 19 Jan 2026 17:11:18 +0000 (17:11 +0000)] 
updatectl: Expose partial/pending updates in the updatectl list output

And expand the tests to catch if any more JSON fields are added to the
sysupdated output in future without being added to `updatectl`’s parser.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
Helps: https://github.com/systemd/systemd/issues/34814

2 months agoupdatectl: Use sysupdated’s Acquire() and Install() methods
Philip Withnall [Mon, 19 Jan 2026 17:19:39 +0000 (17:19 +0000)] 
updatectl: Use sysupdated’s Acquire() and Install() methods

Rather than calling `Update()`. This should allow us to eventually drop
`Update()`.

This should just be an internal change, and should not result in any
user-visible changes to the behaviour of `updatectl update`.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
Helps: https://github.com/systemd/systemd/issues/34814

2 months agosysupdated: Add Acquire() and Install() D-Bus methods
Philip Withnall [Mon, 19 Jan 2026 17:16:54 +0000 (17:16 +0000)] 
sysupdated: Add Acquire() and Install() D-Bus methods

These mirror the `sysupdate acquire` and `sysupdate update --offline`
verbs, which are themselves a split of `sysupdate update` into
downloading and installing stages.

The existing `sysupdated` `Update()` method is kept for now, for
convenience. It might be dropped in future.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
Helps: https://github.com/systemd/systemd/issues/34814

2 months agoman: coredump: KeepFree/MaxUse clarification of default values
André Paiusco [Mon, 23 Feb 2026 16:22:32 +0000 (16:22 +0000)] 
man: coredump: KeepFree/MaxUse clarification of default values

2 months agocore: Introduce ConditionPathIsSocket= (#40791)
Mike Yuan [Mon, 23 Feb 2026 16:07:28 +0000 (17:07 +0100)] 
core: Introduce ConditionPathIsSocket= (#40791)

2 months agorepart: Use new mkfs.xfs support for populating from directories
DaanDeMeyer [Sat, 27 Dec 2025 20:07:13 +0000 (21:07 +0100)] 
repart: Use new mkfs.xfs support for populating from directories

xfsprogs 6.17.0 added support for populating xfs filesystems from
directories. As this supports extended attributes unlike our current
hack with protofiles. Let's make use of the new feature in mkfs-util.c

As there's no clean way to do feature detection on the mkfs.xfs binary,
we drop support for the old hack with protofiles that we had before.

2 months agosystemctl: allow --marker with start/stop too 40709/head
Luca Boccassi [Thu, 19 Feb 2026 16:32:49 +0000 (16:32 +0000)] 
systemctl: allow --marker with start/stop too

2 months agomanager: add 'needs-stop/needs-start' markers
Luca Boccassi [Sat, 27 Dec 2025 11:02:30 +0000 (11:02 +0000)] 
manager: add 'needs-stop/needs-start' markers

Useful for packaging scripts, when units are removed.
When multiple markers are assigned without +/-, the last one wins.
When using +/-, the job merging logic is followed to the extent possible.

2 months agocore: Introduce ConditionPathIsSocket= 40791/head
Daan De Meyer [Sat, 21 Feb 2026 16:52:49 +0000 (17:52 +0100)] 
core: Introduce ConditionPathIsSocket=

2 months agotest-condition: Migrate to new assertion macros
Daan De Meyer [Mon, 23 Feb 2026 11:27:56 +0000 (12:27 +0100)] 
test-condition: Migrate to new assertion macros

2 months agomountfsd: Try to polkit auth when the verity key is not available
Daan De Meyer [Sat, 21 Feb 2026 21:10:56 +0000 (22:10 +0100)] 
mountfsd: Try to polkit auth when the verity key is not available

If we include a verity signature but the corresponding key is not in
the kernel keyring or userspace, try to get polkit auth similar to how
we do the same if the image doesn't pass the policy.

2 months agoTranslations update from Fedora Weblate (#40789)
Luca Boccassi [Mon, 23 Feb 2026 10:54:21 +0000 (10:54 +0000)] 
Translations update from Fedora Weblate (#40789)

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)

2 months agojournalctl-vl-server: allow querying units for specific uid in system scope 40794/head
Mike Yuan [Mon, 23 Feb 2026 07:04:17 +0000 (08:04 +0100)] 
journalctl-vl-server: allow querying units for specific uid in system scope

This also moves journal_add_unit_matches() back to
journalctl-filter.[ch], as I see more appropriate.

2 months agojournalctl-vl-server: do not output in reverse order
Mike Yuan [Mon, 23 Feb 2026 08:09:02 +0000 (09:09 +0100)] 
journalctl-vl-server: do not output in reverse order

While at it, do not log from varlink method callback,
as per our usual style.

2 months agojournalctl-vl-server: 'entry' is never NULL
Mike Yuan [Mon, 23 Feb 2026 08:01:16 +0000 (09:01 +0100)] 
journalctl-vl-server: 'entry' is never NULL

2 months agojournalctl-vl-server: use SD_JSON_BUILD_PAIR_VARIANT
Mike Yuan [Mon, 23 Feb 2026 08:18:53 +0000 (09:18 +0100)] 
journalctl-vl-server: use SD_JSON_BUILD_PAIR_VARIANT

2 months agojournalctl-vl-server: return proper error if unit pattern has no match
Mike Yuan [Mon, 23 Feb 2026 07:54:12 +0000 (08:54 +0100)] 
journalctl-vl-server: return proper error if unit pattern has no match

Note that SD_VARLINK_ERROR_INVALID_PARAMETERS requires
the invalid param name to be specified, hence we would
otherwise have reported an invalid INVALID_PARAMETERS
error ;)

2 months agologs-show: clean up journal_entry_to_json() a bit
Mike Yuan [Mon, 23 Feb 2026 06:48:43 +0000 (07:48 +0100)] 
logs-show: clean up journal_entry_to_json() a bit

* Make sure ret is initialized on success return
* Drop unneeded 'object' variable
* No need to ref/unref json objects when constructing
  intermediary array

2 months agounits/user/systemd-journalctl.socket: drop MaxConnectionsPerSource=
Mike Yuan [Mon, 23 Feb 2026 08:30:17 +0000 (09:30 +0100)] 
units/user/systemd-journalctl.socket: drop MaxConnectionsPerSource=

For AF_UNIX sockets connection sources are accounted for
based on UID, hence in user scope this effectively
limits total number of connections, which is not really
desirable.

2 months agounits/systemd-journalctl@.service: run with DynamicUser=yes
Mike Yuan [Mon, 23 Feb 2026 06:21:04 +0000 (07:21 +0100)] 
units/systemd-journalctl@.service: run with DynamicUser=yes

Follow-up for a109189fabe6a4c307528459f891c2d545361622

This follows the existing practice for
systemd-journal-{upload,gatewayd}.service,
as I think allocating a full-blown user
specifically for this purpose is an overkill.
And with DynamicUser=yes we can also take
advantage of implied sandboxing.

2 months agounits/systemd-journalctl@.service: require mount for /var/log/journal/
Mike Yuan [Mon, 23 Feb 2026 05:58:44 +0000 (06:58 +0100)] 
units/systemd-journalctl@.service: require mount for /var/log/journal/

2 months agounits/systemd-pcrlock.socket: drop [Install] section
Mike Yuan [Mon, 23 Feb 2026 08:20:54 +0000 (09:20 +0100)] 
units/systemd-pcrlock.socket: drop [Install] section

The socket is statically enabled.

2 months agoTODO: drop completed entry
Mike Yuan [Mon, 23 Feb 2026 09:21:23 +0000 (10:21 +0100)] 
TODO: drop completed entry

2 months agopo: Translated using Weblate (German) 40789/head
Ettore Atalan [Sun, 22 Feb 2026 23:58:46 +0000 (23:58 +0000)] 
po: Translated using Weblate (German)

Currently translated at 100.0% (264 of 264 strings)

Co-authored-by: Ettore Atalan <atalanttore@googlemail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/de/
Translation: systemd/main

2 months agopo: Translated using Weblate (Hebrew)
Yaron Shahrabani [Sun, 22 Feb 2026 23:58:46 +0000 (23:58 +0000)] 
po: Translated using Weblate (Hebrew)

Currently translated at 100.0% (264 of 264 strings)

Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/he/
Translation: systemd/main

2 months agoman/systemd.mstack: use <varname> instead of <variable>
Antonio Alvarez Feijoo [Mon, 23 Feb 2026 08:38:09 +0000 (09:38 +0100)] 
man/systemd.mstack: use <varname> instead of <variable>

Otherwise, `<variable>location</variable>` is rendered:

```
[2365/2925] Generating man/systemd.mstack.7 with a custom command
Element variable in namespace '' encountered in para, but no template matches.
```

2 months agoresolved: Add test for ifindex=0 BrowseServices functionality 40133/head
Christian Glombek [Thu, 18 Dec 2025 11:46:56 +0000 (12:46 +0100)] 
resolved: Add test for ifindex=0 BrowseServices functionality

Add integration tests for the new ifindex=0 support
in BrowseServices that allows browsing all mDNS interfaces.

Integration test (in TEST-89-RESOLVED-MDNS.sh):
- testcase_browse_all_interfaces_ifindex_zero: Test with ifindex=0

Assisted-by: Claude Opus 4.5 (Preview)
2 months agoresolved: Add ifindex=0 support for BrowseServices to browse all mDNS interfaces
Christian Glombek [Sun, 22 Feb 2026 22:51:22 +0000 (23:51 +0100)] 
resolved: Add ifindex=0 support for BrowseServices to browse all mDNS interfaces

Avahi provides AVAHI_IF_UNSPEC (-1) to browse mDNS services on all
interfaces simultaneously. Currently, systemd-resolved's BrowseServices
varlink API requires a specific interface index and lacks the ability to browse on
all available interfaces.

This change adds support for ifindex = 0 to mean \"browse on all mDNS-enabled
interfaces\" to match the Avahi API.

When ifindex = 0 is specified the browser will now iterate all mDNS scopes
instead of a single interface.

This enables applications to discover services on any network interface
without needing to know the specific interface index in advance.

Assisted-by: Claude Opus 4.6 (Eclipse Theia IDE AI)
2 months agoresolved: Track per-service item ifindex in DnssdDiscoveredService
Christian Glombek [Sun, 22 Feb 2026 22:38:59 +0000 (23:38 +0100)] 
resolved: Track per-service item ifindex in DnssdDiscoveredService

The interface where each service was discovered needs to be remembered
so it can be correctly reported when the service is later removed.

Previously, service removal would use sb->ifindex, losing the actual
interface information from the original discovery.

This change:
- Adds an ifindex field to DnssdDiscoveredService struct
- Stores the discovered interface index when adding new services,
  preferring the per-item ifindex from DnsAnswerItem over the service
  browser's ifindex
- Uses the stored ifindex when reporting service removal events

This ensures that service removal notifications include the correct
interface index where the service was originally discovered, matching
the behavior of the corresponding service addition notifications.

Assisted-by: Claude Opus 4.6 (Eclipse Theia IDE AI)
2 months agoudev/dump: also dump current tags 40786/head
Yu Watanabe [Sun, 22 Feb 2026 19:11:30 +0000 (04:11 +0900)] 
udev/dump: also dump current tags

The "TAG" token in udev rules handles the current tags.
Let's also show the current tags.

2 months agosd-device: do not try to remove previous tag indexes
Yu Watanabe [Sun, 22 Feb 2026 20:38:03 +0000 (05:38 +0900)] 
sd-device: do not try to remove previous tag indexes

The removed code in device_tag_index() in fact does nothing,
as sd_device.all_tags is never cleared. Moreover, not only the code
is meaningless, but it is theoretically/logically wrong, as the symlinks
in /run/udev/tags/ should be 'sticky', hence we should even not try to
remove them.

2 months agosd-device: do not clear sd_device.all_tags even on TAG="hoge"
Yu Watanabe [Sun, 22 Feb 2026 19:58:43 +0000 (04:58 +0900)] 
sd-device: do not clear sd_device.all_tags even on TAG="hoge"

The current tag concept has been introduced by
e77b146f825ef1bb63c297cc713962b94422d2c6 (v247) to make symlinks in
/run/udev/tags/ are 'sticky'.

However, when TAG= (rather than TAG+=) is specified, then the tags
assigned in the previous events were also cleared.
This fixes the issue and now symlinks in /run/udev/tags/ are really
'sticky'.

Fortunately, TAG= is mostly unused. So, the issue should not affect
and the fix should not change anything on almost all systems.

2 months agosd-device: move copy_all_tags() from udev
Yu Watanabe [Sun, 22 Feb 2026 20:26:46 +0000 (05:26 +0900)] 
sd-device: move copy_all_tags() from udev

No functional change, preparation for the next commit.

2 months agosd-device: shorten code a bit
Yu Watanabe [Sun, 22 Feb 2026 19:40:54 +0000 (04:40 +0900)] 
sd-device: shorten code a bit

2 months agojournalctl: add new varlink GetEntries endpoint (#40650)
Lennart Poettering [Sun, 22 Feb 2026 14:14:09 +0000 (15:14 +0100)] 
journalctl: add new varlink GetEntries endpoint (#40650)

journalctl: add new varlink read service to get entries

We already have some varlink support for the journal to perform
some actions like `Rotate`. It would be nice to be able to query
the journal via varlink too so this commit adds a new varlinkctl
based journal service that exposes a single GetEntries() call
to retrieve journal entries. Basic filtering is supported and
we can expand the API as needed.

This is a separate `io.systemd.JournalControl` [1] service from the
existing `io.systemd.Journald` to decouple read and write (thanks
to Lennart for suggesting this).

This also extracts some shared helper so that we do not duplicate
code when generating the json or when adding the filters.

[1] The name mirrors the bootctl->io.systemd.BootControl naming.

2 months agocore: validate ref_uid before checking in AttachProcesses method
Luca Boccassi [Sat, 21 Feb 2026 11:27:37 +0000 (11:27 +0000)] 
core: validate ref_uid before checking in AttachProcesses method

ref_uid is initialized to invalid, and is only set in some
circumstances. The AttachProcesses will attempt to check it,
and assert that it is valid. Check beforehand.

Reported as YWH-PGM9780-89

Follow-up for 59857b672ca6a3a9253ef9c888172c5e68243160

2 months agoTODO: dropped todo about journalctl varlink support 40650/head
Michael Vogt [Fri, 20 Feb 2026 09:00:54 +0000 (10:00 +0100)] 
TODO: dropped todo about journalctl varlink support

2 months agojournalctl: add new varlink read service to get entries
Michael Vogt [Tue, 10 Feb 2026 15:27:58 +0000 (16:27 +0100)] 
journalctl: add new varlink read service to get entries

We already have some varlink support for the journal to perform
some actions like `Rotate`. It would be nice to be able to query
the journal via varlink too so this commit adds a new varlinkctl
based journal service that exposes a single GetEntries() call
to retrieve journal entries. Basic filtering is supported and
we can expand the API as needed.

This is a separate `io.systemd.JournalControl` [1] service from the
existing `io.systemd.Journald` to decouple read and write (thanks
to Lennart for suggesting this).

This also extracts some shared helper so that we do not duplicate
code when generating the json or when adding the filters.

[1] The name mirrors the bootctl->io.systemd.BootControl naming.

2 months agoparse-argument: make parse_tristate_argument() do something useful (#40652)
Mike Yuan [Sat, 21 Feb 2026 02:10:00 +0000 (03:10 +0100)] 
parse-argument: make parse_tristate_argument() do something useful (#40652)

Alternative to #37751

2 months agovmspawn: clean up OVMF secure boot support check a bit 40652/head
Mike Yuan [Thu, 12 Feb 2026 01:58:35 +0000 (02:58 +0100)] 
vmspawn: clean up OVMF secure boot support check a bit

find_ovmf_config() would do filtering based on arg_secure_boot
already, hence the mismatch can only occur if we're using
user-specified firmware. So be explicit about this in log.

2 months agovmspawn: use parse_tristate_argument_with_auto()
Mike Yuan [Wed, 11 Feb 2026 22:32:44 +0000 (23:32 +0100)] 
vmspawn: use parse_tristate_argument_with_auto()

2 months agoparse-argument: make parse_tristate_argument() do something useful
Mike Yuan [Wed, 11 Feb 2026 22:15:24 +0000 (23:15 +0100)] 
parse-argument: make parse_tristate_argument() do something useful

I expressed the issue I have with parse_tristate_argument()
in #37751: it doesn't add any value to direct use of parse_tristate();
on the contrary, it doesn't support means to reset the arg to "auto"/-1 state.
The mere reason it existed is that we need a int type ret param.

Since the previous attempt to address this mess failed, let's
try to make the function more useful by making it accept "auto".
I figure this is useful on its own.

As requested in
https://github.com/systemd/systemd/pull/40652#discussion_r2831833996,
the function name is suffixed with _with_auto() to establish
that "auto" is handled internally.

2 months agoAdd BNCF NewBook 11 ACCEL_MOUNT_MATRIX to 60-sensor.hwdb
Ryan Zeigler [Fri, 20 Feb 2026 17:26:38 +0000 (12:26 -0500)] 
Add BNCF NewBook 11 ACCEL_MOUNT_MATRIX  to 60-sensor.hwdb

Corrects DE autorotation

Device description: https://www.bncfai.com/product/773/

2 months agoman/report: fix typo
Yu Watanabe [Fri, 20 Feb 2026 18:00:49 +0000 (03:00 +0900)] 
man/report: fix typo

Follow-up for e83cbc9372e66abacd9a8ecf45e1095010242127.

2 months agoNEWS: inform about ID_INTEGRATION addition in udev 40761/head
David Santamaría Rogado [Thu, 19 Feb 2026 22:14:17 +0000 (23:14 +0100)] 
NEWS: inform about ID_INTEGRATION addition in udev

and ID_INPUT_JOYSTICK_INTEGRATION drop in favor of it.

2 months agoudev: hwdb: replace ID_INPUT_JOYSTICK_INTEGRATION
David Santamaría Rogado [Thu, 19 Feb 2026 21:02:37 +0000 (22:02 +0100)] 
udev: hwdb: replace ID_INPUT_JOYSTICK_INTEGRATION

Actually ID_INPUT_JOYSTICK_INTEGRATION was never used anywhere, replace
it with ID_INTEGRATION.

Follow up: a4381cae8bfacb1160967ac499c2919da7ff8c2b.

2 months agomachine: switch CleanPool to SD_VARLINK_REQUIRES_MORE
Michael Vogt [Fri, 20 Feb 2026 10:20:02 +0000 (11:20 +0100)] 
machine: switch CleanPool to SD_VARLINK_REQUIRES_MORE

The CleanPool requires --more to be set and checks that in
`vl_method_clean_pool`. By switching to SD_VARLINK_REQUIRES_MORE
this will automatically be handled and is more clear to
the varlink users.

Based on the comment from Lennart in
https://github.com/systemd/systemd/pull/40650#discussion_r2832378002
and the work done by Mike in 09388a6b9e4 (thanks!).

2 months agorepart: Report correct current disk size and error (#39813)
Luca Boccassi [Fri, 20 Feb 2026 17:00:28 +0000 (17:00 +0000)] 
repart: Report correct current disk size and error (#39813)

2 months agomstack: parse --mkdir option
Antonio Alvarez Feijoo [Fri, 20 Feb 2026 13:06:35 +0000 (14:06 +0100)] 
mstack: parse --mkdir option

```
systemd-mstack: unrecognized option '--mkdir'
```

Follow-up for 8187cd18d61c9459f2fdb7591c9eb7c73afea24d

2 months agopo: Translated using Weblate (Greek)
Jim Spentzos [Fri, 20 Feb 2026 12:58:25 +0000 (12:58 +0000)] 
po: Translated using Weblate (Greek)

Currently translated at 36.7% (97 of 264 strings)

Co-authored-by: Jim Spentzos <jimspentzos2000@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/el/
Translation: systemd/main

2 months agorepart-varlink: Consider only managed parititions for size errors 39813/head
Julian Sparber [Thu, 12 Feb 2026 16:32:32 +0000 (17:32 +0100)] 
repart-varlink: Consider only managed parititions for size errors

Report DiskTooSmall only if partitions managed by repart don't fit the
disk. Because if the disk is already full with forigin partitions we
would always report DiskTooSmall instead of InsufficentFreeSpace.

2 months agorepart-varlink: Calculate the size of foreign partitions
Julian Sparber [Thu, 12 Feb 2026 16:28:43 +0000 (17:28 +0100)] 
repart-varlink: Calculate the size of foreign partitions

To decide whether the disk is to small or has insufficient free space we
need to know how much of the disk is filled with foreign partitions.
The calculated size is used in a future commit.

2 months agorepart: Sum partitions size to get current disk size instead of using total size
Julian Sparber [Wed, 19 Nov 2025 17:30:04 +0000 (18:30 +0100)] 
repart: Sum partitions size to get current disk size instead of using total size

When working on disks the disk may have a total size bigger then the
actual allocated size, therefore sum up the current partitions to
calculate the current disk size instead of asuming that the entire disk
is currently allocated.

2 months agoSeveral fixlets for issues found by Coverity (#40765)
Yu Watanabe [Fri, 20 Feb 2026 10:13:37 +0000 (19:13 +0900)] 
Several fixlets for issues found by Coverity (#40765)

2 months agosystemd-report: show some love (#40735)
Lennart Poettering [Fri, 20 Feb 2026 09:21:31 +0000 (10:21 +0100)] 
systemd-report: show some love (#40735)

2 months agoVarious improvements (#40759)
Yu Watanabe [Fri, 20 Feb 2026 07:31:38 +0000 (16:31 +0900)] 
Various improvements (#40759)

2 months agoupdate TODO 40735/head
Lennart Poettering [Wed, 18 Feb 2026 13:10:15 +0000 (14:10 +0100)] 
update TODO

2 months agoreport: install systemd-report binary to /usr/lib/systemd/ for now
Lennart Poettering [Wed, 18 Feb 2026 15:04:28 +0000 (16:04 +0100)] 
report: install systemd-report binary to /usr/lib/systemd/ for now

The tool should not be considered stable, and those things we usually
place in /usr/lib/systemd, and not in $PATH.

We can move that to $PATH once we are confident it's gonna stay the way
it is.

2 months agoci: add proper CI test for systemd-report
Lennart Poettering [Wed, 18 Feb 2026 14:16:14 +0000 (15:16 +0100)] 
ci: add proper CI test for systemd-report

2 months agoreport: use JSON-SEQ when outputing a series of json objects
Lennart Poettering [Wed, 18 Feb 2026 14:48:46 +0000 (15:48 +0100)] 
report: use JSON-SEQ when outputing a series of json objects

We do this in our other tools that output a large number of JSON objects
in a potentially streamable way, hence do so here too.

2 months agoreport: fix log level of connection log messages
Lennart Poettering [Wed, 18 Feb 2026 14:35:13 +0000 (15:35 +0100)] 
report: fix log level of connection log messages

Let's also rename the "metric_prefix" to "name", because it's actually
the servce name, and by giving it this generic name we can use it
reasonably in log messages.

2 months agoreport: add --no-legend
Lennart Poettering [Wed, 18 Feb 2026 14:34:44 +0000 (15:34 +0100)] 
report: add --no-legend

Like most of our other tools, add a --no-legend switch.

2 months agoreport: implement filtering for metrics
Lennart Poettering [Wed, 18 Feb 2026 13:53:08 +0000 (14:53 +0100)] 
report: implement filtering for metrics

2 months agoreport: tighten rules on metrics names
Lennart Poettering [Wed, 18 Feb 2026 13:43:07 +0000 (14:43 +0100)] 
report: tighten rules on metrics names

Let's stay close to Varlink's naming rules and insist that metrics
prefixes must be valid varlink interface names, and suffixes are valid
varlink field names.

The former rule is clear: because a metric <x>.<y> can only be provided
by a varlink service <x>, it is obvious we should validate them the
same way. Validating the suffix via varlink field rules is not that
obvious, but I think it makes sense to stay close to Varlink naming
rules if we already started out at one place.