1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2025-01-25 06:03:40 +03:00

61104 Commits

Author SHA1 Message Date
Luca Boccassi
75ee851a41 man: add example for sd_bus_call_method
(cherry picked from commit ce199d12e9a88286271dec6f22cd2c61f1cd7f54)
(cherry picked from commit 8b1cc644c5c80b85d170cbb7c6745cf75915ad2f)
2023-04-28 16:29:56 +01:00
Luca Boccassi
16aee50c2b man: further shorten print-unit-path example
(cherry picked from commit d10a5f6c3de64fcaa71855d9a94394ea8317038a)
(cherry picked from commit 382e53977c7b156a979004dad85019c72c012375)
2023-04-28 16:29:56 +01:00
Lennart Poettering
14a5056e5c man: link up new online coredump docs from man page
(cherry picked from commit bba6046b241c0e073a6f70ef1f418434c72d3161)
(cherry picked from commit 960f05945c98bf965d8e7642fec2c8c9d8b6d5b7)
2023-04-28 16:29:56 +01:00
Yu Watanabe
215d16a535 tree-wide: reset optind to 0 when GNU extensions in optstring are used
Otherwise, if getopt() and friends are used before parse_argv(), then
the GNU extensions may be ignored.

This should not change any behavior at least now, as we usually use
getopt_long() only once per invocation. But in the next commit,
getopt_long() will be used for other arrays, hence this change will
become necessary.

(cherry picked from commit ef9c12b157a50d63e8a8eb710c013d16c2cea319)
(cherry picked from commit edfca36727c54a3dc1b77a25db436db25a63beee)
2023-04-28 16:29:56 +01:00
Lennart Poettering
9e4507c311 units: let's establish the coredump socket before writting core_pattern sysctl
It's a bit nicer if we only write the sysctl core_pattern once the
coredump socket is established, since it's the backend for the handler.

Given the systemd-coredump.socket basically has no dependencies that run
before it this should not really make things slower or so, it just
removes the tiny window where core pattern is in effect that wants to
connect to the backend socket but cannot.

The status quo isn't terrible, and not too different in effect: either
way, until the socket unit is up we won't process coredumps. It's mostly
what kind of behaviour you get then: an error due to /bin/false being
invoked, or an error because systemd-coredump can't connect to its
socket. After this patch we'll exclusively see the former.

(cherry picked from commit 62c72c60b5e6c0712a45b1feccc6cc18151efa9c)
(cherry picked from commit 9943f2af3d46ae730443065aa781bbe04ee524ed)
2023-04-28 16:29:56 +01:00
Luca Boccassi
8ae4fd8441 test: do not remove state directory on failure
The test log is in the state directory, and we want to keep it around
when a test fails.

Follow-up for: 256a835f1c6c646a55039659aa2db186fbeb5c5d

(cherry picked from commit 49e8342965649503a537beacb77dd0fafc71debe)
(cherry picked from commit dbb1b9c2c8419490b48a3a0aeb69bacbda232043)
2023-04-28 16:29:56 +01:00
Luca Boccassi
cde5615a44 man: fix shellcheck warning for html.in
SC2015: Note that A && B || C is not if-then-else. C may run when A is true.
(cherry picked from commit a5979f0bd50234ff9cad47f160d121628e0e3bbe)
(cherry picked from commit 18afac6e9086fd92835b0695ac1981149ef6ed32)
2023-04-28 16:29:56 +01:00
OMOJOLA JOSHUA DAMILOLA
9aa62536a2 added more test cases
(cherry picked from commit e2a4411a2b683e3e5b78c1d4931b5e1029d3ba6e)
(cherry picked from commit 4629419038f7a18d73f79871eb86232e590913c8)
2023-04-28 16:29:56 +01:00
Zbigniew Jędrzejewski-Szmek
f533407976 busctl: also assume --full if not writing to terminal
If people grep the output, it probably shouldn't be ellipsized.

(cherry picked from commit f735076c548abe9878e98c2da044458dd0e684f3)
(cherry picked from commit ff7040b19370d3572c4c84123103234e98e09c1f)
2023-04-28 16:29:56 +01:00
Zbigniew Jędrzejewski-Szmek
a7dee1da0c busctl: use size_t for set size
Also reduce the scope of variables.

