mirror of
https://github.com/systemd/systemd.git
synced 2024-10-27 18:55:40 +03:00
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
This commit is contained in:
parent
15d7ab87c4
commit
31b8895af7
@ -1441,6 +1441,15 @@ static bool output_show_unit_file(const UnitFileList *u, char **states, char **p
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool show_preset_for_state(UnitFileState state) {
|
||||
/* Don't show preset state in those unit file states, it'll only confuse users. */
|
||||
return !IN_SET(state,
|
||||
UNIT_FILE_ALIAS,
|
||||
UNIT_FILE_STATIC,
|
||||
UNIT_FILE_GENERATED,
|
||||
UNIT_FILE_TRANSIENT);
|
||||
}
|
||||
|
||||
static int output_unit_file_list(const UnitFileList *units, unsigned c) {
|
||||
_cleanup_(table_unrefp) Table *table = NULL;
|
||||
_cleanup_(unit_file_presets_freep) UnitFilePresets presets = {};
|
||||
@ -1456,7 +1465,6 @@ static int output_unit_file_list(const UnitFileList *units, unsigned c) {
|
||||
|
||||
for (const UnitFileList *u = units; u < units + c; u++) {
|
||||
const char *on_underline = NULL, *on_unit_color = NULL, *id;
|
||||
const char *on_preset_color = NULL, *unit_preset_str;
|
||||
bool underline;
|
||||
|
||||
underline = u + 1 < units + c &&
|
||||
@ -1480,25 +1488,35 @@ static int output_unit_file_list(const UnitFileList *units, unsigned c) {
|
||||
|
||||
id = basename(u->path);
|
||||
|
||||
r = unit_file_query_preset(arg_scope, arg_root, id, &presets);
|
||||
if (r < 0) {
|
||||
unit_preset_str = "n/a";
|
||||
on_preset_color = underline ? on_underline : ansi_normal();
|
||||
} else if (r == 0) {
|
||||
unit_preset_str = "disabled";
|
||||
on_preset_color = underline ? ansi_highlight_red_underline() : ansi_highlight_red();
|
||||
} else {
|
||||
unit_preset_str = "enabled";
|
||||
on_preset_color = underline ? ansi_highlight_green_underline() : ansi_highlight_green();
|
||||
}
|
||||
|
||||
r = table_add_many(table,
|
||||
TABLE_STRING, id,
|
||||
TABLE_SET_COLOR, strempty(on_underline),
|
||||
TABLE_STRING, unit_file_state_to_string(u->state),
|
||||
TABLE_SET_COLOR, strempty(on_unit_color),
|
||||
TABLE_STRING, unit_preset_str,
|
||||
TABLE_SET_COLOR, strempty(on_preset_color));
|
||||
TABLE_SET_COLOR, strempty(on_unit_color));
|
||||
if (r < 0)
|
||||
return table_log_add_error(r);
|
||||
|
||||
if (show_preset_for_state(u->state)) {
|
||||
const char *unit_preset_str, *on_preset_color;
|
||||
|
||||
r = unit_file_query_preset(arg_scope, arg_root, id, &presets);
|
||||
if (r < 0) {
|
||||
unit_preset_str = "n/a";
|
||||
on_preset_color = underline ? on_underline : ansi_normal();
|
||||
} else if (r == 0) {
|
||||
unit_preset_str = "disabled";
|
||||
on_preset_color = underline ? ansi_highlight_red_underline() : ansi_highlight_red();
|
||||
} else {
|
||||
unit_preset_str = "enabled";
|
||||
on_preset_color = underline ? ansi_highlight_green_underline() : ansi_highlight_green();
|
||||
}
|
||||
|
||||
r = table_add_many(table,
|
||||
TABLE_STRING, unit_preset_str,
|
||||
TABLE_SET_COLOR, strempty(on_preset_color));
|
||||
} else
|
||||
r = table_add_many(table, TABLE_EMPTY);
|
||||
|
||||
if (r < 0)
|
||||
return table_log_add_error(r);
|
||||
}
|
||||
@ -4222,14 +4240,18 @@ static void print_status_info(
|
||||
if (!isempty(i->load_error))
|
||||
printf(" Loaded: %s%s%s (Reason: %s)\n",
|
||||
on, strna(i->load_state), off, i->load_error);
|
||||
else if (path && !isempty(i->unit_file_state) && !isempty(i->unit_file_preset) &&
|
||||
!STR_IN_SET(i->unit_file_state, "generated", "transient"))
|
||||
printf(" Loaded: %s%s%s (%s; %s; vendor preset: %s)\n",
|
||||
on, strna(i->load_state), off, path, i->unit_file_state, i->unit_file_preset);
|
||||
else if (path && !isempty(i->unit_file_state))
|
||||
printf(" Loaded: %s%s%s (%s; %s)\n",
|
||||
on, strna(i->load_state), off, path, i->unit_file_state);
|
||||
else if (path)
|
||||
else if (path && !isempty(i->unit_file_state)) {
|
||||
bool show_preset = !isempty(i->unit_file_preset) &&
|
||||
show_preset_for_state(unit_file_state_from_string(i->unit_file_state));
|
||||
|
||||
printf(" Loaded: %s%s%s (%s; %s%s%s)\n",
|
||||
on, strna(i->load_state), off,
|
||||
path,
|
||||
i->unit_file_state,
|
||||
show_preset ? "; vendor preset: " : "",
|
||||
show_preset ? i->unit_file_preset : "");
|
||||
|
||||
} else if (path)
|
||||
printf(" Loaded: %s%s%s (%s)\n",
|
||||
on, strna(i->load_state), off, path);
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user