]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
3 months agotree-wide: add missing '=' in short comments for function argument 38263/head
Yu Watanabe [Sat, 19 Jul 2025 00:47:33 +0000 (09:47 +0900)] 
tree-wide: add missing '=' in short comments for function argument

3 months agotree-wide: do not use %m with SYNTHETIC_ERRNO()
Yu Watanabe [Sat, 19 Jul 2025 00:45:29 +0000 (09:45 +0900)] 
tree-wide: do not use %m with SYNTHETIC_ERRNO()

3 months agotree-wide: normalize usage of %m
Yu Watanabe [Sat, 19 Jul 2025 00:19:09 +0000 (09:19 +0900)] 
tree-wide: normalize usage of %m

3 months agotree-wide: fix log messages: "Failed VERB" -> "Failed to VERB"
Yu Watanabe [Sat, 19 Jul 2025 00:02:02 +0000 (09:02 +0900)] 
tree-wide: fix log messages: "Failed VERB" -> "Failed to VERB"

3 months agosd-dhcp6-lease: fix calculation of t2
Beniamino Galvani [Mon, 21 Jul 2025 12:24:27 +0000 (14:24 +0200)] 
sd-dhcp6-lease: fix calculation of t2

sd_dhcp6_lease_get_t2() was returning t1, and so the client was going directly
to the rebind state skipping the lease renewal.

Reported-by: Jaime Caamano <jcaamano@redhat.com>
Fixes: 394fac52d0e7 ("sd-dhcp6-client: introduce sd_dhcp6_lease_get_t1() and friends")
3 months agobootctl: do not fail when the same file is updated multiple times
Yu Watanabe [Wed, 19 Jun 2024 07:11:23 +0000 (16:11 +0900)] 
bootctl: do not fail when the same file is updated multiple times

In the second or later trial, copy_file_with_version_check() -> version_check()
fails with -ESRCH. Let's ignore the failure.

This also adds missing assertions in update_efi_boot_binaries(), and
drop redundant version check in update_efi_boot_binaries(), as version
will be anyway checked later.

Fixes a regression caused by 929f41c6528fb630753d4e2f588a8eb6c2f6a609.
Fixes #33392.

