]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
3 weeks agoci: reeanble compilation test with clang -O2, disable -Wmaybe-uninitialized for old gcc 41003/head
Zbigniew Jędrzejewski-Szmek [Mon, 9 Mar 2026 12:18:22 +0000 (13:18 +0100)] 
ci: reeanble compilation test with clang -O2, disable -Wmaybe-uninitialized for old gcc

In CI we get spurious failures about unitialized variables with gcc
versions older then (depending on the case) 12, 13, or 14. Let's only
try to do this check with newer gcc which returns more useful results.
At the same time, do compile with both gcc and clang at -O2, just
disable the warning.

The old logic seems to have been confused. We compile with -Wall, at
least in some cases, which includes -Wmaybe-unitialized. So if we
_don't_ want it, we need to explicitly disable it.

3 weeks agobless-boot: use verb function argument
Zbigniew Jędrzejewski-Szmek [Fri, 6 Mar 2026 16:13:58 +0000 (17:13 +0100)] 
bless-boot: use verb function argument

3 weeks agoreport: use verb function argument
Zbigniew Jędrzejewski-Szmek [Fri, 6 Mar 2026 16:03:47 +0000 (17:03 +0100)] 
report: use verb function argument

3 weeks agotree-wide: extend verbs functions with extra per-verb data parameter
Zbigniew Jędrzejewski-Szmek [Fri, 6 Mar 2026 13:16:08 +0000 (14:16 +0100)] 
tree-wide: extend verbs functions with extra per-verb data parameter

We often have a pattern where the same verb function is used for
multiple actions. This leads to an antipattern where we figure out what
action needs to be taken from argv[0] multiple times: often once in
parse_argv() to figure out what options are allowed, then once again
implicitly in dispatch_verb(), and then again in the action verb itself.
Let's allow passing a parameter into the verb to simplify this.

This matches a pattern we have in conf-parser.h, where we have both
void *userdata (more global) and void *data (per-config item). Here,
I opted for uintptr_t userdata. It seems that most of the time we'll
want to just pass an enum value. This works OK with no casts. I also
tried a void* and union. In both cases, much more boilerplate is needed:
either a cast or a macro to help avoid compiler warnings. uintptr_t
seems generic enough to cover foreseeable usecases with no fuss.

This is a noop refactoring. See next commit for an example.

3 weeks agoupdate-utmp: call all verb functions verb_*
Zbigniew Jędrzejewski-Szmek [Fri, 6 Mar 2026 13:03:10 +0000 (14:03 +0100)] 
update-utmp: call all verb functions verb_*

3 weeks agopull: call all verb functions verb_*
Zbigniew Jędrzejewski-Szmek [Fri, 6 Mar 2026 12:32:05 +0000 (13:32 +0100)] 
pull: call all verb functions verb_*

3 weeks agoimport-fs: call all verb functions verb_*
Zbigniew Jędrzejewski-Szmek [Fri, 6 Mar 2026 12:29:54 +0000 (13:29 +0100)] 
import-fs: call all verb functions verb_*

3 weeks agoimport: call all verb functions verb_*
Zbigniew Jędrzejewski-Szmek [Fri, 6 Mar 2026 12:27:59 +0000 (13:27 +0100)] 
import: call all verb functions verb_*

3 weeks agoexport: call all verb functions verb_*
Zbigniew Jędrzejewski-Szmek [Fri, 6 Mar 2026 12:27:03 +0000 (13:27 +0100)] 
export: call all verb functions verb_*

3 weeks agooomctl: call all verb functions verb_*
Zbigniew Jędrzejewski-Szmek [Fri, 6 Mar 2026 12:18:14 +0000 (13:18 +0100)] 
oomctl: call all verb functions verb_*

3 weeks agoportablectl: call all verb functions verb_*
Zbigniew Jędrzejewski-Szmek [Fri, 6 Mar 2026 12:17:11 +0000 (13:17 +0100)] 
portablectl: call all verb functions verb_*

3 weeks agoresolvectl: call all verb functions verb_*
Zbigniew Jędrzejewski-Szmek [Fri, 6 Mar 2026 12:15:41 +0000 (13:15 +0100)] 
resolvectl: call all verb functions verb_*

3 weeks agotimedatectl: call all verb functions verb_*
Zbigniew Jędrzejewski-Szmek [Fri, 6 Mar 2026 12:13:37 +0000 (13:13 +0100)] 
timedatectl: call all verb functions verb_*

3 weeks agoudevadm: call all verb functions verb_*
Zbigniew Jędrzejewski-Szmek [Fri, 6 Mar 2026 12:11:18 +0000 (13:11 +0100)] 
udevadm: call all verb functions verb_*

3 weeks agouserdbctl: call all verb functions verb_*
Zbigniew Jędrzejewski-Szmek [Fri, 6 Mar 2026 12:06:44 +0000 (13:06 +0100)] 
userdbctl: call all verb functions verb_*

