]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
3 years agotree-wide: make sure our control buffers are properly aligned 15623/head
Lennart Poettering [Fri, 24 Apr 2020 21:54:25 +0000 (23:54 +0200)] 
tree-wide: make sure our control buffers are properly aligned

We always need to make them unions with a "struct cmsghdr" in them, so
that things properly aligned. Otherwise we might end up at an unaligned
address and the counting goes all wrong, possibly making the kernel
refuse our buffers.

Also, let's make sure we initialize the control buffers to zero when
sending, but leave them uninitialized when reading.

Both the alignment and the initialization thing is mentioned in the
cmsg(3) man page.

3 years agotree-wide: remove redundant assignments
Lennart Poettering [Fri, 24 Apr 2020 21:38:47 +0000 (23:38 +0200)] 
tree-wide: remove redundant assignments

We already initialize the fields a few lines up to the very same values,
hence remove this.

3 years agotree-wide: use CMSG_SPACE() (and not CMSG_LEN()) to allocate control buffers
Lennart Poettering [Fri, 24 Apr 2020 21:36:03 +0000 (23:36 +0200)] 
tree-wide: use CMSG_SPACE() (and not CMSG_LEN()) to allocate control buffers

We need to use the CMSG_SPACE() macro to size the control buffers, not
CMSG_LEN(). The former is rounded up to next alignment boundary, the
latter is not. The former should be used for allocations, the latter for
encoding how much of it is actually initialized. See cmsg(3) man page
for details about this.

Given how confusing this is, I guess we don't have to be too ashamed
here, in most cases we actually did get this right.

3 years agoRevert "Add Kensington SlimBlade Trackball"
Zbigniew Jędrzejewski-Szmek [Thu, 7 May 2020 11:10:25 +0000 (13:10 +0200)] 
Revert "Add Kensington SlimBlade Trackball"

This reverts commit 8049c79b654f9c00da883423813ec25b7b54f3d6.

3 years agoresolved: Fix build error due to missing include.
Daan De Meyer [Thu, 7 May 2020 09:51:02 +0000 (11:51 +0200)] 
resolved: Fix build error due to missing include.

