]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
12 months agoman: document that "systemctl mask" doesn't work for units whose file is in /etc
Lennart Poettering [Thu, 8 Jun 2023 14:59:15 +0000 (16:59 +0200)] 
man: document that "systemctl mask" doesn't work for units whose file is in /etc

Fixes: #27965
12 months agoMerge pull request #27712 from ddstreet/tpm2_simplify_srk
Luca Boccassi [Thu, 8 Jun 2023 17:52:31 +0000 (18:52 +0100)] 
Merge pull request #27712 from ddstreet/tpm2_simplify_srk

Tpm2 simplify srk

12 months agoac-power: fix a typo
Mike Yuan [Mon, 5 Jun 2023 15:03:58 +0000 (23:03 +0800)] 
ac-power: fix a typo

12 months agoman: reference naming of triggered services of timer unit
Lennart Poettering [Thu, 8 Jun 2023 12:20:42 +0000 (14:20 +0200)] 
man: reference naming of triggered services of timer unit

Fixes: #27116
12 months agoMerge pull request #27968 from poettering/may-gc-tweaks
Lennart Poettering [Thu, 8 Jun 2023 12:54:09 +0000 (14:54 +0200)] 
Merge pull request #27968 from poettering/may-gc-tweaks

pid1: some minor GC logic tweaks

12 months agoMerge pull request #27961 from poettering/journalctl-user-unit-man-fix
Mike Yuan [Thu, 8 Jun 2023 12:19:07 +0000 (20:19 +0800)] 
Merge pull request #27961 from poettering/journalctl-user-unit-man-fix

journalctl: fix --user when invoked by system users

12 months agotpm2: add tpm2_get_legacy_template() and tpm2_get_srk_template() 27712/head
Dan Streetman [Fri, 17 Feb 2023 17:59:18 +0000 (12:59 -0500)] 
tpm2: add tpm2_get_legacy_template() and tpm2_get_srk_template()

Add functions to get either the 'legacy' or standard SRK template, for RSA or
ECC. The 'legacy' templates are those used with earlier code, where a transient
key was created to use for tpm sealing; the standard SRK is the persistent
shared key as defined in TCG guidance docs.

This also replaces tpm2_get_primary_template() with the new functions; that
function's use of flags is confusing and unnecessary.

12 months agotpm2: add tpm2_read_public()
Dan Streetman [Thu, 18 May 2023 00:03:00 +0000 (20:03 -0400)] 
tpm2: add tpm2_read_public()

12 months agotpm2: add tpm2_get_capability_handle(), tpm2_esys_handle_from_tpm_handle()
Dan Streetman [Fri, 17 Feb 2023 17:50:31 +0000 (12:50 -0500)] 
tpm2: add tpm2_get_capability_handle(), tpm2_esys_handle_from_tpm_handle()

Add tpm2_get_capability_handle() to query if a "TPM handle" (meaning, a
location/address in TPM storage) is populated in the TPM, and
tpm2_get_capability_handles() to query for a specific number of handles.

Add tpm2_esys_handle_from_tpm_handle() to create an "esys handle" (an opaque
reference for use with the TPM EAPI that represents a TPM handle address) for an
existing TPM handle.

Since the TPM handle already exists in the TPM, this also also requires
updating the cleanup code for Tpm2Handle objects to close the object (free its
resources only from the EAPI code, but leave the handle in the TPM) instead of
flush the object (which frees its EAPI resources and removes it from the TPM).

12 months agocore: do not GC units/jobs that are in the D-Bus queue 27968/head
Lennart Poettering [Thu, 8 Jun 2023 09:11:49 +0000 (11:11 +0200)] 
core: do not GC units/jobs that are in the D-Bus queue

Let's make sure that D-Bus messages are always sent out when pending,
before we might GC a unit/job.

This is kinda a follow-up for 8db998981a4fefd0122bcf5f965726b63c9045c2,
and a similar logic really applies: GC should only be done if we
processed everything else, generated evertyhing else and really don't
need it anymore.

12 months agounit: don't gc unit in oom queue
Lennart Poettering [Thu, 8 Jun 2023 09:11:28 +0000 (11:11 +0200)] 
unit: don't gc unit in oom queue

This is a follow-up for 8db998981a4fefd0122bcf5f965726b63c9045c2, and
follows a similar logic: a pending OOM event really trumps everything:
we should not GC a unit while it is pending.

12 months agoman: document how calendar times catch up after system suspend/hibernation
Lennart Poettering [Thu, 8 Jun 2023 08:33:36 +0000 (10:33 +0200)] 
man: document how calendar times catch up after system suspend/hibernation

