Something I missed: Mac OS sequoia is shipping with openrsync, the #OpenBSD version of rsync, created by Kristaps Dzonsons.

https://derflounder.wordpress.com/2025/04/06/rsync-replaced-with-openrsync-on-macos-sequoia/

Of course this is due to Apple not liking GPL V3, which is used by the latest version of rsync...  

https://github.com/kristapsdz/openrsync
https://man.openbsd.org/openrsync

rsync replaced with openrsync on macOS Sequoia

On many Unix-based operating systems, rsync is a command line tool for transferring and synchronizing files on a computer, either between storage attached directly to the computer or between anothe…

Der Flounder

@dexter @ParadeGrotesque Hmm.. MacOS Sequoia 15.3.1:

openrsync: protocol version 29
rsync version 2.6.9 compatible

OpenBSD 7.7:

openrsync 0.1 (protocol version 27)

Why's the OpenBSD version using a slightly older protocol?

(the GNU one at v3.2.7 uses protocol 31)

🤔

@pertho @dexter

🤔

This sounds very very strange indeed...

I suspect a mistake that will be corrected before 7.7 is released.

Anyone from the OpenBSD dev can confirm?

@ParadeGrotesque @pertho @dexter apple has patched the hell out of it, it's not the same version as shipped by openbsd.
@ParadeGrotesque @pertho @dexter There is another fork here with lots of changes. Not sure if it is related to the macos one: https://github.com/kristapsdz/openrsync/compare/master...KlaraSystems:openrsync:master
Comparing kristapsdz:master...KlaraSystems:master · kristapsdz/openrsync

BSD-licensed implementation of rsync. Contribute to kristapsdz/openrsync development by creating an account on GitHub.

GitHub
Oh, thanks for that!

Years ago I had looked into creating a MacPort for openrsync but I couldn't get it to build cleanly on macOS and kind of forgot about it. (strangely IIRC, I seem to have encountered some mention of openrsync in MacPorts; but I am guessing maybe it was related to FreeBSD?)

Once upon a time MacPorts was intended to be for multiple OSes though a lot of that has kind of fell by the wayside; so now port lint --nitpick on openssh's Portfile for example, will warn that the "platforms" line is unnecessary:

% port lint --nitpick
> Verifying Portfile for opensshWarning: Unnecessary platforms line as darwin is the default
> 0 errors and 1 warnings found.
(though it's been my experience, sometimes removing such things will break other things, so I tend to leave it in because who knows what other MacPorts users might be doing).

Regardless, I just cloned that repo [by which I mean the repo from @kristapsdz@bsd.network, not the KlaraSystems fork, which threw some errors when I tried to build from it FWIW.] and tried a %./configure && make and it went smoothly!

Though I'll note:

% ./openrsync --version
openrsync: protocol version 27

So I am guessing Apple's version is still a bit different?

Regardless, now I am thinking I can finally get around to creating a Portfile for openrsync for MacPorts?

As an aside: MacPorts uses rsync and clearly it's still functioning despite having been swapped out with openrsync (IIRC, MacPorts' relies on the default shipped by Apple for this, rather than the Portfile version as a dependency), and I didn't notice so much as a whisper on the MacPorts' dev mailing list, which overall is a good sign for openrsync at least! I wonder if anyone else has noticed?

CC: @ParadeGrotesque@mastodon.sdf.org @pertho@bsd.cafe @dexter@bsd.network
I started work on a Portfile for MacPorts, the work in progress is documented here:

https://trac.macports.org/ticket/72311

The issue I am running into currently, is MacPorts defaults to instantiating ./configure with --prefix=/opt/local

However, when ./configure is passed that parameter, it fails with the following error:
./configure: invalid key: --prefix

If I check the configure file, I see that PREFIX is defined as /usr/local

But I'm not sure what I should be doing differently? Maybe adding an additional dependency to handle the configure stuff better? But I thought MacPorts already had built in support for such things.

Anyway, it's close but not quite there and ready to submit as a Pull Request yet until that gets sorted out.

CC: @ParadeGrotesque@mastodon.sdf.org @pertho@bsd.cafe @dexter@bsd.network @kristapsdz@bsd.network
#72311 (WIP new port: openrsync) – MacPorts

@teajaygrey @ParadeGrotesque @pertho @dexter It uses oconfigure, not GNU configure. Just pass PREFIX=blah as an argument to the script.
Thanks to a helpful suggestion from ryandesign, I modified the Portfile to stop passing the --prefix styled parameter using your suggestion for the oconfigure style and submitted a Pull Request to add openrsync to MacPorts here:

https://github.com/macports/macports-ports/pull/28096

GitHub Continuous Integration checks passed OK!

Here's hoping it gets merged without issues (I included some of the warnings from running %port test and maybe some other MacPorts contributors will have some helpful suggestions for clearing those up too).

Regardless, thank you for your efforts! I'm grateful to be able to downstream it in my own limited capacities. I realize, not as helpful as it might be if Apple were more collaborative, but who knows wtfh Tim "Apple" is up to besides removing headphone jacks and selling off stocks and racing devices out of India before tariffs impact their bottom line, or whatever it is that they do in Cupertino.

#OpenRSYNC #OpenBSD #MacPorts #rsync

CC: @ParadeGrotesque@mastodon.sdf.org @pertho@bsd.cafe @dexter@bsd.network
openrsync: New port by artkiver · Pull Request #28096 · macports/macports-ports

closes https://trac.macports.org/ticket/72311 Description Type(s) bugfix enhancement security fix Tested on macOS 15.4 24E248 arm64 Command Line Tools 16.3.0.0.1.1742442376 Verification H...

GitHub