Commit Graph
63289 Commits
Author SHA1 Message Date
Daan De Meyer 81b3565efd log: Add key/value support to the log context
Now that we have reference counting, it's useful to be able to push
single key values onto the log context separately, so that we don't
have to allocate new storage to join the separate string together into
a single field which means we won't be able to reuse a context containing
the same field.
2023-03-21 14:54:04 +01:00
Daan De Meyer 883354532c log: Avoid pushing the same fields more than once on the log context
Let's try to optimize against pushing the same fields multiple times
onto the log context. To achieve this we make the log context reference
counted and return an existing context object if it's using the same
fields.

A consequence of this is that we have to make sure attaching/detaching
is coupled to the lifetime of the context object, so we make the attach
and detach functions private for now. If we need independent attach/detach
in the future, we can make that work with some extra complexity but since
we don't need it yet, let's not support it for now.
2023-03-21 14:25:10 +01:00
Daan De Meyer 26f51ae430 mkosi: Default to debug log level for udev as well
Unlike CI, the debug output just goes to the journal, so there's no
harm in enabling it, even if it's noisy.
2023-03-21 11:01:34 +01:00
Antonio Alvarez Feijoo 9baeb58fcd man/network-generator: replace dracut.kernel reference with dracut.cmdline
`dracut.kernel.7` is just a symlink to `dracut.cmdline.7`, so the web reference
points to a non-existent URL
(https://man7.org/linux/man-pages/man7/dracut.kernel.7.html).
2023-03-21 19:00:00 +09:00
Antonio Alvarez Feijoo dd23292c08 gpt-auto-generator: fix typo 2023-03-21 18:57:59 +09:00
Zbigniew Jędrzejewski-Szmek cd36f4d79f Merge pull request #26867 from dtardon/list-dependencies-circular
Fix printing of circular dependencies
2023-03-21 09:40:46 +01:00
Dmitry V. Levin f0a16c9ae8 udev-rules: add another check for conflicting expressions
Log an error when a rule line contains the following kind of conflicting
match expressions:

  KEY=="foo", KEY=="bar"
2023-03-21 09:34:50 +09:00
OMOJOLA JOSHUA DAMILOLA 92035969e0 compare-operator: added unit tests 2023-03-20 17:54:02 +00:00
Yu Watanabe 719bbb365b Merge pull request #26875 from yuwata/core-transaction
core/transaction: several fixes for merge_unit_ids()
2023-03-21 00:42:30 +09:00
Yu Watanabe 00546c18fd strv: introduce strv_print_full() 2023-03-20 09:32:09 +01:00
Frantisek Sumsal 7af15421e3 ci: drop clang-13, add clang-16 2023-03-20 13:58:58 +09:00
Yu Watanabe de2c62e847 bootctl: fix wrong type comparison 2023-03-20 13:58:20 +09:00
Yu Watanabe a9b402e4d2 Merge pull request #26886 from ldv-alt/udevadm-verify
udev-rules: fix matching of token types that support alternative patterns
2023-03-20 13:58:08 +09:00
Yu Watanabe 432f1fa8c7 loop-util: add more debugging logs in loop_configure() 2023-03-19 20:32:09 +09:00
Dmitry V. Levin 5004aa84ac udev-rules: fix check for conflicting and duplicate expressions
Fix check for conflicting and duplicate expressions of types that
support alternative patterns.

Fixes: 3ec58d0cd8 ("udev-rules: check for conflicting and duplicate expressions")
2023-03-19 11:32:09 +00:00
Dmitry V. Levin 8c499a61c4 Revert "udev: prepare memory for extra NUL termination for NULSTR"
This reverts commit cd3c8a117c which was
papering over the bug instead of a proper fix made by the previous
commit.
2023-03-19 11:32:09 +00:00
Dmitry V. Levin c43ff248f9 udev-rules: fix matching of token types that support alternative patterns
For those token types that support matching of alternative patterns,
their token values are interpreted as nulstr, so make sure the parser
does the right thing and makes these token values terminated by two
subsequent NULs so they could be safely interpreted as nulstr.

Before this fix, the following rules would result to "echo foo" invocation:
  ENV{foo}=", RUN"
  ENV{foo}=="bar", RUN+="echo foo"
because the value of `ENV{foo}` is treated as nulstr, and it used to match
against alternative patterns, in this case `bar`, `, RUN`, and `="echo foo`.

Fixes: 25de7aa7b9 ("udev: modernize udev-rules.c")
2023-03-19 11:32:09 +00:00
taniishkaaa c22dcc80d0 hwdb: fix Wifi toggling for Haier 7G-Series/JWU (#25293) (#26878) 2023-03-19 14:16:00 +09:00
Yu Watanabe 55882f648e Merge pull request #26884 from YHNdnzj/tmpfiles-unit-name-update
Update references to obsolete systemd-tmpfiles.service
2023-03-19 12:18:10 +09:00
Yu Watanabe 3867264c78 Merge pull request #26880 from yuwata/test-tmpfiles
tmpfiles: cleanups
2023-03-19 02:49:11 +09:00
Yu Watanabe 9edf5752e5 Merge pull request #26879 from mrc0mmand/cocci
tree-wide: simplify x ? x : y to x ?: y where applicable
2023-03-19 02:48:39 +09:00
Mike Yuan 7d33146dbc docs: update unit name for sd-tmpfiles-setup 2023-03-19 01:32:50 +08:00
Mike Yuan 23c4c03406 unit: sysext: update unit name for sd-tmpfiles-setup
Fixes #26882
2023-03-19 01:29:48 +08:00
Yu Watanabe 458e8d6dd0 test-systemd-tmpfiles.py: create global temporary directory
For some unknown reasons, the temporary directory created by the test
below is not removed:
```
 # Test the case that a valid symlink is in the path.
 label = 'valid_symlink-deep'
 test_content('f= {} - - - - ' + label, label, user=user, subpath='/deep/1/2', path_cb=valid_symlink)
```
To keep /tmp clean, let's create the global temprary directory.
2023-03-18 22:27:41 +09:00
Yu Watanabe 015ddd4bf0 test-systemd-tmpfiles.py: use test_content() at one more place 2023-03-18 22:27:41 +09:00
Yu Watanabe 056ff0b455 tmpfiles: show file type in octal, instead of hex 2023-03-18 22:27:41 +09:00
Frantisek Sumsal 1da3cb8141 tree-wide: simplify x ? x : y to x ?: y where applicable 2023-03-18 14:23:11 +01:00
Frantisek Sumsal 64254629f7 coccinelle: add a transformation for GNU conditionals
i.e. x ? x : y => x ?: y
2023-03-18 14:23:11 +01:00
Frantisek Sumsal d3a2a25fb4 coccinelle: respect spacing from the semantic patch 2023-03-18 14:23:11 +01:00
Yu Watanabe f5c0edd166 man: explicitly list three command syntax at the beginning 2023-03-18 20:22:08 +08:00
Yu Watanabe 0bc2bcf4fe Merge pull request #26759 from medhefgo/boot-stack-protector
boot: Add support for stack protector/trapping math/ubsan
2023-03-18 15:07:45 +09:00
Daan De Meyer cafd2c0be4 units: Order user@.service after systemd-oomd.service
The user manager connects to oomd over varlink. Currently, during
shutdown, if oomd is stopped before any user manager, the user
manager will try to reconnect to the socket, leading to a warning
from pid 1 about a conflicting transaction.

Let's fix this by ordering user@.service after systemd-oomd.service,
so that user sessions are stopped before systemd-oomd is stopped,
which makes sure that the user sessions won't try to start oomd via
its socket after systemd-oomd is stopped.
2023-03-18 15:05:43 +09:00
Yu Watanabe a9938fb3cb Merge pull request #26862 from yuwata/uki-util
uki-util: export functions of inspecting kernel
2023-03-18 15:04:54 +09:00
Yu Watanabe aa5ef80130 Merge pull request #26861 from yuwata/exec-util
exec-util: introduce execute_strv() and EXEC_DIR_SKIP_REMAINING
2023-03-18 15:04:16 +09:00
Yu Watanabe 1f3792bfca Merge pull request #26855 from DaanDeMeyer/repart-fixes
Repart fixes
2023-03-18 15:03:38 +09:00
Yu Watanabe 5803c24da5 core/transaction: do not log "(null)"
As we ignores the failure in merge_unit_ids(), so unit_ids may be NULL.
2023-03-18 12:19:44 +09:00
Yu Watanabe 999f165143 core/transaction: make merge_unit_ids() return non-NULL on success 2023-03-18 12:19:44 +09:00
Yu Watanabe 366eced4c8 core/transaction: make merge_unit_ids() always return NUL-terminated string
Follow-up for 924775e8ce.

The loop run with `STRV_FOREACH_PAIR()`, hence `if (*(unit_id+1))` is
not a good way to detect if there exist a next entry.

Fixes #26872.
2023-03-18 12:12:05 +09:00
Mike Yuan 6c2caf5053 Merge pull request #26863 from yuwata/kernel-install-cleanups
kernel-install: cleanups
2023-03-18 02:28:50 +08:00
Mike Yuan f05b4bb9a7 sleep: fix default values unmatched with manual 2023-03-18 02:28:22 +08:00
Mike Yuan 212272f32b Merge pull request #26871 from weblate/weblate-systemd-master
Translations update from Fedora Weblate
2023-03-18 02:22:54 +08:00
Velislav Ivanov bc268740d2 po: Translated using Weblate (Bulgarian)
Currently translated at 100.0% (193 of 193 strings)

Co-authored-by: Velislav Ivanov <velislav.bg@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/bg/
Translation: systemd/main
2023-03-17 16:20:30 +01:00
David Tardon 7a26ed2ae2 systemctl: move printing of state to the printing func.
No functional change, just refactoring.
2023-03-17 14:50:40 +01:00
Yu Watanabe b0e339547f kernel-install: check all entry candidates first, then check existence of $pref/loader/entries only once
If we have multiple entries in $ENTRY_TOKEN_SEARCH, and $pref/loader/entries
exists, then previously we would always exit after the first candidate and
ignore the second and later candidates.

Follow-up for 1b43f86893.
2023-03-17 20:41:17 +09:00
Yu Watanabe 561d801370 Revert "kernel-install: also try to find $BOOT by partition GUID"
This reverts commit 41f39e2144.

From the post merge comment in #26648:

> Hmm, this is highly problematic, no? if I boot from my ssd and then
> plug in a fedora live usb stick, then there will be two ESPs around,
> the one from my ssd and the one from the live usb one, and this code
> might find the wrong one and bad things will happen
2023-03-17 20:41:17 +09:00
Yu Watanabe 16af02cd97 uki-util: move functions for inspecting kernel to uki-util.[ch] 2023-03-17 20:40:34 +09:00
Yu Watanabe c8eced395b bootctl: introduce inspect_kernel()
Then, now verb_kernel_identify() and verb_kernel_inspect() can share
most of the code.
2023-03-17 20:40:34 +09:00
Yu Watanabe 8102ff2e3d bootctl: introduce uki_read_pretty_name()
No functional change, just prepration for later commits.
2023-03-17 20:40:34 +09:00
Yu Watanabe 748b15c277 bootctl: find matching section in read_pe_section()
No functional change, just refactoring.
2023-03-17 20:40:34 +09:00
Yu Watanabe 03221e746d bootctl: return 0 instead of EXIT_SUCCESS 2023-03-17 20:40:34 +09:00