diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2014-11-23 00:00:07 +0100 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2014-11-23 00:01:43 +0100 |
commit | b63bd1090bf6ce79b6757c3f8f4172a367854577 (patch) | |
tree | 85a66b611c242d405fd5006003c78e2cf0d480b4 /src/run | |
parent | missing: add IFLA_BRPORT_LEARNING and friends (diff) | |
download | systemd-b63bd1090bf6ce79b6757c3f8f4172a367854577.tar.xz systemd-b63bd1090bf6ce79b6757c3f8f4172a367854577.zip |
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.c | 7 |
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; |