]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
4 years agounits: adjust description of systemd-update-utmp.service 20058/head
Zbigniew Jędrzejewski-Szmek [Wed, 30 Jun 2021 11:20:27 +0000 (13:20 +0200)] 
units: adjust description of systemd-update-utmp.service

"Update about" is not gramatically correct. I also think saying "Record" makes
this easier to understand for people who don't necessarilly know what UTMP is.

4 years agocore: supress description in status if same as id
Zbigniew Jędrzejewski-Szmek [Wed, 30 Jun 2021 11:11:33 +0000 (13:11 +0200)] 
core: supress description in status if same as id

4 years agounits: shorten description of kmod-static-nodes.service
Zbigniew Jędrzejewski-Szmek [Wed, 30 Jun 2021 10:54:31 +0000 (12:54 +0200)] 
units: shorten description of kmod-static-nodes.service

As suggested in
https://github.com/systemd/systemd/pull/20058#pullrequestreview-695023490.

4 years agounits: adjust Descriptions of various units
Zbigniew Jędrzejewski-Szmek [Tue, 29 Jun 2021 07:47:53 +0000 (09:47 +0200)] 
units: adjust Descriptions of various units

In general, it's not very usuful to repeat the unit name as the description.
Especially when the word is a common name and if somebody doesn't understand
the meaning immediately, they are not going to gain anything from the
repeat either, e.g. "halt", "swap".

In the status-unit-format=combined output parentheses are used around
Description, so avoid using parenthesis in the Description itself.

4 years agologind, units: unit Descriptions should be capitalized
Zbigniew Jędrzejewski-Szmek [Tue, 29 Jun 2021 07:29:57 +0000 (09:29 +0200)] 
logind, units: unit Descriptions should be capitalized

4 years agocore: add default descriptions for slices
Zbigniew Jędrzejewski-Szmek [Tue, 29 Jun 2021 07:10:42 +0000 (09:10 +0200)] 
core: add default descriptions for slices

[  OK  ] Created slice system-getty.slice (Slice /system/getty).
[  OK  ] Created slice system-modprobe.slice (Slice /system/modprobe).
[  OK  ] Created slice system-sshd\x2dkeygen.slice (Slice /system/sshd-keygen).
[  OK  ] Created slice user.slice (User and Session Slice).

Before, the first three slices were shown without any description which didn't
look nice.

4 years agocore: rework unit printing and implement 'combined' format
Zbigniew Jędrzejewski-Szmek [Mon, 28 Jun 2021 18:07:15 +0000 (20:07 +0200)] 
core: rework unit printing and implement 'combined' format

The code to print unit status formats had a long history, and became a
hard-to-manage mess of duplicate code parts. We would use sprintf() to
format a string, and then call sprintf() again… The code is reworked
to avoid repeated formattings and to streamline printing to the log
and the console.

The approach used in this patch is a bit more complex then in patches by Colin
Walter and Paweł Marciniak, because an allocation is only done if "combined"
format is used. In other cases we return the existing ->id or ->description
strings. The caller can also control whether a shorter or longer status string
should be used. This way the caller can use a shorter format where it makes
sense, for example in the cylon eye output, where we don't have enough
horizontal space.

Patch is based on Colin Walters' https://github.com/systemd/systemd/pull/15957,
and Paweł Marciniak's patch posted on fedora-devel.

Note: for some reason, the functions for printing of start and stop messages
were sepearated by some unrelated functions. They are moved to be consecutive,
but this makes the much more verbose than it would be otherwise. I found it
useful to view in gitk's "new" mode.

Co-authored-by: Colin Walters <walters@verbum.org>
Co-authored-by: Paweł Marciniak <sunwire+git@gmail.com>
Output from a Fedora Rawhide container boot (w/ some follow-up patches to
tweak Descriptions):

Welcome to Fedora 35 (Rawhide Prerelease)!

Queued start job for default target graphical.target.
[  OK  ] Created slice system-getty.slice - Slice /system/getty.
[  OK  ] Created slice system-modprobe.slice - Slice /system/modprobe.
[  OK  ] Created slice system-sshd\x2dkeygen.slice - Slice /system/sshd-keygen.
[  OK  ] Created slice user.slice - User and Session Slice.
[  OK  ] Started systemd-ask-password-console.path - Dispatch Password Requests to Console Directory Watch.
[  OK  ] Started systemd-ask-password-wall.path - Forward Password Requests to Wall Directory Watch.
[  OK  ] Reached target cryptsetup.target - Local Encrypted Volumes.
[  OK  ] Reached target paths.target - Path Units.
[  OK  ] Reached target remote-cryptsetup.target - Remote Encrypted Volumes.
[  OK  ] Reached target remote-fs.target - Remote File Systems.
[  OK  ] Reached target slices.target - Slice Units.
[  OK  ] Reached target swap.target - Swaps.
[  OK  ] Reached target veritysetup.target - Local Verity Integrity Protected Volumes.
[  OK  ] Listening on systemd-coredump.socket - Process Core Dump Socket.
[  OK  ] Listening on systemd-initctl.socket - initctl Compatibility Named Pipe.
[  OK  ] Listening on systemd-journald-dev-log.socket - Journal Socket (/dev/log).
[  OK  ] Listening on systemd-journald.socket - Journal Socket.
[  OK  ] Listening on systemd-networkd.socket - Network Service Netlink Socket.
[  OK  ] Listening on systemd-userdbd.socket - User Database Manager Socket.
         Mounting dev-hugepages.mount - Huge Pages File System...
         Starting systemd-journald.service - Journal Service...
         Starting systemd-remount-fs.service - Remount Root and Kernel File Systems...
         Starting systemd-sysctl.service - Apply Kernel Variables...
[  OK  ] Mounted dev-hugepages.mount - Huge Pages File System.
[  OK  ] Finished systemd-remount-fs.service - Remount Root and Kernel File Systems.
         Starting systemd-hwdb-update.service - Rebuild Hardware Database...
         Starting systemd-sysusers.service - Create System Users...
[  OK  ] Finished systemd-sysctl.service - Apply Kernel Variables.
[  OK  ] Started systemd-journald.service - Journal Service.
         Starting systemd-journal-flush.service - Flush Journal to Persistent Storage...
[  OK  ] Finished systemd-sysusers.service - Create System Users.
         Starting systemd-tmpfiles-setup-dev.service - Create Static Device Nodes in /dev...
