Rsync
- From:
- Rich Wardwell
- Date:
- 2011-07-07 @ 02:33
I was checking out Homebrew as long-time user of MacPorts and was pleased
both technically as well as the active community. One of the primary
reasons for using MacPorts is installing a more modern and functional
version of rsync. Unfortunately, the rsync shipped with Mac OS X (even
Lion) is very old and fails to handle even basic scenarios
(http://www.n8gray.org/blog/2007/04/27/introducing-backup-bouncer/):
—————— rsync-apple ——————
This copier exited with error code 24
This copier produced log output in:
/Volumes/Dst/10-rsync-apple/log
Verifying: basic-permissions … ok
Verifying: timestamps …
Sub-test: modification time … ok
ok
Verifying: symlinks … ok
Verifying: symlink-ownership … ok
Verifying: hardlinks … ok
Verifying: resource-forks … FAIL
Verifying: finder-flags … FAIL
Verifying: finder-locks … FAIL
Verifying: creation-date … FAIL
Verifying: bsd-flags … FAIL
Verifying: extended-attrs …
Sub-test: on files … FAIL
Sub-test: on directories … FAIL
Sub-test: on symlinks … FAIL
FAIL
Verifying: access-control-lists …
Sub-test: on files … ok
Sub-test: on dirs … ok
Sub-test: on symlinks … ok
ok
Verifying: fifo … ok
Verifying: devices … ok
Verifying: combo-tests …
Sub-test: xattrs + rsrc forks … FAIL
Sub-test: lots of metadata … FAIL
FAIL
The first thing I did after firing up Homebrew was check out its "formula"
for rsync. Alas, it didn't exist. With a little search, I found this:
https://github.com/mxcl/homebrew/issues/2649#issuecomment-1509116
In short, rsync has been pulled from the master branch since it duplicates
an existing Apple provided tool. I would say, it definitely does not.
Here is an example of the versions of rsync from both Mac and MacPorts:
From *most* recent Mac OS X:
rsync version 2.6.9 protocol version 29
Copyright (C) 1996-2006 by Andrew Tridgell, Wayne Davison, and others.
http://rsync.samba.org/
Capabilities: 64-bit files, socketpairs, hard links, symlinks, batchfiles,
inplace, IPv6, 64-bit system inums, 64-bit internal inums
From Macports:
rsync version 3.0.7 protocol version 30
Copyright (C) 1996-2009 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
append, ACLs, xattrs, iconv, symtimes, file-flags
As you can see, the variation is substantial. Sadly, even MacPorts
variant is out of date and missing some key features such as HFS
compression (from Mike Bombich) and some bug fixes in create times that
are in the current rsync and rsync-patches available from GNU.
Being new here, I'm not sure what the appropriate steps are, but I would
like to highly recommend moving rsync back into the master branch.
The following will build a current stable version of rsync for Mac:
curl -O http://rsync.samba.org/ftp/rsync/src/rsync-3.0.8.tar.gz
tar -xzvf rsync-3.0.8.tar.gz
rm rsync-3.0.8.tar.gz
curl -O http://rsync.samba.org/ftp/rsync/src/rsync-patches-3.0.8.tar.gz
tar -xzvf rsync-patches-3.0.8.tar.gz
rm rsync-patches-3.0.8.tar.gz
cd rsync-3.0.8
patch -p1 <patches/fileflags.diff
patch -p1 <patches/crtimes.diff
patch -p1 <patches/hfs-compression.diff
./prepare-source
./configure --prefix /usr/local
make
sudo make install
Rich
Re: [homebrew] Rsync
- From:
- Charlie Sharpsteen
- Date:
- 2011-07-07 @ 03:36
On Wed, Jul 6, 2011 at 7:33 PM, Rich Wardwell <rcw3@mac.com> wrote:
> I was checking out Homebrew as long-time user of MacPorts and was pleased
> both technically as well as the active community. One of the primary
> reasons for using MacPorts is installing a more modern and functional
> version of rsync. Unfortunately, the rsync shipped with Mac OS X (even
> Lion) is very old and fails to handle even basic scenarios (
> http://www.n8gray.org/blog/2007/04/27/introducing-backup-bouncer/):
>
...snip...
> The first thing I did after firing up Homebrew was check out its "formula"
> for rsync. Alas, it didn't exist. With a little search, I found this:
>
> https://github.com/mxcl/homebrew/issues/2649#issuecomment-1509116
>
> In short, rsync has been pulled from the master branch since it duplicates
> an existing Apple provided tool. I would say, it definitely does not. Sadly,
> even MacPorts variant is out of date and missing some key features such as
> HFS compression (from Mike Bombich) and some bug fixes in create times that
> are in the current rsync and rsync-patches available from GNU.
>
...snip...
> Being new here, I'm not sure what the appropriate steps are, but I would
> like to highly recommend moving rsync back into the master branch.
>
> Rich
>
The best course of action is probably to open a pull request in the
Homebrew-alt repository which holds formulea that "don't fit" with the rules
laid down for mxcl's master branch:
https://github.com/adamv/homebrew-alt
I wrote an external tool called `brew-tap` that makes it easier to tap into
alternate repositories, such as Homebrew-alt, that hold useful programs that
will not be accepted into the master branch:
https://github.com/Sharpie/homebrew/tree/brew-tap
That branch should rebase cleanly onto the current master---if it does not
let me know by opening an issue on my fork. If you think `brew-tap` is
useful, help get it merged into the master branch by voicing your interest
on this pull request:
https://github.com/mxcl/homebrew/pull/6086
-Charlie
Re: [homebrew] Rsync
- From:
- Jack Nagel
- Date:
- 2011-07-07 @ 03:53
> The best course of action is probably to open a pull request in the
> Homebrew-alt repository which holds formulea that "don't fit" with the rules
> laid down for mxcl's master branch:
> https://github.com/adamv/homebrew-alt
Actually, rsync is already available in homebrew-alt:
$ brew install
https://raw.github.com/adamv/homebrew-alt/master/duplicates/rsync.rb
will install it, along with the current patches.
Jack
Re: [homebrew] Rsync
- From:
- Rich Wardwell
- Date:
- 2011-07-08 @ 00:08
Yes, my primary point is that it shouldn't be in homebrew-alt - it should
be in the main branch.
On Jul 6, 2011, at 10:53 PM, Jack Nagel wrote:
>> The best course of action is probably to open a pull request in the
>> Homebrew-alt repository which holds formulea that "don't fit" with the rules
>> laid down for mxcl's master branch:
>> https://github.com/adamv/homebrew-alt
>
> Actually, rsync is already available in homebrew-alt:
>
> $ brew install
https://raw.github.com/adamv/homebrew-alt/master/duplicates/rsync.rb
>
> will install it, along with the current patches.
>
> Jack