Making rsync compile under Mac OS X 10.3.9 with extended attributes

Matt McCutchen matt at mattmccutchen.net
Sun Jan 27 11:49:54 GMT 2008


On Sun, 2008-01-27 at 11:32 +0100, Vitorio Machado wrote:
> Well, as I understood, what we have to do is to parse the xattr.c and  
> xattr.h codes and substitutes calls for getxattr() and setxattr() to  
> similar getattrlist() and setattrlist() from the man pages Matt gave us.

xattr.h and xattr.c access the xattr system calls via an abstraction
layer in lib/sysxattrs.h and lib/sysxattrs.c .  Instead of modifying
xattr.h and xattr.c, you should modify the abstraction layer; that will
be much easier and cleaner.

Also remember that, since Mac OS before 10.4 doesn't support arbitrarily
named xattrs, only a few {get,set}xattr calls have {get,set}attrlist
equivalents, namely those that access "com.apple.ResourceFork",
"com.apple.FinderInfo", or "com.apple.crtime96" (the rsync-specific name
for the creation time).

On Sun, 2008-01-27 at 11:49 +0100, Vitorio Machado wrote:
> I finally could get it from http://archive.macosxlabs.org/rsyncx/ 
> rsync-2.5.5.hfs.tgz
> 
> Will see if I can understand how they patched rsync 2.5.5 and if it's 
> a better idea to transport their patch to 3.0.0pre8 or to start one 
> from scratch with they precious informations from Matt.

Without offense to its author, that patched rsync 2.5.5 looks pretty
messy, especially because all of the attributes had to be implemented
ad-hoc.  Let's start from scratch and reuse the nice xattr
infrastructure present in rsync 3.0.0pre8 by making the necessary
extensions to the abstraction layer.

Matt



More information about the rsync mailing list