1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2025-01-31 01:47:15 +03:00

60546 Commits

Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek
96f8c63601 meson: always use libatomic if found
Semi-quoting https://github.com/systemd/systemd/issues/25057:

clang-16 has made the choice to turn on -Werror=implicit-function-declaration,implicit-int.
(See Gentoo's tracker bug https://bugs.gentoo.org/870412).
Added in commit 132c73b57ad1d363e97e1f4720f0e920826f34e1, systemd now does a
check to see if libatomic is needed with some compile/link tests with e.g.
__atomic_exchange_1, but the tests don't provide a prototype for
__atomic_exchange_1 so with clang-16 the test fails, breaking the build.

Let's simplify things by linking to libatomic unconditionally if it is found
and seems to work. If actually unneeded, it might be dropped via --as-needed.
This seems to work with gcc and clang.

declare_dependency() is used instead of cc.find_library(), because the latter
picks up a symlink in gcc private directory (e.g.
/usr/lib/gcc/x86_64-redhat-linux/12/libatomic.so), and we don't want that.

Fixes #25057.
2022-10-21 17:40:59 +02:00
Jonathan Kang
2051a98172 hwdb: Add support for Elgato Stream Deck XL (gen 2)
Add support for the following Elgato Stream Deck Device:

  ID 0fd9:008f Elgato Systems GmbH Stream Deck XL
2022-10-21 16:53:33 +02:00
Michael Biebl
8c5787d75e
Merge pull request #25083 from bluca/revert_timer
Revert "Fix issue with system time set back (#24131)"
2022-10-20 19:58:10 +02:00
Frantisek Sumsal
b1c547d161
Merge pull request #25084 from mrc0mmand/scorecard-tweaks
ci: run the Scorecards action in PRs only on config update
2022-10-20 16:45:22 +00:00
Lennart Poettering
efe7ab9652 update TODO 2022-10-20 18:28:55 +02:00
Luca Boccassi
edbaca9f9c
Merge pull request #25081 from keszybz/test-local-addresses-fail
Fix racy check in test-local-addresses
2022-10-20 17:47:14 +02:00
Frantisek Sumsal
b3ea9cf13b ci: run the Scorecards action in PRs only on config update
Also, unify the string quotation a bit and drop one unnecessary
expression syntax (as everything in `if` statements is automatically
evaluated as an expression).
2022-10-20 17:10:50 +02:00
Frantisek Sumsal
3e35a3302c ci: add a missing SPDX line 2022-10-20 17:03:37 +02:00
Luca Boccassi
701f7f6c8f
Merge pull request #25077 from keszybz/completions-optional-components
Fix completions when machinectl is not installed and other fixes
2022-10-20 15:57:46 +02:00
Luca Boccassi
0bf1d0ff04 Revert "Fix issue with system time set back (#24131)"
This fix unfortunately introduced a much worse regression that
is affecting many users, so let's revert it for now and rework
it in the next release.

This reverts commit 5ded3917a161d87984d74d70b5eb2a254e54b44e.

Fixes https://github.com/systemd/systemd/issues/24984
2022-10-20 14:01:09 +01:00
Luca Boccassi
40c05a3459 service: do fine-grained validation of CPUSchedulingPriority= at execution time
The precise bounds of the scheduling priority depend on the scheduling policy,
so depending on the order in which the two settings are specified the
validation might pass or fail.
When checking the setting only validate the outer range (valid values in general are 0 to 99),
and let the execution fail later if the priority does not match the
specified policy (1 to 99 for RR/FIFO, 0 for the rest).

Fixes https://github.com/systemd/systemd/issues/20320
2022-10-20 14:29:45 +02:00
Weblate
1726ce726f 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/master/
Translation: systemd/main
2022-10-20 12:06:08 +00:00
Frantisek Sumsal
0dc8777eb3
Merge pull request #25078 from mrc0mmand/update-pot
po: regenerate the translation files
2022-10-20 11:43:54 +00:00
Luca Boccassi
63857bf4f7 core: allow-list char-rtc with ProtectClock=yes only if needed
Allow-listing a device implicitly blocks everything else, so this
has the opposite of the intended effect when PrivateDevices= is
not used.
Allow-list char-rtc only if there is a device policy set.

Fixes https://github.com/systemd/systemd/issues/18142
2022-10-20 13:11:10 +02:00
Zbigniew Jędrzejewski-Szmek
0ed08e50dd test-local-addresses: drop racy check
The test would fail when addresses were being removed in parallel. In general,
the check is only valid when the machine configuration is static, which in
general isn't true.

CentOS CI (Arch Linux) fails in TEST-02-UNITTESTS test-local-addresses:

10:38:05 (gdb) #0  0x00007f86260a164c in ?? () from /usr/lib/libc.so.6
10:38:05 No symbol table info available.
10:38:05 #1  0x00007f8626051958 in raise () from /usr/lib/libc.so.6
10:38:05 No symbol table info available.
10:38:05 #2  0x00007f862603b53d in abort () from /usr/lib/libc.so.6
10:38:05 No symbol table info available.
10:38:05 #3  0x00007f862639a755 in log_assert_failed (
10:38:05     text=text@entry=0x56180e56c03b "n == n_ipv4 + n_ipv6",
10:38:05     file=file@entry=0x56180e56c0d1 "src/test/test-local-addresses.c",
10:38:05     line=line@entry=45,
10:38:05     func=func@entry=0x56180e56c360 <__PRETTY_FUNCTION__.6> "test_local_addresses") at ../build/src/basic/log.c:853
10:38:05 No locals.
10:38:05 #4  0x000056180e56b77e in test_local_addresses ()
10:38:05     at ../build/src/test/test-local-addresses.c:45
10:38:05         a = 0x0
10:38:05         n = 234
10:38:05         n_ipv4 = 236
10:38:05         n_ipv6 = 7
10:38:05         __PRETTY_FUNCTION__ = "test_local_addresses"
10:38:05         __func__ = "test_local_addresses"
10:38:05 #5  0x000056180e56ba67 in run_test_table () at ../build/src/shared/tests.h:106
10:38:05         r = 0
10:38:05         t = 0x56180e56e010 <__unique_prefix_static_test_table_entry10>
10:38:05         __PRETTY_FUNCTION__ = <optimized out>
10:38:05         __func__ = "run_test_table"
10:38:05 #6  0x000056180e56bb2f in main (argc=1, argv=0x7ffc3a814808)
10:38:05     at ../build/src/test/test-local-addresses.c:81
10:38:05         _intro = 0x0
10:38:05         _outro = 0x0
10:38:05         _r = 0
10:38:05         _q = 0
10:38:05 (gdb)