[  OK  ] Finished systemd-tmpfiles-setup-dev.service - Create Static Device Nodes in /dev.
[  OK  ] Reached target local-fs-pre.target - Preparation for Local File Systems.
[  OK  ] Reached target local-fs.target - Local File Systems.
[  OK  ] Reached target machines.target - Containers.
         Starting dracut-shutdown.service - Restore /run/initramfs on shutdown...
         Starting ldconfig.service - Rebuild Dynamic Linker Cache...
[  OK  ] Finished dracut-shutdown.service - Restore /run/initramfs on shutdown.
[  OK  ] Finished ldconfig.service - Rebuild Dynamic Linker Cache.
[  OK  ] Finished systemd-journal-flush.service - Flush Journal to Persistent Storage.
         Starting systemd-tmpfiles-setup.service - Create Volatile Files and Directories...
[  OK  ] Finished systemd-tmpfiles-setup.service - Create Volatile Files and Directories.
         Starting systemd-journal-catalog-update.service - Rebuild Journal Catalog...
         Starting systemd-oomd.service - Userspace Out-Of-Memory (OOM) Killer...
         Starting systemd-update-utmp.service - Update UTMP about System Boot/Shutdown...
         Starting systemd-userdbd.service - User Database Manager...
[  OK  ] Finished systemd-update-utmp.service - Update UTMP about System Boot/Shutdown.
[  OK  ] Finished systemd-journal-catalog-update.service - Rebuild Journal Catalog.
[  OK  ] Started systemd-userdbd.service - User Database Manager.
[  OK  ] Started systemd-oomd.service - Userspace Out-Of-Memory (OOM) Killer.
[  OK  ] Finished systemd-hwdb-update.service - Rebuild Hardware Database.
         Starting systemd-networkd.service - Network Configuration...
         Starting systemd-update-done.service - Update is Completed...
[  OK  ] Finished systemd-update-done.service - Update is Completed.
[  OK  ] Reached target sysinit.target - System Initialization.
[  OK  ] Started dnf-makecache.timer - dnf makecache --timer.
[  OK  ] Started logrotate.timer - Daily rotation of log files.
[  OK  ] Started systemd-tmpfiles-clean.timer - Daily Cleanup of Temporary Directories.
[  OK  ] Reached target timers.target - Timer Units.
[  OK  ] Listening on dbus.socket - D-Bus System Message Bus Socket.
[  OK  ] Reached target sockets.target - Socket Units.
[  OK  ] Reached target basic.target - Basic System.
[  OK  ] Reached target sshd-keygen.target.
         Starting sysstat.service - Resets System Activity Logs...
         Starting systemd-homed.service - Home Area Manager...
         Starting systemd-logind.service - User Login Management...
         Starting dbus-broker.service - D-Bus System Message Bus...
[FAILED] Failed to start sysstat.service - Resets System Activity Logs.
See 'systemctl status sysstat.service' for details.
[  OK  ] Started dbus-broker.service - D-Bus System Message Bus.
[  OK  ] Started systemd-homed.service - Home Area Manager.
[  OK  ] Finished systemd-homed-activate.service - Home Area Activation.
[  OK  ] Started systemd-logind.service - User Login Management.
[  OK  ] Started systemd-networkd.service - Network Configuration.
         Starting systemd-networkd-wait-online.service - Wait for Network to be Configured...
         Starting systemd-resolved.service - Network Name Resolution...
[  OK  ] Started systemd-resolved.service - Network Name Resolution.
[  OK  ] Reached target network.target - Network.
[  OK  ] Reached target nss-lookup.target - Host and Network Name Lookups.
         Starting sshd.service - OpenSSH server daemon...
         Starting systemd-user-sessions.service - Permit User Sessions...
[  OK  ] Finished systemd-user-sessions.service - Permit User Sessions.
[  OK  ] Started console-getty.service - Console Getty.
[  OK  ] Reached target getty.target - Login Prompts.
[  OK  ] Started sshd.service - OpenSSH server daemon.
[  OK  ] Reached target multi-user.target - Multi-User System.
[  OK  ] Reached target graphical.target - Graphical Interface.
         Starting systemd-update-utmp-runlevel.service - Update UTMP about System Runlevel Changes...
[  OK  ] Finished systemd-update-utmp-runlevel.service - Update UTMP about System Runlevel Changes.

Fedora 35 (Rawhide Prerelease)
Kernel 5.12.12-300.fc34.x86_64 on an x86_64 (console)

rawhide login: [  OK  ] Stopped session-24.scope - Session 24 of User zbyszek.
[  OK  ] Removed slice system-getty.slice - Slice /system/getty.
[  OK  ] Removed slice system-modprobe.slice - Slice /system/modprobe.
[  OK  ] Removed slice system-sshd\x2dkeygen.slice - Slice /system/sshd-keygen.
[  OK  ] Stopped target graphical.target - Graphical Interface.
[  OK  ] Stopped target multi-user.target - Multi-User System.
[  OK  ] Stopped target getty.target - Login Prompts.
[  OK  ] Stopped target machines.target - Containers.
[  OK  ] Stopped target nss-lookup.target - Host and Network Name Lookups.
[  OK  ] Stopped target remote-cryptsetup.target - Remote Encrypted Volumes.
[  OK  ] Stopped target timers.target - Timer Units.
[  OK  ] Stopped dnf-makecache.timer - dnf makecache --timer.
[  OK  ] Stopped logrotate.timer - Daily rotation of log files.
[  OK  ] Stopped systemd-tmpfiles-clean.timer - Daily Cleanup of Temporary Directories.
[  OK  ] Closed systemd-coredump.socket - Process Core Dump Socket.
         Stopping console-getty.service - Console Getty...
         Stopping dracut-shutdown.service - Restore /run/initramfs on shutdown...
         Stopping sshd.service - OpenSSH server daemon...
         Stopping systemd-logind.service - User Login Management...
         Stopping systemd-oomd.service - Userspace Out-Of-Memory (OOM) Killer...
         Stopping user@1000.service - User Manager for UID 1000...
[  OK  ] Stopped systemd-oomd.service - Userspace Out-Of-Memory (OOM) Killer.
[  OK  ] Stopped systemd-networkd-wait-online.service - Wait for Network to be Configured.
[  OK  ] Stopped sshd.service - OpenSSH server daemon.
[  OK  ] Stopped console-getty.service - Console Getty.
[  OK  ] Stopped dracut-shutdown.service - Restore /run/initramfs on shutdown.
[  OK  ] Stopped target sshd-keygen.target.
[  OK  ] Stopped systemd-logind.service - User Login Management.
[  OK  ] Stopped user@1000.service - User Manager for UID 1000.
         Stopping user-runtime-dir@1000.service - User Runtime Directory /run/user/1000...