3 years agonetlink socket correct check (#15720)
gaurav [Thu, 7 May 2020 07:55:31 +0000 (03:55 -0400)] 
netlink socket correct check (#15720)

3 years agohomectl: show disk free in percent in 'inspect'
Lennart Poettering [Wed, 6 May 2020 20:43:54 +0000 (22:43 +0200)] 
homectl: show disk free in percent in 'inspect'

3 years agoMerge pull request #15733 from benjarobin/fix_warn_ndebug
Zbigniew Jędrzejewski-Szmek [Thu, 7 May 2020 07:47:19 +0000 (09:47 +0200)] 
Merge pull request #15733 from benjarobin/fix_warn_ndebug

Allow to build without any warning with NDEBUG defined + Bugfix

3 years agotree-wide: Workaround -Wnonnull GCC bug
Benjamin Robin [Wed, 6 May 2020 19:24:05 +0000 (21:24 +0200)] 
tree-wide: Workaround -Wnonnull GCC bug

See issue #6119

3 years agohomed: open up home dir Acquire operation to unpriv clients
Lennart Poettering [Wed, 6 May 2020 15:54:35 +0000 (17:54 +0200)] 
homed: open up home dir Acquire operation to unpriv clients

Apparently unpriv clients expect to be able to auth via PAM. Kinda
sucks. But it is what it is. Hence open this up.

This shouldn't be too bad in effect since clients after all need to
provide security creds for unlocking the home dir, in order to misuse
this.

Fixes: #15072
3 years agoresolved: Break include cycles
Daan De Meyer [Wed, 6 May 2020 17:10:59 +0000 (19:10 +0200)] 
resolved: Break include cycles

3 years agomeson: Do not drop warnings (unused variable) when NDEBUG is defined 15733/head
Benjamin Robin [Wed, 6 May 2020 21:02:39 +0000 (23:02 +0200)] 
meson: Do not drop warnings (unused variable) when NDEBUG is defined

This is no longer needed, since there is now no warning with NDEBUG
defined

3 years agoresize-fs: Use xsprintf instead of snprintf
Benjamin Robin [Wed, 6 May 2020 20:58:24 +0000 (22:58 +0200)] 
resize-fs: Use xsprintf instead of snprintf

3 years agotest: Use assert_se() where variables are only checked by assert
Benjamin Robin [Wed, 6 May 2020 18:32:27 +0000 (20:32 +0200)] 
test: Use assert_se() where variables are only checked by assert

Allow to build without any warning with NDEBUG defined

3 years agotree-wide: Fix, replace assert() by assert_se() when there is side effect
Benjamin Robin [Wed, 6 May 2020 18:30:43 +0000 (20:30 +0200)] 
tree-wide: Fix, replace assert() by assert_se() when there is side effect

3 years agotree-wide: Mark as _unused_ variables that are only used in assert()
Benjamin Robin [Wed, 6 May 2020 18:29:31 +0000 (20:29 +0200)] 
tree-wide: Mark as _unused_ variables that are only used in assert()

Allow to build without any warning with NDEBUG defined

3 years agoMerge pull request #15735 from poettering/pam-snippet-update
Zbigniew Jędrzejewski-Szmek [Wed, 6 May 2020 20:45:29 +0000 (22:45 +0200)] 
Merge pull request #15735 from poettering/pam-snippet-update

Slightly update our shipped and suggested PAM snippets, so that pam_systemd_home.so is more likely to just work

3 years agoMerge pull request #15727 from poettering/systemctl-list-sockets-tweak
Zbigniew Jędrzejewski-Szmek [Wed, 6 May 2020 20:38:25 +0000 (22:38 +0200)] 
Merge pull request #15727 from poettering/systemctl-list-sockets-tweak

systemctl: some table output tweaks

3 years agoman: bring example PAM snippet of pam_systemd and pam_systemd_home back in sync 15735/head
Lennart Poettering [Wed, 6 May 2020 20:28:37 +0000 (22:28 +0200)] 
man: bring example PAM snippet of pam_systemd and pam_systemd_home back in sync

Let's make it the same snippet, just highlight different lines.

3 years agoman: highlight relevant lines in pam_systemd_home.so example PAM snippet
Lennart Poettering [Wed, 6 May 2020 20:26:54 +0000 (22:26 +0200)] 
man: highlight relevant lines in pam_systemd_home.so example PAM snippet

let's do this like we do in the NSS module man pages.

3 years agologin: include pam_systemd_home.so in the default PAM snippet we ship for user@.service
Lennart Poettering [Wed, 6 May 2020 20:25:34 +0000 (22:25 +0200)] 
login: include pam_systemd_home.so in the default PAM snippet we ship for user@.service

Let's make sure systemd-homed works out-of-the box as well as possible.

3 years agotest: Skip test-boot-timestamps on permission denied
Balint Reczey [Tue, 5 May 2020 19:24:53 +0000 (21:24 +0200)] 
test: Skip test-boot-timestamps on permission denied

In containers even root can be denied to access the needed files.

3 years agohwdb: Force "mouse" type on Logitech Ultrathin Touch Mouse
Bastien Nocera [Tue, 5 May 2020 14:38:37 +0000 (16:38 +0200)] 
hwdb: Force "mouse" type on Logitech Ultrathin Touch Mouse

Closes: #15657
3 years agosystemctl: underline whole rows, gapless 15727/head
Lennart Poettering [Wed, 6 May 2020 13:37:33 +0000 (15:37 +0200)] 
systemctl: underline whole rows, gapless

Just some tweaking of the output.

3 years agoformat-table: support coloring the gap right of each cell individually
Lennart Poettering [Wed, 6 May 2020 13:36:50 +0000 (15:36 +0200)] 
format-table: support coloring the gap right of each cell individually

This is useful for underlining a whole row of cells: previously we
couldn't underline the gap. Now we can.

3 years agosystemctl: ensure underline for "list-unit-files" empty cells
Lennart Poettering [Wed, 6 May 2020 12:56:37 +0000 (14:56 +0200)] 
systemctl: ensure underline for "list-unit-files" empty cells

3 years agosystemctl: let's tweak how we synthesize a cell for activating unit
Lennart Poettering [Wed, 6 May 2020 12:48:54 +0000 (14:48 +0200)] 
systemctl: let's tweak how we synthesize a cell for activating unit

Let's create a string cell for the unit if possible (since there can
only be one unit right now, and the JSON alternative output then
generates a string instead of an array for us), an empty cell if empty.

3 years agosystemctl: change column name in "list-sockets" out from "units" to "unit"
Lennart Poettering [Wed, 6 May 2020 12:48:14 +0000 (14:48 +0200)] 
systemctl: change column name in "list-sockets" out from "units" to "unit"

All our other tables call the field in singular, hence let's do so here,
too.

3 years agosystemctl: show empty cells as '-'
Lennart Poettering [Wed, 6 May 2020 12:47:46 +0000 (14:47 +0200)] 
systemctl: show empty cells as '-'

This is mostly relevant for "systemct list-sockets" which can have empty
cells for the activating unit.

3 years agoformat-table: display an empty strv cell the same way as an empty cell
Lennart Poettering [Wed, 6 May 2020 12:46:37 +0000 (14:46 +0200)] 
format-table: display an empty strv cell the same way as an empty cell

An empty list conceptually is very close to null, hence let's show it
the same way, i.e. using the defined "empty" string, and greyed out.

3 years agoresolve: fix type of parameter and update man page
Zbigniew Jędrzejewski-Szmek [Wed, 6 May 2020 13:02:38 +0000 (15:02 +0200)] 
resolve: fix type of parameter and update man page

The "a" got dropped in eff7c2d3c905dec9ea4e1d5e53a0efd6af7d3d26.

3 years agoMerge pull request #15473 from keszybz/bus-introspection
Zbigniew Jędrzejewski-Szmek [Wed, 6 May 2020 13:00:07 +0000 (15:00 +0200)] 
Merge pull request #15473 from keszybz/bus-introspection

3 years agosocket-proxy: Support exit-on-idle
Eric Anderson [Sat, 2 May 2020 22:54:24 +0000 (15:54 -0700)] 
socket-proxy: Support exit-on-idle

This adds the --exit-idle-time argument that causes
systemd-socket-proxyd to exit when there has been an idle period. An
open connection prevents the idle period from starting, even if there is
no activity on that connection.

When combined with another service that uses StopWhenUnneeded=, the
proxy exiting can trigger a resource-intensive process to exit. So
although the proxy may consume minimal resources, significant resources
can be saved indirectly.

Fixes #2106

3 years agoUpdate the rsync command in CONVERTING_TO_HOMED
Gergely Polonkai [Wed, 6 May 2020 08:49:39 +0000 (08:49 +0000)] 
Update the rsync command in CONVERTING_TO_HOMED

The old version of this command will delete everything under the new home directory (including `.identity`), rendering the directory unusable with homed.

3 years agosd-bus: Add a nicer way of specifying sd-bus vtable method arguments
Daan De Meyer [Tue, 28 Apr 2020 17:04:33 +0000 (19:04 +0200)] 
sd-bus: Add a nicer way of specifying sd-bus vtable method arguments

SD_BUS_NAMES_WITH_ARGS is a less error-prone way of specifying D-Bus
method arguments.

3 years agobuild-system: bring back 'nonnull'
Evgeny Vereshchagin [Tue, 5 May 2020 11:10:56 +0000 (11:10 +0000)] 
build-system: bring back 'nonnull'

Having taken a look at https://github.com/systemd/systemd/runs/645252074?check_suite_focus=true
where fuzz-journal-remote failed with
```
AddressSanitizer:DEADLYSIGNAL
=================================================================
==16==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7f864f98948e bp 0x7ffde5c6b7c0 sp 0x7ffde5c6b560 T0)
==16==The signal is caused by a READ memory access.
==16==Hint: address points to the zero page.
SCARINESS: 10 (null-deref)
    #0 0x7f864f98948e in output_short /work/build/../../src/systemd/src/shared/logs-show.c
    #1 0x7f864f984624 in show_journal_entry /work/build/../../src/systemd/src/shared/logs-show.c:1154:15
    #2 0x7f864f984b63 in show_journal /work/build/../../src/systemd/src/shared/logs-show.c:1239:21
    #3 0x4cabab in LLVMFuzzerTestOneInput /work/build/../../src/systemd/src/fuzz/fuzz-journal-remote.c:67:21
    #4 0x51fd16 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/libfuzzer/FuzzerLoop.cpp:556:15
    #5 0x51c330 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool*) /src/libfuzzer/FuzzerLoop.cpp:470:3
    #6 0x523700 in fuzzer::Fuzzer::ReadAndExecuteSeedCorpora(std::__1::vector<fuzzer::SizedFile, fuzzer::fuzzer_allocator<fuzzer::SizedFile> >&) /src/libfuzzer/FuzzerLoop.cpp:765:7
    #7 0x5246cd in fuzzer::Fuzzer::Loop(std::__1::vector<fuzzer::SizedFile, fuzzer::fuzzer_allocator<fuzzer::SizedFile> >&) /src/libfuzzer/FuzzerLoop.cpp:792:3
    #8 0x4de3d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/libfuzzer/FuzzerDriver.cpp:824:6
    #9 0x4cfb47 in main /src/libfuzzer/FuzzerMain.cpp:19:10
    #10 0x7f864e69782f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
    #11 0x41f2a8 in _start (out/fuzz-journal-remote+0x41f2a8)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /work/build/../../src/systemd/src/shared/logs-show.c in output_short
==16==ABORTING
MS: 0 ; base unit: 0000000000000000000000000000000000000000
0x44,0x3d,0xa,0x5f,0x5f,0x52,0x45,0x41,0x4c,0x54,0x49,0x4d,0x45,0x5f,0x54,0x49,0x4d,0x45,0x53,0x54,0x41,0x4d,0x50,0x3d,0x31,0xa,0xa,
D=\x0a__REALTIME_TIMESTAMP=1\x0a\x0a
artifact_prefix='./'; Test unit written to ./crash-d635b9dd31cceff3c912fd45e1a58d7e90f0ad73
Base64: RD0KX19SRUFMVElNRV9USU1FU1RBTVA9MQoK
```
I was wondering why it hadn't been caught by the compiler even though clang should have failed to compile it with
```
../src/shared/logs-show.c:624:25: warning: null passed to a callee that requires a non-null argument [-Wnonnull]
                        print_multiline(f, 4 + fieldlen + 1, 0, OUTPUT_FULL_WIDTH, 0, false,
                        ^
../src/shared/logs-show.c:161:24: note: callee declares array parameter as static here
                size_t highlight[static 2]) {
                       ^        ~~~~~~~~~~
../src/shared/logs-show.c:1239:21: warning: null passed to a callee that requires a non-null argument [-Wnonnull]
                r = show_journal_entry(f, j, mode, n_columns, flags, NULL, NULL, ellipsized);
                    ^                                                      ~~~~
../src/shared/logs-show.c:1133:30: note: callee declares array parameter as static here
                const size_t highlight[static 2],
                             ^        ~~~~~~~~~~
2 warnings generated.
```

Given that judging by https://github.com/systemd/systemd/issues/13039 it doesn't seem to be
the first time issues like that have been missed I think it would be better to turn nonnull on
and get around false positives on a case-by-case basis with DISABLE_WARNING_NONNULL .. REENABLE_WARNING

Reopens https://github.com/systemd/systemd/issues/6119

3 years agosysusers: be extra careful when locking accounts
Lennart Poettering [Tue, 5 May 2020 19:46:56 +0000 (21:46 +0200)] 
sysusers: be extra careful when locking accounts

Let's use "!*" instead of "!!" as invalid password string.

Generally, any invalid password string can be used to for locking an
account, according to shadow(5). To temporarily lock a password of an
account it is commonly implemented to prefix the original password with
a single "!", so that it can later on be unlocked again by removing the
"!", restoring the original password. Thus, the "!" marker is an
indicator for a locked password; the act of prefixing "!" to a
password string is the locking operation; and the removal of a "!"
prefix is the unlock operation. (This is also suggested in shadow(5)).

If we want to entirely lock an account we previously used "!!" as
password string. This is nice since it indicates the password is locked.
However, it is less than ideal, since applying the password unlock
operation once will change the string to "!", which is still a locked
password. Unlocking the password a second time will result in "", i.e.
the empty password, which will in many cases allow logging in without
password. And that's a problem. Hopefully, tools do not allow such
duplicate unlocking, but it's still not a nice property.

By changing our password string to "!*" we get different behaviour: the
password will appear locked. When it is unlocked the password is "*"
which is an invalid password. In that case the password is hence
unlocked but invalid, which is a much better state to be in than the
above.

This is paranoia hardening. Not more. There's no report that anyone
every unlocked an account twice and people could log in.

3 years agoman: update login1(5) for SetType() 15473/head
Zbigniew Jędrzejewski-Szmek [Tue, 5 May 2020 21:03:36 +0000 (23:03 +0200)] 
man: update login1(5) for SetType()

Added in db72aea4a952cdfdef51eda03408d7c4a11e7359.

3 years agoman: add stub for home1(5)
Zbigniew Jędrzejewski-Szmek [Sun, 3 May 2020 08:19:53 +0000 (10:19 +0200)] 
man: add stub for home1(5)

3 years agohomed: convert to the new scheme and add --bus-introspect
Zbigniew Jędrzejewski-Szmek [Sun, 3 May 2020 08:05:06 +0000 (10:05 +0200)] 
homed: convert to the new scheme and add --bus-introspect

3 years agoMerge pull request #15692 from keszybz/preset-cleanup
Lennart Poettering [Wed, 6 May 2020 06:19:37 +0000 (08:19 +0200)] 
Merge pull request #15692 from keszybz/preset-cleanup

Make systemctl list-unit-files output more useful

3 years agoman: add description of org.freedesktop.LogControl1
Zbigniew Jędrzejewski-Szmek [Fri, 24 Apr 2020 19:04:43 +0000 (21:04 +0200)] 
man: add description of org.freedesktop.LogControl1

I'm not sure if the LogTarget property is sufficiently general to be made into
a property that can be generally implemented. It is very closely tied to the internal
systemd logic. The other two seem fine thoough.

3 years agomeson: add man/update-dbus-docs target
Zbigniew Jędrzejewski-Szmek [Fri, 24 Apr 2020 18:12:03 +0000 (20:12 +0200)] 
meson: add man/update-dbus-docs target

3 years agoman: drop LogLevel from resolve1(5)
Zbigniew Jędrzejewski-Szmek [Fri, 24 Apr 2020 15:55:11 +0000 (17:55 +0200)] 
man: drop LogLevel from resolve1(5)

Removed in 4c4520789d2bfa3fa51b38b826cac2efb5a4d252.

3 years agoman: drop CanMultiSession from documention
Zbigniew Jędrzejewski-Szmek [Fri, 24 Apr 2020 15:54:28 +0000 (17:54 +0200)] 
man: drop CanMultiSession from documention

Removed in 8f8cc84ba4612e74cd1e26898c6816e6e60fc4e9.

3 years agoman: use --bus-introspect to autogenerate dbus api docs
Zbigniew Jędrzejewski-Szmek [Fri, 24 Apr 2020 10:08:10 +0000 (12:08 +0200)] 
man: use --bus-introspect to autogenerate dbus api docs

This has the advantage that the executables are always in place and we don't
need any units to exist on the bus, so we can eventually hook this up into
a normal build system. (Probably as a build time check.)

3 years agoupdate-dbus-docs: use executables in build/
Zbigniew Jędrzejewski-Szmek [Fri, 24 Apr 2020 10:09:07 +0000 (12:09 +0200)] 
update-dbus-docs: use executables in build/

3 years agopid1: add --bus-introspect
Zbigniew Jędrzejewski-Szmek [Thu, 23 Apr 2020 21:50:31 +0000 (23:50 +0200)] 
pid1: add --bus-introspect

3 years agopid1: convert to the new scheme
Zbigniew Jędrzejewski-Szmek [Thu, 23 Apr 2020 21:50:12 +0000 (23:50 +0200)] 
pid1: convert to the new scheme

In all the other cases, I think the code was clearer with the static table.
Here, not so much. And because of the existing dump code, the vtables cannot
be made static and need to remain exported. I still think it's worth to do the
change to have the cmdline introspection, but I'm disappointed with how this
came out.

3 years agomachined: convert to the new scheme and add --bus-introspect
Zbigniew Jędrzejewski-Szmek [Thu, 23 Apr 2020 12:21:46 +0000 (14:21 +0200)] 
machined: convert to the new scheme and add --bus-introspect

3 years agolocaled: convert to the new scheme and add --bus-introspect
Zbigniew Jędrzejewski-Szmek [Thu, 23 Apr 2020 12:10:33 +0000 (14:10 +0200)] 
localed: convert to the new scheme and add --bus-introspect

3 years agohostnamed: convert to the new scheme and add --bus-introspect
Zbigniew Jędrzejewski-Szmek [Thu, 23 Apr 2020 12:08:16 +0000 (14:08 +0200)] 
hostnamed: convert to the new scheme and add --bus-introspect

3 years agobus-introspect: list the interfaces with "list"
Zbigniew Jędrzejewski-Szmek [Thu, 23 Apr 2020 10:46:23 +0000 (12:46 +0200)] 
bus-introspect: list the interfaces with "list"

The output is not very well formatted, but it is still useful when
testing this.

3 years agoresolved: convert to the new scheme
Zbigniew Jędrzejewski-Szmek [Thu, 23 Apr 2020 10:45:47 +0000 (12:45 +0200)] 
resolved: convert to the new scheme

3 years agotimedated: convert to the new scheme and add --bus-introspect
Zbigniew Jędrzejewski-Szmek [Thu, 23 Apr 2020 10:14:09 +0000 (12:14 +0200)] 
timedated: convert to the new scheme and add --bus-introspect

3 years agounits: change description of systemd-logind.service
Zbigniew Jędrzejewski-Szmek [Thu, 23 Apr 2020 07:59:03 +0000 (09:59 +0200)] 
units: change description of systemd-logind.service

"Login Service" doesn''t explain much, esp. considering that logind is actually is
for logins. I think "User Login Management" is better, but not that great either.
Suggestions welcome.

3 years agoimportd,logind: add --bus-introspect= option
Zbigniew Jędrzejewski-Szmek [Tue, 28 Apr 2020 15:55:34 +0000 (17:55 +0200)] 
importd,logind: add --bus-introspect= option

3 years agobus-util: add wrapper for interface introspection
Zbigniew Jędrzejewski-Szmek [Wed, 15 Apr 2020 15:19:53 +0000 (17:19 +0200)] 
bus-util: add wrapper for interface introspection

3 years agologind: convert to the new scheme
Zbigniew Jędrzejewski-Szmek [Wed, 22 Apr 2020 23:00:07 +0000 (01:00 +0200)] 
logind: convert to the new scheme

3 years agoimportd: convert to the new scheme
Zbigniew Jędrzejewski-Szmek [Fri, 24 Apr 2020 08:02:00 +0000 (10:02 +0200)] 
importd: convert to the new scheme

3 years agosd-bus: add helper struct for interface definitions
Zbigniew Jędrzejewski-Szmek [Wed, 15 Apr 2020 15:21:23 +0000 (17:21 +0200)] 
sd-bus: add helper struct for interface definitions

The idea is to have a static table that defines the dbus API. The vtable is
defined right next to the interface name and path because they are logically
connected.

3 years agosystemctl: do not show preset state for "static"/"alias"/"generated"/"transient"... 15692/head
Zbigniew Jędrzejewski-Szmek [Mon, 4 May 2020 18:01:52 +0000 (20:01 +0200)] 
systemctl: do not show preset state for "static"/"alias"/"generated"/"transient" units

This modifies list-unit-files and status.

The output of list-unit-files would contain various lines with "static
disabled", which is just misleading, because systemctl preset will not touch
those files, so the preset configuration is not relevant. Similarly, for
"generated" and "transient" units, preset state is irrelevant. For "alias"
lines, the preset for the alias target would be used. In all cases let's just
skip preset status in those cases.

Diff for a a Fedora rawhide container:

--- $ systemctl --root=/tmp/root2 list-unit-files
+++ $ build/systemctl --root=/tmp/root2 list-unit-files
@@ -1,125 +1,125 @@
 UNIT FILE                                  STATE    VENDOR PRESET
-proc-sys-fs-binfmt_misc.automount          static   disabled
-dev-hugepages.mount                        static   disabled
-dev-mqueue.mount                           static   disabled
-proc-fs-nfsd.mount                         static   disabled
+proc-sys-fs-binfmt_misc.automount          static
+dev-hugepages.mount                        static
+dev-mqueue.mount                           static
+proc-fs-nfsd.mount                         static
 proc-sys-fs-binfmt_misc.mount              disabled disabled
-sys-fs-fuse-connections.mount              static   disabled
-sys-kernel-config.mount                    static   disabled
-sys-kernel-debug.mount                     static   disabled
-sys-kernel-tracing.mount                   static   disabled
-tmp.mount                                  static   disabled
-var-lib-nfs-rpc_pipefs.mount               static   disabled
+sys-fs-fuse-connections.mount              static
+sys-kernel-config.mount                    static
+sys-kernel-debug.mount                     static
+sys-kernel-tracing.mount                   static
+tmp.mount                                  static
+var-lib-nfs-rpc_pipefs.mount               static
 ostree-finalize-staged.path                disabled enabled
-systemd-ask-password-console.path          static   disabled
-systemd-ask-password-plymouth.path         static   disabled
-systemd-ask-password-wall.path             static   disabled
+systemd-ask-password-console.path          static
+systemd-ask-password-plymouth.path         static
+systemd-ask-password-wall.path             static
 abrt-journal-core.service                  enabled  enabled
 abrt-oops.service                          enabled  enabled
 abrt-pstoreoops.service                    disabled disabled
 abrt-vmcore.service                        enabled  enabled
 abrt-xorg.service                          enabled  enabled
 abrtd.service                              enabled  enabled
-anaconda-direct.service                    static   disabled
-anaconda-nm-config.service                 static   disabled
-anaconda-noshell.service                   static   disabled
-anaconda-pre.service                       static   disabled
-anaconda-shell@.service                    static   disabled
-anaconda-sshd.service                      static   disabled
-anaconda-tmux@.service                     static   disabled
-anaconda.service                           static   disabled
+anaconda-direct.service                    static
+anaconda-nm-config.service                 static
+anaconda-noshell.service                   static
+anaconda-pre.service                       static
+anaconda-shell@.service                    static
+anaconda-sshd.service                      static
+anaconda-tmux@.service                     static
+anaconda.service                           static
 arp-ethers.service                         disabled disabled
 atd.service                                enabled  enabled
 auditd.service                             enabled  enabled
-auth-rpcgss-module.service                 static   disabled
+auth-rpcgss-module.service                 static
 autofs.service                             disabled disabled
-autovt@.service                            enabled  disabled
-blivet.service                             static   disabled
+autovt@.service                            alias
+blivet.service                             static
 blk-availability.service                   disabled disabled
 bluetooth.service                          enabled  enabled
-btattach-bcm@.service                      static   disabled
+btattach-bcm@.service                      static
 certmonger.service                         disabled disabled
-chrony-dnssrv@.service                     static   disabled
+chrony-dnssrv@.service                     static
 chrony-wait.service                        disabled disabled
 chronyd.service                            enabled  enabled
-clean-mount-point@.service                 static   disabled
-cockpit-motd.service                       static   disabled
-cockpit-wsinstance-http-redirect.service   static   disabled
-cockpit-wsinstance-http.service            static   disabled
-cockpit-wsinstance-https-factory@.service  static   disabled
-cockpit-wsinstance-https@.service          static   disabled
-cockpit.service                            static   disabled
+clean-mount-point@.service                 static
+cockpit-motd.service                       static
+cockpit-wsinstance-http-redirect.service   static
+cockpit-wsinstance-http.service            static
+cockpit-wsinstance-https-factory@.service  static
+cockpit-wsinstance-https@.service          static
+cockpit.service                            static
 console-getty.service                      disabled disabled
-container-getty@.service                   static   disabled
+container-getty@.service                   static
 dbus-broker.service                        enabled  enabled
 dbus-daemon.service                        disabled disabled
-dbus-org.bluez.service                     enabled  disabled
-dbus-org.fedoraproject.FirewallD1.service  enabled  disabled
-dbus-org.freedesktop.home1.service         static   disabled
-dbus-org.freedesktop.hostname1.service     static   disabled
-dbus-org.freedesktop.locale1.service       static   disabled
-dbus-org.freedesktop.login1.service        static   disabled
-dbus-org.freedesktop.ModemManager1.service enabled  disabled
-dbus-org.freedesktop.nm-dispatcher.service enabled  disabled
-dbus-org.freedesktop.portable1.service     static   disabled
-dbus-org.freedesktop.timedate1.service     static   disabled
-dbus.service                               enabled  disabled
+dbus-org.bluez.service                     alias
+dbus-org.fedoraproject.FirewallD1.service  alias
+dbus-org.freedesktop.home1.service         alias
+dbus-org.freedesktop.hostname1.service     alias
+dbus-org.freedesktop.locale1.service       alias
+dbus-org.freedesktop.login1.service        alias
+dbus-org.freedesktop.ModemManager1.service alias
+dbus-org.freedesktop.nm-dispatcher.service alias
+dbus-org.freedesktop.portable1.service     alias
+dbus-org.freedesktop.timedate1.service     alias
+dbus.service                               alias
 dbxtool.service                            enabled  enabled
 debug-shell.service                        disabled disabled
-dm-event.service                           static   enabled
+dm-event.service                           static
 dmraid-activation.service                  enabled  enabled
-dnf-makecache.service                      static   disabled
+dnf-makecache.service                      static
 dnsmasq.service                            disabled disabled
-dracut-cmdline.service                     static   disabled
-dracut-initqueue.service                   static   disabled
-dracut-mount.service                       static   disabled
-dracut-pre-mount.service                   static   disabled
-dracut-pre-pivot.service                   static   disabled
-dracut-pre-trigger.service                 static   disabled
-dracut-pre-udev.service                    static   disabled
-dracut-shutdown.service                    static   disabled
+dracut-cmdline.service                     static
+dracut-initqueue.service                   static
+dracut-mount.service                       static
+dracut-pre-mount.service                   static
+dracut-pre-pivot.service                   static
+dracut-pre-trigger.service                 static
+dracut-pre-udev.service                    static
+dracut-shutdown.service                    static
 ead.service                                disabled disabled
-emergency.service                          static   disabled
+emergency.service                          static
 fancontrol.service                         disabled disabled
 firewalld.service                          enabled  enabled
-fprintd.service                            static   disabled
-fstrim.service                             static   disabled
+fprintd.service                            static
+fstrim.service                             static
 getty@.service                             enabled  enabled
-grub-boot-indeterminate.service            static   disabled
+grub-boot-indeterminate.service            static
 gssproxy.service                           disabled disabled
 import-state.service                       enabled  enabled
 initial-setup-reconfiguration.service      disabled disabled
 initial-setup.service                      enabled  disabled
-initrd-cleanup.service                     static   disabled
-initrd-parse-etc.service                   static   disabled
-initrd-switch-root.service                 static   disabled
-initrd-udevadm-cleanup-db.service          static   disabled
-instperf.service                           static   disabled
+initrd-cleanup.service                     static
+initrd-parse-etc.service                   static
+initrd-switch-root.service                 static
+initrd-udevadm-cleanup-db.service          static
+instperf.service                           static
 io.podman.service                          disabled disabled
 irqbalance.service                         enabled  enabled
-iscsi-shutdown.service                     static   disabled
+iscsi-shutdown.service                     static
 iscsi.service                              enabled  disabled
 iscsid.service                             disabled disabled
 iscsiuio.service                           disabled disabled
 iwd.service                                disabled disabled
 kdump.service                              disabled disabled
-kmod-static-nodes.service                  static   disabled
-ldconfig.service                           static   disabled
+kmod-static-nodes.service                  static
+ldconfig.service                           static
 lm_sensors.service                         enabled  enabled
 loadmodules.service                        disabled disabled
-logrotate.service                          static   disabled
-lvm2-lvmpolld.service                      static   enabled
+logrotate.service                          static
+lvm2-lvmpolld.service                      static
 lvm2-monitor.service                       enabled  enabled
-lvm2-pvscan@.service                       static   disabled
-man-db-cache-update.service                static   disabled
+lvm2-pvscan@.service                       static
+man-db-cache-update.service                static
 man-db-restart-cache-update.service        disabled disabled
-mdadm-grow-continue@.service               static   disabled
-mdadm-last-resort@.service                 static   disabled
-mdmon@.service                             static   disabled
+mdadm-grow-continue@.service               static
+mdadm-last-resort@.service                 static
+mdmon@.service                             static
 mdmonitor.service                          enabled  enabled
-mlocate-updatedb.service                   static   disabled
+mlocate-updatedb.service                   static
 ModemManager.service                       enabled  enabled
-modprobe@.service                          static   disabled
+modprobe@.service                          static
 multipathd.service                         enabled  enabled
 ndctl-monitor.service                      disabled disabled
 NetworkManager-dispatcher.service          enabled  enabled
@@ -127,53 +127,53 @@
 NetworkManager.service                     enabled  enabled
 nfs-blkmap.service                         disabled disabled
 nfs-convert.service                        enabled  disabled
-nfs-idmapd.service                         static   disabled
-nfs-mountd.service                         static   disabled
+nfs-idmapd.service                         static
+nfs-mountd.service                         static
 nfs-server.service                         disabled disabled
-nfs-utils.service                          static   disabled
-nfsdcld.service                            static   disabled
+nfs-utils.service                          static
+nfsdcld.service                            static
 nftables.service                           disabled disabled
 nis-domainname.service                     disabled disabled
 oddjobd.service                            disabled disabled
 openhpid.service                           disabled disabled
-ostree-finalize-staged.service             static   disabled
-ostree-prepare-root.service                static   disabled
+ostree-finalize-staged.service             static
+ostree-prepare-root.service                static
 ostree-remount.service                     enabled  enabled
-packagekit-offline-update.service          static   disabled
-packagekit.service                         static   disabled
+packagekit-offline-update.service          static
+packagekit.service                         static
 pcscd.service                              indirect disabled
-plymouth-halt.service                      static   disabled
-plymouth-kexec.service                     static   disabled
-plymouth-poweroff.service                  static   disabled
-plymouth-quit-wait.service                 static   disabled
-plymouth-quit.service                      static   disabled
-plymouth-read-write.service                static   disabled
-plymouth-reboot.service                    static   disabled
-plymouth-start.service                     static   disabled
-plymouth-switch-root.service               static   disabled
+plymouth-halt.service                      static
+plymouth-kexec.service                     static
+plymouth-poweroff.service                  static
+plymouth-quit-wait.service                 static
+plymouth-quit.service                      static
+plymouth-read-write.service                static
+plymouth-reboot.service                    static
+plymouth-start.service                     static
+plymouth-switch-root.service               static
 podman.service                             disabled disabled
-polkit.service                             static   enabled
+polkit.service                             static
 psacct.service                             disabled disabled
 qemu-guest-agent.service                   enabled  enabled
-quotaon.service                            static   disabled
+quotaon.service                            static
 raid-check.service                         disabled disabled
-rc-local.service                           static   disabled
+rc-local.service                           static
 rdisc.service                              disabled disabled
-realmd.service                             static   disabled
-rescue.service                             static   disabled
+realmd.service                             static
+rescue.service                             static
 rngd.service                               enabled  enabled
-rpc-gssd.service                           static   disabled
-rpc-statd-notify.service                   static   disabled
-rpc-statd.service                          static   disabled
+rpc-gssd.service                           static
+rpc-statd-notify.service                   static
+rpc-statd.service                          static
 rpcbind.service                            disabled disabled
 rsyslog.service                            enabled  enabled
 selinux-autorelabel-mark.service           enabled  enabled
-selinux-autorelabel.service                static   disabled
+selinux-autorelabel.service                static
 serial-getty@.service                      disabled disabled
 smartd.service                             enabled  enabled
 sshd-keygen@.service                       disabled disabled
 sshd.service                               enabled  enabled
-sshd@.service                              static   disabled
+sshd@.service                              static
 sssd-autofs.service                        indirect disabled
 sssd-kcm.service                           indirect disabled
 sssd-nss.service                           indirect disabled
@@ -182,84 +182,84 @@
 sssd-ssh.service                           indirect disabled
 sssd-sudo.service                          indirect disabled
 sssd.service                               enabled  enabled
-system-update-cleanup.service              static   disabled
-systemd-ask-password-console.service       static   disabled
-systemd-ask-password-plymouth.service      static   disabled
-systemd-ask-password-wall.service          static   disabled
-systemd-backlight@.service                 static   disabled
-systemd-binfmt.service                     static   disabled
-systemd-bless-boot.service                 static   disabled
+system-update-cleanup.service              static
+systemd-ask-password-console.service       static
+systemd-ask-password-plymouth.service      static
+systemd-ask-password-wall.service          static
+systemd-backlight@.service                 static
+systemd-binfmt.service                     static
+systemd-bless-boot.service                 static
 systemd-boot-check-no-failures.service     disabled disabled
-systemd-boot-system-token.service          static   disabled
-systemd-coredump@.service                  static   disabled
-systemd-exit.service                       static   disabled
-systemd-firstboot.service                  static   disabled
-systemd-fsck-root.service                  static   disabled
-systemd-fsck@.service                      static   disabled
-systemd-halt.service                       static   disabled
-systemd-hibernate-resume@.service          static   disabled
-systemd-hibernate.service                  static   disabled
-systemd-homed.service                      static   disabled
-systemd-hostnamed.service                  static   disabled
-systemd-hwdb-update.service                static   disabled
-systemd-hybrid-sleep.service               static   disabled
-systemd-initctl.service                    static   disabled
-systemd-journal-catalog-update.service     static   disabled
-systemd-journal-flush.service              static   disabled
-systemd-journald.service                   static   disabled
-systemd-journald@.service                  static   disabled
-systemd-kexec.service                      static   disabled
-systemd-localed.service                    static   disabled
-systemd-logind.service                     static   disabled
-systemd-machine-id-commit.service          static   disabled
-systemd-modules-load.service               static   disabled
+systemd-boot-system-token.service          static
+systemd-coredump@.service                  static
+systemd-exit.service                       static
+systemd-firstboot.service                  static
+systemd-fsck-root.service                  static
+systemd-fsck@.service                      static
+systemd-halt.service                       static
+systemd-hibernate-resume@.service          static
+systemd-hibernate.service                  static
+systemd-homed.service                      static
+systemd-hostnamed.service                  static
+systemd-hwdb-update.service                static
+systemd-hybrid-sleep.service               static
+systemd-initctl.service                    static
+systemd-journal-catalog-update.service     static
+systemd-journal-flush.service              static
+systemd-journald.service                   static
+systemd-journald@.service                  static
+systemd-kexec.service                      static
+systemd-localed.service                    static
+systemd-logind.service                     static
+systemd-machine-id-commit.service          static
+systemd-modules-load.service               static
 systemd-network-generator.service          disabled disabled
 systemd-networkd-wait-online.service       disabled disabled
 systemd-networkd.service                   disabled disabled
-systemd-portabled.service                  static   disabled
-systemd-poweroff.service                   static   disabled
+systemd-portabled.service                  static
+systemd-poweroff.service                   static
 systemd-pstore.service                     disabled enabled
-systemd-quotacheck.service                 static   disabled
-systemd-random-seed.service                static   disabled
-systemd-reboot.service                     static   disabled
-systemd-remount-fs.service                 static   disabled
-systemd-repart.service                     static   disabled
+systemd-quotacheck.service                 static
+systemd-random-seed.service                static
+systemd-reboot.service                     static
+systemd-remount-fs.service                 static
+systemd-repart.service                     static
 systemd-resolved.service                   disabled disabled
-systemd-rfkill.service                     static   disabled
-systemd-suspend-then-hibernate.service     static   disabled
-systemd-suspend.service                    static   disabled
-systemd-sysctl.service                     static   disabled
-systemd-sysusers.service                   static   disabled
+systemd-rfkill.service                     static
+systemd-suspend-then-hibernate.service     static
+systemd-suspend.service                    static
+systemd-sysctl.service                     static
+systemd-sysusers.service                   static
 systemd-time-wait-sync.service             disabled disabled
-systemd-timedated.service                  static   disabled
+systemd-timedated.service                  static
 systemd-timesyncd.service                  disabled disabled
-systemd-tmpfiles-clean.service             static   disabled
-systemd-tmpfiles-setup-dev.service         static   disabled
-systemd-tmpfiles-setup.service             static   disabled
-systemd-udev-settle.service                static   disabled
-systemd-udev-trigger.service               static   disabled
-systemd-udevd.service                      static   disabled
-systemd-update-done.service                static   disabled
-systemd-update-utmp-runlevel.service       static   disabled
-systemd-update-utmp.service                static   disabled
-systemd-user-sessions.service              static   disabled
-systemd-userdbd.service                    static   disabled
-systemd-vconsole-setup.service             static   disabled
-systemd-volatile-root.service              static   disabled
-teamd@.service                             static   disabled
+systemd-tmpfiles-clean.service             static
+systemd-tmpfiles-setup-dev.service         static
+systemd-tmpfiles-setup.service             static
+systemd-udev-settle.service                static
+systemd-udev-trigger.service               static
+systemd-udevd.service                      static
+systemd-update-done.service                static
+systemd-update-utmp-runlevel.service       static
+systemd-update-utmp.service                static
+systemd-user-sessions.service              static
+systemd-userdbd.service                    static
+systemd-vconsole-setup.service             static
+systemd-volatile-root.service              static
+teamd@.service                             static
 udisks2.service                            enabled  enabled
-user-runtime-dir@.service                  static   disabled
-user@.service                              static   disabled
+user-runtime-dir@.service                  static
+user@.service                              static
 winbind.service                            disabled disabled
 zram-swap.service                          enabled  disabled
-zram.service                               static   disabled
-system-cockpithttps.slice                  static   disabled
-system-systemd\x2dcryptsetup.slice         static   disabled
-user.slice                                 static   disabled
-cockpit-wsinstance-http-redirect.socket    static   disabled
-cockpit-wsinstance-http.socket             static   disabled
-cockpit-wsinstance-https-factory.socket    static   disabled
-cockpit-wsinstance-https@.socket           static   disabled
+zram.service                               static
+system-cockpithttps.slice                  static
+system-systemd\x2dcryptsetup.slice         static
+user.slice                                 static
+cockpit-wsinstance-http-redirect.socket    static
+cockpit-wsinstance-http.socket             static
+cockpit-wsinstance-https-factory.socket    static
+cockpit-wsinstance-https@.socket           static
 cockpit.socket                             enabled  enabled
 dbus.socket                                enabled  enabled
 dm-event.socket                            enabled  enabled
@@ -280,95 +280,95 @@
 sssd-pam.socket                            disabled disabled
 sssd-ssh.socket                            disabled disabled
 sssd-sudo.socket                           disabled disabled
-syslog.socket                              static   disabled
-systemd-coredump.socket                    static   disabled
-systemd-initctl.socket                     static   disabled
-systemd-journald-audit.socket              static   disabled
-systemd-journald-dev-log.socket            static   disabled
-systemd-journald-varlink@.socket           static   disabled
-systemd-journald.socket                    static   disabled
-systemd-journald@.socket                   static   disabled
+syslog.socket                              static
+systemd-coredump.socket                    static
+systemd-initctl.socket                     static
+systemd-journald-audit.socket              static
+systemd-journald-dev-log.socket            static
+systemd-journald-varlink@.socket           static
+systemd-journald.socket                    static
+systemd-journald@.socket                   static
 systemd-networkd.socket                    disabled disabled
-systemd-rfkill.socket                      static   disabled
-systemd-udevd-control.socket               static   disabled
-systemd-udevd-kernel.socket                static   disabled
-systemd-userdbd.socket                     static   disabled
-anaconda.target                            static   disabled
-basic.target                               static   disabled
-blockdev@.target                           static   disabled
-bluetooth.target                           static   enabled
-boot-complete.target                       static   disabled
-cryptsetup-pre.target                      static   disabled
-cryptsetup.target                          static   disabled
-ctrl-alt-del.target                        enabled  disabled
-default.target                             indirect disabled
-emergency.target                           static   disabled
+systemd-rfkill.socket                      static
+systemd-udevd-control.socket               static
+systemd-udevd-kernel.socket                static
+systemd-userdbd.socket                     static
+anaconda.target                            static
+basic.target                               static
+blockdev@.target                           static
+bluetooth.target                           static
+boot-complete.target                       static
+cryptsetup-pre.target                      static
+cryptsetup.target                          static
+ctrl-alt-del.target                        alias
+default.target                             alias
+emergency.target                           static
 exit.target                                disabled disabled
-final.target                               static   disabled
-getty-pre.target                           static   disabled
-getty.target                               static   disabled
-graphical.target                           static   disabled
+final.target                               static
+getty-pre.target                           static
+getty.target                               static
+graphical.target                           static
 halt.target                                disabled disabled
-hibernate.target                           static   disabled
-hybrid-sleep.target                        static   disabled
-initrd-fs.target                           static   disabled
-initrd-root-device.target                  static   disabled
-initrd-root-fs.target                      static   disabled
-initrd-switch-root.target                  static   disabled
-initrd.target                              static   disabled
+hibernate.target                           static
+hybrid-sleep.target                        static
+initrd-fs.target                           static
+initrd-root-device.target                  static
+initrd-root-fs.target                      static
+initrd-switch-root.target                  static
+initrd.target                              static
 kexec.target                               disabled disabled
-local-fs-pre.target                        static   disabled
-local-fs.target                            static   disabled
+local-fs-pre.target                        static
+local-fs.target                            static
 multi-user.target                          indirect disabled
-network-online.target                      static   disabled
-network-pre.target                         static   disabled
-network.target                             static   disabled
+network-online.target                      static
+network-pre.target                         static
+network.target                             static
 nfs-client.target                          enabled  disabled
-nss-lookup.target                          static   disabled
-nss-user-lookup.target                     static   disabled
-paths.target                               static   disabled
+nss-lookup.target                          static
+nss-user-lookup.target                     static
+paths.target                               static
 poweroff.target                            disabled disabled
-printer.target                             static   disabled
+printer.target                             static
 reboot.target                              enabled  enabled
 remote-cryptsetup.target                   disabled enabled
-remote-fs-pre.target                       static   disabled
+remote-fs-pre.target                       static
 remote-fs.target                           enabled  enabled
-rescue.target                              static   disabled
-rpc_pipefs.target                          static   disabled
-rpcbind.target                             static   disabled
-runlevel0.target                           disabled disabled
-runlevel1.target                           static   disabled
-runlevel2.target                           indirect disabled
-runlevel3.target                           indirect disabled
-runlevel4.target                           indirect disabled
-runlevel5.target                           static   disabled
-runlevel6.target                           enabled  disabled
-selinux-autorelabel.target                 static   disabled
-shutdown.target                            static   disabled
-sigpwr.target                              static   disabled
-sleep.target                               static   disabled
-slices.target                              static   disabled
-smartcard.target                           static   disabled
-sockets.target                             static   disabled
-sound.target                               static   disabled
-sshd-keygen.target                         static   disabled
-suspend-then-hibernate.target              static   disabled
-suspend.target                             static   disabled
-swap.target                                static   disabled
-sysinit.target                             static   disabled
-system-update-pre.target                   static   disabled
-system-update.target                       static   disabled
-time-set.target                            static   disabled
-time-sync.target                           static   disabled
-timers.target                              static   disabled
-umount.target                              static   disabled
+rescue.target                              static
+rpc_pipefs.target                          static
+rpcbind.target                             static
+runlevel0.target                           alias
+runlevel1.target                           alias
+runlevel2.target                           alias
+runlevel3.target                           alias
+runlevel4.target                           alias
+runlevel5.target                           alias
+runlevel6.target                           alias
+selinux-autorelabel.target                 static
+shutdown.target                            static
+sigpwr.target                              static
+sleep.target                               static
+slices.target                              static
+smartcard.target                           static
+sockets.target                             static
+sound.target                               static
+sshd-keygen.target                         static
+suspend-then-hibernate.target              static
+suspend.target                             static
+swap.target                                static
+sysinit.target                             static
+system-update-pre.target                   static
+system-update.target                       static
+time-set.target                            static
+time-sync.target                           static
+timers.target                              static
+umount.target                              static
 chrony-dnssrv@.timer                       disabled disabled
 dnf-makecache.timer                        enabled  enabled
 fstrim.timer                               enabled  enabled
 logrotate.timer                            enabled  enabled
-mdadm-last-resort@.timer                   static   disabled
+mdadm-last-resort@.timer                   static
 mlocate-updatedb.timer                     enabled  enabled
 raid-check.timer                           disabled disabled
-systemd-tmpfiles-clean.timer               static   disabled
+systemd-tmpfiles-clean.timer               static

 371 unit files listed.

In particular, this allows a meaningful comparison to be made:

$ ~/src/systemd/build/systemctl --root=/tmp/root2 list-unit-files|rg 'enabled.*disabled|disabled.*enabled'
ostree-finalize-staged.path                disabled enabled
initial-setup.service                      enabled  disabled
iscsi.service                              enabled  disabled
nfs-convert.service                        enabled  disabled
systemd-pstore.service                     disabled enabled
zram-swap.service                          enabled  disabled
iscsid.socket                              enabled  disabled
iscsiuio.socket                            enabled  disabled
multipathd.socket                          enabled  disabled
nfs-client.target                          enabled  disabled
remote-cryptsetup.target                   disabled enabled

(It turns out that most of the services on this list that are enabled without a
corresponding preset are against rpm packaging and do direct 'systemctl enable'
calls in %post, instead of going through presets as they are supposed to.)

systemctl: also skip preset status in status verb

3 years agosystemctl: add new enablement state "alias"
Zbigniew Jędrzejewski-Szmek [Mon, 4 May 2020 17:53:33 +0000 (19:53 +0200)] 
systemctl: add new enablement state "alias"

For units which are aliases of other units, reporting preset status as
"enabled" is rather misleading. For example, dbus.service is an alias of
dbus-broker.service. In list-unit-files we'd show both as "enabled".  In
particular, systemctl preset ignores aliases, so showing any preset status at
all is always going to be misleading. Let's introduce a new state "alias" and
use that for all aliases.

I was trying to avoid adding a new state, to keep compatibility with previous
behaviour, but for alias unit files it simply doesn't seem very useful to show
any of the existing states. It seems that the clearly showing that those are
aliases for other units will be easiest to understand for users.

3 years agoshared/install: rename variable for clarity
Zbigniew Jędrzejewski-Szmek [Mon, 4 May 2020 17:48:59 +0000 (19:48 +0200)] 
shared/install: rename variable for clarity

3 years agoshared/install: print name of offending file in error
Zbigniew Jędrzejewski-Szmek [Mon, 4 May 2020 17:45:19 +0000 (19:45 +0200)] 
shared/install: print name of offending file in error

"Unit type slice cannot be templated."

"/etc/systemd/system.control/user@.slice: unit type slice cannot be templated."

3 years agoshared/install: indent tables
Zbigniew Jędrzejewski-Szmek [Mon, 4 May 2020 12:25:58 +0000 (14:25 +0200)] 
shared/install: indent tables

3 years agoshared/install: optionally cache the preset list
Zbigniew Jędrzejewski-Szmek [Thu, 30 Apr 2020 20:37:34 +0000 (22:37 +0200)] 
shared/install: optionally cache the preset list

When doing list-unit-files with --root, we would re-read the preset
list for every unit. This uses a cache to only do it once. The time
for list-unit-files goes down by about ~30%.

unit_file_query_preset() is also called from src/core/. This patch does not
touch that path, since the saving there are smaller, since preset status is
only read on demand over dbus, and caching would be more complicated.

3 years agoman: systemd.service: systemd-analyze exit-codes -> exit-status
Chris Down [Tue, 5 May 2020 19:16:10 +0000 (20:16 +0100)] 
man: systemd.service: systemd-analyze exit-codes -> exit-status

5238d9a83a52 renames this to exit-status, but systemd.service was not
updated.

The rest of the doc seems a bit inconsistent in its use of the terms
"exit code" and "exit status", but it's not that confusing, so leave
those alone for now.

3 years agoAdd Zowie ZA12 details to mouse hwdb
Ferran Pallarès Roca [Tue, 5 May 2020 11:50:22 +0000 (13:50 +0200)] 
Add Zowie ZA12 details to mouse hwdb

3 years agosystemctl: fix --root support in querying presets
Zbigniew Jędrzejewski-Szmek [Thu, 30 Apr 2020 16:45:08 +0000 (18:45 +0200)] 
systemctl: fix --root support in querying presets

We would always look on the host, ignoring --root.

3 years agosystemctl: refuse online-only ops with --root
Zbigniew Jędrzejewski-Szmek [Thu, 30 Apr 2020 12:26:36 +0000 (14:26 +0200)] 
systemctl: refuse online-only ops with --root

It is super confusing when a command does not support --root, and is called
with it specified, and returns some bogus results. Let's just catch this
early and refuse.

3 years agoshared/verbs: split out helper to find verbs
Zbigniew Jędrzejewski-Szmek [Thu, 30 Apr 2020 12:20:31 +0000 (14:20 +0200)] 
shared/verbs: split out helper to find verbs

It will be used later, but I think it makes the code clearer anyway.

Also change the message about ignoring to include the name for default
verbs.

3 years agoshared/verbs: add a modicum of documentation
Zbigniew Jędrzejewski-Szmek [Thu, 30 Apr 2020 11:59:33 +0000 (13:59 +0200)] 
shared/verbs: add a modicum of documentation

3 years agosystemctl: mark log-level,log-target,service-watchdogs as online-only
Zbigniew Jędrzejewski-Szmek [Thu, 30 Apr 2020 11:31:24 +0000 (13:31 +0200)] 
systemctl: mark log-level,log-target,service-watchdogs as online-only

They were added in 6ab863190dee5ab631795ef547fcc7314ddccd40 and
38fcb7f766c84736425e86854b8a4468c126dafa. I don't see a good reason to
exclude them from the online-only check.

3 years agosystemctl: fix hint when 'systemctl help' is given
Zbigniew Jędrzejewski-Szmek [Thu, 30 Apr 2020 10:38:36 +0000 (12:38 +0200)] 
systemctl: fix hint when 'systemctl help' is given

Not all verbs require unit names, but that is beside the point. We need a verb
here, and help is not a valid verb.

3 years agoMerge pull request #15645 from poettering/calender-expression-doc-fix
Zbigniew Jędrzejewski-Szmek [Tue, 5 May 2020 14:07:11 +0000 (16:07 +0200)] 
Merge pull request #15645 from poettering/calender-expression-doc-fix

some calendar expression fixes and documentation updates

3 years agoRevert "logs-show: declare [static 2] on all highlight parameters"
Frantisek Sumsal [Tue, 5 May 2020 13:02:37 +0000 (15:02 +0200)] 
Revert "logs-show: declare [static 2] on all highlight parameters"

This reverts commit 5444520628830aacab85be630a6cdeb179ff510b.

See: https://github.com/systemd/systemd/pull/15706

3 years agoMerge pull request #15648 from poettering/journalctl-cat-beefup
Zbigniew Jędrzejewski-Szmek [Tue, 5 May 2020 12:00:26 +0000 (14:00 +0200)] 
Merge pull request #15648 from poettering/journalctl-cat-beefup

journalctl: honour --output-fields= in -o cat mode

3 years agoman: migrate more specifier explanations to standard-specifiers.xml
Lennart Poettering [Thu, 30 Apr 2020 10:26:11 +0000 (12:26 +0200)] 
man: migrate more specifier explanations to standard-specifiers.xml

We probably can migrate even more, but for now let's just migrate those
which have the 1:1 identical text everywhere.

(Also, let's add the % entry to all specifier tables)

3 years agoMerge pull request #15701 from poettering/systemctl-json-table
Zbigniew Jędrzejewski-Szmek [Tue, 5 May 2020 09:05:00 +0000 (11:05 +0200)] 
Merge pull request #15701 from poettering/systemctl-json-table

systemctl: optionally output tables as json

3 years agocorrect evdev dimensions for T490 trackpad
ianhi [Tue, 5 May 2020 00:27:16 +0000 (20:27 -0400)] 
correct evdev dimensions for T490 trackpad

The original source of these dimensions had swapped the x y dimension
arguments to touchpad-edge-detector. The correct dimensions are
x = 100 mm, y = 68 mm

3 years agohwdb: Fix brightness keys for Logitech K811
Diego Escalante Urrelo [Tue, 5 May 2020 05:42:21 +0000 (00:42 -0500)] 
hwdb: Fix brightness keys for Logitech K811

Closes: #15698
3 years agoshutdown: fix spacing in shutdown error message
Lennart Poettering [Tue, 5 May 2020 06:19:30 +0000 (08:19 +0200)] 
shutdown: fix spacing in shutdown error message

3 years agologs-show: declare [static 2] on all highlight parameters 15648/head
Lennart Poettering [Tue, 5 May 2020 07:21:10 +0000 (09:21 +0200)] 
logs-show: declare [static 2] on all highlight parameters

3 years agoman: document the new -o cat feature
Lennart Poettering [Thu, 30 Apr 2020 12:53:14 +0000 (14:53 +0200)] 
man: document the new -o cat feature

3 years agojournalctl: optionally, show a different field than MESSAGE in -o cat mode
Lennart Poettering [Thu, 30 Apr 2020 12:52:25 +0000 (14:52 +0200)] 
journalctl: optionally, show a different field than MESSAGE in -o cat mode

Fixes: #15621
3 years agojournal: use set_contains() where appropriate
Lennart Poettering [Thu, 30 Apr 2020 12:52:18 +0000 (14:52 +0200)] 
journal: use set_contains() where appropriate

3 years agonspawn: mount custom paths before writing to /etc
Motiejus Jakštys [Mon, 4 May 2020 16:57:40 +0000 (19:57 +0300)] 
nspawn: mount custom paths before writing to /etc

Consider such configuration:

    $ systemd-nspawn --read-only --timezone=copy --resolv-conf=copy-host \
        --overlay="+/etc::/etc" <...>

Assuming one wants `/` to be read-only, DNS and `/etc/localtime` to
work. One way to do it is to create an overlay filesystem in `/etc/`.
However, systemd-nspawn tries to create `/etc/resolv.conf` and
`/etc/localtime` before mounting the custom paths, while `/` (and, by
extension, `/etc`) is read-only. Thus it fails to create those files.

Mounting custom paths before modifying anything in `/etc/` makes this
possible.

Full example:

```
$ debootstrap buster /var/lib/machines/t1 http://deb.debian.org/debian
$ systemd-nspawn --private-users=false --timezone=copy --resolv-conf=copy-host --read-only --tmpfs=/var --tmpfs=/run --overlay="+/etc::/etc" -D /var/lib/machines/t1 ping -c 1 example.com
Spawning container t1 on /var/lib/machines/t1.
Press ^] three times within 1s to kill container.
ping: example.com: Temporary failure in name resolution
Container t1 failed with error code 130.
```

With the patch:

```
$ sudo ./build/systemd-nspawn --private-users=false --timezone=copy --resolv-conf=copy-host --read-only --tmpfs=/var --tmpfs=/run --overlay="+/etc::/etc" -D /var/lib/machines/t1 ping -qc 1 example.com
Spawning container t1 on /var/lib/machines/t1.
Press ^] three times within 1s to kill container.
PING example.com (93.184.216.34) 56(84) bytes of data.

--- example.org ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 110.912/110.912/110.912/0.000 ms
Container t1 exited successfully.
```

3 years agoman: expand on the star…end/repetition time expressions 15645/head
Lennart Poettering [Thu, 30 Apr 2020 11:42:59 +0000 (13:42 +0200)] 
man: expand on the star…end/repetition time expressions

And attempt to explain what is requested in #15030, but still be
concise.

Fixes: #15030
3 years agocalendarspec: be more graceful with two kinds of calendar expressions
Lennart Poettering [Thu, 30 Apr 2020 11:24:31 +0000 (13:24 +0200)] 
calendarspec: be more graceful with two kinds of calendar expressions

This changes the calendarspec parser to allow expressions such as
"00:05..05", i.e. a range where start and end is the same. It also
allows expressions such as "00:1-2/3", i.e. where the repetition value
does not fit even once in the specified range. With this patch both
cases will now be optimized away, i.e. the range is removed and a fixed
value is used, which is functionally equivalent.

See #15030 for an issue where the inability to parse such expressions
caused confusion.

I think it's probably better to accept these gracefully and optimizing
them away instead of refusing them with a plain EINVAL. With a tool such
as "systemd-analyze" calendar it should be easy to figure out the
normalized form with the redundant bits optimized away.

3 years agocalendarspec: minor simplification
Lennart Poettering [Thu, 30 Apr 2020 11:20:23 +0000 (13:20 +0200)] 
calendarspec: minor simplification

3 years agocalendarspec: drop _pure_ from static function
Lennart Poettering [Thu, 30 Apr 2020 11:19:14 +0000 (13:19 +0200)] 
calendarspec: drop _pure_ from static function

For static functions the compiler should be able to determine this on
its own, let's not add needless decorators.

3 years agocalendarspec: pack our flags a bit
Lennart Poettering [Thu, 30 Apr 2020 11:18:58 +0000 (13:18 +0200)] 
calendarspec: pack our flags a bit

3 years agocalendarspec: encode that it's OK to store µs in 'int's
Lennart Poettering [Thu, 30 Apr 2020 11:18:45 +0000 (13:18 +0200)] 
calendarspec: encode that it's OK to store µs in 'int's

3 years agosystemctl: optionally output tables in JSON format 15701/head
Lennart Poettering [Tue, 5 May 2020 06:10:30 +0000 (08:10 +0200)] 
systemctl: optionally output tables in JSON format

3 years agoformat-table: generate better JSON field names
Lennart Poettering [Tue, 5 May 2020 06:09:04 +0000 (08:09 +0200)] 
format-table: generate better JSON field names

Let's try to mangle table contents a bit to make them more suitable as
JSON field names. Specifically when we see "foo bar" convert this to
"foo_bar" as field name, as variable/field names are generally assumed
to be without spaces.

3 years agoMerge pull request #15636 from poettering/sensitivity-training
Anita Zhang [Tue, 5 May 2020 00:48:13 +0000 (17:48 -0700)] 
Merge pull request #15636 from poettering/sensitivity-training

be more careful when setting json variant + dbus message sensitive flag

3 years agoMerge pull request #15647 from benzea/benzea/graphical-use-app-prefix
Anita Zhang [Mon, 4 May 2020 23:28:51 +0000 (16:28 -0700)] 
Merge pull request #15647 from benzea/benzea/graphical-use-app-prefix

docs: Change prefix for desktop applications to app-

3 years agomkosi: Fix openSUSE image declaration
Michal Koutný [Fri, 1 May 2020 18:45:39 +0000 (20:45 +0200)] 
mkosi: Fix openSUSE image declaration

User accounts of given names are necessary for the build script and
tests to succeed.

(Fixup of #15527, too keen cleaning of dependencies and cached image
caused this.)

3 years agoAdd Kensington SlimBlade Trackball
Lukas Klingsbo [Mon, 4 May 2020 07:49:04 +0000 (09:49 +0200)] 
Add Kensington SlimBlade Trackball