3 months agosd-event: fix infinite loop in inotify event handling (#38268)
Mike Yuan [Mon, 21 Jul 2025 08:14:58 +0000 (10:14 +0200)] 
sd-event: fix infinite loop in inotify event handling (#38268)

Fixes #38265.

3 months agotest: add test case for issue #38265 38268/head
Yu Watanabe [Sat, 19 Jul 2025 16:27:10 +0000 (01:27 +0900)] 
test: add test case for issue #38265

3 months agosd-event: drop inotify event from buffer when no event source is triggered
Yu Watanabe [Sat, 19 Jul 2025 17:12:00 +0000 (02:12 +0900)] 
sd-event: drop inotify event from buffer when no event source is triggered

Even when we receive an inotify event, there is no relevant event source
exists. In that case, we need to drop the event from the buffer,
otherwise we cannot escape from the loop.

Fixes #38265.

3 months agocore/service: drop job done messages identical to generic ones
Mike Yuan [Sat, 19 Jul 2025 12:55:37 +0000 (14:55 +0200)] 
core/service: drop job done messages identical to generic ones

Prompted by #38263

3 months agotest: add test case for getenv_for_pid()
Yu Watanabe [Fri, 18 Jul 2025 18:21:10 +0000 (03:21 +0900)] 
test: add test case for getenv_for_pid()

3 months agovmspawn: use poll.h rather than sys/poll.h
Yu Watanabe [Sat, 19 Jul 2025 02:58:20 +0000 (11:58 +0900)] 
vmspawn: use poll.h rather than sys/poll.h

This does not change anything, as poll.h is a one-line wrapper of sys/poll.h.
Note that man pages e.g. poll(2) indicate to include poll.h rather than sys/poll.h.
So, let's use poll.h.

Similar to 8139906eaaced08d7924abf012561a5e8e9fbf2a.
Follow-up for 0fc45c8d20ad46ab9be0d8f29b16e606e0dd44ca.

3 months agocore: gracefully ignore PrivateBPF=yes if the kernel does not support it (#38238)
Luca Boccassi [Fri, 18 Jul 2025 22:36:24 +0000 (23:36 +0100)] 
core: gracefully ignore PrivateBPF=yes if the kernel does not support it (#38238)

Fixes #38225.

3 months agotest-web-util.c: Migrate to new assertion MACROs
Yaping Li [Thu, 17 Jul 2025 01:48:58 +0000 (18:48 -0700)] 
test-web-util.c: Migrate to new assertion MACROs

We recently added a new set of assertion macros such as ASSERT_GE, ASSERT_OK, ASSERT_EQ, ... which show not
only the expression that failed but also the values of the arguments of the expression. Let's use them.

3 months agoTEST-07-PID1: check if PrivateBPF=yes is gracefully ignored 38238/head
Yu Watanabe [Wed, 16 Jul 2025 00:41:50 +0000 (09:41 +0900)] 
TEST-07-PID1: check if PrivateBPF=yes is gracefully ignored

3 months agoTEST-07-PID1: fix negative check
Yu Watanabe [Wed, 16 Jul 2025 13:45:04 +0000 (22:45 +0900)] 
TEST-07-PID1: fix negative check

3 months agotest-bpf-token: use test macros and functions
Yu Watanabe [Tue, 15 Jul 2025 23:49:52 +0000 (08:49 +0900)] 
test-bpf-token: use test macros and functions

No functional change, just refactoring.

3 months agocore/namespace: gracefully handle errors in mounting new bpffs instance
Yu Watanabe [Thu, 17 Jul 2025 19:34:22 +0000 (04:34 +0900)] 
core/namespace: gracefully handle errors in mounting new bpffs instance

Then, fallback to remount /sys/fs/bpf read-only when ProtectKernelTunables=yes.

3 months agoreadme: update ubuntu autopkgtest infra support channels
Luca Boccassi [Fri, 18 Jul 2025 11:14:38 +0000 (12:14 +0100)] 
readme: update ubuntu autopkgtest infra support channels

ubuntu is moving away from IRC

3 months agocore: it is not necessary to send message after fsconfig() for bpffs
Yu Watanabe [Thu, 17 Jul 2025 18:53:28 +0000 (03:53 +0900)] 
core: it is not necessary to send message after fsconfig() for bpffs

Instead, let's wait for the helper process being finished.

3 months agocore/exec-invoke: negative errno needs to be passed to report_errno_and_exit()
Yu Watanabe [Fri, 18 Jul 2025 06:17:24 +0000 (15:17 +0900)] 
core/exec-invoke: negative errno needs to be passed to report_errno_and_exit()

Hence, we cannot pass errno as is to report_errno_and_exit().

This splits out bpffs_helper(), which returns negative errno on failure,
and 0 on success. And make the returned value passed to report_errno_and_exit().

Follow-up for #36134.

3 months agoresolved: Implement continuous mDNS querying as per RFC6762 5.2 (#22532)
Zbigniew Jędrzejewski-Szmek [Fri, 18 Jul 2025 10:54:33 +0000 (12:54 +0200)] 
resolved: Implement continuous mDNS querying as per RFC6762 5.2 (#22532)

Allow for mDNS service/domain/types browsing.
A client can connect to the backend via varlink and receive updates as
the requested service becomes available.

The interval between the first two queries MUST be at least one second,
the intervals between successive queries MUST increase by at least a
factor of two.
When the interval between queries reaches or exceeds 60 minutes, a
querier MAY cap the interval to a maximum of 60 minutes, and perform
subsequent queries at a steady-state rate of one query per hour.

Cache maintenance performed by issuing queries at 80, 85, 90, 95% of the
TTL, and updating/removing the records depending on replies.

TODO:
Improve the DNS transaction logic when multiple clients subscribe to the
same service, ensuring that continuous queries are optimized.

<!-- devel-freezer =
{"comment-id":"1625154850","freezing-tag":"v256-rc2"} -->

3 months agojournald: several follow-ups for reloading journald.conf (#38199)
Yu Watanabe [Fri, 18 Jul 2025 09:31:18 +0000 (18:31 +0900)] 
journald: several follow-ups for reloading journald.conf (#38199)

Follow-ups for df5b3426f60bb626f46f93fbdacecae274c1645b (#36742).

3 months agojournal-file: drop unused journal_file_reload() 38199/head
Yu Watanabe [Tue, 15 Jul 2025 19:33:54 +0000 (04:33 +0900)] 
journal-file: drop unused journal_file_reload()

This partially reverts df5b3426f60bb626f46f93fbdacecae274c1645b.

3 months agojournald-manager: rework reopening journal files on reload
Yu Watanabe [Tue, 15 Jul 2025 17:55:55 +0000 (02:55 +0900)] 
journald-manager: rework reopening journal files on reload

Previous implementations had several issues:
- user journals were not updated,
- transition from volatile -> persistent storage transition was not
  handled.

Let's make all journal files closed when at least one journal file
related configurations are changed, and reopen necessary journals with
requested settings.

3 months agojournal-file: introduce journal_metrics_equal()
Yu Watanabe [Tue, 15 Jul 2025 18:24:23 +0000 (03:24 +0900)] 
journal-file: introduce journal_metrics_equal()

Currently not used, but will be used later.

3 months agojournald-context: update ratelimit interval and burst on reload
Yu Watanabe [Tue, 15 Jul 2025 17:22:53 +0000 (02:22 +0900)] 
journald-context: update ratelimit interval and burst on reload

3 months agojournald-config: ForwardToSocket= is not supported in non-default namespace instance
Yu Watanabe [Tue, 15 Jul 2025 16:56:45 +0000 (01:56 +0900)] 
journald-config: ForwardToSocket= is not supported in non-default namespace instance

3 months agojournald-socket: close previous socket when ForwardToSocket= is changed on reload
Yu Watanabe [Tue, 15 Jul 2025 16:42:26 +0000 (01:42 +0900)] 
journald-socket: close previous socket when ForwardToSocket= is changed on reload

3 months agojournald-audit: apply new Audit= setting on reload
Yu Watanabe [Tue, 15 Jul 2025 16:24:32 +0000 (01:24 +0900)] 
journald-audit: apply new Audit= setting on reload

3 months agojournald-audit: make enable_audit() take Manager object
Yu Watanabe [Tue, 15 Jul 2025 16:20:36 +0000 (01:20 +0900)] 
journald-audit: make enable_audit() take Manager object

And rename it to manager_set_kernel_audit(), and make it log failures.

3 months agojournald-kmsg: merge manager_kmsg_mode() into manager_open_dev_kmsg()
Yu Watanabe [Tue, 15 Jul 2025 15:56:10 +0000 (00:56 +0900)] 
journald-kmsg: merge manager_kmsg_mode() into manager_open_dev_kmsg()

As it is now only used by the function.

3 months agojournald-kmsg: fix reopening /dev/kmsg
Yu Watanabe [Sun, 13 Jul 2025 14:24:08 +0000 (23:24 +0900)] 
journald-kmsg: fix reopening /dev/kmsg

The previous logic was completely broken:
- the access mode comparison is broken,
- flushing kmsg did not work, as the configuration is already disabled,
- seqnum file is not opened when previously disabled,
- failure in reopening /dev/kmsg should not be critical.

This fixes the above issues.

3 months agojournald: introduce manager_unlink_seqnum_file()
Yu Watanabe [Tue, 15 Jul 2025 16:01:06 +0000 (01:01 +0900)] 
journald: introduce manager_unlink_seqnum_file()

Currently unused, but will be used later.

3 months agojournald-kmsg: introduce manager_close_kernel_seqnum() helper function
Yu Watanabe [Tue, 15 Jul 2025 15:24:17 +0000 (00:24 +0900)] 
journald-kmsg: introduce manager_close_kernel_seqnum() helper function

3 months agojournald-kmsg: shorten manager_flush_dev_kmsg() a bit
Yu Watanabe [Sun, 13 Jul 2025 14:23:20 +0000 (23:23 +0900)] 
journald-kmsg: shorten manager_flush_dev_kmsg() a bit

3 months agojournald: rename fuzz-journald.[ch] -> fuzz-journald-util.[ch]
Yu Watanabe [Sun, 13 Jul 2025 08:26:29 +0000 (17:26 +0900)] 
journald: rename fuzz-journald.[ch] -> fuzz-journald-util.[ch]

3 months agojournald: do not read configs by journald fuzzers
Yu Watanabe [Sun, 13 Jul 2025 08:19:46 +0000 (17:19 +0900)] 
journald: do not read configs by journald fuzzers

3 months agojournald: move all config entries from Manager to JournalConfig
Yu Watanabe [Sun, 13 Jul 2025 06:29:22 +0000 (15:29 +0900)] 
journald: move all config entries from Manager to JournalConfig

Previously, only config entries controlled by multiple sources were located in
JournalConfig, and still other config entries were in Manager.
That's hard to maintain. Let's move all config entries to JournalConfig.

This also makes JournalConfig.forward_to_kmsg and friends tristate.
Otherwise, even if a higher precedence config source disables the
feature, it may be enabled by a lower precedence config.

3 months agojournald-config: modernize config_parse_line_max() and config_parse_forward_to_socket()
Yu Watanabe [Sun, 13 Jul 2025 06:28:52 +0000 (15:28 +0900)] 
journald-config: modernize config_parse_line_max() and config_parse_forward_to_socket()

No functional change, just refactoring.

3 months agojournald-config: always clear threshold_bytes even when boolean value is specified
Yu Watanabe [Sun, 13 Jul 2025 03:41:43 +0000 (12:41 +0900)] 
journald-config: always clear threshold_bytes even when boolean value is specified

Otherwise, previously specified threshold may not be cleared.

3 months agojournald-config: make kernel command line parser take JournalConfig
Yu Watanabe [Sun, 13 Jul 2025 05:37:57 +0000 (14:37 +0900)] 
journald-config: make kernel command line parser take JournalConfig

3 months agojournald-config: use char* for credential data
Yu Watanabe [Sun, 13 Jul 2025 05:16:55 +0000 (14:16 +0900)] 
journald-config: use char* for credential data

This also slightly update log messages, and make
manager_load_credentials() take JournalConfig.
No functional change, just refactoring.

3 months agojournald-audit: do not control kernel auditing by non-default namespace instances...
Yu Watanabe [Sun, 13 Jul 2025 06:21:50 +0000 (15:21 +0900)] 
journald-audit: do not control kernel auditing by non-default namespace instances by default

The kernel (thus system-wide) auditing should not be controlled by
non-default namespace instances, unless explicitly requested.

3 months agojournald-manager: use manager_get_file_flags() more
Yu Watanabe [Sun, 13 Jul 2025 07:17:12 +0000 (16:17 +0900)] 
journald-manager: use manager_get_file_flags() more

This also adds one missing assertion and drop spurious empty line.
No functional change, just refactoring.

3 months agojournald-manager: make manager_get_file_flags() return JournalFileFlags
Yu Watanabe [Sun, 13 Jul 2025 07:21:26 +0000 (16:21 +0900)] 
journald-manager: make manager_get_file_flags() return JournalFileFlags

This also adds a missing assertion.

3 months agojournald: move several configuration related definitions to journald-config.[ch]
Yu Watanabe [Sun, 13 Jul 2025 02:46:46 +0000 (11:46 +0900)] 
journald: move several configuration related definitions to journald-config.[ch]

No functional change, just refactoring and preparation for later changes.

3 months agoSmall comment fixes (#38252)
Luca Boccassi [Thu, 17 Jul 2025 21:56:28 +0000 (22:56 +0100)] 
Small comment fixes (#38252)

3 months agoanalyze: several follow-ups for recent changes (#38253)
Luca Boccassi [Thu, 17 Jul 2025 19:10:47 +0000 (20:10 +0100)] 
analyze: several follow-ups for recent changes (#38253)

Follow-ups for 9a08000d186396bc8bcb8fe057720417543c3bf0 (#37838) and
ad6e02e7b42db35178305614e643be7a62568d87 (#38132).

3 months agobasic/socket-util: reserve more space for timeval/timespec messages
Zbigniew Jędrzejewski-Szmek [Thu, 17 Jul 2025 14:35:01 +0000 (16:35 +0200)] 
basic/socket-util: reserve more space for timeval/timespec messages

As reported in https://github.com/systemd/systemd/issues/38222, we get the
buffer size calculation wrong on 32-bit arm. The reporter suggested checking if
__TIMESIZE == 64, but I think it's better to just use the bigger size in all
cases. The code to guesstimate the buffer size was already tweaked a few times
and apparently it's not easy to get it right. Systemd and glibc might be
compiled with different combinations of __TIMESIZE, so the compile-time check
is not super reliable, and by using the bigger size, we don't depend on the
details of how glibc decided whether to duplicate the struct or not. The cost
is negligible, 16 bytes on stack, so let's do the easy and robust thing.

Solution based on the suggestion by UZver24.

While at it, drop the mock struct definitions. They are only used to calculate
the size, but since the types involved are 8-bit values, there are no alignment
issues and we can just calculate the size directly.

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

3 months agobash-completion/analyze: show candidates for --debugger 38253/head
Yu Watanabe [Thu, 17 Jul 2025 16:44:25 +0000 (01:44 +0900)] 
bash-completion/analyze: show candidates for --debugger

This also adds missing completion for --debugger-arguments.

Follow-up for ad6e02e7b42db35178305614e643be7a62568d87.

3 months agoanalyze-unit-gdb: append debugger arguments
Yu Watanabe [Thu, 17 Jul 2025 16:29:59 +0000 (01:29 +0900)] 
analyze-unit-gdb: append debugger arguments

Previously, the --debugger-arguments= was ignored.

Follow-up for ad6e02e7b42db35178305614e643be7a62568d87.

3 months agoanalyze: merge if branches on debugger
Yu Watanabe [Thu, 17 Jul 2025 16:29:05 +0000 (01:29 +0900)] 
analyze: merge if branches on debugger

No functional changes, just refactoring.

3 months agoanalyze: fix memleak and missing oom check
Yu Watanabe [Thu, 17 Jul 2025 16:20:18 +0000 (01:20 +0900)] 
analyze: fix memleak and missing oom check

Follow-up for ad6e02e7b42db35178305614e643be7a62568d87.

3 months agoanalyze-unit-shell: drop unnecessary error check
Yu Watanabe [Thu, 17 Jul 2025 16:13:44 +0000 (01:13 +0900)] 
analyze-unit-shell: drop unnecessary error check

execl() and friends will not return on success.

Follow-up for 9a08000d186396bc8bcb8fe057720417543c3bf0.

3 months agoanalyze: add missing full stop in the log message
Yu Watanabe [Thu, 17 Jul 2025 16:12:31 +0000 (01:12 +0900)] 
analyze: add missing full stop in the log message

Follow-up for 9a08000d186396bc8bcb8fe057720417543c3bf0 and
ad6e02e7b42db35178305614e643be7a62568d87.

3 months agotest: add basic test for timer serialization
Matteo Croce [Tue, 24 Jun 2025 12:47:43 +0000 (14:47 +0200)] 
test: add basic test for timer serialization

Set an OnCalendar= timer before the downgrade, then test for its
validity after the downgrade and the upgrade.

3 months agosrc/shared: grammar fixlet 38252/head
Zbigniew Jędrzejewski-Szmek [Thu, 17 Jul 2025 15:09:44 +0000 (17:09 +0200)] 
src/shared: grammar fixlet

There is no such verb as "list up". Also nowadays we just say "drop-ins".

3 months agoboot: move/adjust comments
Zbigniew Jędrzejewski-Szmek [Wed, 16 Jul 2025 11:40:34 +0000 (13:40 +0200)] 
boot: move/adjust comments

The comment in linux_exec() was based on Lennart's comment in
https://github.com/systemd/systemd/pull/37372#discussion_r2142340582, but
shortened. The original wording is more direct and at least for me easier to
grok, so adjust the comment to be more verbose again.

Also, move the comment from shim_loader_available() to the place where it used.
This function is for checking if the new thing is available, no need to describe
the old thing there.

3 months agotest: resolve: add integration tests for browsing services 22532/head
Vishal Chillara Srinivas [Thu, 17 Jul 2025 14:11:21 +0000 (19:41 +0530)] 
test: resolve: add integration tests for browsing services

Co-authored-by: Frantisek Sumsal <frantisek@sumsal.cz>
Co-authored-by: Vishwanath Chandapur <vishwanath.chandapur@philips.com>
3 months agosystemd-analyze: added the verb unit-gdb to spawn and attach gdb
ZIHCO [Wed, 9 Jul 2025 11:56:32 +0000 (12:56 +0100)] 
systemd-analyze: added the verb unit-gdb to spawn and attach gdb

3 months agonetdev-util: allow setting local address based on dhcp-pd addresses as well (#38211)
Luca Boccassi [Thu, 17 Jul 2025 13:14:49 +0000 (14:14 +0100)] 
netdev-util: allow setting local address based on dhcp-pd addresses as well (#38211)

This extends the functionality introduced in #21648 to allow using
addresses chosen from a delegated prefix as well as the existing
SLAAC/LL/DHCP functionality.

3 months agonetdev-util: allow finding addresses from dhcp-pd 38211/head
Linus Heckemann [Mon, 14 Jul 2025 11:03:51 +0000 (13:03 +0200)] 
netdev-util: allow finding addresses from dhcp-pd

3 months agoelf2efi: ignore .sframe
Sam James [Wed, 16 Jul 2025 10:05:11 +0000 (11:05 +0100)] 
elf2efi: ignore .sframe

SFrames are a new format for stack unwinding information. Ignore it if
preset as is done for .eh_frame.

3 months agosystemctl: remove unnecessary assignment
Antonio Alvarez Feijoo [Wed, 16 Jul 2025 09:49:25 +0000 (11:49 +0200)] 
systemctl: remove unnecessary assignment

3 months agoRevert "test: skip one test case when running on coverage"
Yu Watanabe [Wed, 16 Jul 2025 01:46:06 +0000 (10:46 +0900)] 
Revert "test: skip one test case when running on coverage"

This reverts commit 2cc6c651ee2df408b2cc72c000d7f7f08c8932ac.

The issue was fixed by b955051244ce72ec5879d49e76dbf2b5ea0edeee.

Closes #38163.

3 months agojournalctl: track more closely whether we're within --until= range
Mike Yuan [Sat, 12 Jul 2025 16:35:14 +0000 (18:35 +0200)] 
journalctl: track more closely whether we're within --until= range

Follow-up for 81fb5375b3b3bfc22d023d7908ad9eee4b3c1ffb

The offending commit fails to account for the case where
we have fewer lines before --until= than what's specified
in --lines=. Aside from that, if --grep= + --lines=+N are used,
we might also seek forward in the middle of the loop,
breaking the --until= boundary.

Let's turn the logic around then. Context.until_safe will
be set iff we're certain that there's enough to output,
and it gets reset whenever we seek forward.

Fixes #38121
Replaces #38122

3 months agoNEWS: fix typo
Yu Watanabe [Wed, 16 Jul 2025 01:38:05 +0000 (10:38 +0900)] 
NEWS: fix typo

Follow-up for 644b6041d45ffbee3ad0848d72a417bb4559e1ae.

3 months agotests: avoid apt-get asking for user input
Matteo Croce [Tue, 15 Jul 2025 15:32:00 +0000 (17:32 +0200)] 
tests: avoid apt-get asking for user input

apt needs to be called with `-y` to avoid asking for user input,
and thus blocking the script execution when ran non-interactively.

3 months agovmspawn: Drop unused arg_settings_mask
DaanDeMeyer [Sun, 13 Jul 2025 18:59:58 +0000 (20:59 +0200)] 
vmspawn: Drop unused arg_settings_mask

3 months agofsck,quotacheck: add credentials support and drop support of /forcefsck and friends...
Yu Watanabe [Tue, 15 Jul 2025 23:29:20 +0000 (08:29 +0900)] 
fsck,quotacheck: add credentials support and drop support of /forcefsck and friends (#38197)

3 months agotest-network: stop varlink.socket before stopping networkd.service
Yu Watanabe [Tue, 15 Jul 2025 20:19:06 +0000 (05:19 +0900)] 
test-network: stop varlink.socket before stopping networkd.service

To avoid the following warnings:
```
systemd-networkd-tests.py[3139]: Stopping 'systemd-networkd.service', but its triggering units are still active:
systemd-networkd-tests.py[3139]: systemd-networkd-varlink.socket
```

Follow-up for b0ea79c5b5e056cd61eb518308aa5a992f6c313d.

3 months agomkosi: update debian commit reference to 61144ff7a6747bd3cc6340fbac38a8e15e9a239b 38197/head
Yu Watanabe [Tue, 15 Jul 2025 20:50:01 +0000 (05:50 +0900)] 
mkosi: update debian commit reference to 61144ff7a6747bd3cc6340fbac38a8e15e9a239b

61144ff7a6 Install new quota manpages for upstream build
a50c51d8c8 systemd-boot: fix initramfs post-update hook for uncompressed kernels

3 months agomkosi: patch filelists by opensuse
Yu Watanabe [Tue, 15 Jul 2025 19:55:32 +0000 (04:55 +0900)] 
mkosi: patch filelists by opensuse

3 months agoNEWS: mention changes in systemd-fsck and systemd-quotacheck
Yu Watanabe [Wed, 23 Apr 2025 01:48:11 +0000 (10:48 +0900)] 
NEWS: mention changes in systemd-fsck and systemd-quotacheck

3 months agoquotacheck: add quotacheck.mode credential support
Yu Watanabe [Sat, 12 Jul 2025 19:52:36 +0000 (04:52 +0900)] 
quotacheck: add quotacheck.mode credential support

3 months agoquotacheck: introduce string table for quota check mode
Yu Watanabe [Sat, 12 Jul 2025 19:46:22 +0000 (04:46 +0900)] 
quotacheck: introduce string table for quota check mode

No functional change, just refactoring.

3 months agoquotacheck: drop unnecessary use of global variable
Yu Watanabe [Sat, 12 Jul 2025 19:48:23 +0000 (04:48 +0900)] 
quotacheck: drop unnecessary use of global variable

3 months agoman: fix service names
Yu Watanabe [Sat, 12 Jul 2025 20:30:07 +0000 (05:30 +0900)] 
man: fix service names

3 months agoman: fix reference to systemd-quotacheck@.service
Yu Watanabe [Sat, 12 Jul 2025 20:26:47 +0000 (05:26 +0900)] 
man: fix reference to systemd-quotacheck@.service

Also this makes the man page mentions systemd-quotacheck-root.service.

3 months agofsck: add fsck.mode and fsck.repair credentials support
Yu Watanabe [Sat, 12 Jul 2025 19:25:26 +0000 (04:25 +0900)] 
fsck: add fsck.mode and fsck.repair credentials support

Maybe useful when kernel command line is hard to change, e.g. when UKI
is used.

3 months agofsck: introduce string tables for fsck.mode= and fsck.repair=
Yu Watanabe [Sat, 12 Jul 2025 19:07:53 +0000 (04:07 +0900)] 
fsck: introduce string tables for fsck.mode= and fsck.repair=

No functional change, just refactoring and preparation for later change.

3 months agofsck,quotacheck: drop support for traditional /forcefsck, /fastboot, and /forcequotac...
Yu Watanabe [Sun, 20 Apr 2025 21:05:10 +0000 (06:05 +0900)] 
fsck,quotacheck: drop support for traditional /forcefsck, /fastboot, and /forcequotacheck files

Instead, please use the kernel command line options with the same name.

I am not sure these files are System V complieant or not, but at least
they are very traditional way to control fsck or quotacheck.
However, the concept of the files are really broken, especially for
fsck. As when we want to fsck the root filesystem, we need to access the
filessystem, but it may be broken...

Let's drop such traditional ways to control fsck and quotacheck.
We already support kernel command line options to control the behaviors.
Maybe, also it is better to provide ways to control them by credentials.

3 months agoAdd build/unit-tests CI jobs for s390x (#38232)
Yu Watanabe [Tue, 15 Jul 2025 20:30:35 +0000 (05:30 +0900)] 
Add build/unit-tests CI jobs for s390x (#38232)

3 months agobtrfs: use unpriv subvol info ioctl (#38230)
Yu Watanabe [Tue, 15 Jul 2025 20:24:28 +0000 (05:24 +0900)] 
btrfs: use unpriv subvol info ioctl (#38230)

Let's stop doing privileged low-level ioctls, if we also can get
unprivileged high-level ioctls for the same.

3 months agoresolvectl: use pager for help output
Zbigniew Jędrzejewski-Szmek [Tue, 15 Jul 2025 16:42:18 +0000 (18:42 +0200)] 
resolvectl: use pager for help output

3 months agoresolve: Implement continuous mDNS querying as per RFC6762 5.2
Vishal Chillara Srinivas [Tue, 15 Jul 2025 17:25:30 +0000 (22:55 +0530)] 
resolve: Implement continuous mDNS querying as per RFC6762 5.2
Allow for mDNS service/domain/types browsing.

A client can connect to the backend via varlink and receive updates as the
requested service becomes available.
The interval between the first two queries MUST be at least one second,
the intervals between successive queries MUST increase by at least a factor of two.
When the interval between queries reaches or exceeds 60 minutes, a querier MAY cap
the interval to a maximum of 60 minutes, and perform subsequent queries at a
steady-state rate of one query per hour.
Delete expired cache entries one second after goodbye packet received
as per RFC6762 Section 10.1

Cache maintenance:
The querier should plan to issue a query at 80% of the record lifetime, and
then if no answer is received, at 85%, 90%, and 95%.
If an answer is received, then the remaining TTL is reset to the value given
in the answer, and this process repeats for as long as the Multicast DNS querier
has an ongoing interest in the record.
If no answer is received after four queries, the record is deleted when it
reaches 100% of its lifetime.

TODO:
Improve the DNS transaction logic when multiple clients subscribe to
the same service, ensuring that continuous queries are optimized.

Co-authored-by: Vishwanath Chandapur <vishwanath.chandapur@philips.com>
3 months agodiscover-image: pick up subvol ctime, too 38230/head
Lennart Poettering [Tue, 15 Jul 2025 15:21:03 +0000 (17:21 +0200)] 
discover-image: pick up subvol ctime, too

The btrfs subvol ctime is conceptually what we call the images "mtime",
hence expose it like that, since we get it anyway these days.

3 months agobtrfs-util: use BTRFS_IOC_GET_SUBVOL_INFO ioctl()
Lennart Poettering [Tue, 15 Jul 2025 15:03:58 +0000 (17:03 +0200)] 
btrfs-util: use BTRFS_IOC_GET_SUBVOL_INFO ioctl()

Since kernel 4.18 BTRFS_IOC_GET_SUBVOL_INFO exists to query subvolume
metadata without privs. This is much better than the manual approach
with finding objects in the fs tree (which is priv). Let's use it, and
drop the old code (since 4.18 is older than our baseline).

3 months agoci: add build/unit-tests jobs for s390x 38232/head
Luca Boccassi [Tue, 15 Jul 2025 15:18:27 +0000 (16:18 +0100)] 
ci: add build/unit-tests jobs for s390x

3 months agotest: skip tpm2 test on s390x on GHA
Luca Boccassi [Tue, 15 Jul 2025 15:16:44 +0000 (16:16 +0100)] 
test: skip tpm2 test on s390x on GHA

The test reliably fails on s390x but only on the GHA worker,
on a native s390x VM it works. Skip it for now.

3 months agorepart: do not enforce 10M min size for immutable file systems by default
Lennart Poettering [Tue, 15 Jul 2025 12:06:08 +0000 (14:06 +0200)] 
repart: do not enforce 10M min size for immutable file systems by default

3 months ago90-uki-copy.install: Skip removing UKI related when BOOT_ENTRY_TYPE=type1
Li Tian [Sun, 13 Jul 2025 10:59:10 +0000 (18:59 +0800)] 
90-uki-copy.install: Skip removing UKI related when BOOT_ENTRY_TYPE=type1

Commit b6d499768394
("Add --entry-type=type1|type2 option to kernel-install.")

Skip removing UKI related contents when BOOT_ENTRY_TYPE=type1

Signed-off-by: Li Tian <litian@redhat.com>
3 months agomachined mini tweaks (#38226)
Lennart Poettering [Tue, 15 Jul 2025 12:33:44 +0000 (14:33 +0200)] 
machined mini tweaks (#38226)

3 months agonspawn: Generalize parse_bind_user_shell()
DaanDeMeyer [Mon, 14 Jul 2025 08:23:04 +0000 (10:23 +0200)] 
nspawn: Generalize parse_bind_user_shell()

Preparation for reuse in vmspawn.

3 months agomachined: use RET_GATHER() more 38226/head
Lennart Poettering [Tue, 15 Jul 2025 10:15:47 +0000 (12:15 +0200)] 
machined: use RET_GATHER() more

3 months agomachined: align string table
Lennart Poettering [Tue, 15 Jul 2025 10:15:34 +0000 (12:15 +0200)] 
machined: align string table

3 months agotree-wide: the env var is called $XDG_RUNTIME_DIR, not $XDG_RUNTIME_DIRECTORY
Lennart Poettering [Tue, 15 Jul 2025 10:08:12 +0000 (12:08 +0200)] 
tree-wide: the env var is called $XDG_RUNTIME_DIR, not $XDG_RUNTIME_DIRECTORY

3 months agoshell-completion: prettify and discard error messages (#38210)
Luca Boccassi [Tue, 15 Jul 2025 08:30:30 +0000 (09:30 +0100)] 
shell-completion: prettify and discard error messages (#38210)

followup of #38182

3 months agoKill several SysV compat functionalities (v258) (#38178)
Luca Boccassi [Tue, 15 Jul 2025 00:21:13 +0000 (01:21 +0100)] 
Kill several SysV compat functionalities (v258) (#38178)