[  OK  ] Unmounted run-user-1000.mount - /run/user/1000.
[  OK  ] Stopped user-runtime-dir@1000.service - User Runtime Directory /run/user/1000.
[  OK  ] Removed slice user-1000.slice - User Slice of UID 1000.
         Stopping systemd-user-sessions.service - Permit User Sessions...
[  OK  ] Stopped systemd-user-sessions.service - Permit User Sessions.
[  OK  ] Stopped target network.target - Network.
[  OK  ] Stopped target remote-fs.target - Remote File Systems.
         Stopping systemd-homed-activate.service - Home Area Activation...
         Stopping systemd-resolved.service - Network Name Resolution...
[  OK  ] Stopped systemd-resolved.service - Network Name Resolution.
         Stopping systemd-networkd.service - Network Configuration...
[  OK  ] Stopped systemd-homed-activate.service - Home Area Activation.
         Stopping systemd-homed.service - Home Area Manager...
[  OK  ] Stopped systemd-homed.service - Home Area Manager.
[  OK  ] Stopped target basic.target - Basic System.
[  OK  ] Stopped target paths.target - Path Units.
[  OK  ] Stopped target slices.target - Slice Units.
[  OK  ] Removed slice user.slice - User and Session Slice.
[  OK  ] Stopped target sockets.target - Socket Units.
         Stopping dbus-broker.service - D-Bus System Message Bus...
[  OK  ] Stopped dbus-broker.service - D-Bus System Message Bus.
[  OK  ] Closed dbus.socket - D-Bus System Message Bus Socket.
[  OK  ] Stopped target sysinit.target - System Initialization.
[  OK  ] Stopped target cryptsetup.target - Local Encrypted Volumes.
[  OK  ] Stopped systemd-ask-password-console.path - Dispatch Password Requests to Console Directory Watch.
[  OK  ] Stopped systemd-ask-password-wall.path - Forward Password Requests to Wall Directory Watch.
[  OK  ] Stopped target veritysetup.target - Local Verity Integrity Protected Volumes.
[  OK  ] Stopped systemd-update-done.service - Update is Completed.
[  OK  ] Stopped ldconfig.service - Rebuild Dynamic Linker Cache.
[  OK  ] Stopped systemd-hwdb-update.service - Rebuild Hardware Database.
[  OK  ] Stopped systemd-journal-catalog-update.service - Rebuild Journal Catalog.
         Stopping systemd-update-utmp.service - Update UTMP about System Boot/Shutdown...
[  OK  ] Stopped systemd-networkd.service - Network Configuration.
[  OK  ] Closed systemd-networkd.socket - Network Service Netlink Socket.
[  OK  ] Stopped systemd-sysctl.service - Apply Kernel Variables.
[  OK  ] Stopped systemd-update-utmp.service - Update UTMP about System Boot/Shutdown.
[  OK  ] Stopped systemd-tmpfiles-setup.service - Create Volatile Files and Directories.
[  OK  ] Stopped target local-fs.target - Local File Systems.
         Unmounting home.mount - /home...
         Unmounting run-credentials-systemd\x2dsysusers.se…e.mount - /run/credentials/systemd-sysusers.service...
         Unmounting tmp.mount - Temporary Directory /tmp...
[  OK  ] Unmounted home.mount - /home.
[  OK  ] Unmounted tmp.mount - Temporary Directory /tmp.
[  OK  ] Unmounted run-credentials-systemd\x2dsysusers.service.mount - /run/credentials/systemd-sysusers.service.
[  OK  ] Stopped target local-fs-pre.target - Preparation for Local File Systems.
[  OK  ] Stopped target swap.target - Swaps.
[  OK  ] Reached target umount.target - Unmount All Filesystems.
[  OK  ] Stopped systemd-tmpfiles-setup-dev.service - Create Static Device Nodes in /dev.
[  OK  ] Stopped systemd-sysusers.service - Create System Users.
[  OK  ] Stopped systemd-remount-fs.service - Remount Root and Kernel File Systems.
[  OK  ] Reached target shutdown.target - System Shutdown.
[  OK  ] Reached target final.target - Late Boot Services.
[  OK  ] Finished systemd-poweroff.service - System Power Off.
[  OK  ] Reached target poweroff.target - System Power Off.
Sending SIGTERM to remaining processes...
Sending SIGKILL to remaining processes...
All filesystems, swaps, loop devices, MD devices and DM devices detached.
Powering off.

4 years agocore: add combined status unit format
Paweł Marciniak [Sat, 26 Jun 2021 15:50:16 +0000 (17:50 +0200)] 
core: add combined status unit format

[zjs: actual implementation is stripped out and will be added in subsequent
commits.]

4 years agoMerge pull request #20028 from keszybz/hwdb-update-v249 v249-rc2
Zbigniew Jędrzejewski-Szmek [Fri, 25 Jun 2021 14:17:20 +0000 (16:17 +0200)] 
Merge pull request #20028 from keszybz/hwdb-update-v249

Hwdb update for v249-rc2

4 years agoman: document about NAMING_REPLACE_STRICTLY network interface naming policy
Yu Watanabe [Fri, 25 Jun 2021 12:56:53 +0000 (21:56 +0900)] 
man: document about NAMING_REPLACE_STRICTLY network interface naming policy

Follow-up for b4d885f0e861b2d1bb5a62311c61a96f5222b026 and
068b0f77289411ef9f92f5d701759e98145a06e4.

4 years agoNEWS: mention MS_NOSUID for namespaced services by default
Luca Boccassi [Fri, 25 Jun 2021 13:04:34 +0000 (14:04 +0100)] 
NEWS: mention MS_NOSUID for namespaced services by default

4 years agoNEWS: update contributor list for v249-rc2
Zbigniew Jędrzejewski-Szmek [Fri, 25 Jun 2021 12:25:28 +0000 (14:25 +0200)] 
NEWS: update contributor list for v249-rc2

4 years agoNEWS: update with net-naming scheme changes and ConditionOSRelease
Zbigniew Jędrzejewski-Szmek [Fri, 25 Jun 2021 12:19:26 +0000 (14:19 +0200)] 
NEWS: update with net-naming scheme changes and ConditionOSRelease

4 years agohwdb: update autosuspend 20028/head
Zbigniew Jędrzejewski-Szmek [Fri, 25 Jun 2021 12:22:52 +0000 (14:22 +0200)] 
hwdb: update autosuspend

4 years agohwdb: update
Zbigniew Jędrzejewski-Szmek [Fri, 25 Jun 2021 12:22:14 +0000 (14:22 +0200)] 
hwdb: update

