Commit Graph
7144 Commits
Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek 044ebd7e54 executor: convert to VERB_COMMAND and add --introspect-cli
The help is looked up by explicit name: in the multicall configuration
the systemd and systemd-executor commands share one binary.
2026-08-26 12:15:35 +02:00
Zbigniew Jędrzejewski-Szmek 65510d4cba services: convert to VERB_COMMAND and add --introspect-cli
This converts systemd-homed, -hostnamed, -importd, -localed, -logind,
-machined, -networkd, -portebled, -resolved, -sysupdated, -timedated,
and -timesyncd.

The service name and description move from service_parse_argv() arguments
into a COMMAND() description that each daemon now defines. The
service_parse_argv() macro captures the calling binary's verb section,
where that COMMAND is found, while the options are still defined and
parsed in libshared, in the new "service" option namespace that each
COMMAND references. (The named namespace makes sure that options defined
by other translation units in libshared can never leak into the
services' parsers.)

The supported features are declared via option group filtering: each
COMMAND lists "Options" plus "Bus introspection" and/or "Runtime scope".
Unsupported options are now rejected by the parser as unknown options
(and are not shown in --help), replacing the runtime "This service does
not support …" errors.

The help output changes slightly: the "Bus introspection" and "Runtime
scope" option groups now get their own headings, and some descriptions
were reworded to the imperative form used elsewhere.
2026-08-26 12:15:25 +02:00
Zbigniew Jędrzejewski-Szmek 477d08b3a9 integritysetup: convert to VERB_COMMAND and add --introspect-cli
Standard parse_argv() func is added. --version is now accepted
(previously only the help forms were recognized, via argv_looks_like_help()).

The synopsis changes from "systemd-integritysetup COMMAND ..." to the
standard "systemd-integritysetup [OPTION…] COMMAND …", and the help output
gains an Options section. "help" as the first argument keeps working via
the hidden common help verb.

Previously, we'd just print help and exit with success if no arguments
were given. This seems unexpected and wrong. The program now prints the
usual error message:
  Command verb required (one of attach, detach, help).
2026-08-26 12:15:06 +02:00
Zbigniew Jędrzejewski-Szmek f976133dbf mount: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added.

Options are now in two groups: "Common options" and Mount options". In
--help, for systemd-mount, both groups are shown. For systemd-umount, only
the first. This changes the behaviour a bit: previously, both groups were
shown together as one list. I think the new behaviour is actually a bit
better, because it makes it easier for the user to figure out that the
commands share common options and one of the commands has its private
second group. But if people think that the previous behaviour should
be restored, we could add a display options to squish the groups back
together.

--help now goes through the pager, like other commands with --no-pager.
2026-08-25 09:36:33 +02:00
Zbigniew Jędrzejewski-Szmek dfe557dc7c sysext: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. --help now goes through the pager, like other
commands with --no-pager.

Also, previously, -h/--help/--version were listed in the "Commands"
section. This was cute, but recreating this in the new scheme would
be complicated. Also, it seems unnecessary. --help/--version and some
other commands terminate the program in all binaries, so they could
be considered "commands" in all cases. But we printed them together
with verbs only in a few cases. So I think it's fine to move them
back to the "Options" section. This makes the description of options
much more consistent between different programs.
2026-08-25 09:33:58 +02:00
Zbigniew Jędrzejewski-Szmek 2b4c6dda9d kernel-install: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. The note about invocation as 'installkernel' is
kept as the footer. Verb and option column widths are kept separate, since
the verb table is very wide. --help now goes through the pager, like other
commands with --no-pager.

A separate COMMAND block is included for installkernel, but it is only
used for introspection data.
2026-08-25 09:33:52 +02:00
Zbigniew Jędrzejewski-Szmek 2364f0d7c8 systemctl: describe the halt/poweroff/reboot/shutdown compat commands
The custom halt_help() and shutdown_help() are replaced by COMMAND()
descriptions (one per command name, halt/poweroff/reboot sharing the
"halt" option namespace), and --introspect-cli is added to both parsers.
halt/poweroff/reboot now each reference their own man page name.
2026-08-25 09:33:51 +02:00
Zbigniew Jędrzejewski-Szmek 16d0cbf04b systemctl: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. The generic help-verb check in the test is
filtered out, since systemctl's "help" verb shows unit manuals and fails
without arguments.
2026-08-24 13:45:11 +02:00
Yu Watanabe e67956f31c Another batch of conversions to COMMAND and additions of --introspect-cli (#43436)
This is another batch of straightforward conversions. I wanted to do
udevadm here too, but it requires some design work.
2026-08-20 01:41:53 +09:00
Zbigniew Jędrzejewski-Szmek 963b2323ef report-sign-tsm: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. The abstract is now wrapped automatically.
2026-08-19 08:21:30 +02:00
Zbigniew Jędrzejewski-Szmek 8d8cf2cf1a report-sign-plain: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added.
2026-08-19 08:21:30 +02:00
Zbigniew Jędrzejewski-Szmek 578e5c1b38 report-files: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added.
2026-08-19 08:21:29 +02:00
Zbigniew Jędrzejewski-Szmek 8f42146976 report-cgroup: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. The referenced systemd-report-cgroup(8) man
page does not exist, so the reference is dropped.
2026-08-19 08:21:29 +02:00
Zbigniew Jędrzejewski-Szmek 45966bcf8e report-basic: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. The abstract gets a trailing period. There is
no man page for this helper, so none is referenced.
2026-08-19 08:21:29 +02:00
Zbigniew Jędrzejewski-Szmek c226b876c0 pull: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. There is no man page for this internal helper,
so none is referenced.
2026-08-19 08:21:29 +02:00
Zbigniew Jędrzejewski-Szmek 9832927a08 import-fs: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. There is no man page for this internal helper,
so none is referenced.
2026-08-19 08:21:29 +02:00
Zbigniew Jędrzejewski-Szmek 3e61b718a5 import: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. There is no man page for this internal helper,
so none is referenced.
2026-08-19 08:21:29 +02:00
Zbigniew Jędrzejewski-Szmek 3a45066bce export: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. There is no man page for this internal helper,
so none is referenced.
2026-08-19 08:21:29 +02:00
Zbigniew Jędrzejewski-Szmek df618014a5 udev/scsi_id: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. The abstract is changed to the imperative.
There is no man page for this udev helper, so none is referenced.
2026-08-19 08:21:29 +02:00
Zbigniew Jędrzejewski-Szmek 9cd507ed5b udev/v4l_id: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. The abstract is changed to the imperative.
There is no man page for this udev helper, so none is referenced.
2026-08-19 08:21:29 +02:00
Zbigniew Jędrzejewski-Szmek 7038981d86 udev/mtd_probe: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. There is no man page for this udev helper, so
none is referenced.
2026-08-19 08:21:29 +02:00
Zbigniew Jędrzejewski-Szmek 5b745242c5 udev/fido_id: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. There is no man page for this udev helper, so
none is referenced.
2026-08-19 08:21:29 +02:00
Zbigniew Jędrzejewski-Szmek c90fafdd04 udev/dmi_memory_id: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. The help output had no abstract, so one is
added. There is no man page for this udev helper, so none is referenced.
2026-08-18 23:04:06 +02:00
Zbigniew Jędrzejewski-Szmek cc139a73b8 udev/cdrom_id: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. The help output had no abstract, so one is
added. There is no man page for this udev helper, so none is referenced.
2026-08-18 23:04:06 +02:00
Zbigniew Jędrzejewski-Szmek 43c9d274e9 udev/ata_id: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. The help output had no abstract, so one is
added. There is no man page for this udev helper, so none is referenced.
2026-08-18 23:04:06 +02:00
Zbigniew Jędrzejewski-Szmek c62bfac025 udev/iocost: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. The tool has no man page of its own, so
iocost.conf(5), which describes it, is referenced. The test now also looks
for commands in /usr/lib/udev, where the udev helpers are installed.
2026-08-18 23:04:06 +02:00
dongshengyuan 844c44a0d4 timedated: roll back state on config write failure
SetTimezone() and SetLocalRTC() updated the Context before writing
/etc/localtime or /etc/adjtime. If the write failed, D-Bus properties
showed the new value and a repeated request with the same value returned
success without retrying the file update.

Keep the write helpers Context-based, but save the old value before
installing the requested state. Restore the old Context value when the
backing file update fails.

Add TEST-45 coverage for failed alternate localtime and adjtime paths.

Follow-up for: f401e48c2d
2026-08-19 02:29:39 +09:00
Zbigniew Jędrzejewski-Szmek f969973b90 Another batch of conversions to COMMAND and additions of --introspect-cli (#43428) 2026-08-18 18:32:55 +02:00
Zbigniew Jędrzejewski-Szmek 92a97a2b9d dissect: describe the mount.ddi helper interface
Add a second COMMAND() for the mount.ddi helper namespace, like for
mount.storage and mount.mstack, so that it is exposed by --introspect-cli
too.

Fixes 1a54ce154c +
66246c98b5.
2026-08-18 16:54:09 +02:00
Zbigniew Jędrzejewski-Szmek 38d854b114 vpick: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. An explicit "Lookup Keys" option group is added
so that the section heading stays the same.
2026-08-18 16:54:09 +02:00
Zbigniew Jędrzejewski-Szmek b4199e7376 vmspawn: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added.
2026-08-18 16:54:09 +02:00
Zbigniew Jędrzejewski-Szmek 60dee66134 tmpfiles: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. An explicit "Commands" option group is added
so that the section heading stays the same. The synopsis is now the same
as for systemd-sysusers, i.e. the "commands" are the options listed in the
Commands section. --help now goes through the pager, like other commands
with --no-pager.
2026-08-18 16:54:09 +02:00
Zbigniew Jędrzejewski-Szmek 6109c2a707 sysusers: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. An explicit "Commands" option group is added
so that the section heading stays the same. The abstract is changed to the
imperative. --help now goes through the pager, like other commands with
--no-pager.
2026-08-18 16:54:09 +02:00
Zbigniew Jędrzejewski-Szmek 0cbeceaea2 updatectl: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. The odd "Verbs" option group marker is dropped,
so that all options are listed in one section after the verbs, with --help
and --version first. The synopsis now uses the generic "[OPTION…] COMMAND …"
form: a bare VERSION is not accepted as the first argument, and the man
page does not list it either. --help now goes through the pager, like
other commands with --no-pager.
2026-08-18 16:54:09 +02:00
Zbigniew Jędrzejewski-Szmek adc83f020a sysupdate: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. The "Options" group marker after --help/--version
is dropped, so that all options are listed in one section after the verbs.
The synopsis now uses the generic "[OPTION…] COMMAND …" form: a bare
VERSION is not accepted as the first argument, and the man page does not
list it either. --help now goes through the pager, like other commands
with --no-pager.
2026-08-18 16:54:09 +02:00
Zbigniew Jędrzejewski-Szmek 388eb27018 sysctl: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. An explicit "Commands" option group is added
so that the section heading stays the same. The abstract is changed to the
imperative. --help now goes through the pager, like other commands with
--no-pager.
2026-08-18 16:54:09 +02:00
Zbigniew Jędrzejewski-Szmek ae6f195d63 storagectl: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. --help now goes through the pager, like other
commands with --no-pager. The mount.storage helper interface is described
by a second COMMAND(), so that it is exposed by --introspect-cli too.
2026-08-18 16:54:09 +02:00
Zbigniew Jędrzejewski-Szmek 3a2d587313 run: convert to VERB_COMMAND and add --introspect-cli
The custom help() and help_sudo_mode() are replaced by COMMAND()
descriptions for systemd-run and run0, and --introspect-cli is added to
both. run0 --help now goes through the pager, like systemd-run --help.
2026-08-18 16:54:09 +02:00
Zbigniew Jędrzejewski-Szmek be5ae9fb40 repart: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. --help now goes through the pager, like other
commands with --no-pager.
2026-08-18 16:54:09 +02:00
Zbigniew Jędrzejewski-Szmek 19a24f926d pcrlock: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. --help now goes through the pager, like other
commands with --no-pager.
2026-08-18 16:54:09 +02:00
Zbigniew Jędrzejewski-Szmek bf08fc692a nspawn: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. The generic options at the top now get an
"Options" heading like the other groups.
2026-08-18 16:54:09 +02:00
Zbigniew Jędrzejewski-Szmek a9f42ed015 mstack: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. The "Commands" option group is moved before the
other options and an explicit "Options" group is added, so that the sections
are printed in the same order as before. --help now goes through the pager,
like other commands with --no-pager. The mount.mstack helper interface is
described by a second COMMAND(), so that it is exposed by --introspect-cli
too.
2026-08-18 16:54:09 +02:00
Zbigniew Jędrzejewski-Szmek 20cc6d3188 measure: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. --help now goes through the pager, like other
commands with --no-pager.
2026-08-18 16:54:09 +02:00
Zbigniew Jędrzejewski-Szmek 24e24adfe1 machine-id-setup: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. An explicit "Commands" option group is added
so that the section heading stays the same.
2026-08-18 16:54:09 +02:00
Zbigniew Jędrzejewski-Szmek facaf8ba45 machinectl: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. The abstract is now wrapped automatically.
2026-08-18 16:54:09 +02:00
Zbigniew Jędrzejewski-Szmek 1c7253ca8f loginctl: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added.
2026-08-18 16:54:09 +02:00
Zbigniew Jędrzejewski-Szmek 8aee2501f8 journalctl: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. The description refers to the "journalctl"
option namespace; the varlink-mode namespace is not described.
2026-08-18 16:54:09 +02:00
Zbigniew Jędrzejewski-Szmek f17f7cc35e imdsd: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added.
2026-08-18 16:54:09 +02:00
Zbigniew Jędrzejewski-Szmek 431e3f7def cryptenroll: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added.
2026-08-18 16:54:09 +02:00
Zbigniew Jędrzejewski-Szmek 6868cee66f bootctl: convert to VERB_COMMAND and add --introspect-cli
The custom help() is replaced by a COMMAND() description, and
--introspect-cli is added. The "help" verb was defined as visible but the
old help() only printed the named verb groups, so it was never shown; it is
now hidden explicitly to keep the output unchanged.
2026-08-18 16:54:09 +02:00