summaryrefslogtreecommitdiffstats
path: root/src/shared/verbs.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* verbs: use strv_find_closest()Yu Watanabe2024-09-201-74/+21
| | | | This also makes the list of verbs is always shown on failure.
* shared/verbs: show list of verbs when missingMike Yuan2024-04-221-0/+11
| | | | | | | | | | | | | | | | | | | | Replaces #32062 As discussed in #32062, making 'help' the default verb is not very appealing for two reasons: 1) If the verb is missing, showing a help which is pages long isn't really helpful to locate the problem. (https://github.com/systemd/systemd/pull/32062#issuecomment-2064997158) 2) We want to reserve the right to set default verbs to be more useful ones, instead of help. E.g. 'busctl' lists all bus peers by default. So, when there are more than 2 verbs, let's instead add the list of available verbs to the "Command verb required" message, that serves as a hint. That way we try to be friendlier to users, but still make the problem obvious.
* shared/verbs: minor modernizationMike Yuan2024-04-221-10/+8
|
* shared/verb: indentationZbigniew Jędrzejewski-Szmek2023-12-021-1/+1
|
* verbs: make a helpful suggestion when user types unrecognized verbLennart Poettering2023-08-211-22/+81
| | | | | | I have been mistyping commands too often myself, and I think the tools could simply be more helpful, by suggesting to me what I probably wanted to write. Copy/Paste FTW, after all!
* license: LGPL-2.1+ -> LGPL-2.1-or-laterYu Watanabe2020-11-091-1/+1
|
* shared/verbs: split out helper to find verbsZbigniew Jędrzejewski-Szmek2020-05-051-26/+17
| | | | | | | 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.
* systemctl: fix hint when 'systemctl help' is givenZbigniew Jędrzejewski-Szmek2020-05-051-2/+2
| | | | | Not all verbs require unit names, but that is beside the point. We need a verb here, and help is not a valid verb.
* tree-wide: drop string.h when string-util.h or friends are includedYu Watanabe2019-11-031-1/+0
|
* shared/verbs: drop now-unused VERB_MUST_BE_ROOTZbigniew Jędrzejewski-Szmek2019-05-081-7/+1
|
* coccinelle: make use of SYNTHETIC_ERRNOZbigniew Jędrzejewski-Szmek2018-11-221-8/+6
| | | | | | | | | | | Ideally, coccinelle would strip unnecessary braces too. But I do not see any option in coccinelle for this, so instead, I edited the patch text using search&replace to remove the braces. Unfortunately this is not fully automatic, in particular it didn't deal well with if-else-if-else blocks and ifdefs, so there is an increased likelikehood be some bugs in such spots. I also removed part of the patch that coccinelle generated for udev, where we returns -1 for failure. This should be fixed independently.
* Move various files that don't need to be in basic/ to shared/Zbigniew Jędrzejewski-Szmek2018-11-201-0/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This doesn't have much effect on the final build, because we link libbasic.a into libsystemd-shared.so, so in the end, all the object built from basic/ end up in libsystemd-shared. And when the static library is linked into binaries, any objects that are included in it but are not used are trimmed. Hence, the size of output artifacts doesn't change: $ du -sb /var/tmp/inst* 54181861 /var/tmp/inst1 (old) 54207441 /var/tmp/inst1s (old split-usr) 54182477 /var/tmp/inst2 (new) 54208041 /var/tmp/inst2s (new split-usr) (The negligible change in size is because libsystemd-shared.so is bigger by a few hundred bytes. I guess it's because symbols are named differently or something like that.) The effect is on the build process, in particular partial builds. This change effectively moves the requirements on some build steps toward the leaves of the dependency tree. Two effects: - when building items that do not depend on libsystemd-shared, we build less stuff for libbasic.a (which wouldn't be used anyway, so it's a net win). - when building items that do depend on libshared, we reduce libbasic.a as a synchronization point, possibly allowing better parallelism. Method: 1. copy list of .h files from src/basic/meson.build to /tmp/basic 2. $ for i in $(grep '.h$' /tmp/basic); do echo $i; git --no-pager grep "include \"$i\"" src/basic/ 'src/lib*' 'src/nss-*' 'src/journal/sd-journal.c' |grep -v "${i%.h}.c";echo ;done | less
* build-sys: split internal basic/ library from shared/Kay Sievers2015-06-111-90/+0
| | | | | | | | | | basic/ can be used by everything cannot use anything outside of basic/ libsystemd/ can use basic/ cannot use shared/ shared/ can use libsystemd/
* verbs: fix typo in error messageDave Reisner2014-12-221-1/+1
|
* verbs: when invoking the default verb, pass a faked argv array, with just ↵Lennart Poettering2014-12-191-5/+18
| | | | | | the verb in it That way the dispatcher calls know how they got called.
* util: add generalization of verb parsing for command line toolsLennart Poettering2014-12-191-0/+77
We should move loginctl, timedatectl, machinectl over to use this new API instead of a manual one.