4 years agodbus-socket: fix check of Listen* arguments
Zbigniew Jędrzejewski-Szmek [Wed, 23 Jun 2021 16:10:57 +0000 (18:10 +0200)] 
dbus-socket: fix check of Listen* arguments

We checked the wrong field, which was always NULL here, so we would always
reject the assignment. We would also print the wrong string in the error
message:

$ sudo systemd-run --socket-property ListenFIFO=/tmp/fifo3 cat
Failed to start transient socket unit: Invalid socket path: FIFO

4 years agoMerge pull request #20023 from yuwata/re-enable-nosuid-mount-flag
Zbigniew Jędrzejewski-Szmek [Fri, 25 Jun 2021 12:21:05 +0000 (14:21 +0200)] 
Merge pull request #20023 from yuwata/re-enable-nosuid-mount-flag

core: reenable nosuid mount flag when NoNewPrivileges=yes

4 years agoremove a left-over break
David Tardon [Fri, 25 Jun 2021 08:42:53 +0000 (10:42 +0200)] 
remove a left-over break

By the "same logic as above...", we want to continue to fallback here,
but the break prohibits that.

This is a follow-up for ee1aa61c4710ae567a2b844e0f0bb8cb0456ab8c .

4 years agoExtensionImages: log explicit error when extension-release metadata does not match
Luca Boccassi [Tue, 22 Jun 2021 21:59:40 +0000 (22:59 +0100)] 
ExtensionImages: log explicit error when extension-release metadata does not match

When an ExtensionImages= extension-release metadata does not match, the
log messages (unless debug level is set) are pretty much incomprehensible:

systemd[463]: run-u11.service: Failed to set up mount namespacing: /run/systemd/unit-extensions/0: Stale file handle
systemd[463]: run-u11.service: Failed at step NAMESPACE spawning /usr/bin/echo: Stale file handle

Add an explicit log message if we get ESTALE from the dissect code, to
make it clear what's happening without needing to enable debugging:

systemd[463]: Failed to mount image /tmp/app3.raw, extension-release metadata does not match the lower layer's: ID=debian VERSION_ID=11 SYSEXT_LEVEL=11

4 years agoudev/scsi: use the scsi device type number directly
Yu Watanabe [Fri, 25 Jun 2021 06:04:12 +0000 (15:04 +0900)] 
udev/scsi: use the scsi device type number directly

Previously, the value is once stringified, and later again parsed,
that is completely redundant.

Follow-up for 1001167ca5e4cfdc6230562e4fb9029e5f624d53.

Replaces #20013.

4 years agoresolvectl: Only strip ifname suffixes when being resolvconf
Mike Crowe [Thu, 24 Jun 2021 14:25:58 +0000 (15:25 +0100)] 
resolvectl: Only strip ifname suffixes when being resolvconf

Only treat interface names containing dots specially when resolvectl is
pretending to be resolvconf to fix
https://github.com/systemd/systemd/issues/20014 .

Move the special suffix-stripping behaviour of ifname_mangle out to the
new ifname_resolvconf_mangle to be called from resolvconf only.

4 years agoMerge pull request #19312 from yuwata/udev-escape-slash-nvme
Zbigniew Jędrzejewski-Szmek [Fri, 25 Jun 2021 08:11:04 +0000 (10:11 +0200)] 
Merge pull request #19312 from yuwata/udev-escape-slash-nvme

udev: make OPTIONS="string_escape=replace" take effect on ENV{key}= assiginment

4 years agoMerge pull request #19883 from ddstreet/activation-policy-down-required-for-online-no
Zbigniew Jędrzejewski-Szmek [Fri, 25 Jun 2021 07:26:25 +0000 (09:26 +0200)] 
Merge pull request #19883 from ddstreet/activation-policy-down-required-for-online-no

Activation policy down required for online no

4 years agoMerge pull request #19941 from bluca/condition_os_release
Zbigniew Jędrzejewski-Szmek [Fri, 25 Jun 2021 07:22:50 +0000 (09:22 +0200)] 
Merge pull request #19941 from bluca/condition_os_release

core: add ConditionOSRelease= directive

4 years agocore: do not set nosuid mount option when SELinux is enabled 20023/head
Yu Watanabe [Fri, 25 Jun 2021 06:30:13 +0000 (15:30 +0900)] 
core: do not set nosuid mount option when SELinux is enabled

The mount option has special meaning when SELinux is enabled. To make
NoNewPrivileges=yes not break SELinux enabled systems, let's not set the
mount flag on such systems.

4 years agoRevert "Revert "Mount all fs nosuid when NoNewPrivileges=yes""
Yu Watanabe [Fri, 25 Jun 2021 06:16:34 +0000 (15:16 +0900)] 
Revert "Revert "Mount all fs nosuid when NoNewPrivileges=yes""

This reverts commit 1753d3021564671fba3d3196a84da657d15fb632.

Let's re-enable that feature now. As reported when the original commit
was merged, this causes some trouble on SELinux enabled systems. So,
in the subsequent commit, the feature will be disabled when SELinux is enabled.
But, anyway, this commit just re-enable that feature unconditionally.

4 years agotree-wide: make specifier expansion --root= aware
Lennart Poettering [Thu, 24 Jun 2021 16:06:02 +0000 (18:06 +0200)] 
tree-wide: make specifier expansion --root= aware

This fixes repart's, systemctl's, sysusers' and tmpfiles' specifier
expansion to honour the root dir specified with --root=. This is
relevant for specifiers such as %m, %o, … which are directly sourced
from files on disk.

This doesn't try to be overly smart: specifiers referring to runtime
concepts (i.e. boot ID, architecture, hostname) rather than files on the
medium are left as is. There's certainly a point to be made that they
should fail in case --root= is specified, but I am not entirely convinced
about that, and it's certainly something we can look into later if
there's reason to.

I wondered for a while how to hook this up best, but given that quite a
large number of specifiers resolve to data from files on disks, and most
of our tools needs this, I ultimately decided to make the root dir a
first class parameter to specifier_printf().

Replaces: #16187
Fixes: #16183
4 years agodocs: update autofs Kconfig name
Andrea Pappacoda [Thu, 24 Jun 2021 15:30:51 +0000 (17:30 +0200)] 
docs: update autofs Kconfig name

4 years agodocs: EFI separator needs to be backslash-escaped in markdown
Juergen Hoetzel [Thu, 24 Jun 2021 17:42:57 +0000 (19:42 +0200)] 
docs: EFI separator needs to be backslash-escaped in markdown