3 weeks agonetworkctl: call all verb functions verb_*
Zbigniew Jędrzejewski-Szmek [Fri, 6 Mar 2026 12:05:09 +0000 (13:05 +0100)] 
networkctl: call all verb functions verb_*

3 weeks agomachinectl: call all verb functions verb_*
Zbigniew Jędrzejewski-Szmek [Fri, 6 Mar 2026 12:00:39 +0000 (13:00 +0100)] 
machinectl: call all verb functions verb_*

3 weeks agohostnamectl: call all verb functions verb_*
Zbigniew Jędrzejewski-Szmek [Fri, 6 Mar 2026 11:56:09 +0000 (12:56 +0100)] 
hostnamectl: call all verb functions verb_*

3 weeks agolocalectl: call all verb functions verb_*
Zbigniew Jędrzejewski-Szmek [Fri, 6 Mar 2026 11:56:03 +0000 (12:56 +0100)] 
localectl: call all verb functions verb_*

3 weeks agoimportctl: call all verb functions verb_*
Zbigniew Jędrzejewski-Szmek [Fri, 6 Mar 2026 11:51:19 +0000 (12:51 +0100)] 
importctl: call all verb functions verb_*

3 weeks agologinctl: call all verb functions verb_*
Zbigniew Jędrzejewski-Szmek [Fri, 6 Mar 2026 11:47:40 +0000 (12:47 +0100)] 
loginctl: call all verb functions verb_*

3 weeks agocoredumpctl: call all verb functions verb_*
Zbigniew Jędrzejewski-Szmek [Fri, 6 Mar 2026 11:45:01 +0000 (12:45 +0100)] 
coredumpctl: call all verb functions verb_*

3 weeks agobusctl: call all verb functions verb_*
Zbigniew Jędrzejewski-Szmek [Fri, 6 Mar 2026 11:33:06 +0000 (12:33 +0100)] 
busctl: call all verb functions verb_*

3 weeks agohomectl: call all verb functions verb_*
Zbigniew Jędrzejewski-Szmek [Fri, 6 Mar 2026 11:26:05 +0000 (12:26 +0100)] 
homectl: call all verb functions verb_*

This series of renaming patches has a few overlapping motivations:
- when functions are named uniformly, it code is more obvious
- I want to add a parameter to all verb functions
- in #40880 uniform naming of verb functions will be necessary too.
So let's do this cleanup. Some tools had a mix of functions w/ and
w/o "verb_", which looked messy.

3 weeks agocoredump: capture crashing thread ID and name
noxiouz [Fri, 13 Mar 2026 00:36:08 +0000 (00:36 +0000)] 
coredump: capture crashing thread ID and name

Add %I (TID in initial PID namespace) to the core_pattern, so the
kernel passes the crashing thread's TID to systemd-coredump. Use it
to read the thread's comm name from /proc/<tid>/comm and log both as
new journal fields:

  COREDUMP_TID=       — TID of the crashing thread
  COREDUMP_THREAD_NAME= — comm name of the crashing thread

These fields are also stored as xattrs on external coredump files
(user.coredump.tid, user.coredump.thread_name) and displayed by
coredumpctl info alongside the PID line.

For single-threaded processes the TID equals the PID and thread_name
equals comm; for multi-threaded programs with named worker threads
(pthread_setname_np / PR_SET_NAME) this identifies which thread
crashed without needing to open the coredump file itself.

The new fields are optional in the socket forwarding path, so older
systemd-coredump senders are handled gracefully.

Co-developed-by: Claude <claude@anthropic.com>
3 weeks agofind-esp: introduce _full() flavour of ESP/XBOOTLDR discovery functions
Lennart Poettering [Fri, 13 Mar 2026 10:53:57 +0000 (11:53 +0100)] 
find-esp: introduce _full() flavour of ESP/XBOOTLDR discovery functions

These functions take so many return paramaters, and in many of our cases
we don't actually needt them. Hence introduce _full() flavours of the
funcs, and hide the params by default.

3 weeks agoci: Reduce retention for pr-context JSON file to a week
Daan De Meyer [Wed, 18 Mar 2026 09:35:28 +0000 (10:35 +0100)] 
ci: Reduce retention for pr-context JSON file to a week

We don't need to keep this around fpr 90 days, let's keep it around
for a week.

3 weeks agoci: Enable users without write action to the repo to access claude review
Daan De Meyer [Wed, 18 Mar 2026 07:59:48 +0000 (08:59 +0100)] 
ci: Enable users without write action to the repo to access claude review

The labelling approach introduced in 6089075265765b43e6666e4d5978292a32501496
means contributors can now trigger the workflow on their own when the label
is added by a maintainer and they update the PR. Hence we need to allow all
users to access the claude code action. This is safe because we already gate
the workflow ourselves to only the contributors that we want to allow.
Additionally, the claude code job has no permissions anymore except read access
to the repository and can execute very limited tools, so this should be safe.

