]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
8 days agotest-execute: support case that the games user in multiple groups 39905/head
Yu Watanabe [Tue, 2 Dec 2025 21:59:31 +0000 (06:59 +0900)] 
test-execute: support case that the games user in multiple groups

On Alpine/postmarketOS,
```
$ id -nG games
games users
```

8 days agointegration-test: skip several test cases when nss module is not supported
Yu Watanabe [Sat, 29 Nov 2025 01:02:19 +0000 (10:02 +0900)] 
integration-test: skip several test cases when nss module is not supported

8 days agotest: skip several test cases when built with musl
Yu Watanabe [Sat, 29 Nov 2025 01:01:56 +0000 (10:01 +0900)] 
test: skip several test cases when built with musl

8 days agointegration-test: skip several test cases on Alpine/postmarketOS
Yu Watanabe [Fri, 28 Nov 2025 14:27:26 +0000 (23:27 +0900)] 
integration-test: skip several test cases on Alpine/postmarketOS

8 days agotest: support coreutils built with --enable-single-binary=symlinks
Yu Watanabe [Sat, 27 Sep 2025 04:29:07 +0000 (13:29 +0900)] 
test: support coreutils built with --enable-single-binary=symlinks

Alpine/postmarketOS build coreutils with --enable-single-binary=symlinks.
In that case, all commands provided by coreutils are symlink to
/usr/bin/coreutils, and it calls prctl(PR_SET_NAME, argv[0]), hence the comm
will be the path to the symlink.

This also makes not kill sleep command with SIGKILL in TEST-17-UDEV, that is
totally unnecessary.

8 days agotest-network: IPv4-mapped-IPv6 addresses may be shown as pure IPv6 address
Yu Watanabe [Tue, 25 Nov 2025 17:47:57 +0000 (02:47 +0900)] 
test-network: IPv4-mapped-IPv6 addresses may be shown as pure IPv6 address

It seems ip command built with musl always shows IPv6 addresses in the same way.

8 days agotest-network: also stop nftables.service
Yu Watanabe [Tue, 25 Nov 2025 16:47:30 +0000 (01:47 +0900)] 
test-network: also stop nftables.service

It is a firewall service used in postmarketOS.
When it is active, then e.g. DHCP packets are filtered, and many
tests will be failed.

8 days agoTEST-75-RESOLVED: move test cases for NFTSet= to TEST-07-PID1
Yu Watanabe [Mon, 24 Nov 2025 15:48:16 +0000 (00:48 +0900)] 
TEST-75-RESOLVED: move test cases for NFTSet= to TEST-07-PID1

The test cases are not related to systemd-resolved.

While moving the test cases, now userdbctl is used for obtaining UID/GID
for the dynamic user, as musl does not support nss module, hence getent
does not provide information about the dynamic user.

8 days agoTEST-46-HOMED: split into small testcases
Yu Watanabe [Tue, 25 Nov 2025 00:50:36 +0000 (09:50 +0900)] 
TEST-46-HOMED: split into small testcases

This also replace long IDENTITY= line with pretty json string.

8 days agoTEST-35-LOGIN: fix bus path when the session does not have corresponding audit session
Yu Watanabe [Wed, 26 Nov 2025 13:44:14 +0000 (22:44 +0900)] 
TEST-35-LOGIN: fix bus path when the session does not have corresponding audit session

If there is no corresponding audit session, then the session ID is
prefixed with 'c', and in that case the session ID should be used as is
in bus path.

8 days agoTEST-35-LOGIN: show remaining sessions in cleanup_session()
Yu Watanabe [Wed, 26 Nov 2025 14:51:29 +0000 (23:51 +0900)] 
TEST-35-LOGIN: show remaining sessions in cleanup_session()

Otherwise it is hard to see which session is still active.

8 days agoTEST-13-NSPAWN: the host kernel may not support /proc/kcore
Yu Watanabe [Tue, 25 Nov 2025 18:13:15 +0000 (03:13 +0900)] 
TEST-13-NSPAWN: the host kernel may not support /proc/kcore

8 days agotest-seccomp: do not fail when already MemoryDenyWriteExecute= is enabled
Yu Watanabe [Mon, 1 Dec 2025 00:24:57 +0000 (09:24 +0900)] 
test-seccomp: do not fail when already MemoryDenyWriteExecute= is enabled

8 days agotest: always use bash
Yu Watanabe [Mon, 24 Nov 2025 04:37:04 +0000 (13:37 +0900)] 
test: always use bash

If sh is not bash, some builtin command behave slightly differently.
E.g. if sh is provided by busybox, its builtin test command does not check if
the path is a mount point or not, and 'test -w' only checks the access mode of
the inode. So, even if a readonly filesystem is mounted on a directory,
the test command may succeed.

To avoid such confusion, let's unconditionally use bash.

8 days agoci: pass --no-stdsplit to meson test
Yu Watanabe [Wed, 26 Nov 2025 08:37:19 +0000 (17:37 +0900)] 
ci: pass --no-stdsplit to meson test

Hopefully, we will get more informative logs on failure.

