Apple Mac OS X 10.4-10.6 ships with a modified version of rsync2 that has support for extended attributes and resource forks. Though, it “does not perform as well as rsync 3.x, consumes more memory (especially for transfers of many files), and will copy unmodified resource forks every single time” (Mike Bombich).
Luckily, you can install rsync3 from MacPorts, using Mike’s Carbon Copy Cloner (which ships with a mutilated binary) or compile it on your own. This is an receipt for building an rsync3 universal binary that runs on Mac OS X 10.4-10.6 ppc/x86/x86_64:
# 2010-07-07, benjamin: receipt for building rsync3 universal binary for # mac os x 10.4+ ppc/i386/x86_64 on a build host running 10.6 # based upon http://www.bombich.com/mactips/rsync.html # install xcode from http://developer.apple.com/technologies/xcode.html # get sources curl -O http://samba.anu.edu.au/ftp/rsync/rsync-3.0.7.tar.gz curl -O http://samba.anu.edu.au/ftp/rsync/rsync-patches-3.0.7.tar.gz # optionally verify signatures curl -O http://samba.anu.edu.au/ftp/rsync/rsync-3.0.7.tar.gz.asc gpg --verify rsync-3.0.7.tar.gz.asc curl -O http://samba.anu.edu.au/ftp/rsync/rsync-patches-3.0.7.tar.gz.asc gpg --verify rsync-patches-3.0.7.tar.gz.asc # apply patches relevant for preserving Mac OS X metadata tar xvzf rsync-3.0.7.tar.gz tar xvzf rsync-patches-3.0.7.tar.gz cd rsync-3.0.7/ patch -p1 <patches/fileflags.diff patch -p1 <patches/crtimes.diff # build 10.4+ ppc binary CC="gcc-4.0" LDFLAGS="-arch ppc" CFLAGS="-arch ppc -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4" ./configure make -j4 mv rsync rsync3.ppc # build 10.4+ x86 binary CC="gcc-4.0" LDFLAGS="-arch i386" CFLAGS="-arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4" ./configure make -j4 mv rsync rsync3.i386 # build 10.5+ x86_64 binary CC="gcc-4.2" LDFLAGS="-arch x86_64" CFLAGS="-arch x86_64 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5" ./configure make -j4 mv rsync rsync3.x86_64 # combine platform specific binaries into an universal binary lipo -create rsync3.ppc rsync3.i386 rsync3.x86_64 -output rsync3 # eof.
You can find binaries, patches etc. in the download section below.