Fixes: #26166
12 months agoupdate TODO
Lennart Poettering [Thu, 8 Jun 2023 07:55:18 +0000 (09:55 +0200)] 
update TODO

12 months agoman: document that journalctl --user requires Storage=persistent 27961/head
Lennart Poettering [Wed, 7 Jun 2023 14:23:45 +0000 (16:23 +0200)] 
man: document that journalctl --user requires Storage=persistent

Fixes: #25061
12 months agosd-journal: when SD_JOURNAL_CURRENT_USER is set, and called from system UID, imply...
Lennart Poettering [Wed, 7 Jun 2023 13:19:25 +0000 (15:19 +0200)] 
sd-journal: when SD_JOURNAL_CURRENT_USER is set, and called from system UID, imply SD_JOURNAL_SYSTEM

Fixes: #26742 #23679
12 months agojournald: move uid_for_system_journal() to uid-alloc-range.h
Lennart Poettering [Wed, 7 Jun 2023 13:16:50 +0000 (15:16 +0200)] 
journald: move uid_for_system_journal() to uid-alloc-range.h

Let's move this helper call from journald specific code to src/basic/,
so that we can use it from sd-journal.

While we are at it, slightly extend it to also cover container uids,
which are also routed to the system journal now.

This places the call in uid-alloc-range.[ch] which contains similar
functions that match UID ranges for specific purposes.

12 months agoshared: move uid-alloc-range.[ch] from src/shared/ → src/basic/
Lennart Poettering [Wed, 7 Jun 2023 13:15:42 +0000 (15:15 +0200)] 
shared: move uid-alloc-range.[ch] from src/shared/ → src/basic/

This way we can use it in libsystemd

12 months agoman: suffix --unit with an equal sign, since it expects an argument
Lennart Poettering [Wed, 7 Jun 2023 12:54:34 +0000 (14:54 +0200)] 
man: suffix --unit with an equal sign, since it expects an argument

As per our usual syntax in the docs.

12 months agotpm2: replace _cleanup_tpm2_* macros with _cleanup_()
Dan Streetman [Wed, 17 May 2023 21:16:23 +0000 (17:16 -0400)] 
tpm2: replace _cleanup_tpm2_* macros with _cleanup_()

Remove _cleanup_tpm2_context_ and _cleanup_tpm2_handle_ macros, replacing their
use with _cleanup_(tpm2_context_unrefp) and _cleanup_(tpm2_handle_freep),
respectively.

12 months agoman: drop documentation of internal lookup flags
Lennart Poettering [Wed, 7 Jun 2023 21:37:11 +0000 (23:37 +0200)] 
man: drop documentation of internal lookup flags

This removes documentation of SD_RESOLVED_REQUIRE_PRIMARY and
SD_RESOLVED_CLAMP_TTL, which are internal flags, and not usable from
outside of resolved. They are refused by D-Bus APIs, for a reason.

Various other fixes/clean-ups of the relevant docs (including reordering
of the flags docs by "grouping" rather than bit values).

Fixes: #26619
12 months agoMerge pull request #27958 from mrc0mmand/test-functions-tweaks
Luca Boccassi [Wed, 7 Jun 2023 20:54:01 +0000 (21:54 +0100)] 
Merge pull request #27958 from mrc0mmand/test-functions-tweaks

test: a couple of assorted test-functions tweaks

12 months agopam_systemd_home: suppress LOG_DEBUG msgs if debugging is off
David Tardon [Wed, 7 Jun 2023 13:16:18 +0000 (15:16 +0200)] 
pam_systemd_home: suppress LOG_DEBUG msgs if debugging is off

This is a "sequel" to commit 2675747f3cdd6f1e6236bbb2f79abfa53fb307f1 .

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2210770
12 months agopreset: enable systemd-networkd-wait-online.service by default
Lennart Poettering [Wed, 7 Jun 2023 14:37:52 +0000 (16:37 +0200)] 
preset: enable systemd-networkd-wait-online.service by default

As #25459 points out our default preset is contradictory. Let's fix
that.

This enables systemd-networkd-wait-online.service, as we enable
systemd-networkd.service which enables that anyway.

This is safe since network-online.target should not be pulled in by
default.

Fixes: #25459
12 months agoMerge pull request #27960 from DaanDeMeyer/update-mkosi
Daan De Meyer [Wed, 7 Jun 2023 14:37:02 +0000 (16:37 +0200)] 
Merge pull request #27960 from DaanDeMeyer/update-mkosi

