]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
busctl: do not print hint about -M if -M is already used
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 4 Nov 2021 09:41:47 +0000 (10:41 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 4 Nov 2021 10:00:15 +0000 (11:00 +0100)
(Or when -H is used, since -H and -M are incompatible.)

src/busctl/busctl.c
src/shared/bus-util.c
src/shared/bus-util.h

index 30a86234d92ac51cb99a875d8f5d24b533514ef1..2dbef89e4c798dab7258a2830308d57b43b29af2 100644 (file)
@@ -125,7 +125,7 @@ static int acquire_bus(bool set_monitor, sd_bus **ret) {
                 }
         }
         if (r < 0)
-                return bus_log_address_error(r);
+                return bus_log_address_error(r, arg_transport);
 
         r = sd_bus_start(bus);
         if (r < 0)
index 75e89ab5dc980ed1980b12d5e23902bdcd6660a1..8568135a4a5273793832a8f320147a99ff3055bb 100644 (file)
@@ -34,10 +34,12 @@ static int name_owner_change_callback(sd_bus_message *m, void *userdata, sd_bus_
         return 1;
 }
 
-int bus_log_address_error(int r) {
+int bus_log_address_error(int r, BusTransport transport) {
+        bool hint = transport == BUS_TRANSPORT_LOCAL && r == -ENOMEDIUM;
+
         return log_error_errno(r,
-                               r == -ENOMEDIUM ? "Failed to set bus address: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined (consider using --machine=<user>@.host --user to connect to bus of other user)" :
-                                                 "Failed to set bus address: %m");
+                               hint ? "Failed to set bus address: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined (consider using --machine=<user>@.host --user to connect to bus of other user)" :
+                                      "Failed to set bus address: %m");
 }
 
 int bus_log_connect_error(int r) {
index 3a65851fa59dbb382144d83ee3c0c775098378a8..4f0d186f952d6679781d79171a672a83d471d6b5 100644 (file)
@@ -39,7 +39,7 @@ int bus_connect_user_systemd(sd_bus **_bus);
 int bus_connect_transport(BusTransport transport, const char *host, bool user, sd_bus **bus);
 int bus_connect_transport_systemd(BusTransport transport, const char *host, bool user, sd_bus **bus);
 
-int bus_log_address_error(int r);
+int bus_log_address_error(int r, BusTransport transport);
 int bus_log_connect_error(int r);
 
 #define bus_log_parse_error(r)                                  \