(cherry picked from commit bc1f1eba776434f84f082bf4935b736c94dbb0f1)
(cherry picked from commit 00977a8e74e8fafd0f81356ca1f608766af00047)
2023-04-28 16:29:56 +01:00
Zbigniew Jędrzejewski-Szmek
1b05d5132f busctl: do not truncate property values when --full
(cherry picked from commit d82267e567698e23e8fd915f057d5d67c912aa09)
(cherry picked from commit 802fded9a577a7284fb90baef0c2305157f0db2c)
2023-04-28 16:29:56 +01:00
Zbigniew Jędrzejewski-Szmek
6b4835805b oomd: add inline comments with param names
(cherry picked from commit ebfb601945b564142d6471fc10aa611c26dbd8b7)
(cherry picked from commit e400a62a92c5aa23094e0ecefcfca9e349168b6e)
2023-04-28 16:29:56 +01:00
Yu Watanabe
b91e37e323 test: add more testcases for rm_rf()
(cherry picked from commit 0278b1c80101cc0d857c1becd0c3a51b2eb14a44)
(cherry picked from commit 4067ec52f42a6f81e42e7fc66e92d0ee230b4978)
2023-04-28 16:29:56 +01:00
Yu Watanabe
ba4ea68e81 rm-rf: also chmod() directory if it cannot be opened
Otherwise, directory with zero access mode cannot be removed.

(cherry picked from commit 808c8b25eece33c503430151641f5f77676af38c)
(cherry picked from commit 201830df218b08bb06e1ecbf43bc5987e77e0235)
2023-04-28 16:29:56 +01:00
Yu Watanabe
9851867e0b rm-rf: mask file mode with 07777 when passed to chmod()
No functional change hopefully, just for safety.

(cherry picked from commit da19c07198167946d35be9fdf908bb683da49cfe)
(cherry picked from commit d91f7eb0fb5839d6fc52ec74aca7c3aa44e3b5db)
2023-04-28 16:29:56 +01:00
Yu Watanabe
25a8b163be rm-rf: fix errno handling
(cherry picked from commit cd2cd095db6f26bf9889ef26f1b105843220b803)
(cherry picked from commit 80417f90b03707a873bbff89f246ece3fb9f2c95)
2023-04-28 16:29:56 +01:00
Mike Yuan
f3678358a4 core/main: also check the argument terminator
For future-proof reasons, in case we will add
another option that starts with --deserialize.

Addresses 4f44d2c4f7 (r107285603)

(cherry picked from commit 09567df7db75824f1b8bf0b5cc721febda03cb56)
(cherry picked from commit ed18c2ab79e8b94182d5dcf31d58457763f3e3e1)
v252.9
2023-04-04 11:55:22 +01:00
Mike Yuan
b1ce97cffb core: do early setup check for arguments with '=' too
Follow-up for d2ebd50d7f9740dcf30e84efc75610af173967d2

We now modify our cmdline to use '=' for all arguments,
but didn't change early setup check to work with that.
So every daemon-reexec does a full setup, thus breaking
running user sessions.

Fixes #27106

(cherry picked from commit 4f44d2c4f76922a4f48dd4473e6abaca40d7e555)
(cherry picked from commit 4f4e0bab0d66ca6501432854aa3d3fcb53887796)
2023-04-03 11:40:16 +01:00
Дамјан Георгиевски
eae1851b12 add a github workflow action to make a release from tags
make a github release for every tag that starts with `v*`,
and a pre-release if the tag contains "-rc".

on the 'systemd/systemd' repo, the "Release" will be draft, so that the
release manager can fill up the notes manually.

on 'systemd/systemd-stable' the release will be created immediately.

info about the action used:
https://github.com/softprops/action-gh-release