3 weeks agoci: Fix artifact name in claude-review workflow
Daan De Meyer [Wed, 18 Mar 2026 08:11:09 +0000 (09:11 +0100)] 
ci: Fix artifact name in claude-review workflow

The name doesn't actually matter, it gets replaced with the name
of the file when not archiving. So stop passing a name and pass in
the filename as the name when downloading the artifact.

3 weeks agoci: Use artifacts to pass around pr context
Daan De Meyer [Tue, 17 Mar 2026 23:02:26 +0000 (00:02 +0100)] 
ci: Use artifacts to pass around pr context

The current approach runs into issues on large prs:
https://github.com/systemd/systemd/actions/runs/23220105199/job/67490722033

3 weeks agoci: Add issue comments to pr context for claude-review as well
Daan De Meyer [Tue, 17 Mar 2026 22:10:01 +0000 (23:10 +0100)] 
ci: Add issue comments to pr context for claude-review as well

Follow up for fb513a7e1c5aa5f1ac7a274a0ebf9a6ed7fc02d1. The issue
comments are the regular comments left on the pr.

3 weeks agoci: Fetch context for claude-review job in setup job
Daan De Meyer [Tue, 17 Mar 2026 21:14:15 +0000 (22:14 +0100)] 
ci: Fetch context for claude-review job in setup job

Rather than have claude fetch the context itself, let's fetch the
context for it in the setup job. This has the following advantages:

- We can reduce the permissions granted to the claude job
- claude has less opportunity to mess up trying to fetch the context
  itself. Specifically, it keeps spawsning a background task to fetch
  the PR branch which messes up the structured output at the end, causing
  the review job to fail. By pre-fetching the context it won't have to
  spawn the background task. Additionally, we limit the git commands it
  can execute to local ones to ensure it doesn't try to fetch the PR branch.
  Finally, we fetch the branch ourselves as pr-review so claude can look at it
  to review the PR.

3 weeks agomeson: switch version to 261~devel
Luca Boccassi [Tue, 17 Mar 2026 20:02:38 +0000 (20:02 +0000)] 
meson: switch version to 261~devel

3 weeks agoFinalize meson.version for v260 v260
Luca Boccassi [Tue, 17 Mar 2026 19:36:34 +0000 (19:36 +0000)] 
Finalize meson.version for v260

3 weeks agohwdb: fix ABS_PRESSURE axis range for Goodix GXTP5100 touchpad
huchangzai [Tue, 17 Mar 2026 02:01:42 +0000 (10:01 +0800)] 
hwdb: fix ABS_PRESSURE axis range for Goodix GXTP5100 touchpad

The Goodix GXTP5100 touchpad (HID bus 0x0018, vendor 0x27C6, product
0x01E9), found in the Lenovo ThinkBook 16 G7+ IAH and ThinkPad X9 15
Gen 1, has a kernel driver bug where ABS_PRESSURE (axis 24 / 0x18) is
reported with min=0, max=0.

This invalid axis range causes libinput to reject the device with:
  "kernel bug: ABS_PRESSURE has min == max (both 0)"

The touchpad hardware itself is functional and reports valid ranges for
all other axes:
  ABS_X:  min=0, max=4149, resolution=31
  ABS_Y:  min=0, max=2147, resolution=27
  ABS_MT_POSITION_X/Y: valid ranges

Root cause: the kernel hid-multitouch driver applies a "GT7868Q report
descriptor fixup" to this device (the HID descriptor is malformed and
fails hid-generic probe with EINVAL). The fixup corrects most axes but
leaves ABS_PRESSURE with an invalid 0:0 range.

This hwdb entry overrides ABS_PRESSURE to a valid 0:255 range, allowing
libinput to accept and initialize the device.

Kernel version: 6.17.0-19-generic
Device path: /sys/bus/hid/drivers/hid-multitouch/0018:27C6:01E9.0001