The logs show that there's a huge number of private addresses, probably from
some other test running in parallel.
2022-10-20 12:58:16 +02:00
Zbigniew Jędrzejewski-Szmek
3f861e8dd9 test-local-addresses: inline iterator variable 2022-10-20 12:57:31 +02:00
Zbigniew Jędrzejewski-Szmek
983e637872 resolved: drop unnecessary empty lines 2022-10-20 12:57:31 +02:00
Zbigniew Jędrzejewski-Szmek
d856e1a745 tree-wide: inline declarations of sd_netlink_message iterators
Most places were already converted, but a few weren't for some reason.
2022-10-20 12:57:31 +02:00
Frantisek Sumsal
de85e1a2f4 docs: update translation strings before new release 2022-10-20 10:39:03 +02:00
Frantisek Sumsal
e9c43e5f22 po: regenerate the translation files
See: https://mesonbuild.com/Localisation.html#generate-pot-file
Resolves: #25071
2022-10-20 10:38:15 +02:00
Leon M. George
3d218676fc man: document effect of --user on --unit with journalctl
Relates to #25061.
2022-10-20 10:28:52 +02:00
Zbigniew Jędrzejewski-Szmek
c2af23b50f
Merge pull request #25073 from mrc0mmand/parse-hwdb-tweaks
test: make parse-hwdb compatible with older pyparsing versions
2022-10-20 10:02:04 +02:00
Zbigniew Jędrzejewski-Szmek
9e7cc6f0d2 shell-completion/zsh: rename helper for clarity 2022-10-20 09:58:00 +02:00
Zbigniew Jędrzejewski-Szmek
4e9183059a shell-completion/zsh: silence error when machinectl is not installed
This fixes a few unrelated issues:
- when ENABLE_MACHINED is false, machinectl is not installed, but _sd_machines
  is still used in a few places that want to complete -M and such.
  Also, bash completion calls machinectl in various places.
  Make missing machinectl mean "no machines" in this case, so
  that no error is generated in the callers.