(cherry picked from commit 86c20937c29da637878a1282444b057bc1a519fb)
(cherry picked from commit a3f2884ef29dee2ace12afe74b9d8d539237a10a)
2023-04-03 11:40:16 +01:00
Luca Boccassi
250729fff2 test: install 'script' for TEST-26-SYSTEMCTL
Needed by 744ea4536f6a535313a8c7f3ad2f069b51a3a933
2023-03-31 01:12:58 +01:00
Zbigniew Jędrzejewski-Szmek
51e72a8a4e hwdb: update to 201423d80144d60b48144c6283d669b63a80aabe
git restore -s origin/main hwdb.d/ test/hwdb.d test/hwdb-test.sh

(cherry picked from commit 4c80732d232733759b7e4ca2ff13e23db6b565cb)
v252.8
2023-03-30 20:50:51 +02:00
Zbigniew Jędrzejewski-Szmek
48e0395535 shared/exec-util: null_or_empty_path() does not return boolean
We shouldn't report that the file is empty if the stating fails. Let's do the
same as in other places, and just ignore the error and let the subsequent
operation fail.

(cherry picked from commit 7d0c47dad0d4282c3924a654a8fe18fc5d7766f8)
(cherry picked from commit bfc03cae41ae051c9eedcb48f66b3266346719aa)
2023-03-30 19:21:34 +02:00
Lennart Poettering
34e83c24a7 man: correct/tweak text about unit name syntax
Unit names can be 255 characters long, not 256.

We first say "name prefix" and then continue with "unit prefix".
Confusing. Couldn't figure out which term is better hence settled on
"unit name prefix".

(cherry picked from commit 75f7e5e54704e643aa9b50ce03ed02a49e75333f)
(cherry picked from commit a2ef3c97bd38d189a4b2cb5c6248f01558c7c9d8)
2023-03-30 19:21:34 +02:00
David Tardon
760059bd64 journal-vacuum: count size of all journal files
Currently, active journal files are excluded, which means that vacuuming
may not remove anything even if *MaxUse= has been exceeded.

(cherry picked from commit 9ea46af4f2368b41d57705bac09774778126507f)
(cherry picked from commit e4c7553874e86ada52545e26aafb318ca91e9545)
2023-03-30 19:21:34 +02:00
Frantisek Sumsal
7eca133c1d test: add a couple of tests for userdbctl
(cherry picked from commit 93fe228bb16afdb7c450af26b4d2e5771016a833)
(cherry picked from commit e1ddc48ff934209db70d4de0f3fa6fcf5225b359)
2023-03-30 19:21:34 +02:00
Frantisek Sumsal
73afda3f6d userdbctl: flush stdout before running the chain command
Otherwise it's quite difficult to capture the entire output:

$ userdbctl ssh-authorized-keys dropinuser --chain /bin/echo hello
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA//dxI2xLg4MgxIKKZv1nqwTEIlE/fdakii2Fb75pG+ foo@bar.tld
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMlaqG2rTMje5CQnfjXJKmoSpEVJ2gWtx4jBvsQbmee2XbU/Qdq5+SRisssR9zVuxgg5NA5fv08MgjwJQMm+csc= hello@world.tld
hello
$ userdbctl ssh-authorized-keys dropinuser --chain /bin/echo hello | tee
hello

(cherry picked from commit 5b09499cacd3c1c95ab240d041e28cc954a5975d)
(cherry picked from commit 0e7745249b1c576f89fb97ee76c3bf4c83d8f299)
2023-03-30 19:21:34 +02:00
Frantisek Sumsal
ebcd284358 docs: s/authorized_key/authorized_keys/
(cherry picked from commit 13bf3216101af82d36e24e5a95f450f166f5030b)
(cherry picked from commit e17d4351a7b6126e8f42b3eaa8ac28d444d35620)
2023-03-30 19:21:34 +02:00
Frantisek Sumsal
50a9e9a5b0 man: s/io.systemd.Dropin/io.systemd.DropIn/
(cherry picked from commit 8f572d0d82f2f8bb3995faa569da5af1ef7a427d)
(cherry picked from commit 5d2588b5940b03c72371ec2af84dc79ed5703e85)
2023-03-30 19:21:34 +02:00
Frantisek Sumsal
a13bd7deb5 userdbctl: don't show legend when dumping JSON with services
(cherry picked from commit eedd1da9f992f9b9d38e298207428500b745156b)
(cherry picked from commit 1185e7f9d3730c6bf3ab0b537b9e811e12aa8ed0)
2023-03-30 19:21:34 +02:00
Lennart Poettering
f76e47b810 analyze: don't claim "@known" was an unlisted syscall
It's a sycall group of our own definition, and the output is erroneous
to claim otherwise. Let's hide it.