mkosi: Update to latest

12 months agotest: wrap agetty & getfacl when running with sanitizers 27958/head
Frantisek Sumsal [Wed, 7 Jun 2023 14:26:21 +0000 (16:26 +0200)] 
test: wrap agetty & getfacl when running with sanitizers

The list is getting slightly ridiculous.

12 months agomkosi: Update to latest 27960/head
Daan De Meyer [Wed, 7 Jun 2023 13:59:03 +0000 (15:59 +0200)] 
mkosi: Update to latest

mkosi's match syntax was changed so we update our config files to
use the new match syntax which mimicks the systemd condition syntax.

12 months agotest: drop $SKIP_INITRD
Frantisek Sumsal [Wed, 7 Jun 2023 13:21:10 +0000 (15:21 +0200)] 
test: drop $SKIP_INITRD

It's pointless nowadays, since we always need an initrd for the test VMs
as we require modules that are usually not compiled in the kernel.

12 months agotest: rebuild the ldconfig cache after changing its configuration
Frantisek Sumsal [Wed, 7 Jun 2023 13:19:44 +0000 (15:19 +0200)] 
test: rebuild the ldconfig cache after changing its configuration

Follow-up to ba79e8c2cc.

12 months agoman: mention that OnCalendar= combines well with systemd-time-wait-sync.service
Lennart Poettering [Wed, 7 Jun 2023 12:31:02 +0000 (14:31 +0200)] 
man: mention that OnCalendar= combines well with systemd-time-wait-sync.service

Fixes: #23440
12 months agoFix zsh completion for "localectl set-locale"
Cyril Roelandt [Wed, 7 Jun 2023 12:33:19 +0000 (14:33 +0200)] 
Fix zsh completion for "localectl set-locale"

When running:

    $ localectl set-locale LC_MESSAGES=<TAB>

One is prompted with a list of locale fields instead of the list of
valid locales. This is because by calling "compset -P1 '*='", we modify
the $PREFIX special parameter before testing whether it contains an
equal sign. Therefore

    if [[ -prefix 1 *\= ]]

is always false, and we always suggest a list of locale fields to the
user.

Fixes: #27955
12 months agokbd-model-map: change the order of Hungarian keymaps
Balló György [Wed, 7 Jun 2023 11:33:18 +0000 (13:33 +0200)] 
kbd-model-map: change the order of Hungarian keymaps

This changes the console layout from 'hu101' to 'hu' when the user calls 'localectl set-x11-keymap hu', because 'hu' is the expected layout instead of 'hu101' for most users.

12 months agoMerge pull request #27629 from ddstreet/tpm2_verify_sym_params
Daan De Meyer [Wed, 7 Jun 2023 11:48:54 +0000 (13:48 +0200)] 
Merge pull request #27629 from ddstreet/tpm2_verify_sym_params

Tpm2 verify sym params

12 months agoMerge pull request #27882 from DaanDeMeyer/repart-truncate
Zbigniew Jędrzejewski-Szmek [Wed, 7 Jun 2023 11:32:11 +0000 (13:32 +0200)] 
Merge pull request #27882 from DaanDeMeyer/repart-truncate

copy: Add COPY_TRUNCATE

12 months agoresolved: add comment clarifying why we decompress DNS names when parsing SRV
Lennart Poettering [Wed, 7 Jun 2023 10:23:25 +0000 (12:23 +0200)] 
resolved: add comment clarifying why we decompress DNS names when parsing SRV

Fixes: #22838
12 months agoman: document which IP ports resolved listens on, and what for
Lennart Poettering [Wed, 7 Jun 2023 10:47:09 +0000 (12:47 +0200)] 
man: document which IP ports resolved listens on, and what for

Fixes: #23045
12 months agoMerge pull request #27885 from DaanDeMeyer/please-dont-make-me-write-more-openat...
Zbigniew Jędrzejewski-Szmek [Wed, 7 Jun 2023 11:25:33 +0000 (13:25 +0200)] 
Merge pull request #27885 from DaanDeMeyer/please-dont-make-me-write-more-openat-helpers

Add more openat like helper functions

12 months agopam: add call to pam_umask
Michal Sekletar [Wed, 31 May 2023 16:50:12 +0000 (18:50 +0200)] 
pam: add call to pam_umask

Setting umask for user sessions via UMASK setting in /etc/login.defs is
a well-known feature. Let's make sure that user manager also runs with
this umask value.

Follow-up for 5e37d1930b41b24c077ce37c6db0e36c745106c7.