3 weeks agoChores for v260 (#41140)
Luca Boccassi [Tue, 17 Mar 2026 19:18:49 +0000 (19:18 +0000)] 
Chores for v260 (#41140)

3 weeks agoTwo claude-review improvements (#41142)
Daan De Meyer [Tue, 17 Mar 2026 19:09:13 +0000 (20:09 +0100)] 
Two claude-review improvements (#41142)

3 weeks agoci: Allow attaching claude-review label to PRs for automatic review 41142/head
Daan De Meyer [Tue, 17 Mar 2026 18:47:35 +0000 (19:47 +0100)] 
ci: Allow attaching claude-review label to PRs for automatic review

- If a pr is labeled with claude-review, review it immediately
- If a pr labeled with claude-review is updated, review it regardless
of the author
- If a pr is opened by a maintainer, review it and add the claude-review
label. If the claude-review label is later removed, the pr won't be
auto-reviewed anymore.

3 weeks agoci: Fix allowed tools in claude-review
Daan De Meyer [Tue, 17 Mar 2026 18:46:31 +0000 (19:46 +0100)] 
ci: Fix allowed tools in claude-review

Bash(gh:api *) wasn't actually working. Turns out the colon syntax
is deprecated and unnecessary. Let's stop using it which also fixes
the bug so that gh api calls are allowed now.

3 weeks agomkosi: fix typo in UKI profile title
Antonio Alvarez Feijoo [Tue, 17 Mar 2026 14:39:27 +0000 (15:39 +0100)] 
mkosi: fix typo in UKI profile title

3 weeks agoNEWS: finalize for v260 41140/head
Luca Boccassi [Tue, 17 Mar 2026 17:41:20 +0000 (17:41 +0000)] 
NEWS: finalize for v260

3 weeks agoNEWS: update contributors list
Luca Boccassi [Tue, 17 Mar 2026 17:28:50 +0000 (17:28 +0000)] 
NEWS: update contributors list

3 weeks agoUpdate hwdb
Luca Boccassi [Tue, 17 Mar 2026 17:38:01 +0000 (17:38 +0000)] 
Update hwdb

ninja -C build update-hwdb

3 weeks agoci: Add automatic review thread resolution to claude-review workflow
Daan De Meyer [Mon, 16 Mar 2026 19:44:28 +0000 (20:44 +0100)] 
ci: Add automatic review thread resolution to claude-review workflow

Claude now identifies which existing review comment threads should be
resolved (because the issue was addressed or someone disagreed) and
returns their REST API IDs in a new `resolve` array in the structured
output. The post job uses GraphQL to map comment IDs to threads and
resolve them.

Also switches all GitHub data fetching from MCP tools to `gh api` calls,
since the MCP tool strips comment IDs during its GraphQL-to-minimal
conversion and cannot be used for thread resolution.

The thread resolution GraphQL pagination is wrapped in a try/catch so
that a failure to fetch threads degrades gracefully instead of aborting
the entire post job. Unmatched comment IDs are logged for debuggability.

Adds explicit instructions to complete all data fetching before starting
review and to cancel background tasks before returning structured output,
working around a claude-code-action issue where a late-completing
background task triggers a new conversation turn that overwrites the
structured JSON result.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3 weeks agococcinelle: fix exclusion path
David Tardon [Tue, 17 Mar 2026 08:18:54 +0000 (09:18 +0100)] 
coccinelle: fix exclusion path

This file was moved 5 years ago...

Follow-up for commits 99b9f8fddd3f15ca309cc6f068fc3c33caa9fd4e and
6dcabd5f5e8d21a1ef83ea4294539ad9874cd536 .

3 weeks agoadd-ug-bo-translation
dongshengyuan [Mon, 16 Mar 2026 06:29:37 +0000 (14:29 +0800)] 
add-ug-bo-translation

3 weeks agoman: document that with RuntimeDirecoryPreserve= dirs are under /run/private/
Luca Boccassi [Mon, 16 Mar 2026 18:45:58 +0000 (18:45 +0000)] 
man: document that with RuntimeDirecoryPreserve= dirs are under /run/private/

This is not immediately obvious so document it explicitly.

Follow-up for 40cd2ecc26b776ef085fd0fd29e8e96f6422a0d3

3 weeks agoci: Review PRs per-commit and attach comments to correct commits (#41123)
Daan De Meyer [Mon, 16 Mar 2026 16:01:36 +0000 (17:01 +0100)] 
ci: Review PRs per-commit and attach comments to correct commits (#41123)

3 weeks agoci: Review PRs per-commit and attach comments to correct commits 41123/head
Daan De Meyer [Mon, 16 Mar 2026 14:33:11 +0000 (15:33 +0100)] 
ci: Review PRs per-commit and attach comments to correct commits

Switch claude-review from reviewing the entire PR diff at once to
reviewing each commit individually via subagents. Each commit review
subagent receives the PR context, preceding commit diffs, and its own
commit diff, then returns comments tagged with the commit SHA. This
ensures review comments are attached to the correct commit via the
GitHub API rather than all pointing at HEAD.

Also add Bash(gh:*) to allowed tools so subagents can fetch per-commit
diffs via `gh api` without needing local git objects, and remove CI
analysis (needs to be delayed until CI finishes to be useful).

Co-developed-by: Claude Opus 4.6 <noreply@anthropic.com>
3 weeks agoci: Revert side/subject_type change for claude review workflow
Daan De Meyer [Mon, 16 Mar 2026 15:07:55 +0000 (16:07 +0100)] 
ci: Revert side/subject_type change for claude review workflow

This doesn't seem to actually work, so revert the change.

3 weeks agoci: Fix several issues in claude-review workflow
Daan De Meyer [Mon, 16 Mar 2026 12:49:31 +0000 (13:49 +0100)] 
ci: Fix several issues in claude-review workflow

Address feedback from facebook/bpfilter#472:

- Fix setFailed error message counting file-level comments (without
  line numbers) that are intentionally skipped, use inlineComments.length
  instead of comments.length
- Fix double severity prefix in inline comments: the prompt told Claude
  to prefix body with **must-fix**/etc but the post job also prepended
  "Claude: ", producing "Claude: **must-fix**: ...". Now the prompt says
  not to prefix and the post job adds "Claude **severity**: " using the
  structured severity field
- Move error tracking instructions to a top-level section after all phases
  so they apply to all runs, not just the first run
- Clarify that line is optional: use "should be" instead of "must be"
  and document that omitting line still surfaces the comment in the
  tracking comment summary
- Distinguish cancelled vs failed in tracking comment message
- Add side: "RIGHT" and subject_type: "line" to createReviewComment
  per GitHub API recommendations
- Downgrade partial inline comment posting failures to warnings; only
  fail the job when no comments at all could be posted

Co-developed-by: Claude Opus 4.6 <noreply@anthropic.com>
3 weeks agoci: Update github-script action version to 8.0.0 in claude-review
Daan De Meyer [Mon, 16 Mar 2026 11:01:36 +0000 (12:01 +0100)] 
ci: Update github-script action version to 8.0.0 in claude-review

3 weeks agoci: Run claude-review workflow automatically on trusted PRs
Daan De Meyer [Mon, 16 Mar 2026 09:36:33 +0000 (10:36 +0100)] 
ci: Run claude-review workflow automatically on trusted PRs

3 weeks agoci: Insist on structured output from claude-review workflow
Daan De Meyer [Mon, 16 Mar 2026 10:12:34 +0000 (11:12 +0100)] 
ci: Insist on structured output from claude-review workflow

In some cases claude is not outputting structured JSON at the end.
Let's modify the prompt a bit to hopefully mitigate the issue.

3 weeks agodocs: document AI use disclosure consistently
davidak [Fri, 13 Mar 2026 01:45:41 +0000 (02:45 +0100)] 
docs: document AI use disclosure consistently

The example also adds the model version to have it for reference.

3 weeks agoci: Fix several robustness issues in claude-review workflow (#41115)
Zbigniew Jędrzejewski-Szmek [Mon, 16 Mar 2026 08:55:50 +0000 (09:55 +0100)] 
ci: Fix several robustness issues in claude-review workflow (#41115)

- Use github.paginate() for listComments to handle PRs with 100+
comments
- Make line optional in review schema to allow file-level comments
- Skip createReviewComment for comments without a line number
- Fix failed count to exclude skipped file-level comments
- Pass review result via env var instead of expression injection
- Use core.warning() instead of console.log() for JSON parse failures
- Fix MARKER insertion for single-line summaries that have no newline
- Require "@claude review" instead of just "@claude" to trigger

Co-developed-by: Claude <claude@anthropic.com>
3 weeks agoci: Fix several robustness issues in claude-review workflow 41115/head
Daan De Meyer [Sun, 15 Mar 2026 20:53:01 +0000 (21:53 +0100)] 
ci: Fix several robustness issues in claude-review workflow

- Use github.paginate() for listComments to handle PRs with 100+ comments
- Make line optional in review schema to allow file-level comments
- Skip createReviewComment for comments without a line number
- Fix failed count to exclude skipped file-level comments
- Pass review result via env var instead of expression injection
- Use core.warning() instead of console.log() for JSON parse failures
- Fix MARKER insertion for single-line summaries that have no newline
- Require "@claude review" instead of just "@claude" to trigger

Co-developed-by: Claude <claude@anthropic.com>
3 weeks agoci: Add full output from claude to debug intermittent failures
Daan De Meyer [Sun, 15 Mar 2026 20:47:21 +0000 (21:47 +0100)] 
ci: Add full output from claude to debug intermittent failures

3 weeks agococcinelle: simplify file exclusions
Frantisek Sumsal [Fri, 13 Mar 2026 16:09:40 +0000 (17:09 +0100)] 
coccinelle: simplify file exclusions

Use Coccinelle's "depends on" directive to exclude files from certain
transformations. This should make them a bit simpler and possibly
faster, since we don't have to shell out to Python.

Unfortunately, this works only for file/directory exclusions. For
function and other more complex exclusions we still need to use Python,
at least for now.

Also, completely drop the file exclusion for man/ in the xsprintf
transformation, since we filter out everything under man/ before we even
run Coccinelle (in run-coccinelle.sh).

4 weeks agomeson: bump version to v260~rc4 v260-rc4
Luca Boccassi [Fri, 13 Mar 2026 23:03:20 +0000 (23:03 +0000)] 
meson: bump version to v260~rc4

4 weeks agoNEWS: finalize place and date
Luca Boccassi [Fri, 13 Mar 2026 23:02:53 +0000 (23:02 +0000)] 
NEWS: finalize place and date

4 weeks agoImportd: skip fifos and sockets (#41090)
Zbigniew Jędrzejewski-Szmek [Fri, 13 Mar 2026 22:52:44 +0000 (23:52 +0100)] 
Importd: skip fifos and sockets (#41090)

4 weeks agoimport: skip sockets and fifos when creating archives 41090/head
Zbigniew Jędrzejewski-Szmek [Fri, 13 Mar 2026 10:08:07 +0000 (11:08 +0100)] 
import: skip sockets and fifos when creating archives

Fixes #40239.

$ SYSTEMD_LOG_LEVEL=debug SYSTEMD_LOG_LOCATION=1 build/test-tar -c /var/tmp/tar1.tar /var/tmp/with-fifo/
src/basic/dlfcn-util.c:66: Loaded shared library 'libarchive.so.13' via dlopen().
src/shared/tar-util.c:1422: Archiving '.'...
src/basic/dlfcn-util.c:66: Loaded shared library 'libacl.so.1' via dlopen().
src/shared/tar-util.c:1152: Skipping './fifo' (fifo).
src/shared/tar-util.c:1152: Skipping './unix' (sock).

4 weeks agotest-tar-extract: rename and add support for creating archives
Zbigniew Jędrzejewski-Szmek [Fri, 13 Mar 2026 09:42:46 +0000 (10:42 +0100)] 
test-tar-extract: rename and add support for creating archives

This makes it much easier to test importd code without the
surrounding machinery.

4 weeks agotest-tar-extract: fix error value in messages
Zbigniew Jędrzejewski-Szmek [Fri, 13 Mar 2026 09:11:22 +0000 (10:11 +0100)] 
test-tar-extract: fix error value in messages

4 weeks agoshared/tar-util: wrap some long lines, normalize indentation
Zbigniew Jędrzejewski-Szmek [Fri, 13 Mar 2026 08:52:23 +0000 (09:52 +0100)] 
shared/tar-util: wrap some long lines, normalize indentation

4 weeks agotest-network: improve reliability of test case for DHCPRELEASE message (#41067)
Luca Boccassi [Fri, 13 Mar 2026 14:46:30 +0000 (14:46 +0000)] 
test-network: improve reliability of test case for DHCPRELEASE message (#41067)

Follow-ups for #41002.

4 weeks agoudev: fix review mixup
Luca Boccassi [Fri, 13 Mar 2026 11:10:47 +0000 (11:10 +0000)] 
udev: fix review mixup

The previous version in the PR changed variable and sanitized it
in place. The second version switched to skip if CCs are in the
string instead, but didn't move back to the original variable.
Because it's an existing variable, no CI caught it.

Follow-up for 16325b35fa6ecb25f66534a562583ce3b96d52f3

4 weeks agoupdate TODO
Lennart Poettering [Fri, 13 Mar 2026 13:39:43 +0000 (14:39 +0100)] 
update TODO

4 weeks agoupdate TODO
Lennart Poettering [Fri, 13 Mar 2026 13:36:51 +0000 (14:36 +0100)] 
update TODO

4 weeks agoboot: check that `ret_version` is valid in tpm_log_tagged_event
Michael Vogt [Fri, 13 Mar 2026 10:33:25 +0000 (11:33 +0100)] 
boot: check that `ret_version` is valid in tpm_log_tagged_event

In a project I'm working on I recently observed a boot failure
with the most recent version of systemd. It seems it is triggered
by bb19b61049 which fixed a bug that now leads to the function
being excuted differently. The code is missing a check if
`*ret_version` is actually valid in the `ret_measured = true`
case.

4 weeks agotest-network: handle the case where dnsmasq is slow to start better 41067/head
Zbigniew Jędrzejewski-Szmek [Fri, 13 Mar 2026 11:02:07 +0000 (12:02 +0100)] 
test-network: handle the case where dnsmasq is slow to start better

> read_dnsmasq_log_file() will raise FileNotFoundError if dnsmasq hasn’t created the
> log file yet (or if the file was just removed by stop_dnsmasq() before the restart).
> This would error the test instead of retrying.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
4 weeks agohomed: fix copypasta in openssl calls
Luca Boccassi [Thu, 12 Mar 2026 20:39:23 +0000 (20:39 +0000)] 
homed: fix copypasta in openssl calls

decrypted_size/encrypted_size are sizes, not pointers to buffers

Reported on yeswehack.com as:
YWH-PGM9780-134

Follow-up for 70a5db5822c8056b53d9a4a9273ad12cb5f87a92

4 weeks agozsh: don't install _sd_machines when machined is disabled
Franck Bui [Fri, 13 Mar 2026 09:19:15 +0000 (10:19 +0100)] 
zsh: don't install _sd_machines when machined is disabled

4 weeks agoportable: avoid passing through ID/version fields to LogExtraFields= when they contai...
Luca Boccassi [Thu, 12 Mar 2026 16:16:30 +0000 (16:16 +0000)] 
portable: avoid passing through ID/version fields to LogExtraFields= when they contain control characters

Found by Claude Code Review.

Follow-up for e8114a4f86efa9a176962bbebbba4cb8b5a1c322

4 weeks agotest-network: also check if DHCPRELEASE is sent on stopping networkd
Yu Watanabe [Thu, 12 Mar 2026 08:38:37 +0000 (17:38 +0900)] 
test-network: also check if DHCPRELEASE is sent on stopping networkd

4 weeks agotest-network: improve reliability of test case of DHCPRELEASE message
Yu Watanabe [Thu, 12 Mar 2026 07:48:29 +0000 (16:48 +0900)] 
test-network: improve reliability of test case of DHCPRELEASE message

4 weeks agotest-network: drop duplicated definition of networkd_pid()
Yu Watanabe [Thu, 12 Mar 2026 07:15:47 +0000 (16:15 +0900)] 
test-network: drop duplicated definition of networkd_pid()

4 weeks agoman: document explicitly that ProtectHome= has no effect on non-standard homedir...
Lennart Poettering [Thu, 12 Mar 2026 14:08:07 +0000 (15:08 +0100)] 
man: document explicitly that ProtectHome= has no effect on non-standard homedir locations

Fixes: #41045
4 weeks agomeson: bump version to v260~rc3 v260-rc3
Luca Boccassi [Thu, 12 Mar 2026 16:58:12 +0000 (16:58 +0000)] 
meson: bump version to v260~rc3

4 weeks agoNEWS: finalize place and date
Luca Boccassi [Thu, 12 Mar 2026 16:55:49 +0000 (16:55 +0000)] 
NEWS: finalize place and date

4 weeks agoNEWS: update contributors list
Luca Boccassi [Thu, 12 Mar 2026 16:55:41 +0000 (16:55 +0000)] 
NEWS: update contributors list

4 weeks agopcrlock: don't accept PCRs > 23 from firmware event log (#41072)
Luca Boccassi [Thu, 12 Mar 2026 16:50:54 +0000 (16:50 +0000)] 
pcrlock: don't accept PCRs > 23 from firmware event log (#41072)

4 weeks agomeson: use libfido2_cflags dependency
Dan McGregor [Thu, 12 Mar 2026 00:26:05 +0000 (18:26 -0600)] 
meson: use libfido2_cflags dependency

Add the libfido2 dependency to cryptenroll and cryptsetup's
meson files. If libfido2's not installed in the default path
the build wasn't finding its headers correctly.

4 weeks agoTranslations update from Fedora Weblate (#41073)
Luca Boccassi [Thu, 12 Mar 2026 14:28:05 +0000 (14:28 +0000)] 
Translations update from Fedora Weblate (#41073)

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 weeks agopo: Translated using Weblate (Russian) 41073/head
Sergey A. [Thu, 12 Mar 2026 13:58:31 +0000 (13:58 +0000)] 
po: Translated using Weblate (Russian)

Currently translated at 100.0% (266 of 266 strings)

Co-authored-by: Sergey A. <Ser82-png@yandex.ru>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/ru/
Translation: systemd/main

4 weeks agopo: Translated using Weblate (Hebrew)
Yaron Shahrabani [Thu, 12 Mar 2026 13:58:30 +0000 (13:58 +0000)] 
po: Translated using Weblate (Hebrew)

Currently translated at 100.0% (266 of 266 strings)

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

4 weeks agomeasure: figure success of measurement correctly 41072/head
Lennart Poettering [Thu, 12 Mar 2026 13:41:43 +0000 (14:41 +0100)] 
measure: figure success of measurement correctly

Found by Claude Code Review.

4 weeks agopcrlock: don't accept PCRs > 23 from firmware event log
Lennart Poettering [Thu, 12 Mar 2026 13:31:42 +0000 (14:31 +0100)] 
pcrlock: don't accept PCRs > 23 from firmware event log

Let's harden ourselves against shitty firmware which might report an
invalid PCR.

(This is not really a security issue, more a robustness issue, after all
firmware generally comes with highest privileges and trust, even though
it might just be shit)

Fixes an issue found with Claude code review

4 weeks agotest: use --nogpgcheck instead of --no-gpgchecks in TEST-88-UPGRADE
Ivan Kruglov [Thu, 12 Mar 2026 12:14:40 +0000 (05:14 -0700)] 
test: use --nogpgcheck instead of --no-gpgchecks in TEST-88-UPGRADE

--no-gpgchecks was introduced in 920483872449 but is only available in
dnf5. Use --nogpgcheck instead, which is supported by both dnf4 and
dnf5 (where it is an alias for --no-gpgchecks).

Fixes test failure on distros still using dnf4 (e.g. CentOS/RHEL 9).

Co-developed-by: Claude <claude@anthropic.com>
4 weeks agocleanups for machined/nspawn (#41060)
Zbigniew Jędrzejewski-Szmek [Thu, 12 Mar 2026 08:39:30 +0000 (09:39 +0100)] 
cleanups for machined/nspawn (#41060)

4 weeks agodocs: contain image sizing and prevent overflow on mobile
Rito Rhymes [Thu, 12 Mar 2026 01:55:22 +0000 (21:55 -0400)] 
docs: contain image sizing and prevent overflow on mobile

`max-width: 100%` keeps images from expanding beyond
their container and creating horizontal overflow scroll
on small screens.

`height: auto` ensures the image scales proportionally
when width is adjusted.

4 weeks agodocs: wrap bare enum constants in inline code in JOURNAL_FILE_FORMAT
Rito Rhymes [Thu, 12 Mar 2026 03:54:10 +0000 (23:54 -0400)] 
docs: wrap bare enum constants in inline code in JOURNAL_FILE_FORMAT

4 weeks agoFix text overflow for long URLs and inline code blocks (#41064)
Zbigniew Jędrzejewski-Szmek [Thu, 12 Mar 2026 08:36:32 +0000 (09:36 +0100)] 
Fix text overflow for long URLs and inline code blocks (#41064)

## Summary
Long string URLs and inline code blocks can exceed page width and cause
horizontal scroll overflow that breaks page layouts on smaller screens.
This fix ensures those long strings can wrap down as needed to preserve
the layout. The only code blocks that are affected are those that are
inline span within text paragraphs and are effectively stylized text; it
does not affect `<pre>` code blocks where fidelity is prioritized and
contained horizontal scroll is preferred.

## Before and After Screenshots

### `/TPM2_PCR_MEASUREMENTS/` code overflow

**BEFORE**
<img width="400" height="770" alt="TPM2-before"
src="https://github.com/user-attachments/assets/87da9d7a-d757-4fe0-9496-5c17ce31a14e"
/>

<br /><br />

**AFTER**
<img width="400" height="770" alt="TPM2-after"
src="https://github.com/user-attachments/assets/e48ba635-6c73-46a7-a29a-673a253fa76b"
/>

### `/PRESET/` URL overflow

**BEFORE**
<img width="400" height="776" alt="PRESET-before"
src="https://github.com/user-attachments/assets/da4a6346-c53b-4ce0-9ec8-8e58b634174e"
/>

<br /><br />

**AFTER**
<img width="400" height="776" alt="PRESET-after"
src="https://github.com/user-attachments/assets/be5fa824-4891-46ac-9f6e-08490cda8bd9"
/>

4 weeks agodocs: allow long inline code to wrap to prevent overflow on mobile 41064/head
Rito Rhymes [Thu, 12 Mar 2026 03:36:42 +0000 (23:36 -0400)] 
docs: allow long inline code to wrap to prevent overflow on mobile

4 weeks agodocs: allow long links to wrap to prevent overflow on mobile
Rito Rhymes [Thu, 12 Mar 2026 03:34:40 +0000 (23:34 -0400)] 
docs: allow long links to wrap to prevent overflow on mobile

4 weeks agonspawn: normalize pivot_root paths 41060/head
Luca Boccassi [Wed, 11 Mar 2026 13:27:14 +0000 (13:27 +0000)] 
nspawn: normalize pivot_root paths

Originally reported on yeswehack.com as:
YWH-PGM9780-116

Follow-up for b53ede699cdc5233041a22591f18863fb3fe2672

4 weeks agonspawn: apply BindUser/Ephemeral from settings file only if trusted
Luca Boccassi [Wed, 11 Mar 2026 12:15:26 +0000 (12:15 +0000)] 
nspawn: apply BindUser/Ephemeral from settings file only if trusted

Originally reported on yeswehack.com as:
YWH-PGM9780-116

Follow-up for 2f8930449079403b26c9164b8eeac78d5af2c8df
Follow-up for a2f577fca0be79b23f61f033229b64884e7d840a

4 weeks agomachined: reject invalid class types when registering machines
Luca Boccassi [Sun, 8 Mar 2026 14:30:52 +0000 (14:30 +0000)] 
machined: reject invalid class types when registering machines

Follow-up for fbe550738d03b178bb004a1390e74115e904118a

4 weeks agohwdb/keyboard: fix Positron vendor location
Mikhail Novosyolov [Wed, 11 Mar 2026 19:27:58 +0000 (22:27 +0300)] 
hwdb/keyboard: fix Positron vendor location

Move lines without changing them.
Fixes: 9aad3336f ("hwdb/keyboard: Map FN key on Positron Proxima 15")
(https://github.com/systemd/systemd/pull/40929)