Commit graph

73057 commits

Author SHA1 Message Date
Lennart Poettering 6645dc053d update NEWS 2024-04-23 15:23:44 +02:00
Lennart Poettering cd4eda525d cryptenroll: use [] in --help text to indicate block device argument is now optional 2024-04-23 15:23:44 +02:00
Lennart Poettering 8518f4a814 cryptenroll: default to block device backing /var/ rather than /
With 1df4b21abd we started to default to
enrolling into the LUKS device backing the root fs if none was specified
(and no wipe operation is used). This changes to look for /var/ instead.

On most systems /var/ is going to be on the root fs, hence this change
is with little effect.

However, on systems where / and /var/ is separate it makes more sense to
default to /var/ because that's where the persistent and variable data
is placed (i.e.  where LUKS should be used) while / doesn't really have
to be variable, could as well be immutable, or ephemeral. Hence /var/
should be a safer default.

Or to say this differently: I think it makes sense to support systems
with /var/ being on / well. I also think it makes sense to support
systems with them being separate, and /var/ being variable and
persistent. But any other kind of system I find much less interesting to
support, and in that case people should just specify the device name.

Also, while we are at it, tighten the checks a bit, insist on a dm-crypt
+ LUKS superblock before continuing.

And finally, let's print a short message indicating the device we
operate on.
2024-04-23 15:23:44 +02:00
Ludwig Nussel 1df4b21abd cryptenroll: use root device by default 2024-04-23 12:29:32 +02:00
Daan De Meyer b954d22e60
Merge pull request #32433 from DaanDeMeyer/fix
mkosi: Fix Arch Linux package glob
2024-04-23 12:28:48 +02:00
Adrian Vovk 7923e9493c manager: Improve freeze/thaw for unrealized cgroup
This is a follow-up for e50bfc89ce

In that commit, we made Freeze/Thaw work with unrealized cgroups.
However, the unit was left in a strange state: it would be frozen by the
kernel but systemd would be unaware, and it remained possible to try and
realize the cgroup while the unit is supposed to be frozen. This commit
fixes the state tracking and prevents cgroups from being realized when
the unit is frozen.
2024-04-23 12:27:38 +02:00
Lennart Poettering 2a52385108
Merge pull request #32427 from poettering/systemctl-help-missing
systemctl: add missing --help entries
2024-04-23 12:11:53 +02:00
dependabot[bot] 7b36569461 build(deps): bump pkg/debian from 30c77a7 to 733ac7c
Bumps pkg/debian from `30c77a7` to `733ac7c`.

---
updated-dependencies:
- dependency-name: pkg/debian
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-23 12:05:45 +02:00
Daan De Meyer 5841b5af48 mkosi: Configure lower retention limit for package artifacts
This is more than 0.5G per job, so let's drop the retention to
4 days to make sure we don't hit github's limits.
2024-04-23 11:58:44 +02:00
Daan De Meyer 279b3d4690 mkosi: Fix Arch Linux package glob 2024-04-23 11:53:28 +02:00
Michal Sekletar f5b72af50d service: allow MainPID= updates during stop of the service
Example use case is a migration of MainPID to an auxiliary scope.
2024-04-23 11:41:10 +02:00
Daan De Meyer 622678edd7
Merge pull request #32352 from DaanDeMeyer/test
test: Various mkosi integration test improvements
2024-04-23 11:27:23 +02:00
Daan De Meyer 422124072d mkosi: Run integration tests in CI
We do the image build and run the tests in a btrfs loopback so we
can make use of btrfs subvolumes and COW to keep the disk space
requirements to a minimum and speed up the ephemeral copies we make
of the image to run the tests.

We also switch to building debug packages and publishing the built
packages as artifacts.
2024-04-23 10:33:08 +02:00
Daan De Meyer b85e54961c test: Various mkosi integration test improvements
- Stop using logging module since the default output formatting is
  pretty bad. Prefer print() for now.
- Log less, logging the full mkosi command line is rather verbose,
  especially when it contains multi-line dropins.
- Streamline the journalctl command we output for debugging failed
  tests.
- Don't force usage of the disk image format.
- Don't force running without unit tests.
- Don't force disabling RuntimeBuildSources.
- Update documentation to streamline the command for running a single
  test and remove sudo as it's not required anymore.
- Improve the console output by having the test unit's output logged
  to both the journal and the console.
- Disable journal console log forwarding as we have journal forwarding
  as a better alternative.
- Delete existing journal file before running test.
- Delete journal files of succeeded tests to reduce disk usage.
- Rename system_mkosi target to just mkosi
- Pass in mkosi source directory explicitly to accomodate arbitrary
  build directory locations.