12 months agosd-login: add sd_session_get_leader interface
Thorsten Kukuk [Tue, 6 Jun 2023 12:52:22 +0000 (14:52 +0200)] 
sd-login: add sd_session_get_leader interface

12 months agoMerge pull request #27925 from DaanDeMeyer/repart-encrypt
Daan De Meyer [Tue, 6 Jun 2023 19:36:09 +0000 (21:36 +0200)] 
Merge pull request #27925 from DaanDeMeyer/repart-encrypt

repart: Do online encryption when loop devices are available

12 months agounits: change TimeoutSec=0 to TimeoutSec=infinity
Lennart Poettering [Tue, 6 Jun 2023 07:29:51 +0000 (09:29 +0200)] 
units: change TimeoutSec=0 to TimeoutSec=infinity

Follow-up for #27936

Let's also update a bunch of static unit files, matching what we just
did for the generators.

12 months agoMerge pull request #27938 from keszybz/ukify-build-verb
Luca Boccassi [Tue, 6 Jun 2023 17:22:45 +0000 (18:22 +0100)] 
Merge pull request #27938 from keszybz/ukify-build-verb

Add 'ukify build' verb, expand tests

12 months agoukify: add 'build' verb 27938/head
Zbigniew Jędrzejewski-Szmek [Tue, 6 Jun 2023 11:23:49 +0000 (13:23 +0200)] 
ukify: add 'build' verb

The old syntax with linux + initrds as positional arguments is still accepted,
but a warning is emitted. We should remove the support for this after the
next release or so.

Adding a single verb by itself is not very useful, but opens the door to adding
other verbs.

12 months agotest_ukify: pass through path to addon stub
Zbigniew Jędrzejewski-Szmek [Tue, 6 Jun 2023 11:03:41 +0000 (13:03 +0200)] 
test_ukify: pass through path to addon stub

Without this, the tests would generally be skipped, since we haven't made a
release with the addon stub yet. But even if the file is there, we always want
to test the freshly-built item.

12 months agotest_ukify: no stinky root needed for signing
Zbigniew Jędrzejewski-Szmek [Tue, 6 Jun 2023 10:18:56 +0000 (12:18 +0200)] 
test_ukify: no stinky root needed for signing

C.f. b2efe286587e11e2aa4a6c7e4a2c15da3bb58a2a.

12 months agoukify: simplify creation of parser
Zbigniew Jędrzejewski-Szmek [Mon, 5 Jun 2023 13:47:00 +0000 (15:47 +0200)] 
ukify: simplify creation of parser

00e5933f57c6e336ebed18601299acc6855bb3c2 made all the positional arguments
optional, so let's take advantage of this to simplify variuos callers.

12 months agorepart: Do online encryption when loop devices are available 27925/head
Daan De Meyer [Mon, 5 Jun 2023 11:15:04 +0000 (13:15 +0200)] 
repart: Do online encryption when loop devices are available

Online encryption is much faster then offline encryption when using
cryptsetup. To take advantage of this, when loop devices are available,
let's use online encryption instead off offline encryption to encrypt
partitions.

The online encryption logic is the same logic as was removed in
48a09a8fff480aab9a68e95e95cc37f6b1438751, except that it's now
integrated with PartitionTarget to ensure that logic outside of
partition_target_encrypt() has to minimally change regardless of
whether we're doing online or offline encryption.

12 months agoMerge pull request #27918 from yuwata/chase-filename
Daan De Meyer [Tue, 6 Jun 2023 13:01:37 +0000 (15:01 +0200)] 
Merge pull request #27918 from yuwata/chase-filename

chase: handle root path more carefully in chase_and_open()

12 months agobtrfs-util: Add btrfs_subvol_snapshot_at() 27885/head
Daan De Meyer [Thu, 1 Jun 2023 12:59:59 +0000 (14:59 +0200)] 
btrfs-util: Add btrfs_subvol_snapshot_at()

12 months agochattr-util: Make chattr_full() an openat() style function
Daan De Meyer [Thu, 1 Jun 2023 12:52:56 +0000 (14:52 +0200)] 
chattr-util: Make chattr_full() an openat() style function

12 months agobtrfs-util: Add btrfs_subvol_set_read_only_at()
Daan De Meyer [Thu, 1 Jun 2023 12:43:30 +0000 (14:43 +0200)] 
btrfs-util: Add btrfs_subvol_set_read_only_at()

12 months agorm-rf: Add rm_rf_at()
Daan De Meyer [Thu, 1 Jun 2023 12:36:47 +0000 (14:36 +0200)] 
rm-rf: Add rm_rf_at()

