]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
systemctl: show error when help for unknown unit is requested
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 12 Jul 2021 10:32:39 +0000 (12:32 +0200)
committerLuca Boccassi <luca.boccassi@gmail.com>
Mon, 12 Jul 2021 14:26:40 +0000 (15:26 +0100)
Fixes #20189. We would only log at debug level and return failure, which looks
like a noop for the user.

('help' accepts multiple arguments and will show multiple concatenated man
pages in that case. Actually, it will also show multiple concatenated man pages
if the Documentation= setting lists multiple pages. I don't think it's very
terribly useful, but, meh, I don't think we can do much better. If a user
requests a help for a two services, one known and one unknown, there'll now be
a line in the output. It's not very user friendly, but not exactly wrong too.)

src/systemctl/systemctl-show.c

index 470ff617d603935cf3a82ca354c0971c97b07a74..1f524626bfbdedc1ea62e07293a539261c8fa6ed 100644 (file)
@@ -1915,7 +1915,7 @@ static int show_one(
                 return log_error_errno(r, "Failed to get properties: %s", bus_error_message(&error, r));
 
         if (unit && streq_ptr(info.load_state, "not-found") && streq_ptr(info.active_state, "inactive")) {
-                log_full(show_mode == SYSTEMCTL_SHOW_STATUS ? LOG_ERR : LOG_DEBUG,
+                log_full(show_mode == SYSTEMCTL_SHOW_PROPERTIES ? LOG_DEBUG : LOG_ERR,
                          "Unit %s could not be found.", unit);
 
                 if (show_mode == SYSTEMCTL_SHOW_STATUS)