- machinectl list --full would print multiple lines of output per machine,
  breaking grep, issue introduced in e2268fa43742ece4a5cdc2e93f731b2bb2fcc883.
  Using --max-addresses=1 would fix the issue, but let's use
  --max-addresses=0 because we now can.
- the lists used in various places were slightly different for no good reason.
- don't use a subshell if not necessary.

The code for bash still uses the same combined list of images and running
machines for various commands. The zsh code uses images for start/clone, and
running machines for the rest. Maybe something to fix in the future.

Replaces #25048.
2022-10-20 09:58:00 +02:00
Zbigniew Jędrzejewski-Szmek
99b8149ae1 machinectl: allow --max-addresses=0
Sometimes the addresses are not important, so allow skipping them in output.
2022-10-20 09:57:42 +02:00
Frantisek Sumsal
518d16c110 test: make pylint happy 2022-10-19 22:46:33 +02:00
Frantisek Sumsal
ee8d57df44 test: make parse-hwdb compatible with older pyparsing versions
Follow-up to e77fed207a41a77f88853a89a8408fbfa9a17ddd.
2022-10-19 22:46:30 +02:00
Lennart Poettering
5bc58da2bc update TODO 2022-10-19 18:55:34 +02:00
Luca Boccassi
6762c907c4
Merge pull request #25068 from aafeijoo-suse/bash-completion-dissect
dissect: add missing help option and bash-completion support
2022-10-19 17:30:55 +02:00
Frantisek Sumsal
c2c4fc4888
Merge pull request #25059 from keszybz/fopen-re
Use "re" or "r" as appropriate for various calls
2022-10-19 12:49:31 +00:00
Antonio Alvarez Feijoo
808ec9df38
bash-completion: add systemd-dissect support 2022-10-19 14:43:50 +02:00
Antonio Alvarez Feijoo
1b967529d2
dissect: add missing --umount to the help output 2022-10-19 14:42:42 +02:00
Luca Boccassi
875c0bd07e
Merge pull request #25055 from keszybz/coredump-deadlock
Fix coredump deadlock with overly long backtraces
2022-10-19 14:21:33 +02:00
Zbigniew Jędrzejewski-Szmek
6f3cec8a0d TEST-15: add daemon-reload in one place
Quoting https://github.com/systemd/systemd/pull/25050#discussion_r998721845:

This part seems to be quite racy, at least in the C8S job:

[ 1767.520856] H testsuite-15.sh[35]: *** test transient slice drop-ins
[ 1767.520856] H testsuite-15.sh[35]: + mkdir -p /etc/systemd/system/slice.d
[ 1767.522480] H testsuite-15.sh[35]: + mkdir -p /etc/systemd/system/a-.slice.d
[ 1767.524992] H testsuite-15.sh[35]: + mkdir -p /etc/systemd/system/a-b-.slice.d
[ 1767.526799] H testsuite-15.sh[35]: + mkdir -p /etc/systemd/system/a-b-c.slice.d
[ 1767.528302] H testsuite-15.sh[35]: + echo -e '[Unit]\nDocumentation=man:drop1'
[ 1767.528434] H testsuite-15.sh[35]: + echo -e '[Unit]\nDocumentation=man:drop2'
[ 1767.528519] H testsuite-15.sh[35]: + echo -e '[Unit]\nDocumentation=man:drop3'
[ 1767.528595] H testsuite-15.sh[35]: + echo -e '[Unit]\nDocumentation=man:drop4'
[ 1767.528676] H testsuite-15.sh[35]: + systemctl cat a-b-c.slice
[ 1767.541321] H systemctl[1042]: No files found for a-b-c.slice.
[ 1767.542854] H systemd[1]: testsuite-15.service: Main process exited, code=exited, status=1/FAILURE
[ 1767.542995] H systemd[1]: testsuite-15.service: Failed with result 'exit-code'.
[ 1767.543360] H systemd[1]: Failed to start testsuite-15.service.
[ 1767.543542] H systemd[1]: testsuite-15.service: Consumed 1.586s CPU time.
[ 1767.543938] H systemd[1]: Reached target testsuite.target.
[ 1767.545737] H systemd[1]: Starting end.service...
2022-10-19 11:48:59 +00:00
Lennart Poettering
8f598a4635 man: document restrictions on naming interfaces
Let's document that "." is a bad choice of character when naming
interfaces. Let's also document the hard restrictions we make when
naming interfaces.