12 months agobtrfs-util: Add btrfs_subvol_remove_at()
Daan De Meyer [Thu, 1 Jun 2023 12:32:39 +0000 (14:32 +0200)] 
btrfs-util: Add btrfs_subvol_remove_at()

We also remove btrfs_subvol_remove_fd() because btrfs_subvol_remove_at()
is more general.

12 months agotest-chase: Add one more test for chase_and_openat()
Daan De Meyer [Fri, 2 Jun 2023 09:05:10 +0000 (11:05 +0200)] 
test-chase: Add one more test for chase_and_openat()

12 months agochase: Allow passing NULL as the empty path to chaseat()
Daan De Meyer [Fri, 2 Jun 2023 09:00:48 +0000 (11:00 +0200)] 
chase: Allow passing NULL as the empty path to chaseat()

Per coding style, we should accept NULL as the empty path.

12 months agotest-chase: Fix comment
Daan De Meyer [Fri, 2 Jun 2023 08:55:24 +0000 (10:55 +0200)] 
test-chase: Fix comment

12 months agofd-util: Add path_is_root_at()
Daan De Meyer [Thu, 1 Jun 2023 12:26:35 +0000 (14:26 +0200)] 
fd-util: Add path_is_root_at()

A generalization of dir_fd_is_root() that allows passing a path
component.

12 months agobtrfs-util: Add btrfs_is_subvol_at()
Daan De Meyer [Thu, 1 Jun 2023 11:58:29 +0000 (13:58 +0200)] 
btrfs-util: Add btrfs_is_subvol_at()

12 months agostat-util: Add is_fs_type_at()
Daan De Meyer [Thu, 1 Jun 2023 11:57:58 +0000 (13:57 +0200)] 
stat-util: Add is_fs_type_at()

12 months agostat-util: Follow coding style in xstatfsat()
Daan De Meyer [Thu, 1 Jun 2023 11:57:04 +0000 (13:57 +0200)] 
stat-util: Follow coding style in xstatfsat()

Allow passing NULL to indicate the empty path per coding style.

12 months agofs-util: Allow passing NULL path to xopenat()
Daan De Meyer [Thu, 1 Jun 2023 11:56:05 +0000 (13:56 +0200)] 
fs-util: Allow passing NULL path to xopenat()

We recently codified in the coding style that for openat() style APIs,
an empty path can be passed both as the empty string and as NULL, so
let's make sure we follow that style in xopenat().

12 months agocopy: Merge copy_directory() and copy_directory_fd() into copy_directory_at()
Daan De Meyer [Thu, 1 Jun 2023 11:42:39 +0000 (13:42 +0200)] 
copy: Merge copy_directory() and copy_directory_fd() into copy_directory_at()

Let's merge these two into a single function that can handle both
variants and more.

12 months agogenerators: change TimeoutSec=0 to TimeoutSec=infinity
Lennart Poettering [Tue, 6 Jun 2023 07:29:51 +0000 (09:29 +0200)] 
generators: change TimeoutSec=0 to TimeoutSec=infinity

With these settings we intend to turn off timeouts for possibly
interactive/slow commands. The officially documented way to turn off the
time-outs is to setting them to infinity. So far we set them to zero
here though.

This lead to some confusiong, for example #18224. Let's fix this by
uniformly spelling out TimeoutSec=infinity.

This doesn't change behaviour. It just makes our generated files match
what we document, without relying on historic compat support.

Fixes: #18224
12 months agoMerge pull request #27933 from mrc0mmand/selinux
Frantisek Sumsal [Tue, 6 Jun 2023 09:18:50 +0000 (11:18 +0200)] 
Merge pull request #27933 from mrc0mmand/selinux

test: a couple of TEST-06-SELINUX tweaks

12 months agoman: document OnSuccessJobMode=
Frantisek Sumsal [Tue, 6 Jun 2023 08:16:04 +0000 (10:16 +0200)] 
man: document OnSuccessJobMode=

Introduced in 294446dcb9.

12 months agotests: fix shellcheck warnings
Luca Boccassi [Mon, 5 Jun 2023 21:48:06 +0000 (22:48 +0100)] 
tests: fix shellcheck warnings

12 months agotpm2: verify symmetric parms in tpm2_context_new() 27629/head
Dan Streetman [Fri, 17 Feb 2023 17:59:18 +0000 (12:59 -0500)] 
tpm2: verify symmetric parms in tpm2_context_new()

This adds tpm2_get_capability_algs(), tpm2_supports_alg(), and
tpm2_test_parms(). These functions allow verifying that the TPM supports
specific algs and parameters.

