]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
2 years agoman: document /sbin/mount.ddi 26695/head
Lennart Poettering [Mon, 6 Mar 2023 17:48:18 +0000 (18:48 +0100)] 
man: document /sbin/mount.ddi

2 years agotest: add test for new /sbin/mount.ddi helper
Lennart Poettering [Mon, 6 Mar 2023 17:27:38 +0000 (18:27 +0100)] 
test: add test for new /sbin/mount.ddi helper

2 years agodissect: implement external helper plugin interface for /bin/mount
Lennart Poettering [Mon, 6 Mar 2023 17:25:25 +0000 (18:25 +0100)] 
dissect: implement external helper plugin interface for /bin/mount

With this change we'll install a symlink /sbin/mount.ddi →
systemd-dissect. If invoked that way we'll do the equivalent of
systemd-dissect --mount.

This makes DDIs mountable directly via the "mount" command, by
specifying the "-t ddi" pseudo file system type. Moreover you can now
mount DDIs directly via /etc/fstab, by specifying "ddi" in the file
system column (3rd column).

2 years agoMerge pull request #26686 from yuwata/iovec
Luca Boccassi [Mon, 6 Mar 2023 21:00:04 +0000 (21:00 +0000)] 
Merge pull request #26686 from yuwata/iovec

tree-wide: replace IOVEC_INIT with IOVEC_MAKE

2 years agonetwork: geneve: add InheritInnerProtocol flag
Josef Miegl [Sat, 4 Mar 2023 21:18:34 +0000 (22:18 +0100)] 
network: geneve: add InheritInnerProtocol flag

2 years agobase-filesystem: Support Arch-style multilib
Adrian Vovk [Thu, 2 Mar 2023 18:20:51 +0000 (13:20 -0500)] 
base-filesystem: Support Arch-style multilib

On distros like Arch and on carbonOS, libraries end up in /usr/lib.
Thus, /lib64 should point to /usr/lib. This commit adds this
functionality as a final fallback (if neither Debian-style nor
Fedora-style multilib can be detected)

2 years agoMerge pull request #26502 from DaanDeMeyer/chase-symlinks-additions
Luca Boccassi [Mon, 6 Mar 2023 20:51:06 +0000 (20:51 +0000)] 
Merge pull request #26502 from DaanDeMeyer/chase-symlinks-additions

Several chase_symlinks() additions

2 years agoMerge pull request #26687 from yuwata/c2x
Luca Boccassi [Mon, 6 Mar 2023 20:50:17 +0000 (20:50 +0000)] 
Merge pull request #26687 from yuwata/c2x

C2X support

2 years agotime-util: drop redundant call of tzset()
Yu Watanabe [Mon, 6 Mar 2023 13:02:43 +0000 (22:02 +0900)] 
time-util: drop redundant call of tzset()

It is also called at the beginning of `parse_timestamp_maybe_with_tz()`.

2 years agogpt-auto: Check for /boot before putting ESP there
Adrian Vovk [Thu, 2 Mar 2023 18:00:28 +0000 (13:00 -0500)] 
gpt-auto: Check for /boot before putting ESP there

We prefer /efi as a mount point for the ESP, and use /boot as a fallback
if /efi doesn't exist. However, when root=tmpfs, neither /efi nor /boot
exist. gpt-auto should mount to /efi in this case, but it mounted to
/boot instead. This is because gpt-auto didn't check for the existence
of /boot. Here, we correct this

2 years agomkosi: Update to latest
Daan De Meyer [Mon, 6 Mar 2023 15:51:53 +0000 (16:51 +0100)] 
mkosi: Update to latest

Latest version builds nspawn from source which hopefully gets rid of
the spurious "Connection timed out" errors we've been seeing in CI.

2 years agoTODO
Lennart Poettering [Mon, 6 Mar 2023 17:29:07 +0000 (18:29 +0100)] 
TODO

2 years agochase-symlinks: Add chase_symlinks_at_and_open() 26502/head
Daan De Meyer [Sun, 8 Jan 2023 17:24:38 +0000 (18:24 +0100)] 
chase-symlinks: Add chase_symlinks_at_and_open()

2 years agochase-symlinks: Add CHASE_MKDIR_0755
Daan De Meyer [Mon, 9 Jan 2023 11:29:12 +0000 (12:29 +0100)] 
chase-symlinks: Add CHASE_MKDIR_0755

