summaryrefslogtreecommitdiff
path: root/src/run
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2014-11-22 18:00:07 -0500
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2014-11-22 18:01:43 -0500
commitb63bd1090bf6ce79b6757c3f8f4172a367854577 (patch)
tree85a66b611c242d405fd5006003c78e2cf0d480b4 /src/run
parent8ecec322fe6b34b64868d8cc3808b5613f09e8d3 (diff)
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
Diffstat (limited to 'src/run')
-rw-r--r--src/run/run.c7
1 files changed, 5 insertions, 2 deletions
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;