This adds syscall_set_add() which is nicely symmetric to the existing
syscall_set_remove().

Follow-up for: 6d6a08547c03f96dc798cda1ef4a8d3013d292d5

(cherry picked from commit 950c0ed38935198a67a57c645e499555eaf006eb)
(cherry picked from commit 7822ae021b795f55f84499d00763e112229ac6b4)
2023-03-30 19:21:31 +02:00
Lennart Poettering
4b0ae9d418 seccomp-util: add some newer syscalls to existing groups
These three new syscalls are mostly just new flavours or extensions of
existing syscalls, hence add them to the same groups.

(cherry picked from commit 76e86b8dd8cca9f9fee120289945b29e1dbbe215)
(cherry picked from commit 54f97c0ae5ca3e8560fabcfacc1687715e64477e)
2023-03-30 19:12:37 +02:00
Zbigniew Jędrzejewski-Szmek
c71bd9c535 xdg-autostart-generator: do not warn about unknown fields
My user manager says:
systemd-xdg-autostart-generator[2933]: /home/zbyszek/.config/autostart/org.gnome.Terminal.desktop:256: Unknown key name 'Actions' in section 'Desktop Entry', ignoring.
systemd-xdg-autostart-generator[2933]: /home/zbyszek/.config/autostart/org.gnome.Terminal.desktop:258: Unknown section 'Desktop Action new-window'. Ignoring.
systemd-xdg-autostart-generator[2933]: /home/zbyszek/.config/autostart/org.gnome.Terminal.desktop:343: Unknown section 'Desktop Action preferences'. Ignoring.
systemd-xdg-autostart-generator[2933]: /home/zbyszek/.config/autostart/org.telegram.desktop.desktop:12: Unknown key name 'Actions' in section 'Desktop Entry', ignoring.
systemd-xdg-autostart-generator[2933]: /home/zbyszek/.config/autostart/org.telegram.desktop.desktop:13: Unknown key name 'SingleMainWindow' in section 'Desktop Entry', ignoring.
systemd-xdg-autostart-generator[2933]: /home/zbyszek/.config/autostart/org.telegram.desktop.desktop:19: Unknown section 'Desktop Action Quit'. Ignoring.

This is not useful. Those are externally-provided files, and they are likely to
have entries which we know nothing about.

(cherry picked from commit b5a70eeecdb593f8498c0bc163d5a12297cfb55d)
(cherry picked from commit 90ba721560b67e329fff4f2c4e59f5c578d8f440)
2023-03-30 19:12:32 +02:00
наб
cd3d4ab738 find-esp: don't silently error bootctl install if presumed XBOOTLDR part is stx_dev_major=0 but not btrfs
btrfs_get_block_device_fd() returns -ENOTTY if fstatfs().f_type !=
BTRFS_SUPER_MAGIC

btrfs_get_block_device_fd() is run by verify_fsroot_dir() by
verify_xbootldr() by find_xbootldr_and_warn() if
statx($presumed-XBOOTLDR).stx_dev_major == 0 ("maybe a btrfs device")

Every bootctl verb_install() runs find_xbootldr_and_warn(), by default
with /boot

If your /boot .stx_dev_major=0 but /not/ btrfs, bootctl install/update
quietly exits 1 with no note so as to what exactly failed (debug also
empty, and the strace isn't exactly clear since no syscall actually
failed)

This is the case on ZFS and the Debian filesystem layout: /boot/efi is
the ESP, and everything else under / is ZFS:
  $ sudo env SYSTEMD_LOG_LEVEL=debug bootctl update
  Found cgroup2 on /sys/fs/cgroup/, full unified hierarchy
  Found container virtualization none.
  File system "/boot" is not a FAT EFI System Partition (ESP) file system.
  Using EFI System Partition at /boot/efi.
  Checking whether /boot/efi/EFI/systemd/ contains any files…
  $ echo $?
  1