4 years agotest: correctly mask supporting services in tests, take #2
Frantisek Sumsal [Thu, 24 Jun 2021 10:13:52 +0000 (12:13 +0200)] 
test: correctly mask supporting services in tests, take #2

Due to a little misunderstanding the last patch doesn't work as
expected, since test_create_image() is called only for the first image
(usually TEST-01-BASIC), and all subsequent images are then (possibly)
modified with test_append_files().

Follow-up to 179ca4d2b1b5579014773a128462475f99b7a91b.

4 years agoMerge pull request #20001 from keszybz/test-path-simplify-less
Lennart Poettering [Thu, 24 Jun 2021 13:33:09 +0000 (15:33 +0200)] 
Merge pull request #20001 from keszybz/test-path-simplify-less

Do not call path_simplify() when not needed

4 years agosd-journal: add missing bracket in journal verify log message
Lennart Poettering [Thu, 24 Jun 2021 11:13:39 +0000 (13:13 +0200)] 
sd-journal: add missing bracket in journal verify log message

4 years agoMerge pull request #20000 from dtardon/replace-strtoul
Luca Boccassi [Thu, 24 Jun 2021 13:18:58 +0000 (14:18 +0100)] 
Merge pull request #20000 from dtardon/replace-strtoul

replace strtoul by safe_ato*

4 years agoudev-builtin-keyboard: drop unnecessary {} 20000/head
David Tardon [Wed, 23 Jun 2021 15:15:47 +0000 (17:15 +0200)] 
udev-builtin-keyboard: drop unnecessary {}

4 years agoudev: replace strtoul by safe_ato*
David Tardon [Tue, 22 Jun 2021 14:41:23 +0000 (16:41 +0200)] 
udev: replace strtoul by safe_ato*

4 years agoMerge pull request #20004 from yuwata/readdir-ensure-type
Zbigniew Jędrzejewski-Szmek [Thu, 24 Jun 2021 13:11:06 +0000 (15:11 +0200)] 
Merge pull request #20004 from yuwata/readdir-ensure-type

dirent-util: introduce readdir_ensure_type()

4 years agoopenssl-util: include the headers the file actually uses definitions from
Lennart Poettering [Tue, 22 Jun 2021 21:15:46 +0000 (23:15 +0200)] 
openssl-util: include the headers the file actually uses definitions from

4 years agoMerge pull request #19997 from keszybz/selinux-opt
Zbigniew Jędrzejewski-Szmek [Thu, 24 Jun 2021 13:07:29 +0000 (15:07 +0200)] 
Merge pull request #19997 from keszybz/selinux-opt

Drop libselinux dependency from libsystemd

4 years agocore: add ConditionOSRelease= directive 19941/head
Luca Boccassi [Mon, 22 Feb 2021 18:20:37 +0000 (18:20 +0000)] 
core: add ConditionOSRelease= directive

4 years agobasic/extract-word: add EXTRACT_RETAIN_SEPARATORS flag
Luca Boccassi [Thu, 17 Jun 2021 12:12:57 +0000 (13:12 +0100)] 
basic/extract-word: add EXTRACT_RETAIN_SEPARATORS flag

Makes the helpers avoid skipping over the separator(s) in the
input string

4 years agotest: add test to verify RequiredForOnline= setting with ActivationPolicy= 19883/head
Dan Streetman [Tue, 8 Jun 2021 21:13:27 +0000 (17:13 -0400)] 
test: add test to verify RequiredForOnline= setting with ActivationPolicy=

Add test to verify that the RequiredForOnline= value is correct based on
the configuration of ActivationPolicy=

4 years agonetworkctl: add field 'Required For Online'
Dan Streetman [Wed, 9 Jun 2021 11:57:01 +0000 (07:57 -0400)] 
networkctl: add field 'Required For Online'

4 years agonetwork: default RequiredForOnline=false if ActivactionPolicy= not set to up
Dan Streetman [Tue, 8 Jun 2021 16:01:31 +0000 (12:01 -0400)] 
network: default RequiredForOnline=false if ActivactionPolicy= not set to up

If ActivationPolicy= is set to down, always-down, or manual, then any
matching link will delay boot (due to delaying network-online.target).

If RequiredForOnline= wasn't explicitly set, then default it to false
if ActivationPolicy= is down or manual. If ActivationPolicy=always-down,
then force RequiredForOnline=no.

4 years agoask-password: add "-n" switch for disabling trailing newline
Lennart Poettering [Wed, 23 Jun 2021 11:45:31 +0000 (13:45 +0200)] 
ask-password: add "-n" switch for disabling trailing newline

This is similar to the "-n" switch of the "echo" command.

4 years agoMerge pull request #20002 from yuwata/sd-dhcp-client-ignore-forcerenew
Luca Boccassi [Thu, 24 Jun 2021 09:01:10 +0000 (10:01 +0100)] 
Merge pull request #20002 from yuwata/sd-dhcp-client-ignore-forcerenew

sd-dhcp-client: ignore FORCERENEW

4 years agocore: avoid calling path_simplify() unnecessarilly for u.requires_mounts_for keys 20001/head
Zbigniew Jędrzejewski-Szmek [Wed, 23 Jun 2021 15:32:15 +0000 (17:32 +0200)] 
core: avoid calling path_simplify() unnecessarilly for u.requires_mounts_for keys

We would always call path_simplify() before doing a lookup, which requires the
path key to be duplicated first. But the hashmap lookup doesn't require this…
So let's opportunistically skip the allocation if the key is already present.

Inspired by https://github.com/systemd/systemd/pull/19973.

4 years agotest-hash-funcs: add new file to test that path set ignores dot components
Zbigniew Jędrzejewski-Szmek [Wed, 23 Jun 2021 14:22:53 +0000 (16:22 +0200)] 
test-hash-funcs: add new file to test that path set ignores dot components

4 years agogitignore: add jekyll cache directory 19997/head
Zbigniew Jędrzejewski-Szmek [Tue, 22 Jun 2021 14:17:01 +0000 (16:17 +0200)] 
gitignore: add jekyll cache directory

Follow-up for 2d4efd1dba568e59b149fbb82b51201951e8e178.

4 years agoshared/selinux-util: rework switching of the getenforce() function
Zbigniew Jędrzejewski-Szmek [Tue, 22 Jun 2021 08:32:30 +0000 (10:32 +0200)] 
shared/selinux-util: rework switching of the getenforce() function

The approach with function pointer was neat, but it gets in the way
when we want to resolve the symbol dynamically: static initialization
is not possible. It also makes the code more complicated than necessary.
In this case, a simple boolean is sufficient.

