1
0
mirror of https://github.com/systemd/systemd.git synced 2025-01-12 13:18:14 +03:00
Commit Graph

62905 Commits

Author SHA1 Message Date
Luca Boccassi
52bdfbf7d7
Merge pull request #26687 from yuwata/c2x
C2X support
2023-03-06 20:50:17 +00:00
Yu Watanabe
84d0dc53ac time-util: drop redundant call of tzset()
It is also called at the beginning of `parse_timestamp_maybe_with_tz()`.
2023-03-06 20:39:37 +00:00
Adrian Vovk
d249c23211 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
2023-03-06 20:37:57 +00:00
Daan De Meyer
9cc018fa93 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.
2023-03-06 19:30:40 +01:00
Lennart Poettering
c8170f9c39 TODO 2023-03-06 18:49:09 +01:00
Dmitry V. Levin
42a467b552 udev_rules_parse_file: do not skip ENOENT
Starting with commit ed88bcfb7c,
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: ed88bcfb7c ("Be more careful when checking for empty files")
2023-03-06 17:42:12 +09:00
Yu Watanabe
25e12db5e4
Merge pull request #26650 from yuwata/udev-trigger
test: generate debugging logs for udevd after restart
2023-03-06 16:36:34 +09:00
Yu Watanabe
a6d46fe64b test: add header build tests for newer C and C++ standards 2023-03-06 10:21:47 +09:00
Cristian Rodríguez
5545f336fd 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>
2023-03-06 10:04:39 +09:00
Zbigniew Jędrzejewski-Szmek
efcde781de meson: adjust for removal of gnu-efi compat
gnu-efi-3.0.11-13.fc39 in Fedora dropped the old include paths.
2023-03-05 19:11:58 +00:00
Yu Watanabe
ae9f36397f Revert "hwdb: fix swapped buttons for Logitech Lift left"
This reverts commit 81cfea95e5.

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

Fixes #26671 and #26676.
2023-03-05 14:21:22 +01:00
Zbigniew Jędrzejewski-Szmek
cfba58fe79
Merge pull request #26651 from yuwata/meson-cleanups
Several meson cleanups
2023-03-05 13:38:55 +01:00
Daan De Meyer
877e68e702 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.
2023-03-05 18:05:19 +09:00
Yu Watanabe
561f17a1e4
Merge pull request #26668 from yuwata/man-link-rename
man: add/update example in systemd.link
2023-03-04 22:14:22 +09:00
Yu Watanabe
181d719542 man: add an example to (re-)apply new settings to a network interface
Closes #26601.
2023-03-04 20:07:56 +09:00
Yu Watanabe
9b7f499ff1 man: sync the default .link file in example 2023-03-04 14:35:01 +09:00
Yu Watanabe
f482e22484
Merge pull request #26653 from poettering/tmpfile-linkable-replace
teach link_tmpfile() to optionally replace files
2023-03-04 02:53:59 +09:00
Frantisek Sumsal
ac76d1ec69 README: update CentOS CI URLs to the new instance 2023-03-03 18:38:40 +01:00
Frantisek Sumsal
c63bfd0884 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: bf1bea43f1
Related issue: https://github.com/systemd/systemd/pull/14470#discussion_r362893735
2023-03-03 15:57:34 +00:00
Luca Boccassi
0c70d5e623
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
2023-03-03 15:57:13 +00:00
Luca Boccassi
4ed17fb88c
Merge pull request #26649 from yuwata/parse-timstamp
test: fix and extend test for parse_timestamp()
2023-03-03 15:56:53 +00:00
Yu Watanabe
af766bb844 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.
2023-03-03 23:25:01 +09:00
Yu Watanabe
ff0a9199d4 man: fix doubled word 2023-03-03 23:13:23 +09:00
наб
f8b7ff8493
man: fix typo (#26655) 2023-03-03 23:01:51 +09:00
Lennart Poettering
acbab8697e 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)
2023-03-03 13:44:12 +01:00
Lennart Poettering
23e208e742 tmpfile-util: teach link_tmpfile() to optionally replace files 2023-03-03 13:44:12 +01:00
Lennart Poettering
16a9ad557d
Merge pull request #26355 from poettering/journal-no-rtc
journald: support ordering journal entries by boot ID if no RTC is available
2023-03-03 13:13:13 +01:00
Yu Watanabe
9f819781ca 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
2023-03-03 20:39:19 +09:00
Yu Watanabe
87e0fd575e time-util: extend comment a bit 2023-03-03 20:39:19 +09:00
Yu Watanabe
8beb47c824 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
2023-03-03 20:39:19 +09:00
Yu Watanabe
ca9c9d8d8e time-util: fix typo
Follow-up for 7a9afae604.
2023-03-03 20:39:19 +09:00
Yu Watanabe
b66b3c4099 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.
2023-03-03 20:39:19 +09:00
Yu Watanabe
d8f3ad627c test: test parse_timestamp() in various timezone 2023-03-03 20:39:10 +09:00
Yu Watanabe
695253466b meson: show options about tests in the summary 2023-03-03 20:27:44 +09:00
Lennart Poettering
56339a10db 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.
2023-03-03 12:17:49 +01:00
Lennart Poettering
75f8173247 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.
2023-03-03 12:17:42 +01:00
Yu Watanabe
e3b2f7c056 tools: explicitly specify "setup" subcommand
As invoking meson without subcommand is deprecated since 0.64.0.
2023-03-03 20:06:30 +09:00
Yu Watanabe
d2ec38e2b2 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.
2023-03-03 19:56:38 +09:00
Yu Watanabe
26ab5ea69d tools: fix the file name that "meson setup" generates 2023-03-03 19:54:38 +09:00
Yu Watanabe
b6b5135e66 test: generate debugging logs for udevd after restart 2023-03-03 19:48:40 +09:00
Yu Watanabe
8677fdc78b test: clear tzname[] after timezone is changed
Fixes the issue reported in fe56f21ae3.
2023-03-03 19:45:32 +09:00
Yu Watanabe
0b20d70d1c test: use get_timezones() to iterate all known timezones 2023-03-03 19:45:32 +09:00
Yu Watanabe
11fa81bf77 meson: add missing man rules for new sd-login functions
Follow-up for d71f5b1217,
c4ef14dc2a, and
d622fefc00.
2023-03-03 14:38:13 +09:00
Lennart Poettering
11875a98e4 nspawn: drop unused arg 2023-03-02 20:54:31 +01:00
Luca Boccassi
a41ac8ac40
Merge pull request #26628 from msizanoen1/utf8-quote-valid
escape: Ensure that output is always valid UTF-8
2023-03-02 17:33:16 +00:00
Michal Koutný
edd84b8e4b 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.
2023-03-02 15:04:40 +00:00
msizanoen1
0b82a6fa5d escape: add missing non-NULL parameter assertions 2023-03-02 19:55:47 +07:00
msizanoen1
582843ee37 test-escape: Add tests for escaping bogus UTF-8 sequences 2023-03-02 19:55:47 +07:00
msizanoen1
00f57157f3 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.
2023-03-02 19:55:12 +07:00
Lennart Poettering
c48f13d8e1 update TODO 2023-03-02 10:18:24 +01:00