[FFmpeg-cvslog] configure: Improve the check for the rsync --contimeout option

Martin Storsjö git at videolan.org
Thu Feb 6 23:50:38 EET 2025


ffmpeg | branch: release/7.1 | Martin Storsjö <martin at martin.st> | Fri Jan 24 23:32:52 2025 +0200| [31f0084cbbaa863af4a733bd9fb8202388ac5c4e] | committer: Martin Storsjö

configure: Improve the check for the rsync --contimeout option

Traditionally, macOS has shipped an old version of rsync that lacked
support for this option, hence this check (added in
a8b3f0c5cf548f654e30c981988bb71981a3f8d3).

However, in macOS 15.x, Apple have switched to providing rsync as a
different tool, openrsync. The version of openrsync in at least
macOS 15.2 does include "[--contimeout]" (note the lack of "=" after
the option), in the output of "rsync --help", but when used, the tool
errors out with "rsync: --contimeout=60: unknown option". So apparently
the tool erroenously lists the option as supported, while it really
isn't.

The original rsync tool (with a new enough version) prints
"--contimeout=SECONDS" in the output of "rsync --help".

It is unclear which version of openrsync Apple are shipping; the latest
upstream openrsync from OpenBSD does support the option and includes
"[--contimeout=seconds]" in the output of "--help", and older versions
don't seem to include the option as listed at all.

Therefore, check for "--conntimeout=" with the "=", this should
properly detect both new enough rsync and openrsync.

This fixes running "fate-rsync" on macOS 15.x.

Signed-off-by: Martin Storsjö <martin at martin.st>
(cherry picked from commit 3cd4e8470a1ef82223d124523f8219691dfefb60)

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=31f0084cbbaa863af4a733bd9fb8202388ac5c4e
---

 configure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure b/configure
index d77a55b653..9c013505f2 100755
--- a/configure
+++ b/configure
@@ -7175,7 +7175,7 @@ enabled makeinfo \
 disabled makeinfo_html && texi2html --help 2> /dev/null | grep -q 'init-file' && enable texi2html || disable texi2html
 perl -v            > /dev/null 2>&1 && enable perl      || disable perl
 pod2man --help     > /dev/null 2>&1 && enable pod2man   || disable pod2man
-rsync --help 2> /dev/null | grep -q 'contimeout' && enable rsync_contimeout || disable rsync_contimeout
+rsync --help 2> /dev/null | grep -q 'contimeout=' && enable rsync_contimeout || disable rsync_contimeout
 xmllint --version  > /dev/null 2>&1 && enable xmllint   || disable xmllint
 
 check_headers linux/fb.h



More information about the ffmpeg-cvslog mailing list