2 years agochase-symlinks: Add CHASE_PARENT
Daan De Meyer [Fri, 23 Dec 2022 11:08:19 +0000 (12:08 +0100)] 
chase-symlinks: Add CHASE_PARENT

Let's simplify chasing the parent directory of some path by adding
CHASE_PARENT.

2 years agochase-symlinks: Return "." as path from chase_symlinks_at() instead of NULL
Daan De Meyer [Thu, 23 Feb 2023 13:24:56 +0000 (14:24 +0100)] 
chase-symlinks: Return "." as path from chase_symlinks_at() instead of NULL

2 years agochase-symlinks: Skip shortcuts if CHASE_PROHIBIT_SYMLINKS is set
Daan De Meyer [Sun, 8 Jan 2023 17:04:20 +0000 (18:04 +0100)] 
chase-symlinks: Skip shortcuts if CHASE_PROHIBIT_SYMLINKS is set

2 years agoudev_rules_parse_file: do not skip ENOENT
Dmitry V. Levin [Tue, 28 Feb 2023 08:00:00 +0000 (08:00 +0000)] 
udev_rules_parse_file: do not skip ENOENT

Starting with commit ed88bcfb7c15029f9fc95ee2380759a9eb782d46,
udev_rules_parse_file() silently skips files it fails to open with
ENOENT error, e.g. when they are broken symlinks.  As this behavior is
undocumented and it seems to be unintended, let's treat ENOENT like any
other error.  This change would also simplify the implementation of the
udev rules syntax checker mentioned in #26606.

udev_rules_load(), the only user of udev_rules_parse_file(), is not
affected by this change because it essentially ignores the value
returned by the latter, the only visible difference would be a log
message issued for every udev rules file that couldn't be open because
of ENOENT.

Fixes: ed88bcfb7c15 ("Be more careful when checking for empty files")
2 years agoMerge pull request #26650 from yuwata/udev-trigger
Yu Watanabe [Mon, 6 Mar 2023 07:36:34 +0000 (16:36 +0900)] 
Merge pull request #26650 from yuwata/udev-trigger

test: generate debugging logs for udevd after restart

2 years agotest: add header build tests for newer C and C++ standards 26687/head
Yu Watanabe [Mon, 6 Mar 2023 01:21:47 +0000 (10:21 +0900)] 
test: add header build tests for newer C and C++ standards

2 years agoInclude <threads.h> if possible to get thread_local definition
Cristian Rodríguez [Tue, 3 Jan 2023 17:52:08 +0000 (17:52 +0000)] 
Include <threads.h> if possible to get thread_local definition

IN C23, thread_local is a reserved keyword and we shall therefore
do nothing to redefine it. glibc has it defined for older standard
version with the right conditions.

v2 by Yu Watanabe:
Move the definition to missing_threads.h like the way we define e.g.
missing syscalls or missing definitions, and include it by the users.

Co-authored-by: Yu Watanabe <watanabe.yu+github@gmail.com>
2 years agotree-wide: replace IOVEC_INIT with IOVEC_MAKE 26686/head
Yu Watanabe [Mon, 6 Mar 2023 00:25:14 +0000 (09:25 +0900)] 
tree-wide: replace IOVEC_INIT with IOVEC_MAKE

We use gnu11 to build, hence we can use structured initializer with
casting, and it is not necessary to use different patterns on
initialization and assignment.

Addresses https://github.com/systemd/systemd/pull/26560#discussion_r1118875447.

2 years agosd-journal: wrap long line
Yu Watanabe [Mon, 6 Mar 2023 00:16:07 +0000 (09:16 +0900)] 
sd-journal: wrap long line

Addresses https://github.com/systemd/systemd/pull/26560#discussion_r1118875967.

2 years agomeson: adjust for removal of gnu-efi compat
Zbigniew Jędrzejewski-Szmek [Fri, 3 Mar 2023 15:08:41 +0000 (16:08 +0100)] 
meson: adjust for removal of gnu-efi compat

gnu-efi-3.0.11-13.fc39 in Fedora dropped the old include paths.

2 years agoRevert "hwdb: fix swapped buttons for Logitech Lift left"
Yu Watanabe [Sun, 5 Mar 2023 04:01:35 +0000 (13:01 +0900)] 
Revert "hwdb: fix swapped buttons for Logitech Lift left"

This reverts commit 81cfea95e51c72da6765b517e7038b3e7e3dec9f.