When creating a new context, this checks if the TPM supports the symmetric algs
we use. If the TPM does not support the symmetric algs and parameters we
require, we log and return error.

12 months agotpm2: add tpm2_get_capability(), tpm2_cache_capabilities(), tpm2_capability_pcrs()
Dan Streetman [Mon, 2 Jan 2023 01:19:12 +0000 (20:19 -0500)] 
tpm2: add tpm2_get_capability(), tpm2_cache_capabilities(), tpm2_capability_pcrs()

This adds a function to query specific capabilities from the TPM. That is then
used in a function to query the allocation of PCRs in the TPM, i.e. which PCR
banks and indexes are available, and caches the PCR allocation when the TPM
context is created.

12 months agotest: a couple of assorted cleanups 27933/head
Frantisek Sumsal [Mon, 5 Jun 2023 20:41:46 +0000 (22:41 +0200)] 
test: a couple of assorted cleanups

- sort binaries
- send stdout/stderr of the autorelabel service to console as well

12 months agotest: load the SELinux module outside of the VM
Frantisek Sumsal [Mon, 5 Jun 2023 20:35:05 +0000 (22:35 +0200)] 
test: load the SELinux module outside of the VM

Turns out we can, apart from just building the module, "shove" it into
the SELinux database in a chroot as well. This brings quite significant
time savings, as the SELinux db rebuild takes 2 - 5 minutes in a VM
without acceleration (and takes currently ~half of the runtime of the test
in the C8S job).

12 months agotest: add a reasoning why we don't use the SELinux-provided units
Frantisek Sumsal [Mon, 5 Jun 2023 20:32:27 +0000 (22:32 +0200)] 
test: add a reasoning why we don't use the SELinux-provided units

12 months agocgls/cgtop: spell field/column "CGroup" rather than "Control Group"
Lennart Poettering [Mon, 5 Jun 2023 16:40:26 +0000 (18:40 +0200)] 
cgls/cgtop: spell field/column "CGroup" rather than "Control Group"

In the documentation we usually spell the concept "control group".
Internally in code we usually call it "cgroup" or "CGroup". In systemctl output we
called the field "CGroup" so far, i.e. a capitalized version of the
internal name. This is of course very unsystematic. Let's clean this up
a bit: let's now say:

* in docs, continue to spell it out "control groups"
* in brief output call it "CGroup"
* internally call it "cgroup" or "CGroup"

Fixes: #14429
12 months agoMerge pull request #27912 from mrc0mmand/cryptsetup-tests
Yu Watanabe [Mon, 5 Jun 2023 18:34:59 +0000 (03:34 +0900)] 
Merge pull request #27912 from mrc0mmand/cryptsetup-tests

test: add a couple more tests for systemd-cryptsetup

12 months agoMerge pull request #27926 from DaanDeMeyer/repart-offline
Luca Boccassi [Mon, 5 Jun 2023 18:11:41 +0000 (19:11 +0100)] 
Merge pull request #27926 from DaanDeMeyer/repart-offline

repart: Add --offline argument

12 months ago99-systemd.rules.in: guard systemd-backlight udev rules by ENABLE_BACKLIGHT
Simon Braunschmidt [Mon, 5 Jun 2023 11:49:45 +0000 (11:49 +0000)] 
99-systemd.rules.in: guard systemd-backlight udev rules by ENABLE_BACKLIGHT

Linux kernel will, as documented in drivers/video/backlight/backlight.c,
report changes to a backlights brightness as a uevent (ACTION=change).

systemd-udev will consume the uevent, match on this rule and try to
activate the systemd-backlight service for the backlight. BUT when
systemd is not compiled with backlight support, this will lead to
failure that is reported in the journal.

Since the failure to activate systemd-backlight and subsequent failure
log entry happens on every backlight brightness change, we found the
resulting logspam during regular operation excessive and came up with
this patch to mitigate it.

The conditional is also extended to "*kbd_backlight" match, since
even though we did not investigate to see if the logspam would be
similar, the unconditional match to activate systemd-backlight here
would also not make sense when the feature is not compiled in.

Signed-off-by: Simon Braunschmidt <simon.braunschmidt@iba-group.com>
12 months agotest: make sure we unmount /var late during shutdown 27912/head
Frantisek Sumsal [Mon, 5 Jun 2023 14:54:31 +0000 (16:54 +0200)] 
test: make sure we unmount /var late during shutdown

To avoid the "mountpoint is busy" error.