- Add test interactive debugging if stdout is connected to a tty
- Stop explicitly using the 'system' image since it'll likely be
  dropped soon.
- Only forward journal if we're not running in debugging mode.
- Stop using testsuite.target and instead just add the necessary
  extras to the main testsuite unit via the credential dropin.
- Override type to idle so test output is not interleaved with
  status output.
- Don't build mkosi target by default
- Always add the mkosi target if mkosi is found
- Remove dependency of the integration tests on the mkosi target
  as otherwise the image is always built, even though we configure
  it to not be built by default.
- Move mkosi output, cache and build directory into build/ so that
  invocations from meson and regular invocations share the same
  directories.
- Various aesthetic cleanups.
2024-04-23 10:32:42 +02:00
Daan De Meyer 89b44cbb4d mkosi: Deal with ubuntu's special debug packages
Building debug packages on ubuntu requires the "debug" option to be
specified explicitly. Debug packages on Ubuntu have the .ddeb extension,
so let's make sure we handle that by copying the .ddeb packages in the
build script as well.
2024-04-23 10:25:02 +02:00
Daan De Meyer 388dcc785b mkosi: Use -fdebug-prefix-map= instead of -ffile-prefix-map=
-ffile-prefix-map= implies -fmacro-prefix-map= which is incompatible
with our definition of PROJECT_FILE.

See https://github.com/systemd/systemd/issues/32417.

-fdebug-prefix-map= only affects debuginfo without affecting macros.
2024-04-23 10:25:02 +02:00
Daan De Meyer e3cd320021 mkosi: Update to latest 2024-04-23 10:24:59 +02:00
Lennart Poettering 965d7f6eaa systemctl: add forgotten --after/--before to --help text
Follow-up for: afba41995d
2024-04-23 10:02:17 +02:00
Lennart Poettering ede3a1461e systemctl: add forgotten --reboot-argument= to --help text
Follow-up for: dae710bef1
2024-04-23 10:02:17 +02:00
Lennart Poettering fd0b87757e systemctl: add forgotten --message= to --help text
Follow-up for: 9ef15026c0
2024-04-23 09:59:39 +02:00
Luca Boccassi 41fb4dc334 mkosi: mask isc-dhcp-server
isc-dhcp-server does not ship units, only sysv scripts, so the mkosi
presets that disable it have no effect. The generated unit is started on
each boot and fails, causing delays and noise.

Mask it so that the generated unit is overridden. It is installed only
to bring in binaries used by the networkd tests anyway.
2024-04-23 07:04:27 +02:00
Luca Boccassi 8d1d8dfaed
Merge pull request #32413 from yuwata/network-radv-validator
network/radv: several cleanups for validating configs
2024-04-23 01:02:34 +02:00
Lennart Poettering 6bd675a659 network: add .link file to match 80-namespace.network
This file makes clear the interface shall be owned by networkd.

This does what 658169e6d3 did for nspawn's
regular devices for the devices defined through
8aee931e7a too.
2024-04-22 23:49:57 +02:00
Lennart Poettering 0f5a529217 network: add "mac" to alternatives name policy by default
Alternative names are basically free, hence add "mac" there too, to make
it easier to see what names could be used as primary options too.
2024-04-22 22:44:20 +02:00
Mike Yuan 4a77d4ceb9 kernel-install/60-ukify: also search in {/run,/usr/local/lib}/kernel/
After db26d8025e,
kernel-install takes config files under /run/
and /usr/local/lib/ into account too. The same
should apply to ukify.

Note that ukify when invoked alone searches under
/run/systemd/, /etc/systemd/, /usr/local/lib/systemd/,
and /usr/lib/systemd/, respectively, which is against
our usual order...
2024-04-22 22:38:11 +02:00
Sam Leonard c9e89db860 machined: fix invalid edge case in machine_new 2024-04-22 22:37:05 +02:00
Guido Leenders f445ed3c5f Document effective owner of stdout/stderr log file upon creation
The log files defined using file:, append: or truncate: inherit the owner and other privileges from the effective user running systemd.

The log files are NOT created using the "User", "Group" or "UMask" defined in the service.
2024-04-22 20:46:25 +02:00
Yu Watanabe c6aadfdd32 ukify: swap the ordering of config search paths
Let's follow our usual ordering.

Follow-up for a05fa30f88.
2024-04-22 20:38:16 +02:00
Lennart Poettering 8b2f2a568d test: ensure all architecture ids we define definitely fit into .v/ patterns
Just some safety checks so that we never regress on this: make sure all
architectur IDs we define are embeddable safely in .v/ entry file names.
2024-04-22 20:28:33 +02:00
Frantisek Sumsal 707a578865
Merge pull request #32412 from weblate/weblate-systemd-main
Translations update from Fedora Weblate
2024-04-22 20:02:32 +02:00
Daan De Meyer 741d59b326 test: Rework TEST-02-UNITTESTS
Currently, A large amount of unit test output is logged directly
to the console instead of to the per test log file as any subprocesses
executed by a test manager will detect that stderr is not connected
to the journal and log directly to /dev/console instead.