9 days agoAdd 82-net-auto-link-local.{hwdb,rules} to build system and add BMC USB-to-USB links...
Yu Watanabe [Sat, 6 Dec 2025 00:24:55 +0000 (09:24 +0900)] 
Add 82-net-auto-link-local.{hwdb,rules} to build system and add BMC USB-to-USB links to hwdb (#40006)

Using systems with ADLINK COM-HPC-ALT, ASRock Rack ALTRAD8UD-1L2T and
AMPONED8-2T/BCM boards, there's an issue due to the internal network
connection between the BMC and host, which runs over USB (i.e. Linux
running on the BMC configures a USB gadget ethernet device, with a link
local address).

With the default configuration on Ubuntu (I'm using 25.10),
NetworkManager repeatedly tries to get an address for the interface
using DHCP, resulting in an "Activation of network connection failed"
notification every minute or two.

Add 82-net-auto-link-local.hwdb and 82-net-auto-link-local.rules to the
build system and update 82-net-auto-link-local.hwdb to add the USB
device vendor/product pairs I've seen on the various systems I have with
Ampere Altra and AmpereOne CPUs.

9 days agohwdb: Add BMC USB-to-USB link devices to 82-net-auto-link-local.hwdb 40006/head
Rebecca Cran [Fri, 5 Dec 2025 18:25:15 +0000 (11:25 -0700)] 
hwdb: Add BMC USB-to-USB link devices to 82-net-auto-link-local.hwdb

Add BMC USB-to-USB Ethernet gadget devices found on ASRock Rack and
ADLINK boards containing Ampere Altra and AmpereOne CPUs to
82-net-auto-link-local.hwdb. Update 20-usb-vendor-model.hwdb with
devices which were missing.

9 days agohwdb,rules: add 82-net-auto-link-local.{hwdb,rules} to build
Rebecca Cran [Fri, 5 Dec 2025 18:20:05 +0000 (11:20 -0700)] 
hwdb,rules: add 82-net-auto-link-local.{hwdb,rules} to build

Update hwdb.d/meson.build and rules.d/meson.build to add the
82-net-auto-link-local.{hwdb,rules} files into the build. Commit
ec541c569bd19bbb81791139371111a9a7f1a3d8 in 2023 added the files
but didn't add them to the build system.

9 days agoudev-rules: use the right variable
David Tardon [Fri, 5 Dec 2025 14:17:13 +0000 (15:17 +0100)] 
udev-rules: use the right variable

We carefully prepare a copy of a local buffer to save in device cache
and then save the buffer there instead... This leads to abort in free()
on exit (also, copied is leaked).

Reproducer:
 # udevadm test /sys/block/sr0

Follow-up-for: a9559ebcbcf3098b2c14e5e10e99d05aaffe4ac3

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2406118
9 days agopid1: do not fail if dlopen of libmount fails because it is not compiled in
Luca Boccassi [Fri, 5 Dec 2025 11:58:34 +0000 (11:58 +0000)] 
pid1: do not fail if dlopen of libmount fails because it is not compiled in

It is now possible to build and run without libmount. But if support
is compiled in, then we need to be able to load it. Hence gracefully
skip it when support is not compiled in, but fail otherwise.

9 days agoReapply "pid1: pull in libmount unconditionally"
Luca Boccassi [Fri, 5 Dec 2025 11:54:27 +0000 (11:54 +0000)] 
Reapply "pid1: pull in libmount unconditionally"

It was actually intended to load libmount very early, as it is
needed by more than just mount units, such as umount_recursive(),
bind_remount_recursive(), get_sub_mounts(), etc.

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

This reverts commit 46b4b33c256b918652d5e0b1b5ec376b598111f6.

9 days agopo: Translated using Weblate (Czech)
Daniel Rusek [Fri, 5 Dec 2025 15:00:53 +0000 (15:00 +0000)] 
po: Translated using Weblate (Czech)

Currently translated at 100.0% (264 of 264 strings)

Co-authored-by: Daniel Rusek <mail@asciiwolf.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/cs/
Translation: systemd/main

9 days agoTranslations update from Fedora Weblate (#39998)
Luca Boccassi [Fri, 5 Dec 2025 14:24:23 +0000 (14:24 +0000)] 
Translations update from Fedora Weblate (#39998)

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)

9 days agopo: Translated using Weblate (Czech) 39998/head
Daniel Rusek [Fri, 5 Dec 2025 13:08:36 +0000 (13:08 +0000)] 
po: Translated using Weblate (Czech)

Currently translated at 100.0% (264 of 264 strings)

Co-authored-by: Daniel Rusek <mail@asciiwolf.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/cs/
Translation: systemd/main

9 days agopo: Translated using Weblate (Czech)
Pavel Borecki [Fri, 5 Dec 2025 13:08:35 +0000 (13:08 +0000)] 
po: Translated using Weblate (Czech)

Currently translated at 100.0% (264 of 264 strings)

Co-authored-by: Pavel Borecki <pavel.borecki@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/cs/
Translation: systemd/main

9 days agomachined: add description to varlink server, unify error messages
Zbigniew Jędrzejewski-Szmek [Wed, 26 Nov 2025 21:11:24 +0000 (22:11 +0100)] 
machined: add description to varlink server, unify error messages

manager_varlink_init_resolve_hook and manager_varlink_init_userdb are very
similar, but one didn't set a description and the other one had an error
message which didn't print the offending path.

Define constants for the paths, and also change other similar constants
to have slightly shorter names. (It's an "address" and "path", but we don't
need to have both parts in the name, esp. that it makes the name very long.)

9 days agosd-netlink: read error message for NFNL_MSG_BATCH_BEGIN (#39967)
Zbigniew Jędrzejewski-Szmek [Fri, 5 Dec 2025 11:12:03 +0000 (12:12 +0100)] 
sd-netlink: read error message for NFNL_MSG_BATCH_BEGIN (#39967)

Before:
```
$ unshare --user --map-users=0:$(id -u):1 --map-groups=0:$(id -g):1 build/test-firewall-util
/* test_v6 */
src/test/test-firewall-util.c:34: Assertion failed: "r = fw_nftables_add_masquerade(nfnl, true, AF_INET6, &u1, 128)" failed with unexpected error: -110/ETIMEDOUT
Aborted (core dumped)
```

After:
```
$ unshare --user --map-users=0:$(id -u):1 --map-groups=0:$(id -g):1 /var/build/test-firewall-util
/* test_v6 */
test-firewall-util: Failed to add IPv6 masquerade, skipping tests: Operation not permitted
/* test_v4 */
test-firewall-util: Failed to add IPv4 masquerade, skipping tests: Operation not permitted
```

9 days agoman: Clarify secure-boot-enroll defaults
Colin Walters [Thu, 4 Dec 2025 19:00:16 +0000 (14:00 -0500)] 
man: Clarify secure-boot-enroll defaults

Clarify in the docs that `if-safe` is the default by noting
that in the text for it, but also moving it to the first mentioned
option.

Make explicit in `man systemd-boot` that the `secure-boot-enroll`
option is specified in the `loader.conf`

Update an outdated comment in boot.c around the same.

Signed-off-by: Colin Walters <walters@verbum.org>
9 days agosysupdate: also mention patterns to match in error log on failure
Luca Boccassi [Fri, 28 Nov 2025 16:56:11 +0000 (16:56 +0000)] 
sysupdate: also mention patterns to match in error log on failure

The gpt uuid is not the only thing that needs to match, the pattern
does as well, so mention it in the error log if present

9 days agoFix systemctl start --verbose off-by-one logs (#39927)
Zbigniew Jędrzejewski-Szmek [Fri, 5 Dec 2025 10:09:14 +0000 (11:09 +0100)] 
Fix systemctl start --verbose off-by-one logs (#39927)

9 days agomusl: introduce wrappers for getopt() and getopt_long()
Yu Watanabe [Sun, 30 Nov 2025 02:10:02 +0000 (11:10 +0900)] 
musl: introduce wrappers for getopt() and getopt_long()

musl's getopt_long() behaves something different in handling optional arguments:
```
$ journalctl _PID=1 _COMM=systemd --since 19:19:01 -n all --follow
Failed to add match 'all': Invalid argument
```
This introduces getopt_long_fix() that reorders the passed arguments to make
getopt_long() provided by musl works as what we expect.

Also, musl's getopt() always behaves POSIXLY_CORRECT mode, and stops parsing
arguments when a non-option string found. Let's always use getopt_long().

10 days agoinclude: update kernel headers from v6.18
Yu Watanabe [Wed, 3 Dec 2025 22:58:02 +0000 (07:58 +0900)] 
include: update kernel headers from v6.18

11 days agotest-firewall-util: allow to run test-firewall-util 39967/head
Yu Watanabe [Tue, 2 Dec 2025 16:35:34 +0000 (01:35 +0900)] 
test-firewall-util: allow to run test-firewall-util

Now fw_nftables_add_masquerade() should return EOPNOTSUPP or so if
unprivileged. It is not necessary to skip whole tests earlier.

11 days agosd-netlink: also read the reply for NFNL_MSG_BATCH_BEGIN message
Yu Watanabe [Tue, 2 Dec 2025 10:27:56 +0000 (19:27 +0900)] 
sd-netlink: also read the reply for NFNL_MSG_BATCH_BEGIN message

When we send a batch of nfnl messages, but e.g. without sufficient
privilege, the kernel may only return an error message for
NFNL_MSG_BATCH_BEGIN and ignore all later messages.
So, we need to read the response for the NFNL_MSG_BATCH_BEGIN,
and if it is an error ignore the replies for the rest.

11 days agosd-netlink: drop unused ret_messages argument
Yu Watanabe [Tue, 2 Dec 2025 15:28:55 +0000 (00:28 +0900)] 
sd-netlink: drop unused ret_messages argument

This is not only unused, the kernel never provide any meaningful reply
for batch message. Let's drop it.

11 days agosd-netlink: introduce sd_netlink_ignore_serial()
Yu Watanabe [Tue, 2 Dec 2025 14:02:50 +0000 (23:02 +0900)] 
sd-netlink: introduce sd_netlink_ignore_serial()

When we send a message with NLM_F_ACK, but if later we are not
interested in the reply and do not want to call sd_netlink_read(),
the reply will be stored in the rqueue forever.

Let's introduce a way to ignore received message without waiting reply.

11 days agosd-netlink: introduce netlink_now() and move timespan_to_timestamp()
Yu Watanabe [Tue, 2 Dec 2025 13:57:53 +0000 (22:57 +0900)] 
sd-netlink: introduce netlink_now() and move timespan_to_timestamp()

When sd-event is attached to the sd-netlink object, use the timestamp of
the current event, otherwise call now().

This mostly change nothing. Preparation for later change.

11 days agoinclude: fix typo
Yu Watanabe [Wed, 3 Dec 2025 22:49:36 +0000 (07:49 +0900)] 
include: fix typo

Follow-up for ec32732043550ec311dfb0e7be4e7f114366dd24.

11 days agoman: drop --import-credential mention from systemd-nspawn(1)
Alexandru Tocar [Wed, 3 Dec 2025 22:28:36 +0000 (23:28 +0100)] 
man: drop --import-credential mention from systemd-nspawn(1)

11 days agodissect: Stop refusing external verity settings for mountfsd
Daan De Meyer [Wed, 3 Dec 2025 09:14:43 +0000 (10:14 +0100)] 
dissect: Stop refusing external verity settings for mountfsd

These are supported now so no point in refusing them in systemd-dissect

11 days agorun-generator: use generator_add_symlink()
Antonio Alvarez Feijoo [Tue, 2 Dec 2025 07:20:13 +0000 (08:20 +0100)] 
run-generator: use generator_add_symlink()

11 days agoman/inhibit: mention handle-reboot-key operation
Antonio Alvarez Feijoo [Tue, 2 Dec 2025 14:43:22 +0000 (15:43 +0100)] 
man/inhibit: mention handle-reboot-key operation

12 days agokernel-install: exit with option --json=help (#39974)
Antonio Álvarez Feijoo [Tue, 2 Dec 2025 16:56:01 +0000 (17:56 +0100)] 
kernel-install: exit with option --json=help (#39974)

In that case, `parse_json_argument()` returns 0.

Follow-up for bdd36c003d9c4c4ca89c92be504615378f61513c (v255).

12 days agocryptsetup: downgrade dlopen not compiled message to debug
Luca Boccassi [Tue, 2 Dec 2025 14:16:27 +0000 (14:16 +0000)] 
cryptsetup: downgrade dlopen not compiled message to debug

Every other log in this function is debug level, so downgrade this too.
Otherwise compiling without libcryptsetup means sd-executor logs at
error level when starting any service, regardless of whether it is
needed or not.

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

Follow-up for efaf5a763d6a06645dba8e88ebc15e887d59cbef

12 days agomeson: rework include_directories() and finding of tools (#39956)
Yu Watanabe [Tue, 2 Dec 2025 11:07:37 +0000 (20:07 +0900)] 
meson: rework include_directories() and finding of tools (#39956)

This is a cleanup in preparation for later additions.

13 days agomachined: in --user mode, restrict register access to our own UID, and that's it
Lennart Poettering [Wed, 26 Nov 2025 10:16:46 +0000 (11:16 +0100)] 
machined: in --user mode, restrict register access to our own UID, and that's it

This is a follow-up for 119d332d9c2cf1974b235c8d9e4e3ad821cf436a and
ensures the check only is applied to the system instance of machined. It
doesn't really apply to the per-user instance, because we never want to
permit differently privileged clients access anyway.

(The process_is_owned_by_uid() call might fail if invoked unpriv, hence
there's value in not calling it if machined runs in --user mode, it's
what makes machined actually work)

13 days agoexec-invoke: fix type for gid
Lennart Poettering [Fri, 28 Nov 2025 15:19:58 +0000 (16:19 +0100)] 
exec-invoke: fix type for gid

13 days agocgroup-util: fix cg_pid_get_user_unit() to actually query user units
Luca Boccassi [Mon, 1 Dec 2025 19:25:25 +0000 (19:25 +0000)] 
cgroup-util: fix cg_pid_get_user_unit() to actually query user units

Refactor switched to the wrong implementation for this inline,
breaking querying for user units

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

Follow-up for 015025cba204de79c90e3cf7adf48505b556df4c

13 days agoman: remove notes about limitations of unpriv containers that don't apply anymore
Lennart Poettering [Thu, 27 Nov 2025 08:35:48 +0000 (09:35 +0100)] 
man: remove notes about limitations of unpriv containers that don't apply anymore

13 days agomeson: add tools/meson.build 39956/head
Zbigniew Jędrzejewski-Szmek [Mon, 1 Dec 2025 15:09:43 +0000 (16:09 +0100)] 
meson: add tools/meson.build

Previously, we looked for scripts in the tools/ directory ad hoc,
wherever they were needed. Let's do those checks in one place.
The main meson.build file is shrunk somewhat, which is always nice.

13 days agomeson: add source dir to include_directories automatically
Zbigniew Jędrzejewski-Szmek [Mon, 1 Dec 2025 14:35:22 +0000 (15:35 +0100)] 
meson: add source dir to include_directories automatically

Quite often we need to specify include_directories('.'). Normally, meson
does this automatically, but we specify implicit_include_directories : false,
see 30d20907bddfe064cc3437a888dd8f00d14929e4 for an explanation.
Passing the include_directories argument through the template layers was rather
cumbersome. Let's simplify things by always including the directory of the
first source file. This makes the definitions simpler, at the cost of having an
unnecessary include directory in the list in some cases.

(Tests are excluded from this change, because they happen to not need this, but
also because some tests have source[0] which is a custom target, and we'd need
newer meson to support that.)

13 days agomeson: reuse variable in one more place
Zbigniew Jędrzejewski-Szmek [Mon, 1 Dec 2025 13:37:22 +0000 (14:37 +0100)] 
meson: reuse variable in one more place

13 days agobuild(deps): bump softprops/action-gh-release from 2.4.1 to 2.5.0
dependabot[bot] [Mon, 1 Dec 2025 11:20:07 +0000 (11:20 +0000)] 
build(deps): bump softprops/action-gh-release from 2.4.1 to 2.5.0

Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 2.4.1 to 2.5.0.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/softprops/action-gh-release/compare/6da8fa9354ddfdc4aeace5fc48d7f679b5214090...a06a81a03ee405af7f2048a818ed3f03bbf83c7b)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-version: 2.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
13 days agobuild(deps): bump super-linter/super-linter from 7.4.0 to 8.3.0
dependabot[bot] [Mon, 1 Dec 2025 11:20:04 +0000 (11:20 +0000)] 
build(deps): bump super-linter/super-linter from 7.4.0 to 8.3.0

Bumps [super-linter/super-linter](https://github.com/super-linter/super-linter) from 7.4.0 to 8.3.0.
- [Release notes](https://github.com/super-linter/super-linter/releases)
- [Changelog](https://github.com/super-linter/super-linter/blob/main/CHANGELOG.md)
- [Commits](https://github.com/super-linter/super-linter/compare/12150456a73e248bdc94d0794898f94e23127c88...502f4fe48a81a392756e173e39a861f8c8efe056)

---
updated-dependencies:
- dependency-name: super-linter/super-linter
  dependency-version: 8.3.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
13 days agotest-kernel-install: respect TMPDIR in expected output
Mike Gilbert [Sat, 29 Nov 2025 23:30:28 +0000 (18:30 -0500)] 
test-kernel-install: respect TMPDIR in expected output

2 weeks agohwdb: add ProtoArc EM01 NL mouse configuration
Abílio Costa [Sat, 29 Nov 2025 03:05:13 +0000 (03:05 +0000)] 
hwdb: add ProtoArc EM01 NL mouse configuration

2 weeks agopo: Translated using Weblate (Spanish)
Fco. Javier F. Serrador [Sat, 29 Nov 2025 03:49:48 +0000 (03:49 +0000)] 
po: Translated using Weblate (Spanish)

Currently translated at 100.0% (264 of 264 strings)

Co-authored-by: Fco. Javier F. Serrador <fserrador@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/es/
Translation: systemd/main

2 weeks agosd-notify: print a debug message when sd_notify() succeds 39927/head
Zbigniew Jędrzejewski-Szmek [Thu, 27 Nov 2025 14:04:48 +0000 (15:04 +0100)] 
sd-notify: print a debug message when sd_notify() succeds

… and also when it fails, in the few cases where this wasn't done already.
When I was debugging https://github.com/systemd/systemd/issues/39048, it
was quite confusing that we print copious information about D-Bus messages
and all other steps we're undertaking, but nothing about the sd-notify
messages which are much more important. Add some debug messages for the
cases where we didn't print anything. (The case where $NOTIFY_SOCKET is
not set in left unchanged. The variable is often left unset and we don't
need to spam logs in that trivial case.)

2 weeks agosystemctl: stop showing last message from previous run
Zbigniew Jędrzejewski-Szmek [Thu, 27 Nov 2025 12:06:47 +0000 (13:06 +0100)] 
systemctl: stop showing last message from previous run

--lines=1 means that we show the last message about the unit, whatever it is:

$ SYSTEMD_LOG_LEVEL=debug systemctl --verbose start demo2
...
Invoking 'journalctl -q --follow --no-pager --lines=1 --synchronize-on-exit=yes --unit=demo2.service' as child.
...
Directory /var/log/journal/7d16833bfa924410851e2a193bcfd4ba added.
Journal effective settings seal=no keyed_hash=yes compress=ZSTD compress_threshold_bytes=8B
...
Reiterating files to get inotify watches established.
Considering root directory '/run/log/journal'.
Considering root directory '/var/log/journal'.
Considering directory '/var/log/journal/7d16833bfa924410851e2a193bcfd4ba'.
Nov 26 17:24:35 rawhide systemd[1]: Finished demo2.service.
...
Executing dbus call org.freedesktop.systemd1.Manager StartUnit(demo2.service, replace)
...
Job for demo2.service finished.
Got result done/Success for job demo2.service.
journal: Sending message: {"method":"io.systemd.Journal.Synchronize","parameters":{"offline":false}}
Nov 27 13:05:30 rawhide systemd[1]: Starting demo2.service...
Nov 27 13:05:30 rawhide systemd[1]: demo2.service: Deactivated successfully.
Nov 27 13:05:30 rawhide systemd[1]: Finished demo2.service.
...

We obviously should only show _new_ messages, hence change to --lines=0.
This works properly after the fix in the previous commit.

Fixes #39048.

2 weeks agojournal: send READY=1 also when --lines=0 is given
Zbigniew Jędrzejewski-Szmek [Thu, 27 Nov 2025 12:01:59 +0000 (13:01 +0100)] 
journal: send READY=1 also when --lines=0 is given

If --lines=0 is given, we'd skip the setup and not invoke sd_notify,
potentially blocking the caller. Change the condition for the callback
to also include that case. Since then the callback would always be
set, the 'if' statement is not necessary anymore.

2 weeks agoSymlink for the /dev/ptp0 in vmware (#39917)
João Rodrigues [Wed, 26 Nov 2025 18:54:03 +0000 (18:54 +0000)] 
Symlink for the /dev/ptp0 in vmware (#39917)

There are rules to create a symlink for the /dev/ptp0 device in KVM and
Hyper-V virtualization infrastructure but not for vmware.

2 weeks agoPull in recent changes from Weblate (#39920)
Yu Watanabe [Wed, 26 Nov 2025 18:10:29 +0000 (03:10 +0900)] 
Pull in recent changes from Weblate (#39920)

One of the pending commits in Weblate causes conflicts due to an
unfortunate timing with 9e929e4aa78a38f822be7aa3da9c11994ad94c07, so
let's pull the changes into the main tree manually (and resolve the
conflicts).

2 weeks agopo: Translated using Weblate (Chinese (Simplified) (zh_CN)) 39920/head
lumingzh [Wed, 26 Nov 2025 02:34:53 +0000 (02:34 +0000)] 
po: Translated using Weblate (Chinese (Simplified) (zh_CN))

Currently translated at 100.0% (264 of 264 strings)

Translation: systemd/main
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/zh_CN/

2 weeks agopo: Translated using Weblate (Chinese (Simplified) (zh_CN))
Jesse Guo [Wed, 26 Nov 2025 02:32:21 +0000 (02:32 +0000)] 
po: Translated using Weblate (Chinese (Simplified) (zh_CN))

Currently translated at 100.0% (264 of 264 strings)

Translation: systemd/main
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/zh_CN/

2 weeks agoanalyze-dlopen-metadata: honor --no-legend and --no-pager
Mike Yuan [Wed, 26 Nov 2025 13:58:32 +0000 (14:58 +0100)] 
analyze-dlopen-metadata: honor --no-legend and --no-pager

2 weeks agomeson: bump version to v259~rc2 v259-rc2
Luca Boccassi [Wed, 26 Nov 2025 12:26:56 +0000 (12:26 +0000)] 
meson: bump version to v259~rc2

2 weeks agoNEWS: finalize date
Luca Boccassi [Wed, 26 Nov 2025 12:26:45 +0000 (12:26 +0000)] 
NEWS: finalize date

2 weeks agoci: split out nvpcr test, so that it runs before rest of pcrextend (#39915)
Lennart Poettering [Wed, 26 Nov 2025 12:24:57 +0000 (13:24 +0100)] 
ci: split out nvpcr test, so that it runs before rest of pcrextend (#39915)

in pcrextend we destroy pcr 11, and if we are booted in a kernel that
has pcr11 sigs, we cannot use that signature anymore. hence, let's do
the nvpcr test first, before doing the pcrextend stuff.

Fixes: #39582
2 weeks agotree-wide: Fix declaration/definition parameter name mismatches
Daan De Meyer [Tue, 25 Nov 2025 12:44:03 +0000 (13:44 +0100)] 
tree-wide: Fix declaration/definition parameter name mismatches

2 weeks agoChores for RC2 (#39901)
Luca Boccassi [Wed, 26 Nov 2025 09:52:33 +0000 (09:52 +0000)] 
Chores for RC2 (#39901)

2 weeks agoSD_JSON_BUILD_PAIR() conversions with coccinelle script (#39858)
Yu Watanabe [Wed, 26 Nov 2025 07:35:35 +0000 (16:35 +0900)] 
SD_JSON_BUILD_PAIR() conversions with coccinelle script (#39858)

2 weeks agocore/mount: comprehensively disable mount unit support if no libmount (#39884)
Yu Watanabe [Wed, 26 Nov 2025 07:29:30 +0000 (16:29 +0900)] 
core/mount: comprehensively disable mount unit support if no libmount (#39884)

2 weeks agorun0: two follow-ups (#39900)
Yu Watanabe [Wed, 26 Nov 2025 07:24:42 +0000 (16:24 +0900)] 
run0: two follow-ups (#39900)

2 weeks agosmbios11: use size_add() where appropriate
Mike Yuan [Tue, 25 Nov 2025 17:18:29 +0000 (18:18 +0100)] 
smbios11: use size_add() where appropriate

Follow-up for 33b0642e6ad33057a9f56763008e565d936d3948

2 weeks agoimport: Make naming consistent
Daan De Meyer [Tue, 25 Nov 2025 12:33:25 +0000 (13:33 +0100)] 
import: Make naming consistent

Always abbreviate import/pull/export structs with their first letter
instead of only doing it in some places and using the wrong letter in
other places.

2 weeks agocore: Rename error sd_bus_error parameters to reterr_error
Daan De Meyer [Tue, 25 Nov 2025 12:03:18 +0000 (13:03 +0100)] 
core: Rename error sd_bus_error parameters to reterr_error

2 weeks agofsprg: Drop const from gcry_mpi_t arguments
Daan De Meyer [Tue, 25 Nov 2025 11:09:34 +0000 (12:09 +0100)] 
fsprg: Drop const from gcry_mpi_t arguments

gcry_mpi_t is defined as "typedef struct gcry_mpi *gcry_mpi_t;".
When const is applied to this type, it resolves to
"struct gcry_mpi *const" instead of what we expect ("const struct gcry_mpi *").

So we end up with a const pointer to a mutable object instead of a mutable
pointer to a const object. Since the pointer passed to the function
is copied regardless, making it const has zero benefit.

You'd think we could instead stop using gcry_mpi_t and replace it with
"const struct gcry_mpi *", except that gcrypt leaked this mess into its
api, so it expects const pointers to mutable objects as well, which means
we can't take pointers to const objects as arguments, as we'd discard the qualifier
when calling a gcrypt function.

To avoid confusion, let's drop the const qualifiers from the gcry_mpi_t arguments.

2 weeks agotree-wide: Small fixes for various clang-tidy warnings
Daan De Meyer [Fri, 21 Nov 2025 10:14:32 +0000 (11:14 +0100)] 
tree-wide: Small fixes for various clang-tidy warnings

2 weeks agolibmount-util: build .c only if libmount feature is enabled 39884/head
Mike Yuan [Tue, 25 Nov 2025 02:26:10 +0000 (03:26 +0100)] 
libmount-util: build .c only if libmount feature is enabled

Follow-up for 7336f2c748fd37a60a3f5353ad198c1534d6cb5f

This alignes with some other optional modules in shraed/,
and it allows dlopen_libmount() to be optimized out entirely.
Let's avoid emitting pointless symbols.

2 weeks agoRevert "pid1: pull in libmount unconditionally"
Mike Yuan [Tue, 25 Nov 2025 02:19:37 +0000 (03:19 +0100)] 
Revert "pid1: pull in libmount unconditionally"

This reverts commit 6069de1ed34735482dc63ba7431f605b858ea719.

2 weeks agocore/mount: comprehensively disable mount unit support if no libmount
Mike Yuan [Tue, 25 Nov 2025 01:34:08 +0000 (02:34 +0100)] 
core/mount: comprehensively disable mount unit support if no libmount

Follow-up for b3243f4beead231e27a4f017f53288a303177cb2
and 5df44d0f6a1ba23b52b0c46a5e720f334f152ae5

Since we now consider this a supported senario, let's hook up
libmount loading with the high-level unit_type_supported() machinery
and gracefully skip the whole unit accordingly.

2 weeks agoNEWS: update contributors list 39901/head
Luca Boccassi [Wed, 26 Nov 2025 01:19:25 +0000 (01:19 +0000)] 
NEWS: update contributors list

2 weeks agoTranslations: update systemd-po
Luca Boccassi [Wed, 26 Nov 2025 01:18:22 +0000 (01:18 +0000)] 
Translations: update systemd-po

ninja -C build systemd-update-po

2 weeks agoTranslations: update systemd-pot
Luca Boccassi [Wed, 26 Nov 2025 01:17:18 +0000 (01:17 +0000)] 
Translations: update systemd-pot

ninja -C build systemd-pot

2 weeks agosyscalls: add 'pragma export' to script that generates header
Luca Boccassi [Wed, 26 Nov 2025 01:15:23 +0000 (01:15 +0000)] 
syscalls: add 'pragma export' to script that generates header

Otherwise it gets lost every time the header is regenerated

Follow-up for 3111327ca4a537454e40dae2a484c043bb89f7f7

2 weeks agoUpdate hwdb
Luca Boccassi [Wed, 26 Nov 2025 01:13:40 +0000 (01:13 +0000)] 
Update hwdb

ninja -C build update-hwdb

2 weeks agorun: merge privileged_execution() into become_root() 39900/head
Mike Yuan [Tue, 25 Nov 2025 17:42:11 +0000 (18:42 +0100)] 
run: merge privileged_execution() into become_root()

This got split in 5cabeed80b30972babc7a082ca794c6b197e72ab
to accommodate --empower, and later --empower received
dedicated handling again (c36942916b7409109687d693c04b039def9c5b79).
I think the new naming makes more sense - --empower is privileged
after all, just with uid left unchanged. Hence merge
privileged_execution back into it.

2 weeks agorun0: swap the order of setting default wd and user
Mike Yuan [Tue, 25 Nov 2025 17:52:05 +0000 (18:52 +0100)] 
run0: swap the order of setting default wd and user

Follow-up for 4f6ef13f43aed654cbadb2785afee1ce567d710d

Special casing --area= rather than --empower makes the code
self-explanatory, as --area= is about alternative home dir
after all. On top of that this ensures when --area= and
--empower are specified in combination we honor the home dir
switch, too.

2 weeks agodlfcn-util: fix potential dl handle leak
Mike Yuan [Tue, 25 Nov 2025 02:52:57 +0000 (03:52 +0100)] 
dlfcn-util: fix potential dl handle leak

Follow-up for 2c7bdaf9f144ad339c72628579183fc849f2b794

2 weeks agorun: Don't make executable absolute when --root-directory= is used
Daan De Meyer [Mon, 24 Nov 2025 18:52:40 +0000 (19:52 +0100)] 
run: Don't make executable absolute when --root-directory= is used

Also, unless --same-root-dir was specified, don't make the executable
absolute if we're running in a chroot. Situations like this are still iffy,
but we might as well handle them a little more gracefully.

2 weeks agosd-journal: fix a copy-paste error
Frantisek Sumsal [Tue, 25 Nov 2025 17:40:10 +0000 (18:40 +0100)] 
sd-journal: fix a copy-paste error

Dereference the Directory pointer in the debug message instead of the
(probably already freed) JournalFile one.

2 weeks agotree-wide: Fix constness issues with newer glibc (#39896)
Zbigniew Jędrzejewski-Szmek [Tue, 25 Nov 2025 23:32:54 +0000 (00:32 +0100)] 
tree-wide: Fix constness issues with newer glibc (#39896)

Latest glibc uses _Generic to have strstr() and other functions return
const char* or char* based on whether the input is a const char* or a
char*. This causes build failures as we previously always expected a
char*.

Let's fix the compilation failures and add our own macros similar to
glibc's to have string functions that return a mutable or const pointer
depending on the input.

2 weeks agotree-wide: Fix constness issues with newer glibc 39896/head
Daan De Meyer [Tue, 25 Nov 2025 15:46:04 +0000 (16:46 +0100)] 
tree-wide: Fix constness issues with newer glibc

Latest glibc uses _Generic to have strstr() and other functions return
const char* or char* based on whether the input is a const char* or a
char*. This causes build failures as we previously always expected a char*.

Let's fix the compilation failures and add our own macros similar to glibc's
to have string functions that return a mutable or const pointer depending on
the input.

2 weeks agotree-wide: sizeof() fixes
Daan De Meyer [Fri, 21 Nov 2025 08:25:18 +0000 (09:25 +0100)] 
tree-wide: sizeof() fixes

- TIME_T_MAX is always time_t so the check in time-util.c was redundant
- quota-util.c was zero-ing a pointer
- smbios11.c was calling sizeof(pointer)

2 weeks agorun0: Give --empower its own color, title and emoji
Daan De Meyer [Mon, 24 Nov 2025 18:48:49 +0000 (19:48 +0100)] 
run0: Give --empower its own color, title and emoji

When in --empower mode, all created files will be owned by the current
user, which could be problematic when creating files outside of the
current user's home directory, as other processes running as the same
user would be able to edit those files.

While this is a bit of an edge case since users already have to go through
the effort of writing --empower to indicate they want a privileged session
as the current user, it's not unphatomable to think they could start an
empowered session which they later return to and continue using. Currently,
it's not easy to differentiate a regular run0 session and an empowered session
at a glance, so users might think they're using a regular run0 session when
they're actually using an empowered session.

To address this problem, let's give empowered session their own identify, by
making the background orange, using the pumpkin emoji as the shell prompt
prefix and giving them an orange circle as the PTY title.

2 weeks agoboot: Fix warning
Daan De Meyer [Tue, 25 Nov 2025 15:50:23 +0000 (16:50 +0100)] 
boot: Fix warning

memchr() is a macro on newer glibc so make sure to undefine it before
redefining it.

2 weeks agoopenssl-util: indentation fix
Yu Watanabe [Tue, 25 Nov 2025 13:16:16 +0000 (22:16 +0900)] 
openssl-util: indentation fix

Follow-up for 1144f07dc69cc04138d90000b1782c4a2b27cd94.

2 weeks agoTEST-02-UNITTESTS: drop outdated comment
Yu Watanabe [Tue, 25 Nov 2025 06:22:58 +0000 (15:22 +0900)] 
TEST-02-UNITTESTS: drop outdated comment

Follow-up for 741d59b326ea25053097fcbf004864ea6b3c6299.

2 weeks agodocs/MOUNT_REQUIREMENTS: fix typo
Yu Watanabe [Tue, 25 Nov 2025 13:51:25 +0000 (22:51 +0900)] 
docs/MOUNT_REQUIREMENTS: fix typo

Follow-ups for 3e94ae6f1e2bac0c6be2817ab419123ea37d8e4a.

2 weeks agoprocess-util: fix typo
Yu Watanabe [Tue, 25 Nov 2025 13:49:44 +0000 (22:49 +0900)] 
process-util: fix typo

Follow-up for a08f2ea02dc4fcbd7f2f73a5a24e0af32b34fe55.