12 months agotest: add a couple more tests for systemd-cryptsetup
Frantisek Sumsal [Sun, 4 Jun 2023 12:44:42 +0000 (14:44 +0200)] 
test: add a couple more tests for systemd-cryptsetup

12 months agotest: make check_result_*() `set -e` friendly
Frantisek Sumsal [Sun, 4 Jun 2023 20:16:58 +0000 (22:16 +0200)] 
test: make check_result_*() `set -e` friendly

12 months agotest: use check_result_common()
Frantisek Sumsal [Sun, 4 Jun 2023 20:13:58 +0000 (22:13 +0200)] 
test: use check_result_common()

The TEST-24 has been silently timing out for quite a while in the C8S
job, as the check_result_qemu() override lacked some error checks,
whoopsie.

12 months agocryptsetup: avoid calling strv_find() on a NULL pointer
Frantisek Sumsal [Sun, 4 Jun 2023 14:02:45 +0000 (16:02 +0200)] 
cryptsetup: avoid calling strv_find() on a NULL pointer

When the header= option comes before any other type= defining one, we
trip over an assertion:

Jun 04 15:45:33 H testsuite-24.sh[752]: + systemctl start systemd-cryptsetup@detached.service
Jun 04 15:45:33 H systemd[1]: Starting systemd-cryptsetup@detached.service...
Jun 04 15:45:33 H systemd-cryptsetup[4641]: Assertion 'name' failed at src/basic/strv.c:21, function strv_find(). Aborting.
...
Jun 04 15:45:33 H systemd-coredump[4643]: Process 4641 (systemd-cryptse) of user 0 dumped core.
...
                                          Stack trace of thread 4641:
                                          #0  0x00007ff9256afe5c __pthread_kill_implementation (libc.so.6 + 0x8ce5c)
                                          #1  0x00007ff92565fa76 raise (libc.so.6 + 0x3ca76)
                                          #2  0x00007ff9256497fc abort (libc.so.6 + 0x267fc)
                                          #3  0x00007ff926076047 log_assert_failed (libsystemd-shared-253.so + 0x276047)
                                          #4  0x00007ff9260ab317 strv_find (libsystemd-shared-253.so + 0x2ab317)
                                          #5  0x0000000000405927 parse_one_option (systemd-cryptsetup + 0x5927)
                                          #6  0x0000000000407793 parse_options (systemd-cryptsetup + 0x7793)
                                          #7  0x000000000040fa0c run (systemd-cryptsetup + 0xfa0c)
                                          #8  0x000000000041137f main (systemd-cryptsetup + 0x1137f)
                                          #9  0x00007ff92564a510 __libc_start_call_main (libc.so.6 + 0x27510)
                                          #10 0x00007ff92564a5c9 __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x275c9)
                                          #11 0x0000000000403915 _start (systemd-cryptsetup + 0x3915)
                                          ELF object binary architecture: AMD x86-64

12 months agotest: clean up the test cleanup a bit
Frantisek Sumsal [Sun, 4 Jun 2023 13:45:08 +0000 (15:45 +0200)] 
test: clean up the test cleanup a bit

12 months agotest: minor cleanup
Frantisek Sumsal [Sun, 4 Jun 2023 13:33:24 +0000 (15:33 +0200)] 
test: minor cleanup

No functional change.

12 months agotest: make the data partition larger for the cryptsetup test
Frantisek Sumsal [Mon, 5 Jun 2023 07:40:21 +0000 (09:40 +0200)] 
test: make the data partition larger for the cryptsetup test

As we use it for /var and with the default 100 MiB there's not enough
space for the journal.

12 months agotest: make the root/data partition size configurable per test
Frantisek Sumsal [Mon, 5 Jun 2023 07:39:51 +0000 (09:39 +0200)] 
test: make the root/data partition size configurable per test

12 months agotest: introduce test_require_bin() and use it
Frantisek Sumsal [Fri, 2 Jun 2023 19:10:08 +0000 (21:10 +0200)] 
test: introduce test_require_bin() and use it

No functional change.

12 months agotest: fix indentation
Frantisek Sumsal [Fri, 2 Jun 2023 18:56:12 +0000 (20:56 +0200)] 
test: fix indentation

12 months agotest: move TPM2-related setup stuff into test-functions
Frantisek Sumsal [Fri, 2 Jun 2023 18:28:41 +0000 (20:28 +0200)] 
test: move TPM2-related setup stuff into test-functions

And hide it all behind $TEST_SETUP_SWTPM.

12 months agoukify: make code pylint clean
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jun 2023 08:39:54 +0000 (10:39 +0200)] 
ukify: make code pylint clean