4 years agoshared/dlfcn-util: add sentinel helper or for dlsym_many_or_warn()
Zbigniew Jędrzejewski-Szmek [Tue, 22 Jun 2021 07:26:09 +0000 (09:26 +0200)] 
shared/dlfcn-util: add sentinel helper or for dlsym_many_or_warn()

I didn't do this before to avoid churn in all the users.

4 years agoshared/tpm2-util: simplify and convert to the new helper
Zbigniew Jędrzejewski-Szmek [Tue, 22 Jun 2021 07:25:12 +0000 (09:25 +0200)] 
shared/tpm2-util: simplify and convert to the new helper

The function would return 0 or 3. I don't think the return code was
used for anything, so let's avoid the explicit calculation and return
0 or 1.

4 years agovarious: convert to the new dlopen_or_warn() helper
Zbigniew Jędrzejewski-Szmek [Tue, 22 Jun 2021 07:24:02 +0000 (09:24 +0200)] 
various: convert to the new dlopen_or_warn() helper

4 years agodlfcn-util: invert function naming and add helper that does the whole job
Zbigniew Jędrzejewski-Szmek [Tue, 22 Jun 2021 06:48:41 +0000 (08:48 +0200)] 
dlfcn-util: invert function naming and add helper that does the whole job

We warn when the operation fails, not when it succeeds. Hence this should be
"<do>_or_<handle failure>", not "<do>_and_<handle failure>". We *could* use
whatever convention we want, but rust and perl are rather consistent in using
the logical convention. We don't care about perl that much, but having a naming
convention inverted wrt. rust would be rather confusing.

Also, pretty much every implementation does similar steps, so add a nice
wrapper which combines opening of the library and loading of the symbols.

Also add missing sentinel attribute in dlopen_or_warn().

4 years agomeson: drop libseccomp and libselinux from libbasic linkage
Zbigniew Jędrzejewski-Szmek [Mon, 21 Jun 2021 21:31:52 +0000 (23:31 +0200)] 
meson: drop libseccomp and libselinux from libbasic linkage

This means libsystemd.so is without them now. This is important
because countless programs link to libsystemd.so, and do not need
to pull in selinux now. And libselinux.so pulls in libpcre2, so
we trim a nice dependency tree.

I'm not sure why libseccomp was listed there. No code seems to
refer to it.