The modalias seems to match a generic Logitech USB receiver even the
connected mouce is not for left hand.

Fixes #26671 and #26676.

2 years agoMerge pull request #26651 from yuwata/meson-cleanups
Zbigniew Jędrzejewski-Szmek [Sun, 5 Mar 2023 12:38:55 +0000 (13:38 +0100)] 
Merge pull request #26651 from yuwata/meson-cleanups

Several meson cleanups

2 years agomkosi: Install dnf on centos and fedora
Daan De Meyer [Sun, 5 Mar 2023 08:41:38 +0000 (09:41 +0100)] 
mkosi: Install dnf on centos and fedora

dnf is not installed by default anymore, but it's still useful to
have in our images, so let's install it explicitly.

2 years agoMerge pull request #26668 from yuwata/man-link-rename
Yu Watanabe [Sat, 4 Mar 2023 13:14:22 +0000 (22:14 +0900)] 
Merge pull request #26668 from yuwata/man-link-rename

man: add/update example in systemd.link

2 years agoman: add an example to (re-)apply new settings to a network interface 26668/head
Yu Watanabe [Sat, 4 Mar 2023 05:57:10 +0000 (14:57 +0900)] 
man: add an example to (re-)apply new settings to a network interface

Closes #26601.

2 years agoman: sync the default .link file in example
Yu Watanabe [Sat, 4 Mar 2023 05:33:10 +0000 (14:33 +0900)] 
man: sync the default .link file in example

2 years agoMerge pull request #26653 from poettering/tmpfile-linkable-replace
Yu Watanabe [Fri, 3 Mar 2023 17:53:59 +0000 (02:53 +0900)] 
Merge pull request #26653 from poettering/tmpfile-linkable-replace

teach link_tmpfile() to optionally replace files

2 years agoREADME: update CentOS CI URLs to the new instance
Frantisek Sumsal [Fri, 3 Mar 2023 16:57:15 +0000 (17:57 +0100)] 
README: update CentOS CI URLs to the new instance

2 years agosystemctl: explicitly cast the constants to uint64_t
Frantisek Sumsal [Fri, 3 Mar 2023 11:17:27 +0000 (12:17 +0100)] 
systemctl: explicitly cast the constants to uint64_t

Otherwise under certain conditions `va_arg()` might get garbage instead
of the expected value, i.e.:

$ sudo build-o0/systemctl disable asdfasfaf
sd_bus_message_appendv: Got uint64_t: 0
Failed to disable unit: Unit file asdfasfaf.service does not exist.

$ sudo build-o1/systemctl disable asdfasfaf
sd_bus_message_appendv: Got uint64_t: 7954875719681572864
Failed to disable unit: Invalid argument

(reproduced on an armv7hl machine)

Resolves: #26568
Follow-up to: bf1bea43f15
Related issue: https://github.com/systemd/systemd/pull/14470#discussion_r362893735

2 years agoMerge pull request #26646 from poettering/nspawn-private
Luca Boccassi [Fri, 3 Mar 2023 15:57:13 +0000 (15:57 +0000)] 
Merge pull request #26646 from poettering/nspawn-private

nspawn: ensure all mount propagation is turned off between host and container, except for the "tunnel" dir

2 years agoMerge pull request #26649 from yuwata/parse-timstamp
Luca Boccassi [Fri, 3 Mar 2023 15:56:53 +0000 (15:56 +0000)] 
Merge pull request #26649 from yuwata/parse-timstamp

test: fix and extend test for parse_timestamp()

2 years agotest: trigger new events after all currently queued events are processed 26650/head
Yu Watanabe [Fri, 3 Mar 2023 14:19:27 +0000 (23:19 +0900)] 
test: trigger new events after all currently queued events are processed

Otherwise, udevd may be busy and udevadm may not receive the reply
for the control packet within the time limit.

2 years agoman: fix doubled word
Yu Watanabe [Fri, 3 Mar 2023 14:13:23 +0000 (23:13 +0900)] 
man: fix doubled word

