librelist archives

« back to archive

Rsync

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