remote-run: Find rsync on path

The current remote-run implementation only works if rsync is located at
`/usr/bin/`, which isn't always the case. FreeBSD installs rsync to
`/usr/local/bin` as it is not installed in the base system by default.
Relax the script to accept rsync on any path.
This commit is contained in:
Evan Wilde
2025-06-25 13:20:30 -07:00
parent 705b1a667f
commit 80863f0bf1
7 changed files with 11 additions and 11 deletions

View File

@@ -20,7 +20,7 @@ CHECK-SAME: 'cp'
CHECK-NEXT: {{^}}/bin/mkdir -p {{.+}}
CHECK-NEXT: /usr/bin/rsync
CHECK-NEXT: rsync
CHECK-DAG: '-p' '12345'
CHECK-DAG: '-o' 'FIRST_OPT' '-o' 'SECOND_OPT'
CHECK-SAME: some_user@some_host

View File

@@ -6,7 +6,7 @@ RUN: test -z "`ls %t`"
RUN: test ! -e %t-REMOTE
CHECK-INPUT: /usr/bin/env /bin/mkdir -p {{.+}}-REMOTE/input
CHECK-INPUT-NEXT: /usr/bin/rsync
CHECK-INPUT-NEXT: rsync
CHECK-INPUT: /usr/bin/env {{.*}}ls
RUN: %empty-directory(%t)
@@ -16,8 +16,8 @@ RUN: %debug-remote-run -n --output-prefix %t cp %t/nested/input %t/nested/output
RUN: test ! -e %t-REMOTE
CHECK-OUTPUT: /usr/bin/env /bin/mkdir -p {{.+}}-REMOTE/output/nested
CHECK-OUTPUT: /usr/bin/rsync
CHECK-OUTPUT: rsync
CHECK-OUTPUT: /usr/bin/env {{.*}}cp
CHECK-OUTPUT-NEXT: {{^}}/bin/mkdir -p {{.+}}
CHECK-OUTPUT-NEXT: /usr/bin/rsync
CHECK-OUTPUT-NEXT: rsync

View File

@@ -17,7 +17,7 @@ CHECK-SAME: some_user@some_host -- '/usr/bin/env' {{.*}}'cp'
CHECK-NEXT: {{^}}/bin/mkdir -p {{.+}}
CHECK-NEXT: /usr/bin/rsync
CHECK-NEXT: rsync
CHECK-DAG: '-p' '12345'
CHECK-DAG: '-i' 'spiderman'
CHECK-SAME: some_user@some_host

View File

@@ -3,6 +3,6 @@ RUN: %remote-run -n --remote-dir /xyz-REMOTE --output-prefix %/t some_user@some_
CHECK: /usr/bin/ssh -n -p 12345 some_user@some_host -- '/usr/bin/env' '/bin/mkdir' '-p' '{{.+}}-REMOTE/output/nested'
CHECK: /usr/bin/ssh -n -p 12345 some_user@some_host -- '/usr/bin/env' {{.*}}'cp'
CHECK-NEXT: {{^}}/bin/mkdir -p {{.+}}
CHECK-NEXT: /usr/bin/rsync
CHECK-NEXT: rsync
CHECK-SAME: '-p' '12345'
CHECK-SAME: some_user@some_host

View File

@@ -27,10 +27,10 @@ RUN: ls %t-REMOTE/output/nested/ | %FileCheck -check-prefix CHECK-REMOTE %s
RUN: %debug-remote-run -v --output-prefix %t cp %t/nested/input %t/nested/output 2>&1 >/dev/null | %FileCheck -check-prefix VERBOSE %s
VERBOSE: /usr/bin/env /bin/mkdir -p {{.+}}-REMOTE/output/nested
VERBOSE: /usr/bin/rsync
VERBOSE: rsync
VERBOSE: /usr/bin/env {{.*}}cp
VERBOSE-NEXT: {{^}}/bin/mkdir -p {{.+}}
VERBOSE-NEXT: /usr/bin/rsync
VERBOSE-NEXT: rsync
RUN: %empty-directory(%t)
RUN: touch %t/xyz-1before

View File

@@ -34,5 +34,5 @@ CHECK-NEXT: {{^3.txt$}}
CHECK-NOT: BAD
VERBOSE-NESTED: /usr/bin/env /bin/mkdir -p {{.+}}-REMOTE/input
VERBOSE-NESTED-NEXT: /usr/bin/rsync
VERBOSE-NESTED-NEXT: rsync
VERBOSE-NESTED: /usr/bin/env {{.*}}ls

View File

@@ -203,7 +203,7 @@ class RemoteCommandRunner(CommandRunner):
[quote(arg) for arg in command])
def rsync_invocation(self, source, dest):
return ['/usr/bin/rsync', '-arRz', '--files-from=-',
return ['rsync', '-arRz', '--files-from=-',
'-e', ' '.join([quote(x) for x in
['/usr/bin/ssh'] +
self.common_options(port_flag='-p')]),
@@ -221,7 +221,7 @@ class LocalCommandRunner(CommandRunner):
return command
def rsync_invocation(self, source, dest):
return ['/usr/bin/rsync', '-arz', '--files-from=-', source, dest]
return ['rsync', '-arz', '--files-from=-', source, dest]
def rsync_from_invocation(self, source, dest):
return self.rsync_invocation(source, dest)