$ diff -u <(ldd ../systemd/build/libsystemd.so|sed 's/0x.*/0x…/') <(ldd build/libsystemd.so|sed 's/0x.*/0x…/')
@@ -4,11 +4,9 @@
  libzstd.so.1 => /lib64/libzstd.so.1 (0x…
  liblz4.so.1 => /lib64/liblz4.so.1 (0x…
  libcap.so.2 => /lib64/libcap.so.2 (0x…
- libselinux.so.1 => /lib64/libselinux.so.1 (0x…
  libgcrypt.so.20 => /lib64/libgcrypt.so.20 (0x…
  libpthread.so.0 => /lib64/libpthread.so.0 (0x…
  libc.so.6 => /lib64/libc.so.6 (0x…
  /lib64/ld-linux-x86-64.so.2 (0x…
- libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x…
  libdl.so.2 => /lib64/libdl.so.2 (0x…
  libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x…

$ diff -u <(ldd ../systemd/build/libudev.so|sed 's/0x.*/0x…/') <(ldd build/libudev.so|sed 's/0x.*/0x…/')
@@ -1,8 +1,5 @@
  linux-vdso.so.1 (0x…
  librt.so.1 => /lib64/librt.so.1 (0x…
- libselinux.so.1 => /lib64/libselinux.so.1 (0x…
  libpthread.so.0 => /lib64/libpthread.so.0 (0x…
  libc.so.6 => /lib64/libc.so.6 (0x…
  /lib64/ld-linux-x86-64.so.2 (0x…
- libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x…
- libdl.so.2 => /lib64/libdl.so.2 (0x…

4 years agobasic,shared: move a bunch of files to src/shared/
Zbigniew Jędrzejewski-Szmek [Mon, 21 Jun 2021 21:13:10 +0000 (23:13 +0200)] 
basic,shared: move a bunch of files to src/shared/

The goal is to move everything that requires selinux or smack
away from src/basic/. This means that src/basic/label.[ch] must move,
which implies btrfs-util.[ch], copy.[ch], and a bunch of other files
which form a cluster of internal use.

This is just moving text around, so there should be no functional difference.

test-blockdev-util is new, because path_is_encrypted() is moved to
blockdev-util.c, and so far we didn't have any tests for code there.

4 years agobasic,shared: move dlopen helpers to shared/
Zbigniew Jędrzejewski-Szmek [Mon, 21 Jun 2021 21:28:46 +0000 (23:28 +0200)] 
basic,shared: move dlopen helpers to shared/

This was added in 88d775b734644f26fb490836769c2bc275498fde,
with the apparent intent of using in shared/ and the rest of our code.
It doesn't matter much for our code, since libdl is part of glibc anyway,
but moving it removes one linkage from libsystemd. (libshared was already
linking to libdl explicitly).

4 years agobasic: move acquire_data_fd() and fd_duplicate_data_fd() to new data-fd-util.c
Zbigniew Jędrzejewski-Szmek [Mon, 21 Jun 2021 20:54:12 +0000 (22:54 +0200)] 
basic: move acquire_data_fd() and fd_duplicate_data_fd() to new data-fd-util.c

fd_duplicate_data_fd() is renamed to copy_data_fd(). This makes
the two functions have nicely similar names.

Now fd-util.[ch] is again about low-level file descriptor manipulations.
copy_data_fd() is a complex function that internally wraps the other
functions in copy.c. I want to move copy.c and the whole cluster of
related code from basic/ to shared/ later on, and this is a preparatory
step for that.

4 years agoMove hwdb creation code to src/shared/
Zbigniew Jędrzejewski-Szmek [Mon, 21 Jun 2021 20:10:37 +0000 (22:10 +0200)] 
Move hwdb creation code to src/shared/

hwdb_update() is the main entry point, and it is called from
"udevadm hwdb" and "systemd-hwdb", so it belongs in shared/.

4 years agobasic,shared: move quota-util.[ch] to src/shared/
Zbigniew Jędrzejewski-Szmek [Mon, 21 Jun 2021 19:27:21 +0000 (21:27 +0200)] 
basic,shared: move quota-util.[ch] to src/shared/

No need for this to in basic/.

4 years agobasic: drop one btrfs-related function and move another
Zbigniew Jędrzejewski-Szmek [Mon, 21 Jun 2021 18:24:00 +0000 (20:24 +0200)] 
basic: drop one btrfs-related function and move another

This will become useful later, it is the first step to moving btrfs-util.[ch]
out of src/basic/.

4 years agosd-dhcp-client: tentatively ignore FORCERENEW command 20002/head
Yu Watanabe [Wed, 23 Jun 2021 16:22:07 +0000 (01:22 +0900)] 
sd-dhcp-client: tentatively ignore FORCERENEW command

This makes DHCP client ignore FORCERENEW requests, as unauthenticated
FORCERENEW requests causes a security issue (TALOS-2020-1142, CVE-2020-13529).

Let's re-enable this after RFC3118 (Authentication for DHCP Messages)
and/or RFC6704 (Forcerenew Nonce Authentication) are implemented.

Fixes #16774.

4 years agosd-dhcp-client: logs when dhcp client unexpectedly gains a new lease
Yu Watanabe [Wed, 23 Jun 2021 16:14:12 +0000 (01:14 +0900)] 
sd-dhcp-client: logs when dhcp client unexpectedly gains a new lease

Previously, such situation is handled silently.

4 years agosd-dhcp-client: shorten code a bit
Yu Watanabe [Wed, 23 Jun 2021 15:51:52 +0000 (00:51 +0900)] 
sd-dhcp-client: shorten code a bit

4 years agosd-dhcp-client: check error earlier and reduce indentation
Yu Watanabe [Wed, 23 Jun 2021 15:48:23 +0000 (00:48 +0900)] 
sd-dhcp-client: check error earlier and reduce indentation

4 years agodocs: add coding style example
Anders Wenhaug [Wed, 23 Jun 2021 21:39:56 +0000 (23:39 +0200)] 
docs: add coding style example

Add example of how to structure else-blocks following a multiline block.

4 years agodirent-util: use readdir_ensure_type() in readdir_no_dot() and FOREACH_DIRENT() 20004/head
Yu Watanabe [Wed, 23 Jun 2021 19:29:40 +0000 (04:29 +0900)] 
dirent-util: use readdir_ensure_type() in readdir_no_dot() and FOREACH_DIRENT()

4 years agodirent-util: introduce readdir_ensure_type()
Yu Watanabe [Wed, 23 Jun 2021 19:00:42 +0000 (04:00 +0900)] 
dirent-util: introduce readdir_ensure_type()

4 years agotest-path-util: check that dot components are irrelevant for path comparisons
Zbigniew Jędrzejewski-Szmek [Wed, 23 Jun 2021 14:05:47 +0000 (16:05 +0200)] 
test-path-util: check that dot components are irrelevant for path comparisons

4 years agoTODO: elide initrd-parse-etc.service if possible
Zbigniew Jędrzejewski-Szmek [Wed, 2 Jun 2021 09:27:55 +0000 (11:27 +0200)] 
TODO: elide initrd-parse-etc.service if possible

4 years agoman/50-xdg-data-dirs: add quotes as suggested by shellcheck
Zbigniew Jędrzejewski-Szmek [Tue, 8 Jun 2021 07:06:11 +0000 (09:06 +0200)] 
man/50-xdg-data-dirs: add quotes as suggested by shellcheck

4 years agobasic,shared: move make_mount_point_inode_*() to shared/
Zbigniew Jędrzejewski-Szmek [Mon, 21 Jun 2021 17:44:35 +0000 (19:44 +0200)] 
basic,shared: move make_mount_point_inode_*() to shared/

Those pull in selinux for labelling, and we should avoid selinux in basic/.

4 years agomeson: sort file list
Zbigniew Jędrzejewski-Szmek [Mon, 21 Jun 2021 20:56:58 +0000 (22:56 +0200)] 
meson: sort file list

At least emacs thinks this is the right way.

4 years agoudev: remove unsafe characters from ID_SERIAL for nvme 19312/head
Yu Watanabe [Wed, 14 Apr 2021 06:50:36 +0000 (15:50 +0900)] 
udev: remove unsafe characters from ID_SERIAL for nvme

Fixes #19309.

4 years agoman: update description of "string_escape=" udev option
Yu Watanabe [Wed, 23 Jun 2021 07:58:20 +0000 (16:58 +0900)] 
man: update description of "string_escape=" udev option

4 years agoudev: replace unsafe characters on assigning ENV{key}="val" when OPTIONS="string_esca...
Yu Watanabe [Wed, 14 Apr 2021 06:13:54 +0000 (15:13 +0900)] 
udev: replace unsafe characters on assigning ENV{key}="val" when OPTIONS="string_escape=replace" is set

Strictly speaking, this breaks backward compatibility, as previously
`ENV{key}="val"` ignored `string_escape=` option. But, introducing
a new option such as `string_escape=hoge` sounds overkill for me.
The default escape mode is `ESCAPE_UNSET`, so I hope this merely break
existing rules.

4 years agoudev: fix key name in debug log
Yu Watanabe [Wed, 23 Jun 2021 07:33:14 +0000 (16:33 +0900)] 
udev: fix key name in debug log

4 years agoudev: refuse invalid ifname earlier
Yu Watanabe [Wed, 23 Jun 2021 07:17:21 +0000 (16:17 +0900)] 
udev: refuse invalid ifname earlier

4 years agoudev: introduce new netif naming scheme flag to strictly replace ifname
Yu Watanabe [Wed, 23 Jun 2021 07:10:26 +0000 (16:10 +0900)] 
udev: introduce new netif naming scheme flag to strictly replace ifname

4 years agoudev: only network interface can be renamed
Yu Watanabe [Wed, 23 Jun 2021 06:39:04 +0000 (15:39 +0900)] 
udev: only network interface can be renamed

4 years agoudev-util: introduce udev_replace_ifname()
Yu Watanabe [Wed, 23 Jun 2021 06:58:31 +0000 (15:58 +0900)] 
udev-util: introduce udev_replace_ifname()

4 years agosocket-util: split out checking valid character for ifname into ifname_valid_char()
Yu Watanabe [Wed, 23 Jun 2021 06:57:28 +0000 (15:57 +0900)] 
socket-util: split out checking valid character for ifname into ifname_valid_char()

4 years agoMerge pull request #19990 from mrc0mmand/test-tweaks
Yu Watanabe [Tue, 22 Jun 2021 16:45:04 +0000 (01:45 +0900)] 
Merge pull request #19990 from mrc0mmand/test-tweaks

A couple of stability-related test tweaks

4 years agoMerge pull request #19991 from bluca/bash_compl_unbound_vars
Yu Watanabe [Tue, 22 Jun 2021 16:44:30 +0000 (01:44 +0900)] 
Merge pull request #19991 from bluca/bash_compl_unbound_vars

completion: fix 'unbound variables' errors

4 years agocompletion: fix 'unbound variables' errors 19991/head
Luca Boccassi [Tue, 22 Jun 2021 13:56:19 +0000 (14:56 +0100)] 
completion: fix 'unbound variables' errors

Fixes https://github.com/systemd/systemd/issues/19987

4 years agocompletion/systemd-delta,-resolve: autocomplete with parameters
Luca Boccassi [Tue, 22 Jun 2021 13:55:22 +0000 (14:55 +0100)] 
completion/systemd-delta,-resolve: autocomplete with parameters

4 years agocompletion/hostnamectl: do not dereference non-existing OPTS[ARGUNKNOWN]
Luca Boccassi [Tue, 22 Jun 2021 13:54:08 +0000 (14:54 +0100)] 
completion/hostnamectl: do not dereference non-existing OPTS[ARGUNKNOWN]

4 years agoMerge pull request #19986 from keszybz/test-mount-util-more
Lennart Poettering [Tue, 22 Jun 2021 13:03:57 +0000 (15:03 +0200)] 
Merge pull request #19986 from keszybz/test-mount-util-more

Add smoke test for mount_flags_to_string()

4 years agonetworkd: Permit all-zero RoutingPolicyRule prefixes
Hristo Venev [Tue, 22 Jun 2021 09:29:03 +0000 (12:29 +0300)] 
networkd: Permit all-zero RoutingPolicyRule prefixes

For example this `From` address range is no longer ignored:

    [RoutingPolicyRule]
    From=0.0.0.0/8

4 years agoMerge pull request #19969 from bluca/test_02_qemu
Frantisek Sumsal [Tue, 22 Jun 2021 10:58:07 +0000 (12:58 +0200)] 
Merge pull request #19969 from bluca/test_02_qemu

test-loop-block: run in qemu

4 years agotest: correctly mask supporting services in tests 19990/head
Frantisek Sumsal [Tue, 22 Jun 2021 10:30:24 +0000 (12:30 +0200)] 
test: correctly mask supporting services in tests

It turns out the "supporting services" were run in _all_ tests if
TEST-01-BASIC was run as the first test (which is usually the case),
since with the original condition in test_create_image() we would skip
the masking and then propagate the change to the default image used by
other tests. This has been causing multiple bogus test timeouts
(especially when the hwdb was being rebuilt in tests with short
timeouts, like TEST-52-HONORFIRSTSHUTDOWN).

Let's "fix" this by making the call to mask_supporting_services()
uncoditional and override the test_create_image() function in
TEST-01-BASIC to avoid the masking in this single case.

4 years agopo: Translated using Weblate (Korean)
simmon [Tue, 22 Jun 2021 10:04:18 +0000 (12:04 +0200)] 
po: Translated using Weblate (Korean)

Currently translated at 100.0% (189 of 189 strings)

Co-authored-by: simmon <simmon@nplob.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/ko/
Translation: systemd/main

4 years agotest: ignore the "freezing" & "thawing" intermediate states
Frantisek Sumsal [Tue, 22 Jun 2021 10:12:34 +0000 (12:12 +0200)] 
test: ignore the "freezing" & "thawing" intermediate states

When checking the unit state after `systemctl freeze|thaw` we can be
"too fast" and get the intermediate state (freezing/thawing) which we're
not interested in. Let's wait a bit and try to get the state again in
such cases to avoid unnecessary flakiness.

```
[   29.390203] testsuite-38.sh[218]: + state=thawing
[   29.390203] testsuite-38.sh[218]: + '[' thawing = running ']'
[   29.390203] testsuite-38.sh[218]: + echo 'error: unexpected freezer state, expected: running, actual: thawing'
[   29.390203] testsuite-38.sh[218]: error: unexpected freezer state, expected: running, actual: thawing
[   29.390203] testsuite-38.sh[218]: + exit 1
```

4 years agotest-mount-util: add output test for mount_flags_to_string() 19986/head
Zbigniew Jędrzejewski-Szmek [Mon, 21 Jun 2021 17:21:10 +0000 (19:21 +0200)] 
test-mount-util: add output test for mount_flags_to_string()

4 years agotest-mount-util: add usual print headers
Zbigniew Jędrzejewski-Szmek [Mon, 21 Jun 2021 17:20:41 +0000 (19:20 +0200)] 
test-mount-util: add usual print headers

4 years agomount-util: add one more assertion
Yu Watanabe [Tue, 22 Jun 2021 05:41:45 +0000 (14:41 +0900)] 
mount-util: add one more assertion

4 years agotest-loop-block: run in qemu 19969/head
Luca Boccassi [Thu, 17 Jun 2021 21:53:16 +0000 (22:53 +0100)] 
test-loop-block: run in qemu

test-loop-block needs to run in qemu, so we are currently not
testing it in the CI. Run it by itself in a separate job from
TEST-02-UNITTESTS to avoid slowing that suite down.

Fixes https://github.com/systemd/systemd/issues/19966

Disable it in the bionic-* CI for now, as it's affected by
the same uevent ordering issue as TEST-50-DISSECT which makes
it flaky.

4 years agotest: move custom result checks from TEST-02-UNITTESTS to test-functions
Luca Boccassi [Mon, 21 Jun 2021 19:05:47 +0000 (20:05 +0100)] 
test: move custom result checks from TEST-02-UNITTESTS to test-functions

4 years agotest: allow to call units/testsuite-02.sh from other scripts
Luca Boccassi [Mon, 21 Jun 2021 18:46:44 +0000 (19:46 +0100)] 
test: allow to call units/testsuite-02.sh from other scripts

4 years agotest: do not fail TEST-02-UNITTESTS if they are all skipped
Luca Boccassi [Mon, 21 Jun 2021 13:15:56 +0000 (14:15 +0100)] 
test: do not fail TEST-02-UNITTESTS if they are all skipped

The return code is initialized to fail if /testok is not found, but
that also covers the case where all tests are skipped.

4 years agotest: do not lose logs of late failures in TEST-02-UNITTESTS
Luca Boccassi [Mon, 21 Jun 2021 11:34:07 +0000 (12:34 +0100)] 
test: do not lose logs of late failures in TEST-02-UNITTESTS

Due to set -e, if the wait() fails (eg: because of an assert in the
waited task), report_result() never runs and logs are lost