and funnier still:
  $ sudo bootctl update --graceful
  $ echo $?
  1

Which is great, and also breaks postinst, which runs precisely the
latter, with no feedback at all

By checking for -ENOTTY we accept that the path being investigated
"is not it" if it's on ZFS (and any other filesystem that returns
.stx_dev_major == 0 but isn't btrfs)

(cherry picked from commit ed89819f8fd7bfe99cd652082076e85e1417e4e9)
(cherry picked from commit f6388f561cad25f440c2637ce3f1399ed8ed9b7f)
2023-03-30 19:12:22 +02:00
Daan De Meyer
dc92016bd7 core: Settle log target if we're going to be closing all fds
Whenever we're going to close all file descriptors, we tend to close
the log and set it into open when needed mode. When this is done with
the logging target set to LOG_TARGET_AUTO, we run into issues because
for every logging call, we'll check if stderr is connected to the
journal to determine where to send the logging message. This check
obviously stops working when we close stderr, so we settle the log
target before we do that so that we keep using the same logging
target even after stderr is closed.

(cherry picked from commit a3b00f91bb985fa10bc33db5c7883e33dbdf83d0)
(cherry picked from commit 22c47d24a447112bbf8022a79d9c3940a2f04316)
2023-03-30 19:12:10 +02:00
Yu Watanabe
b5f7c05204 activate: use log_set_open_when_needed()
Otherwise, several error logs may not be shown.

(cherry picked from commit a723521fd26d40ce90357e4e9b8131f1e1656ab5)
(cherry picked from commit ce06e000b8b7d993670cdd2f827c92c7fef4c93e)
2023-03-30 19:12:05 +02:00
Kevin P. Fleming
769d65988d bootctl: 'graceful' should ignore EFI variable failures
Suppress errors when creating/writing EFI variables during 'bootctl update' if
'--graceful' mode is active (as the documentation indicates).

Closes #26773.

(cherry picked from commit 06d104d58ffa23c958b9b2a2809c61fb25e6f762)
(cherry picked from commit b041337a7a5219398cb304e6cb31456327a7e371)
2023-03-30 19:11:51 +02:00
Thomas Blume
d9c2ae019a udev-rules: fix nvme symlink creation on namespace changes
The nvme by-id symlink changes to the latest namespace when a new namespace gets
added, for example by connecting multiple NVMe/TCP host controllers via nvme
connect-all.
That is incorrect for persistent device links.
The persistent symbolic device link should continue to point to the same NVMe
namespace throughout the lifetime of the current boot.
Therefore the namespace id needs to be added to the link name.

(cherry picked from commit c5ba7a2a4dd19a2d31b8a9d52d3c4bdde78387f0)
(cherry picked from commit 059ca4fe8fc4740adc9690689f03de491b8d0e61)
2023-03-30 19:08:20 +02:00
Antonio Alvarez Feijoo
357a3f1d2b 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).

(cherry picked from commit 9baeb58fcdcd3b8893fc485bb33726820ce46e94)
(cherry picked from commit 2a8c1168b11f7144d98fa126bc9a06a2bc92383d)
2023-03-30 19:08:14 +02:00
Antonio Alvarez Feijoo
5e5aacd16f gpt-auto-generator: fix typo
(cherry picked from commit dd23292c080f6e8b972c63b025ad3997972bc9e4)
(cherry picked from commit ad2d77b8994a336643114627e327fc5426f1d335)
2023-03-30 19:08:08 +02:00
David Tardon
8bf89dddac systemctl: always print circular deps. at the end
Before:
a.target
○ └─b.target
    ├─...
●   └─paths.target

After:
a.target
○ └─b.target
●   ├─paths.target
    └─...

