From b63bd1090bf6ce79b6757c3f8f4172a367854577 Mon Sep 17 00:00:00 2001 From: Zbigniew Jędrzejewski-Szmek Date: Sat, 22 Nov 2014 18:00:07 -0500 Subject: Do not check for existence of remote binaries systemd-run would fail when run with -M or -H and an absolute path, if this path did not exists locally. Allow it to continue, since we don't have a nice way of checking if the binary exists remotely. The case where -M or -H is used and a local path is unchanged, and we still iterate over $PATH to find the binary. We need to convert to an absolute path, and we don't have a nice mechanism to check remotely, so we assume that the binary will be located in the same place locally and remotely. http://lists.freedesktop.org/archives/systemd-devel/2014-November/025418.html --- src/run/run.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/run') diff --git a/src/run/run.c b/src/run/run.c index e3b62939c7..dcefb5c376 100644 --- a/src/run/run.c +++ b/src/run/run.c @@ -573,9 +573,12 @@ int main(int argc, char* argv[]) { if (r <= 0) goto finish; - r = find_binary(argv[optind], &command); + r = find_binary(argv[optind], arg_transport == BUS_TRANSPORT_LOCAL, &command); if (r < 0) { - log_error("Failed to find executable %s: %s", argv[optind], strerror(-r)); + log_error("Failed to find executable %s%s: %s", + argv[optind], + arg_transport == BUS_TRANSPORT_LOCAL ? "" : " on local system", + strerror(-r)); goto finish; } argv[optind] = command; -- cgit v1.2.3-54-g00ecf