2 years agoman: fix typo (#26655)
наб [Fri, 3 Mar 2023 14:01:51 +0000 (15:01 +0100)] 
man: fix typo (#26655)

2 years agohwdb: port to flink_tmpfile() 26653/head
Lennart Poettering [Fri, 3 Mar 2023 10:30:13 +0000 (11:30 +0100)] 
hwdb: port to flink_tmpfile()

And modernize heavily while doing so.

Fixes: #21787
(Strictly speaking, this leaves a race window open: the the system is
powered off in the short interval when we linked in the prepared hwdb
file into the dir under a temporary name and are about to rename it to
the final name, then the file might be left over after all. But this
minimizes the window so much that this shouldn't be an issue in
real-life. Key after all is that with this change we'll build up the
hwdb file under O_TMPFILE, and thus are robust to power loss during the
slow operation)

2 years agotmpfile-util: teach link_tmpfile() to optionally replace files
Lennart Poettering [Fri, 3 Mar 2023 10:27:42 +0000 (11:27 +0100)] 
tmpfile-util: teach link_tmpfile() to optionally replace files

2 years agoMerge pull request #26355 from poettering/journal-no-rtc
Lennart Poettering [Fri, 3 Mar 2023 12:13:13 +0000 (13:13 +0100)] 
Merge pull request #26355 from poettering/journal-no-rtc

journald: support ordering journal entries by boot ID if no RTC is available

2 years agotime-util: refuse non-zero gmtoff with non-UTC timezone 26649/head
Yu Watanabe [Fri, 3 Mar 2023 07:00:59 +0000 (16:00 +0900)] 
time-util: refuse non-zero gmtoff with non-UTC timezone

Also this moves the range check for gmtoff to parse_timestamp_impl(), to
address the post-merge comment:
https://github.com/systemd/systemd/pull/26409#discussion_r1118650190

2 years agotime-util: extend comment a bit
Yu Watanabe [Fri, 3 Mar 2023 06:55:42 +0000 (15:55 +0900)] 
time-util: extend comment a bit

2 years agotime-util: rename len -> tz_offset
Yu Watanabe [Fri, 3 Mar 2023 06:51:56 +0000 (15:51 +0900)] 
time-util: rename len -> tz_offset

And merge parse_timestamp_with_tz() with parse_timestamp_impl().
Addresses the post-merge comment:
https://github.com/systemd/systemd/pull/26409#discussion_r1118647440

2 years agotime-util: fix typo
Yu Watanabe [Fri, 3 Mar 2023 06:24:23 +0000 (15:24 +0900)] 
time-util: fix typo

Follow-up for 7a9afae6040af0417d893328cb44b622dcdcb94f.

2 years agomeson: extend timeout for test-time-util
Yu Watanabe [Fri, 3 Mar 2023 04:22:27 +0000 (13:22 +0900)] 
meson: extend timeout for test-time-util

The test forks so many child processes, and may hit the default time
limit on slow environment or running with sanitizers.

2 years agotest: test parse_timestamp() in various timezone
Yu Watanabe [Fri, 3 Mar 2023 03:09:59 +0000 (12:09 +0900)] 
test: test parse_timestamp() in various timezone

2 years agomeson: show options about tests in the summary 26651/head
Yu Watanabe [Fri, 3 Mar 2023 11:15:07 +0000 (20:15 +0900)] 
meson: show options about tests in the summary

2 years agonspawn: disable propagation for selected host API bind mounts 26646/head
Lennart Poettering [Thu, 2 Mar 2023 18:01:39 +0000 (19:01 +0100)] 
nspawn: disable propagation for selected host API bind mounts

We bind mount two selected inodes from the host into our container.
Let's turn off propagation for that, since we just want those inodes,
nothing else.

With this change "grep master: /proc/self/mountinfo" should list only
the mount propagation "tunnel" dir, and nothing else anymore.

2 years agonspawn: disconnect mounts propagation from host on our container dir
Lennart Poettering [Thu, 2 Mar 2023 17:28:37 +0000 (18:28 +0100)] 
nspawn: disconnect mounts propagation from host on our container dir

@brauner noticed that in invoked containers the root directory is set to
still receive mounts from the host. We should disable that, and
guarantee we live in our own world, because that's what an
(nspawn-style) container *is* after all: a whole new world.

This hence mounts the container subtree to MS_PRIVATE after getting the
root dir in place. Note that this will later be set to MS_SHARED again.
The MS_PRIVATE disconnects mounts from the host, the MS_SHARED then
establishes a new peer group for mount propagation events, so that
payload service managers (such as systemd) can take benefit of
propagation further down the tree.

2 years agotools: explicitly specify "setup" subcommand
Yu Watanabe [Fri, 3 Mar 2023 11:06:09 +0000 (20:06 +0900)] 
tools: explicitly specify "setup" subcommand

As invoking meson without subcommand is deprecated since 0.64.0.

2 years agomeson: rename conflicting target names
Yu Watanabe [Fri, 3 Mar 2023 05:54:21 +0000 (14:54 +0900)] 
meson: rename conflicting target names

The update-man-rules and update-dbus-docs targets are both declared in the
main meson.build and man/meson.build, so we cannot build the target with
'meson compile' command:
====
$ meson compile update-man-rules
INFO: autodetecting backend as ninja

ERROR: Can't invoke target `update-man-rules`: ambiguous name.Add target type and/or path:
- ./man/update-man-rules:custom
- ./update-man-rules:run
====
Let's rename the targets declared in man/meson.build.

2 years agotools: fix the file name that "meson setup" generates
Yu Watanabe [Fri, 3 Mar 2023 05:48:56 +0000 (14:48 +0900)] 
tools: fix the file name that "meson setup" generates

2 years agotest: generate debugging logs for udevd after restart
Yu Watanabe [Fri, 3 Mar 2023 04:32:37 +0000 (13:32 +0900)] 
test: generate debugging logs for udevd after restart

2 years agotest: clear tzname[] after timezone is changed
Yu Watanabe [Fri, 3 Mar 2023 03:07:25 +0000 (12:07 +0900)] 
test: clear tzname[] after timezone is changed

Fixes the issue reported in fe56f21ae3943e79ce9faeb40b79c7093c50e644.

2 years agotest: use get_timezones() to iterate all known timezones
Yu Watanabe [Fri, 3 Mar 2023 10:40:40 +0000 (19:40 +0900)] 
test: use get_timezones() to iterate all known timezones

2 years agomeson: add missing man rules for new sd-login functions
Yu Watanabe [Fri, 3 Mar 2023 05:33:52 +0000 (14:33 +0900)] 
meson: add missing man rules for new sd-login functions

Follow-up for d71f5b1217986a18e8ddaef3191afddfe731b2d7,
c4ef14dc2a0eaae6b93d41e5c82f50ee86e480a4, and
d622fefc008ce1cd3bf62ced4a606d3b5277b9fa.

2 years agonspawn: drop unused arg
Lennart Poettering [Thu, 2 Mar 2023 17:28:23 +0000 (18:28 +0100)] 
nspawn: drop unused arg

2 years agoMerge pull request #26628 from msizanoen1/utf8-quote-valid
Luca Boccassi [Thu, 2 Mar 2023 17:33:16 +0000 (17:33 +0000)] 
Merge pull request #26628 from msizanoen1/utf8-quote-valid

escape: Ensure that output is always valid UTF-8

2 years agomeson: Copy files with git only in true git repository
Michal Koutný [Wed, 1 Mar 2023 21:54:06 +0000 (22:54 +0100)] 
meson: Copy files with git only in true git repository

When mkosi is run from git-worktree(1), the .git is not a repository
directory but a textfile pointing to the real git dir
(e.g. /home/user/systemd/.git/worktrees/systemd-worktree). This git dir
is not bind mounted into build environment and it fails with:

> fatal: not a git repository: /home/user/systemd/.git/worktrees/systemd-worktree
> test/meson.build:190:16: ERROR: Command `/usr/bin/env -u GIT_WORK_TREE /usr/bin/git --git-dir=/root/src/.git ls-files ':/test/dmidecode-dumps/*.bin'` failed with status 128.

There is already a fallback to use shell globbing instead of ls-files,
use it with git worktrees as well.

2 years agoescape: add missing non-NULL parameter assertions 26628/head
msizanoen1 [Thu, 2 Mar 2023 11:37:02 +0000 (18:37 +0700)] 
escape: add missing non-NULL parameter assertions

2 years agotest-escape: Add tests for escaping bogus UTF-8 sequences
msizanoen1 [Wed, 1 Mar 2023 14:48:08 +0000 (21:48 +0700)] 
test-escape: Add tests for escaping bogus UTF-8 sequences

2 years agoescape: Ensure that output is always valid UTF-8
msizanoen1 [Wed, 1 Mar 2023 10:35:17 +0000 (17:35 +0700)] 
escape: Ensure that output is always valid UTF-8

This ensures that shell string escape operations will not produce output
with invalid UTF-8 from the input by escaping invalid UTF-8 data as if
they were single byte characters.

2 years agoupdate TODO 26355/head
Lennart Poettering [Wed, 8 Feb 2023 12:40:10 +0000 (13:40 +0100)] 
update TODO

2 years agotest: add test for journals without RTC
Lennart Poettering [Wed, 8 Feb 2023 10:29:49 +0000 (11:29 +0100)] 
test: add test for journals without RTC

This adds a test for checking we can safely order boot IDs via the
timestamp of their most recent known entry. It takes a set of journal
files (supplied by a user) and that are partially corrupted, and ensures
we get a clear, defined order of boot IDs out of it.

2 years agojournal: use boot-id/timestamp info for odering entries
Lennart Poettering [Wed, 8 Feb 2023 10:10:49 +0000 (11:10 +0100)] 
journal: use boot-id/timestamp info for odering entries

With this we should be able to determine on systems without
battery-backed RTC even during early boot whether a boot is supposed to
be earlier than another.

Fixes: #662
2 years agosd-journal: track newest open journal file per boot ID
Lennart Poettering [Wed, 8 Feb 2023 10:10:32 +0000 (11:10 +0100)] 
sd-journal: track newest open journal file per boot ID

This is useful to later order boot IDs by time, addressing #662.

Basically, this determines the most recently written for each boot ID
from all currently open journal files. This is then stored in a hash
table (which maps the boot ID to a prioq of journal files, ordered by
their timestamp).

Why is this useful? If systems lack a battery-buffered RTC they will
initially have a system clock basically starting at zero. Later they
might acquire an NTP fix, or at least roughly monotonic time via a
stored timestamp. Thus, log entries written early during boot tend to be
badly timestamped, and those written most recently are likely to have
most accurate timestamps. Thus, if we track the newest entry for each
boot ID we likely can order the boot ID via their timestamps.

This commit only add the logic to maintain the hash table/prioq. It
doesn't actually make use of this information for ordering yet. A later
patch adds that.

2 years agojournal-file: journal-file: extend journal header to always carry offset of most...
Lennart Poettering [Tue, 31 Jan 2023 18:20:27 +0000 (19:20 +0100)] 
journal-file: journal-file: extend journal header to always carry offset of most recent entry

This way we can quickly find the most recent entry, without searching or
traversing entry array chains.

This is relevant later, as it it allows us to quickly determine the most
recent timestamps of each journal file, in a roughly atomic way.

2 years agoMerge pull request #26627 from mrc0mmand/TEST-17-tweaks
Luca Boccassi [Wed, 1 Mar 2023 23:11:05 +0000 (23:11 +0000)] 
Merge pull request #26627 from mrc0mmand/TEST-17-tweaks

test: skip the hwdb update related tests w/ sanitizers and w/o accel

2 years agoMerge pull request #26632 from poettering/dissect-arch-nspawn
Luca Boccassi [Wed, 1 Mar 2023 22:53:16 +0000 (22:53 +0000)] 
Merge pull request #26632 from poettering/dissect-arch-nspawn

dissect: determine arch from DDI and use it for nspawn

2 years agotree-wide: error handling modernizations
Lennart Poettering [Wed, 1 Mar 2023 08:37:41 +0000 (09:37 +0100)] 
tree-wide: error handling modernizations

2 years agotest: a couple of format-related tweaks 26627/head
Frantisek Sumsal [Wed, 1 Mar 2023 10:19:02 +0000 (11:19 +0100)] 
test: a couple of format-related tweaks

2 years agotest: skip the hwdb update related tests w/ sanitizers and w/o accel
Frantisek Sumsal [Wed, 1 Mar 2023 10:06:42 +0000 (11:06 +0100)] 
test: skip the hwdb update related tests w/ sanitizers and w/o accel

systemd-hwdb update is an expensive operation by itself, and when
running with sanitizers and in a VM without acceleration this cost is
exacerbated even further, making the test run for a very long time.

For example, in the daily CentOS CI ppc64le job with ASan+UBSan one
systemd-hwdb update takes more than 7 minutes; in the regular Arch job
with KVM it takes over 2 minutes.

Since the hwdb update is also tested in other places (like
TEST-01-BASIC and the test-hwdb meson test), let's skip it if we detect
we run with sanitizers and with plain QEMU.

2 years agovirt: correctly detect QEMU emulated pSeries guests
Frantisek Sumsal [Wed, 1 Mar 2023 12:57:03 +0000 (13:57 +0100)] 
virt: correctly detect QEMU emulated pSeries guests

Resolves: #26629

2 years agonspawn: fix DDI arch → personality() propagation 26632/head
Lennart Poettering [Wed, 1 Mar 2023 15:50:12 +0000 (16:50 +0100)] 
nspawn: fix DDI arch → personality() propagation

Since quite a while the propagation from the DDI arch into the
personality() wasn't hooked up anymore. Let's fix that: when the DDI has
a determined arch, automatically propagate this into the personality.

2 years agodissect: show intended architecture of a disk image
Lennart Poettering [Wed, 1 Mar 2023 15:09:57 +0000 (16:09 +0100)] 
dissect: show intended architecture of a disk image

We already determine the architecture of disk images and make a choice,
and store it per partition. Let's make this accessible globally.

2 years agobuild(deps): bump systemd/mkosi
dependabot[bot] [Wed, 1 Mar 2023 13:16:37 +0000 (13:16 +0000)] 
build(deps): bump systemd/mkosi

Bumps [systemd/mkosi](https://github.com/systemd/mkosi) from 1d131062066fe7b5a83b87319b4464b186adbb1c to d13ff85610c6fb01a2fff0a8187729ebe4a05595.
- [Release notes](https://github.com/systemd/mkosi/releases)
- [Changelog](https://github.com/systemd/mkosi/blob/main/NEWS.md)
- [Commits](https://github.com/systemd/mkosi/compare/1d131062066fe7b5a83b87319b4464b186adbb1c...d13ff85610c6fb01a2fff0a8187729ebe4a05595)

---
updated-dependencies:
- dependency-name: systemd/mkosi
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years agobuild(deps): bump github/codeql-action from 2.1.29 to 2.2.5
dependabot[bot] [Wed, 1 Mar 2023 13:16:57 +0000 (13:16 +0000)] 
build(deps): bump github/codeql-action from 2.1.29 to 2.2.5

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.1.29 to 2.2.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/ec3cf9c605b848da5f1e41e8452719eb1ccfb9a6...32dc499307d133bb5085bae78498c0ac2cf762d5)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years agobuild(deps): bump actions/labeler from 4.0.1 to 4.0.2
dependabot[bot] [Wed, 1 Mar 2023 09:58:46 +0000 (09:58 +0000)] 
build(deps): bump actions/labeler from 4.0.1 to 4.0.2

Bumps [actions/labeler](https://github.com/actions/labeler) from 4.0.1 to 4.0.2.
- [Release notes](https://github.com/actions/labeler/releases)
- [Commits](https://github.com/actions/labeler/compare/e54e5b338fbd6e6cdb5d60f51c22335fc57c401e...5c7539237e04b714afd8ad9b4aed733815b9fab4)

---
updated-dependencies:
- dependency-name: actions/labeler
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years agobuild(deps): bump meson from 1.0.0 to 1.0.1 in /.github/workflows
dependabot[bot] [Wed, 1 Mar 2023 09:57:34 +0000 (09:57 +0000)] 
build(deps): bump meson from 1.0.0 to 1.0.1 in /.github/workflows

Bumps [meson](https://github.com/mesonbuild/meson) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/mesonbuild/meson/releases)
- [Commits](https://github.com/mesonbuild/meson/compare/1.0.0...1.0.1)

---
updated-dependencies:
- dependency-name: meson
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years agobuild(deps): bump actions/checkout from 3.2.0 to 3.3.0
dependabot[bot] [Wed, 1 Mar 2023 09:58:39 +0000 (09:58 +0000)] 
build(deps): bump actions/checkout from 3.2.0 to 3.3.0

Bumps [actions/checkout](https://github.com/actions/checkout) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/755da8c3cf115ac066823e79a1e1788f8940201b...ac593985615ec2ede58e132d2e21d2b1cbd6127c)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2 years agoMerge pull request #26393 from poettering/mempress
Luca Boccassi [Wed, 1 Mar 2023 12:28:12 +0000 (12:28 +0000)] 
Merge pull request #26393 from poettering/mempress

watch and act on memory pressure in most of our long-running services, including PID 1

2 years agoupdate TODO 26393/head
Lennart Poettering [Wed, 15 Feb 2023 10:27:07 +0000 (11:27 +0100)] 
update TODO

2 years agodoc: add document explaining memory pressure handling
Lennart Poettering [Thu, 23 Feb 2023 15:45:52 +0000 (16:45 +0100)] 
doc: add document explaining memory pressure handling

2 years agotest: add test for the new memory pressure unit file settings, and that they work
Lennart Poettering [Thu, 23 Feb 2023 16:41:35 +0000 (17:41 +0100)] 
test: add test for the new memory pressure unit file settings, and that they work

2 years agounits: let systemd --user manage its own memory pressure handling
Lennart Poettering [Fri, 24 Feb 2023 09:42:10 +0000 (10:42 +0100)] 
units: let systemd --user manage its own memory pressure handling

Let's make things systematic: the per-user and the per-system manager
should manage their own memory pressure, as they are, well, managers of
things.

This is particularly relevant and the per-user service manager should
watch its own "init.scope" subcgroup, instead of the main service unit
cgroup, and hence $MEMORY_PRESSURE_WATCH as set by the per-system
service manager would simply be wrong.

2 years agopid1: add unit file settings to control memory pressure logic
Lennart Poettering [Wed, 15 Feb 2023 18:00:14 +0000 (19:00 +0100)] 
pid1: add unit file settings to control memory pressure logic

2 years agopid1: also process memory pressure events (and SIGRTMIN+18)
Lennart Poettering [Wed, 15 Feb 2023 10:22:02 +0000 (11:22 +0100)] 
pid1: also process memory pressure events (and SIGRTMIN+18)

2 years agouserdbd: hook up memory pressure and sigrtmin18
Lennart Poettering [Thu, 23 Feb 2023 09:35:00 +0000 (10:35 +0100)] 
userdbd: hook up memory pressure and sigrtmin18

2 years agonspawn: hook up memory pressure + sigrtmin+18
Lennart Poettering [Thu, 23 Feb 2023 09:31:59 +0000 (10:31 +0100)] 
nspawn: hook up memory pressure + sigrtmin+18

2 years agoportabled: hook up SIGRTMIN+18 and memory pressure
Lennart Poettering [Thu, 23 Feb 2023 09:29:52 +0000 (10:29 +0100)] 
portabled: hook up SIGRTMIN+18 and memory pressure

2 years agonetworkd: hook up SIGRTMIN+18 and memory pressure
Lennart Poettering [Thu, 23 Feb 2023 09:28:03 +0000 (10:28 +0100)] 
networkd: hook up SIGRTMIN+18 and memory pressure

2 years agoimportd: hook up memory pressure, SIGRTMIN-18 (and in fact SIGINT + SIGTERM)
Lennart Poettering [Thu, 23 Feb 2023 09:25:27 +0000 (10:25 +0100)] 
importd: hook up memory pressure, SIGRTMIN-18 (and in fact SIGINT + SIGTERM)

2 years agotimesyncd: hook up memory pressure + sigrtmin18
Lennart Poettering [Thu, 23 Feb 2023 09:22:28 +0000 (10:22 +0100)] 
timesyncd: hook up memory pressure + sigrtmin18

2 years agologind: hook up memory pressure + SIGRTMIN+18
Lennart Poettering [Thu, 23 Feb 2023 09:19:24 +0000 (10:19 +0100)] 
logind: hook up memory pressure + SIGRTMIN+18

2 years agohomed: hook up memory pressure/SIGRTMIN+18 handling
Lennart Poettering [Thu, 16 Feb 2023 11:33:18 +0000 (12:33 +0100)] 
homed: hook up memory pressure/SIGRTMIN+18 handling

2 years agoudevd: enable memory pressure/SIGRTMIN+18 logic
Lennart Poettering [Thu, 16 Feb 2023 11:30:24 +0000 (12:30 +0100)] 
udevd: enable memory pressure/SIGRTMIN+18 logic

2 years agomachined: add support for memory pressure + SIGRTMIN+18
Lennart Poettering [Wed, 15 Feb 2023 10:31:45 +0000 (11:31 +0100)] 
machined: add support for memory pressure + SIGRTMIN+18

2 years agojournald: hook up journald with the memory pressure and SIGRTMIN+18 logic
Lennart Poettering [Tue, 14 Feb 2023 17:49:50 +0000 (18:49 +0100)] 
journald: hook up journald with the memory pressure and SIGRTMIN+18 logic

2 years agoresolved: flush caches on memory pressure and support SIGRTMIN+18
Lennart Poettering [Tue, 14 Feb 2023 15:13:59 +0000 (16:13 +0100)] 
resolved: flush caches on memory pressure and support SIGRTMIN+18