Hi Antoine,
yes, I'd be happy to include this. What it would need is a testsuite
that confirms it works and ensures it stays working. I recently added
OpenBSD to the CI jobs for master rsync so having a test should be
easy.
Would you be interested in creating a PR to do this? If you're not
comfortable doing that then I can do it, but it is always nice for
someone else to get it passing in CI.
Cheers, Tridge
On Sat, 23 May 2026 at 10:09, Antoine Verheijen <antoine at verheijen.ca>
wrote:>
> Please note: this is essentially a repeat of an item I submitted almost
> a year ago when it received basically no notice. With the recent flurry
> of activity, I'm hoping it might be considered for inclusion in an
> upcoming release.
>
> The included patch provides a compile-time option to use the POSIX
> fchmodat() function to set permissions for a symbolic link (the link
> itself, not its target). It only gets compiled in, as part of do_chmod()
> in syscall.c, if setattrlist() does not exist and as a last resort before
> failure would result for symbolic links.
>
> It's not OS-specific, although I'll admit that OpenBSD is the only
> system I've encountered to date that needs it. (On OpenBSD, this is the
> ONLY item that prevents me from being able to make a perfect clone.)
>
> It's small: 1 line change in configure.ac and 2 lines added in
syscall.c.
> It is intended for the rsync version just released ("3.5.x
started").
>
> I've been using it for more than a year and a half without issue.
I've
> also tried compilations with the patched code on a variety of other
> systems (various Linux, MacOS, FreeBSD) where it (naturally) had no
> effect since the new code was not compiled in.
>
> Thanks so much for your attention. I look forward to hearing back (one
> way or other other).
>
> And thanks for all the great work on what is one of the truly great
> utility tools in existence.
>
> ------------------------------------------------------------------------
> Antoine Verheijen Email: antoine at verheijen.ca
> . Phone: (780) 462-9696
>