1
0
mirror of https://github.com/systemd/systemd.git synced 2025-03-10 16:58:28 +03:00

79985 Commits

Author SHA1 Message Date
Yu Watanabe
a5c11722e6 run: declare ARG_STDIO_XYZ like a flag
Then, we can easily handle the assignment when both --pipe and
--pty/--pty-late are specified.
No functional change, just a refactoring.
2025-03-10 22:34:52 +09:00
Yu Watanabe
ad338e0fd5 vmspawn: fix typo
Follow-up for ef430b84e9f508dd27046b33a4f61dc57a71bb67.
2025-03-10 18:12:51 +09:00
Yu Watanabe
2792b1181f
meson: bump required minimum version to 0.62.0 (#36610)
- bump the requred minimum version of meson to 0.62.0,
- use install_symlink(), which is supported since meson-0.61.0,
- use more features provided by newer meson with careful
conditionalization.

Follow-up for 8442ac9c0264ac7beb5afd6c3bf922030a6edaf3.
Closes #35967.
2025-03-10 07:51:28 +09:00
Matteo Croce
f06e6d19c0 network: add log messages when a route can't be updated
Sometimes networkd removes a route, based on route_can_update() verdict.
Add some debug messages to better understand whi this decision has been made.
2025-03-10 05:39:49 +09:00
Mike Yuan
8d04b8198d docs: reference cgroup v1 as historical and unsupported 2025-03-10 05:24:19 +09:00
Lennart Poettering
ef430b84e9 vmspawn: optionally grow image 2025-03-10 03:57:46 +09:00
Yu Watanabe
37cfab0e82 po: update Japanese translations 2025-03-10 03:35:54 +09:00
Yu Watanabe
e2ea2d1349 man: fix typo
Follow-ups for fd0dd2d4bce00b69f8badab1a71b8929e392af5c.
2025-03-10 03:23:47 +09:00
Yu Watanabe
51c086b9cc meson: use more features provided by newer meson
No functional change. Preparation for future bump of required meson
version.
2025-03-10 02:41:40 +09:00
Yu Watanabe
c0cc01de8a meson: use install_symlink() where applicable
Now our baseline of meson is 0.62, hence install_symlink() can be used.

Note, install_symlink() implies install_emptydir() for specified
install_dir. Hence, this also drops several unnecessary
install_emptydir() calls.

Note, the function currently does not support 'relative' and 'force' flags,
so several 'ln -frsT' inline calls cannot be replaced.
2025-03-10 02:41:40 +09:00
Yu Watanabe
ff697bb909 meson: invert version check condition to magically suppress warning
Then, it works with --fatal-meson-warnings.
2025-03-10 02:41:40 +09:00
Yu Watanabe
5506aff98d test-network: replace symlink to 99-default.link with a copy
Then, we can drop ugly workaround in meson.build.
The .link file is not necessarily synced with 99-default.link.
Also, 99-default.link is not updated so frequently.
Let's manually sync it when necessary.
2025-03-10 02:41:40 +09:00
Yu Watanabe
a030f8cc94 meson: bump required minimum version to 0.62.0
The commit 8442ac9c0264ac7beb5afd6c3bf922030a6edaf3 set
install_tag option to install_emptydir() calls, but it requires
meson-0.62.0. Hence, after the commit, we cannot build systemd
with older meson anymore. As using install_tag is quite useful
for building systemd package, let's bump the requirement of
meson version to 0.62.0.

Note, the current meson versions of major distributions are:
CentOS 9:  0.63.3
CentOS 10: 1.4.1
Fedora 40: 1.4.1
Fedora 41: 1.5.1
Ubuntu 20.04 LTS (focal): 0.53.2 -- EOL on 2025-04
Ubuntu 22.04 LTS (jammy): 0.61.2 -- EOL on 2027-04
Ubuntu 24.04 LTS (noble): 1.3.2
Ubuntu 24.10 (oracular):  1.5.2
Debian 11 (bullseye): 0.56.2 (1.0.0 in backports) -- EOL on 2024-08
Debian 12 (bookworm): 1.0.1  (1.5.1 in backports)
openSUSE Leap 15.6:  1.6.1
openSUSE Tumbleweed: 1.6.1

As the next version (v258) is not expected to be released before
the end of 2025-04, it is OK to cut the support of Ubuntu 20.04 LTS and
Debian 11. Also, our policy for support of distributions explicitly says
only latest Ubuntu LTS and non-LTS releases are supported.
Hence, we can also cut Ubuntu 22.04, even if it is not EOL.

Follow-up for 8442ac9c0264ac7beb5afd6c3bf922030a6edaf3.
Closes #35967.
2025-03-10 02:41:40 +09:00
Piotr Drąg
e645246c8d po: add false positives to POTFILES.skip
Scripts used to detect files that should be in POTFILES.in, like
intltool-update -m used on https://l10n.gnome.org/module/systemd/,
falsely detect these files as containing translations. Avoid this
behavior by putting the files in POTFILES.skip.
2025-03-09 11:38:47 +00:00
Henri Aunin
ef19119780 po: Translated using Weblate (Estonian)
Currently translated at 79.3% (204 of 257 strings)

Co-authored-by: Henri Aunin <contact+fedora@hen.ee>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/et/
Translation: systemd/main
2025-03-09 11:54:56 +09:00
Yu Watanabe
a5ede71f49
mount-setup: two trivial cleanups (#36668) 2025-03-09 09:42:41 +09:00
Yu Watanabe
a22ba8cdd7
core/main: several cleanups (#36669)
Prompted by #36622
2025-03-09 09:40:19 +09:00
H A
989f39e8b0 po: Translated using Weblate (Estonian)
Currently translated at 61.4% (158 of 257 strings)

Co-authored-by: H A <contact+fedora@hen.ee>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/et/
Translation: systemd/main
2025-03-09 08:36:23 +09:00
Mike Yuan
590e0e3bac
core/main: correct retval for reexec/switch-root/soft-reboot
For these objectives we ought to execve() at the end, i.e. if we
ever hit the return path something went wrong in do_reexecute().
Let's properly report that via retval.
2025-03-08 20:49:30 +01:00
Mike Yuan
93e19483dc
core/main: preemptively check existence of init only if we're switching root
Follow-up for aaa27e2e21c04339914f26b7125789087eb51166

The commit described about system potentially becoming undebuggable
after switching into broken root or whatnot. But notably we can never
activate emergency.target after do_reexecute() failure, since the Manager
has been destructed. Plus, for a normal reexecution the fallback shell logic
triggered on non-existent /sbin/init is kinda useful. Let's hence guard
the extra check behind switch-root.

Also, move the check below /run/nextroot/ detection.
2025-03-08 20:49:30 +01:00
Mike Yuan
550f4718bc
core/main: assign mac_init() retval to r
If it fails, we'd submit the errno to supervisor via sd_notify() later.
2025-03-08 20:40:24 +01:00
Mike Yuan
eda75b2cb2
core/main: log about save_env() error 2025-03-08 20:40:24 +01:00
Mike Yuan
0ddf4acab4
core/main: port to log_syntax_parse_error() 2025-03-08 20:40:24 +01:00
Mike Yuan
fafb05451f
core: move CrashAction enum def to crash-handler.[ch] 2025-03-08 20:40:23 +01:00
Mike Yuan
568bafca50
core/meson: move efi-random.c out of libcore
It's used only in core/main.c
2025-03-08 20:40:23 +01:00
Mike Yuan
5fe2b509aa
core/main: remove unused include 2025-03-08 20:40:23 +01:00
Mike Yuan
b05c495eed
mount-setup: tune down log level if usrquota is not supported, apply usrquota when smack is in use too
Follow-up for 8f5131fb9e7979022521d685e69b6419f0884677
2025-03-08 19:16:17 +01:00
Mike Yuan
80b7f60d2e
mount-setup: drop outdated comment 2025-03-08 19:16:17 +01:00
Matteo Croce
bd0d22c2a5
network: remove useless loop (#36648)
In route_metric_can_update() the loop iterates over the metrics, but
skips all indices except for RTAX_MTU.

Replace it with a simple compare.
2025-03-08 17:39:09 +01:00
Luca Boccassi
d9208ff9a4
keyutil: support adding content into PKCS#7 signature (#36663)
Support including the data that was signed inside the PKCS#7 signature.
This creates a self-contained file where the signature of the data can
be verified without any other information, since the file contains the
data, signature, and certificate (which contains the public key used for
the signing).

One use case of this is IPE which requires a PKCS#7 signature that is
not "detached", i.e. includes the IPE configuration that has been
signed.

This also slightly adjusts the test case to use the x509 certificate
inside the PKCS#7 signature instead of supplying it externally during
verification.
2025-03-08 01:42:20 +00:00
Dan Streetman
f80bb317f6 keyutil: support adding content into PKCS#7 signature 2025-03-07 18:36:23 -05:00
Lennart Poettering
f09e8ccb0b
homed: add key management toolchain (#36513)
if Lennart shall dogfood ParticleOS he needs acceptable tooling for
making his homed home dir accessible from his legacy fedora install, and
from local and remote particleos. Let's add explicit support for
scenarios like this:

1. add high level support for enrolling the account signing key from the
fedora install
2. add high level support for "adopting" a local but foreign .home file
on a system
3. add high level support for "registering" a remote user account on a
different system

(this lacks test cases and some docs, hence marked as wip)
2025-03-07 22:19:33 +01:00
Lennart Poettering
36be5dc81c
virt: detect "linux,dummy-virt" devicetree VMs (#36655) 2025-03-07 18:24:24 +01:00
Lennart Poettering
ce306d5401
add a mime type for *.home LUKS home dir files too (#36662) 2025-03-07 18:24:08 +01:00
Lennart Poettering
1ec2d28b6f update TODO 2025-03-07 18:15:13 +01:00
Lennart Poettering
b9f711b66e test: add integration test for the functionality added in this PR 2025-03-07 18:15:10 +01:00
Lennart Poettering
2efffd036e homectl: rearrange --help text with sections
We support so many verbs now, help the user with some structure
2025-03-07 18:15:07 +01:00
Lennart Poettering
0e1ede4b4b homectl: add interface for controlling storage for negative machine ID matches 2025-03-07 18:15:04 +01:00
Lennart Poettering
c7a4216509 homed: re-establish inotify watches on SIGUSR1
Let's define a clean way how we can reestablish file watches in homed.
This is a relevant in case we overmount /home/ as a whole. It's very
useful for our testcase in particular.
2025-03-07 18:15:01 +01:00
Lennart Poettering
c3f54fcd3b homed: suppress warning if quota is not on on /var/ and elsewhere 2025-03-07 18:14:58 +01:00
Lennart Poettering
efe2ce7277 homed: rescan /home/ in more occasions automatically
When unregistering a home there's a chance this "reveals" another home
by the same name in /home/, hence immediately schedule a rescan, the
same way we already schedule it in on remove.

Also, drop the conditionalization when scheduling a rescan during
remove, for the same reasons: a remove might reveal another home, and we
cannot check for that ahead of time. Trying to check is kinda a
pointless optimization anyway, since this is not a frequent operation
and rescanning is not the end of the world.
2025-03-07 18:14:55 +01:00
Lennart Poettering
17f48a8cc7 homectl: making stripping of signatures from user records optional 2025-03-07 18:14:52 +01:00
Lennart Poettering
cc14c14782 homectl: also support registering (rather than creating) home directories via system credentials 2025-03-07 18:14:48 +01:00
Lennart Poettering
e8801cc5b3 homectl: expose "register" verb to register a user record locally 2025-03-07 18:14:45 +01:00
Lennart Poettering
cbf9a1c888 homed: add concept for "adopting" an existing homedir locally
Currently homed scans /home/ via inotify for new .home + .homedir/
popping up to register as local users. Let's also add an explicit way to
request this form of "adoption": a bus call that takes a path and that
makes a home dir activatable locally.

(Usecase: you cross boot between two systems – let's say your traditional
fedora and your ParticleOS – and want to use the same homedir from both:
simply mount the /home dir from the other somewhere, and then hit
"homectl adopt /somewhere/lennart.home" and you have the user locally
too).
2025-03-07 18:14:25 +01:00
Lennart Poettering
ce94761deb user-record: add a concept of inverting per-host matching sections in user record
Sometimes it is useful to apply options on all hosts except some. Add a
simple concept for that.
2025-03-07 18:14:20 +01:00
Lennart Poettering
4f00011b68 homectl: add a 'dry-run' mode for registering/creating users
Since this only covers user creation/registration for now, let's hide it
behind an env var. We might reconsider this eventually and make it a
proper switch one day, but who knows, it after all has this "debug tool"
wiff.
2025-03-07 18:14:14 +01:00
Lennart Poettering
87c81a34eb homectl: also import signing keys at firstboot time 2025-03-07 18:14:09 +01:00
Lennart Poettering
88392a1f60 homectl: add signing key management verbs 2025-03-07 18:14:02 +01:00
Lennart Poettering
f1b6417fea homed: add apis for managing home signing keys
This makes it easier to actually migrate home directories between
systems.
2025-03-07 18:13:40 +01:00