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

Vittorio Giovara vittorio.giovara at gmail.com
Sat Jan 25 11:47:38 EET 2025


> On Jan 24, 2025, at 10:40 PM, Martin Storsjö <martin at martin.st> wrote:
> 
> Traditionally, macOS has shipped an old version of rsync that lacked
> support for this version, hence this check (added in
> a8b3f0c5cf548f654e30c981988bb71981a3f8d3).
> 
> However, in macOS 15.x, they 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 prints "--contimeout=SECONDS" in the output
> of "rsync --help".
> 
> It is unclear which version of openrsync this is; 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.
> ---
> configure | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/configure b/configure
> index 3a1e72e1c6..06f641ead0 100755
> --- a/configure
> +++ b/configure
> @@ -7209,7 +7209,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
> --

Lgtm, thanks for the detailed explanation 
Vittorio 


More information about the ffmpeg-devel mailing list