(cherry picked from commit bb7c4a93ea1167b1294f86307d712d45655e9632)
(cherry picked from commit c86983c58a8ca57b15ef4d401262b64d4d27a254)
2023-03-30 19:07:56 +02:00
David Tardon
0b058ee2bf systemctl: fix formatting of circular dep.
Before:
a.target
○ └─b.target
    └─...
●   └─paths.target

After:
a.target
○ └─b.target
    ├─...
●   └─paths.target

(cherry picked from commit 5a4711e4895e3f7091e0e4da654412232484a5ec)
(cherry picked from commit 6903f28d8d8261b03fc30f279d401e22ad81cbd9)
2023-03-30 19:07:55 +02:00
David Tardon
571f9d5828 systemctl: fix indentation of circular deps
We're still at level `level` here.

Before:
b.target
○ ├─a.target
  │   └─...
● └─paths.target

After:
b.target
○ ├─a.target
  │ └─...
● └─paths.target

Fixes #26052.

(cherry picked from commit a9f2f486f3d1dd1cd2a58cd384b0e88970e2fda9)
(cherry picked from commit cee098e4e17dd9aefe9ce8866fbf4c9ebe21fb00)
2023-03-30 19:07:54 +02:00
Mike Yuan
e913b51c5b systemctl: list-dependencies: pass bool where appropriate
(cherry picked from commit 8e481bd29258274b4d92737d4b11636eabfffcb5)
2023-03-30 19:07:48 +02:00
Yu Watanabe
48abbdda56 tmpfiles: show file type in octal, instead of hex
(cherry picked from commit 056ff0b455ec54c9cadd119b09d0ec36efdee808)
(cherry picked from commit 7ca1a3a1d43488d254b515a59bf40a75b94bff8b)
2023-03-30 19:06:39 +02:00
Daan De Meyer
603d8402de 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.

(cherry picked from commit cafd2c0be404cb8879f91d15e05cc8b695b32629)
(cherry picked from commit c4848032f132e0cb82c7967e5434378c98111a8c)
2023-03-30 19:06:35 +02:00
Mike Yuan
9ced8895e1 sleep: fix default values unmatched with manual
(cherry picked from commit f05b4bb9a7a70092641f43486fc7a45c85fc9c63)
(cherry picked from commit fd963d1bc806f900fc8a3310f7110fdedac3958d)
2023-03-30 19:06:09 +02:00
Addison Snelling
8a711f1c26 man: fix misspelled executable name (#26858)
(cherry picked from commit 0c868e3fada33c7139112f0268c29307bdcd6ee7)
(cherry picked from commit 37f65e46d3a4ecb6cc1a48bd5ee72d8342609077)
2023-03-30 19:06:04 +02:00
Zbigniew Jędrzejewski-Szmek
df2ff69d16 man: document "Delegate=" a bit more
This case is a bit surprising, even if logical if one understands how the
parser works. Let's be more explicit.

Follow-up for 7b3693e4e4c9cae50fca65136278a62fae11327e.

(cherry picked from commit 449172f943acadc7fd1e2293a615c7cb0d87fcd6)
(cherry picked from commit 2ead535f0d0ceec9b3b9565ed056c3ccef0779af)
2023-03-30 19:05:40 +02:00
Daan De Meyer
974baa7ac0 mkfs-util: Always use "default" usage type for ext filesystems
If no usage type is explicitly specified, ext will choose one based
on the filesystem size. Let's override this and always use the
"default" usage type so that we can create filesystems that are
initially small but might grow later without opting in to the "small"
usage type.

(cherry picked from commit 59c3c195f432243a1d4b2a7210e9699db83cb335)
(cherry picked from commit 1b51f6a8f0f7fc891b2d5885190fdaffd82ccea2)
2023-03-30 19:05:31 +02:00
Daan De Meyer
56c4a34fa0 man: Fix user generator output paths
These are all under $XDG_RUNTIME_DIR/systemd instead of directly
under $XDG_RUNTIME_DIR.

(cherry picked from commit 80c7d4b8fa9f8283af7f0213739e3463c68a30f6)
(cherry picked from commit 16183e66f63f2023f77a3088c8a8ca7f3de9db59)
2023-03-30 19:02:40 +02:00