Merge pull request #21229 from keszybz/improve-m-hint

Improve hint to use -M in various tools
This commit is contained in:
Luca Boccassi
2021-11-04 18:40:26 +00:00
committed by GitHub
17 changed files with 46 additions and 42 deletions

View File

@@ -639,7 +639,7 @@ static int analyze_plot(int argc, char *argv[], void *userdata) {
r = acquire_bus(&bus, &use_full_bus);
if (r < 0)
return bus_log_connect_error(r);
return bus_log_connect_error(r, arg_transport);
n = acquire_boot_times(bus, &boot);
if (n < 0)
@@ -1034,7 +1034,7 @@ static int analyze_critical_chain(int argc, char *argv[], void *userdata) {
r = acquire_bus(&bus, NULL);
if (r < 0)
return bus_log_connect_error(r);
return bus_log_connect_error(r, arg_transport);
n = acquire_time_data(bus, &times);
if (n <= 0)
@@ -1076,7 +1076,7 @@ static int analyze_blame(int argc, char *argv[], void *userdata) {
r = acquire_bus(&bus, NULL);
if (r < 0)
return bus_log_connect_error(r);
return bus_log_connect_error(r, arg_transport);
n = acquire_time_data(bus, &times);
if (n <= 0)
@@ -1133,7 +1133,7 @@ static int analyze_time(int argc, char *argv[], void *userdata) {
r = acquire_bus(&bus, NULL);
if (r < 0)
return bus_log_connect_error(r);
return bus_log_connect_error(r, arg_transport);
r = pretty_boot_time(bus, &buf);
if (r < 0)
@@ -1270,7 +1270,7 @@ static int dot(int argc, char *argv[], void *userdata) {
r = acquire_bus(&bus, NULL);
if (r < 0)
return bus_log_connect_error(r);
return bus_log_connect_error(r, arg_transport);
r = expand_patterns(bus, strv_skip(argv, 1), &expanded_patterns);
if (r < 0)
@@ -1347,7 +1347,7 @@ static int dump(int argc, char *argv[], void *userdata) {
r = acquire_bus(&bus, NULL);
if (r < 0)
return bus_log_connect_error(r);
return bus_log_connect_error(r, arg_transport);
(void) pager_open(arg_pager_flags);
@@ -1416,7 +1416,7 @@ static int verb_log_control(int argc, char *argv[], void *userdata) {
r = acquire_bus(&bus, NULL);
if (r < 0)
return bus_log_connect_error(r);
return bus_log_connect_error(r, arg_transport);
return verb_log_control_common(bus, "org.freedesktop.systemd1", argv[0], argc == 2 ? argv[1] : NULL);
}
@@ -2228,7 +2228,7 @@ static int service_watchdogs(int argc, char *argv[], void *userdata) {
r = acquire_bus(&bus, NULL);
if (r < 0)
return bus_log_connect_error(r);
return bus_log_connect_error(r, arg_transport);
if (argc == 1) {
/* get ServiceWatchdogs */
@@ -2268,7 +2268,7 @@ static int do_security(int argc, char *argv[], void *userdata) {
r = acquire_bus(&bus, NULL);
if (r < 0)
return bus_log_connect_error(r);
return bus_log_connect_error(r, arg_transport);
(void) pager_open(arg_pager_flags);

View File

@@ -102,7 +102,7 @@ static int acquire_bus(bool set_monitor, sd_bus **ret) {
if (arg_address)
r = sd_bus_set_address(bus, arg_address);
else {
else
switch (arg_transport) {
case BUS_TRANSPORT_LOCAL:
@@ -123,13 +123,13 @@ static int acquire_bus(bool set_monitor, sd_bus **ret) {
default:
assert_not_reached();
}
}
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)
return bus_log_connect_error(r);
return bus_log_connect_error(r, arg_transport);
*ret = TAKE_PTR(bus);

View File

@@ -216,7 +216,7 @@ static int run(int argc, char *argv[]) {
arg_show_unit == SHOW_UNIT_USER,
&bus);
if (r < 0)
return bus_log_connect_error(r);
return bus_log_connect_error(r, BUS_TRANSPORT_LOCAL);
}
q = show_cgroup_get_unit_path_and_warn(bus, *name, &cgroup);

View File

@@ -104,7 +104,7 @@ static int acquire_bus(sd_bus **bus) {
r = bus_connect_transport(arg_transport, arg_host, false, bus);
if (r < 0)
return bus_log_connect_error(r);
return bus_log_connect_error(r, arg_transport);
(void) sd_bus_set_allow_interactive_authorization(*bus, arg_ask_password);

View File

@@ -660,7 +660,7 @@ static int run(int argc, char *argv[]) {
r = bus_connect_transport(arg_transport, arg_host, false, &bus);
if (r < 0)
return bus_log_connect_error(r);
return bus_log_connect_error(r, arg_transport);
return hostnamectl_main(bus, argc, argv);
}

View File

@@ -512,7 +512,7 @@ static int run(int argc, char *argv[]) {
r = bus_connect_transport(arg_transport, arg_host, false, &bus);
if (r < 0)
return bus_log_connect_error(r);
return bus_log_connect_error(r, arg_transport);
return localectl_main(bus, argc, argv);
}

View File

@@ -283,7 +283,7 @@ static int run(int argc, char *argv[]) {
r = sd_bus_default_system(&bus);
if (r < 0)
return bus_log_connect_error(r);
return bus_log_connect_error(r, BUS_TRANSPORT_LOCAL);
if (arg_action == ACTION_LIST)
return print_inhibitors(bus);

View File

@@ -1468,7 +1468,7 @@ static int run(int argc, char *argv[]) {
r = bus_connect_transport(arg_transport, arg_host, false, &bus);
if (r < 0)
return bus_log_connect_error(r);
return bus_log_connect_error(r, arg_transport);
(void) sd_bus_set_allow_interactive_authorization(bus, arg_ask_password);

View File

@@ -2869,7 +2869,7 @@ static int run(int argc, char *argv[]) {
r = bus_connect_transport(arg_transport, arg_host, false, &bus);
if (r < 0)
return bus_log_connect_error(r);
return bus_log_connect_error(r, arg_transport);
(void) sd_bus_set_allow_interactive_authorization(bus, arg_ask_password);

View File

@@ -1458,7 +1458,7 @@ static int run(int argc, char* argv[]) {
r = bus_connect_transport_systemd(arg_transport, arg_host, arg_user, &bus);
if (r < 0)
return bus_log_connect_error(r);
return bus_log_connect_error(r, arg_transport);
if (arg_action == ACTION_UMOUNT)
return action_umount(bus, argc, argv);

View File

@@ -220,7 +220,7 @@ static int acquire_bus(sd_bus **bus) {
r = bus_connect_transport(arg_transport, arg_host, false, bus);
if (r < 0)
return bus_log_connect_error(r);
return bus_log_connect_error(r, arg_transport);
(void) sd_bus_set_allow_interactive_authorization(*bus, arg_ask_password);

View File

@@ -1760,7 +1760,7 @@ static int run(int argc, char* argv[]) {
else
r = bus_connect_transport_systemd(arg_transport, arg_host, arg_user, &bus);
if (r < 0)
return bus_log_connect_error(r);
return bus_log_connect_error(r, arg_transport);
if (arg_scope)
r = start_transient_scope(bus);

View File

@@ -34,6 +34,24 @@ static int name_owner_change_callback(sd_bus_message *m, void *userdata, sd_bus_
return 1;
}
int bus_log_address_error(int r, BusTransport transport) {
bool hint = transport == BUS_TRANSPORT_LOCAL && r == -ENOMEDIUM;
return log_error_errno(r,
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, BusTransport transport) {
bool hint_vars = transport == BUS_TRANSPORT_LOCAL && r == -ENOMEDIUM,
hint_addr = transport == BUS_TRANSPORT_LOCAL && ERRNO_IS_PRIVILEGE(r);
return log_error_errno(r,
r == hint_vars ? "Failed to connect to bus: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined (consider using --machine=<user>@.host --user to connect to bus of other user)" :
r == hint_addr ? "Failed to connect to bus: Operation not permitted (consider using --machine=<user>@.host --user to connect to bus of other user)" :
"Failed to connect to bus: %m");
}
int bus_async_unregister_and_exit(sd_event *e, sd_bus *bus, const char *name) {
const char *match;
const char *unique;

View File

@@ -39,22 +39,8 @@ 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);
#define bus_log_address_error(r) \
({ \
int _k = (r); \
log_error_errno(_k, \
_k == -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"); \
})
#define bus_log_connect_error(r) \
({ \
int _k = (r); \
log_error_errno(_k, \
_k == -ENOMEDIUM ? "Failed to connect to bus: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined (consider using --machine=<user>@.host --user to connect to bus of other user)" : \
ERRNO_IS_PRIVILEGE(_k) ? "Failed to connect to bus: Operation not permitted (consider using --machine=<user>@.host --user to connect to bus of other user)" : \
"Failed to connect to bus: %m"); \
})
int bus_log_address_error(int r, BusTransport transport);
int bus_log_connect_error(int r, BusTransport transport);
#define bus_log_parse_error(r) \
log_error_errno(r, "Failed to parse bus message: %m")

View File

@@ -447,7 +447,7 @@ int show_cgroup_get_path_and_warn(
r = bus_connect_transport_systemd(BUS_TRANSPORT_LOCAL, NULL, false, &bus);
if (r < 0)
return bus_log_connect_error(r);
return bus_log_connect_error(r, BUS_TRANSPORT_LOCAL);
r = show_cgroup_get_unit_path_and_warn(bus, unit, &root);
if (r < 0)

View File

@@ -53,7 +53,7 @@ int acquire_bus(BusFocus focus, sd_bus **ret) {
else
r = bus_connect_transport(arg_transport, arg_host, user, &buses[focus]);
if (r < 0)
return bus_log_connect_error(r);
return bus_log_connect_error(r, arg_transport);
(void) sd_bus_set_allow_interactive_authorization(buses[focus], arg_ask_password);
}

View File

@@ -1038,7 +1038,7 @@ static int run(int argc, char *argv[]) {
r = bus_connect_transport(arg_transport, arg_host, false, &bus);
if (r < 0)
return bus_log_connect_error(r);
return bus_log_connect_error(r, arg_transport);
return timedatectl_main(bus, argc, argv);
}