The linter is imperfect, but it is useful as a very quick
check for typos and other silly mistakes. Add a few annotations
and do one small change to make it think the code is perfect.

12 months agoMerge pull request #27871 from yuwata/udevadm-verify-downgrade-style-issues
Zbigniew Jędrzejewski-Szmek [Mon, 5 Jun 2023 14:07:19 +0000 (16:07 +0200)] 
Merge pull request #27871 from yuwata/udevadm-verify-downgrade-style-issues

udevadm-verify: downgrade log level about style issues

12 months agoMerge pull request #27924 from poettering/low-battery-tool
Zbigniew Jędrzejewski-Szmek [Mon, 5 Jun 2023 14:03:57 +0000 (16:03 +0200)] 
Merge pull request #27924 from poettering/low-battery-tool

ac-power: expose low battery state via systemd-ac-power

12 months agotest: allow running only specified subtests/testcases
Frantisek Sumsal [Mon, 5 Jun 2023 08:47:21 +0000 (10:47 +0200)] 
test: allow running only specified subtests/testcases

Useful when debugging, e.g.:

make -C test/TEST-74-AUX-UTILS clean setup run TEST_MATCH_SUBTEST=run

Resolves: #27914

12 months agotest: Test --offline= in TEST-58-REPART 27926/head
Daan De Meyer [Mon, 5 Jun 2023 13:29:47 +0000 (15:29 +0200)] 
test: Test --offline= in TEST-58-REPART

Instead of using a privileged and unprivileged user to test the
offline and online logic of systemd-repart, let's always run repart
as root and use the --offline= argument to specify repart to use
either the offline or online logic.

12 months agoman: parition → partition typo fix
Lennart Poettering [Mon, 5 Jun 2023 09:04:54 +0000 (11:04 +0200)] 
man: parition → partition typo fix

Follow-up for: #27848

12 months agorepart: Add --offline argument
Daan De Meyer [Mon, 5 Jun 2023 11:56:49 +0000 (13:56 +0200)] 
repart: Add --offline argument

This allows the user to explicit configure whether loop devices
should be used to build the image or not.

12 months agoac-power: add --low switch to systemd-ac-power tool 27924/head
Lennart Poettering [Mon, 5 Jun 2023 10:14:12 +0000 (12:14 +0200)] 
ac-power: add --low switch to systemd-ac-power tool

This allows checking from shell scripts whether the system is in a low
battery state. It just exposed the code we anyway have in a directly
accessible way.

This is also very useful for testing things.

12 months agobattery-util: be more careful when determining whether we are in a low battery state
Lennart Poettering [Mon, 5 Jun 2023 10:12:03 +0000 (12:12 +0200)] 
battery-util: be more careful when determining whether we are in a low battery state

Let's avoid assuming a low battery battery state if in doubt. That
means, handle errors reading battery state gracefully.

12 months agobattery-util: move battery_is_discharging_and_low() to battery-util.[ch]
Lennart Poettering [Mon, 5 Jun 2023 09:56:31 +0000 (11:56 +0200)] 
battery-util: move battery_is_discharging_and_low() to battery-util.[ch]

This moves a first batch of functions from sleep-config.[ch] over to
battery-util.[ch].

In the long run we should probably move even more stuff over, i.e.
anything that deals with the battery sysfs driver interface.

No code change.

12 months agobattery-util: split out code that checks AC power state into its own .c/.h pair
Lennart Poettering [Mon, 5 Jun 2023 09:49:35 +0000 (11:49 +0200)] 
battery-util: split out code that checks AC power state into its own .c/.h pair

No code change, just some splitting out of the relevant code from
udev-util.[ch].

This makes sense on its own, but is also prepartion to move the code
that checks for low battery state into battery-util.[ch], too.

12 months agoadd support for KSM
Stefan Roesch [Tue, 28 Feb 2023 20:39:35 +0000 (12:39 -0800)] 
add support for KSM

This adds support for KSM (kernel samepage merging). It adds a new
boolean parameter called MemoryKSM to enable the feature. The feature
can only be enabled with newer kernels.

12 months agochase: fix triggering assertion
Yu Watanabe [Mon, 5 Jun 2023 04:20:42 +0000 (13:20 +0900)] 
chase: fix triggering assertion

12 months agochase: handle root path more carefully in chase_and_open() 27918/head
Yu Watanabe [Mon, 5 Jun 2023 05:47:42 +0000 (14:47 +0900)] 
chase: handle root path more carefully in chase_and_open()

chase_and_open() may be called with relative root path.