To solve this issue, let's make sure all tests are connected directly
to the journal by running them with systemd-run. We also simplify the
entire test script by getting rid of the custom queue and replicating
it with xargs instead. By using bash's function export feature, we can
make our run_test() function available to the bash subprocess spawned
by xargs.

Once a test is finished, we read its logs from the journal and put them
in the appropriate file if needed.
2024-04-22 19:37:13 +02:00
Daan De Meyer e660fee2d0
Merge pull request #32392 from DaanDeMeyer/executor-log-level
core: Set a sensible systemd-executor log level in test runs
2024-04-22 19:26:52 +02:00
Weblate f353c9f16e po: Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/
Translation: systemd/main
2024-04-22 19:25:20 +02:00
Martin Srebotnjak eb84f15474 po: Translated using Weblate (Slovenian)
Currently translated at 10.7% (25 of 233 strings)

po: Translated using Weblate (Slovenian)

Currently translated at 9.8% (23 of 233 strings)

Co-authored-by: Martin Srebotnjak <miles@filmsi.net>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/sl/
Translation: systemd/main
2024-04-22 19:25:20 +02:00
Yu Watanabe a05381d58b network/radv: drop unnecessary conditions
sd_radv_set_xyz() will handle invalid values gracefully.
2024-04-23 02:06:33 +09:00
Yu Watanabe c6ffb8789c network/radv: warn about non-zero preference with zero lifetime
Note that the misconfiguration will be handled gracefully. So it is not
necessary to adjust value here. Let's only warn about that.
2024-04-23 02:05:41 +09:00
Yu Watanabe efe96c34a0 network/radv: verify [IPv6Prefix] section or friends in network_adjust_radv()
Previously, network_drop_invalid_pref64_prefixes() was never called.
This also fixes that.
2024-04-23 02:04:18 +09:00
Yu Watanabe 9e4b40f26a man: fix typo
Follow-up for 403492793a.
2024-04-23 01:42:11 +09:00
Yu Watanabe 6bd3102e3e man: fix typo
Follow-up for fef46ffb5b.
2024-04-23 01:42:11 +09:00
Luca Boccassi f2316b1881
Merge pull request #32401 from bluca/chores
RC1 chores
2024-04-22 18:40:55 +02:00
Luca Boccassi f149e68290
Merge pull request #32396 from YHNdnzj/verb-required
shared/verbs: show list of verbs when missing
2024-04-22 18:14:10 +02:00
Daan De Meyer 827004df94 mount-util: Silence noisy trace log message 2024-04-22 18:01:06 +02:00
Lennart Poettering f92868db4e
Merge pull request #32369 from DaanDeMeyer/serial
terminal-util: Enable line wrapping in reset_terminal_fd()
2024-04-22 17:48:14 +02:00
Lennart Poettering f96f1d68c5
Merge pull request #32402 from poettering/tpm2-setup-pcrextend-order
units: order tpm2-setup-early and pcrphase-initrd against each other
2024-04-22 17:47:51 +02:00
Lennart Poettering 29ba6bddc5
Merge pull request #32399 from poettering/doc-fixes-256
various documentation fixes (plus minor other work)
2024-04-22 17:41:39 +02:00
Lennart Poettering 00244c49df update TODO 2024-04-22 17:34:44 +02:00
Mike Yuan 9d43e0335f
nspawn: fix typo
Follow-up for edd3d4d7c2
2024-04-22 23:00:22 +08:00
Daan De Meyer 90265bcf92 core: Set a sensible systemd-executor log level in test runs 2024-04-22 16:12:14 +02:00
Luca Boccassi ff57d17140 Update translation files 2024-04-22 14:56:24 +01:00
Luca Boccassi edd3d4d7c2 nspawn: ensure single-process container running as --user can access credentials
When starting a container with --user, the new uid will be resolved and switched to
only in the inner child, at the end of the setup, by spawning getent. But the
credentials are set up in the outer child, long before the user is resolvable,
and the directories/files are made only readable by root and read-only, which
means they cannot be changed later and made visible to the user.

When this particular combination is specified, it is obvious the caller wants
the single-process container to be able to use credentials, so make them world
readable only in that specific case.

Fixes https://github.com/systemd/systemd/issues/31794
2024-04-22 15:47:44 +02:00