Result of the mess that is #25052.
2022-10-19 13:04:56 +02:00
Luca Boccassi
10a336cd93
Merge pull request #25056 from yuwata/sd-device-monitor-set-description
tree-wide: set description for device monitor
2022-10-19 13:04:17 +02:00
Frantisek Sumsal
dacaddd90a README.md: add a missing line break
Follow-up to b7a279f9ef.
2022-10-19 11:17:33 +02:00
Joyce
b7a279f9ef
ci: Enable Scorecard Github Action and Badge (#25054)
* chore: enable scorecard action

* chore: add badge to the README file

* chore: enable on config file update

* chore: update scorecard to 2.0.4

* chore: run scorecard on PR at main branch

* chore: add condition to publish_result key

* chore: skip upload to code scanning if PR

* chore: only runs scorecard in the main repo

Resolves: #25042
2022-10-19 09:05:39 +00:00
Zbigniew Jędrzejewski-Szmek
f3bd4b3df5 tree-wide: do not use "re" with fmemopen
The man page says nothing about "e". Glibc clearly accepts it without fuss, but
it is meaningless for a memory object (and probably doesn't work). This use is
not portable, so let's avoid it.
2022-10-19 10:10:57 +02:00
Zbigniew Jędrzejewski-Szmek
dc1768131a shared/tpm2-util: wrap comments 2022-10-19 10:10:57 +02:00
Zbigniew Jędrzejewski-Szmek
a3ee0916b1 resolved,test-fileio: use "re" when opening files
This doesn't matter too much, because neither of those programs forks, but
let's dot he generally correct thing anyway.
2022-10-19 10:10:50 +02:00
Zbigniew Jędrzejewski-Szmek
076b807be4 coredump: avoid deadlock when passing processed backtrace data
We would deadlock when passing the data back from the forked-off process that
was doing backtrace generation back to the coredump parent. This is because we
fork the child and wait for it to exit. The child tries to write too much data
to the output pipe, and and after the first 64k blocks on the parent because
the pipe is full. The bug surfaced in Fedora because of a combination of four
factors:
- 87707784c70dc9894ec613df0a6e75e732a362a3 was backported to v251.5, which
  allowed coredump processing to be successful.
- 1a0281a3ebf4f8c16d40aa9e63103f16cd23bb2a was NOT backported, so the output
  was very verbose.
- Fedora has the ELF package metadata available, so a lot of output can be
  generated. Most other distros just don't have the information.
- gnome-calendar crashes and has a bazillion modules and 69596 bytes of output
  are generated for it.

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2135778.

The code is changed to try to write data opportunistically. If we get partial
information, that is still logged. In is generally better to log partial
backtrace information than nothing at all.
2022-10-19 09:46:55 +02:00
Zbigniew Jędrzejewski-Szmek
87a16eb8b5 shared/json: use different return code for empty input
It is useful to distinguish if json_parse_file() got no input or invalid input.
Use different return codes for the two cases.
2022-10-19 09:46:55 +02:00
Yu Watanabe
82c5487894 test: skip one test for iszero_safe() on i386 without SSE2
We do not provide any numerical libraries, and iszero_safe() is only
used in parsing or formatting JSON. Hence, it is not necessary for us to
request that the function provides the same result on different systems.

Fixes #25044.
2022-10-19 00:09:44 +02:00
Yu Watanabe
17bf3c550d tree-wide: set description for device manager 2022-10-19 04:46:24 +09:00
Yu Watanabe
9b784d7c16 udev: drop redundant description setting
Follow-up for f714ecd450828e45a6f04e6277011d67a10c323f.
2022-10-19 04:45:31 +09:00
Luca Boccassi
50675bb98f
Merge pull request #25050 from keszybz/transient-drop-ins-2
TEST-15: add one more variant of the test for drop-ins on transient services
2022-10-18 19:32:36 +02:00
Zbigniew Jędrzejewski-Szmek
7922ead507 shared/json: allow json_variant_dump() to return an error 2022-10-18 18:17:19 +02:00
Zbigniew Jędrzejewski-Szmek
9ca1efbc46 NEWS: add entries after 252-rc1, update contrib list v252-rc2 2022-10-18 14:30:54 +02:00
Zbigniew Jędrzejewski-Szmek
70f0e75ef8 TODO: drop entry
This was resolved by 028a981c005e90c36c269e28709bf25032c2e8ca. We don't do
the reload in the normal path.
2022-10-18 12:29:09 +02:00