I'm using Fedora Core 5 and I started getting these messages.
rsync: ACLs are not supported on this client
rsync error: syntax or usage error (code 1) at main.c(1231) [client=2.6.8]
Is FC5 compiled without ACL support?
That warning means that rsync was patched with ACL support but not configured with it enabled. You'll need to contact whomever packaged it, since they're the only ones that can change the package (i.e. file a bug with the Fedora folks).
I am using FC5, and I made my own RPMS of rsync patched and configured for ACL support. They are linked on this page:
And they are in this Yum repository:
I've noticed this as well. The FC5 RPM appears to have rsync with the ACL patch enabled. But when I built rsync from source (with --with-acl-support), configure presumes that ACL support is not available on this platform.
I've yet to dig into this (I'd likely start with the FC5 source RPM, but I'm hoping that someone will save me the trouble).
But I wanted you to know: you're not the only person to experience this.
I'd a second thought on this. FC5 *does* support ACLs. So I believe that this actually is a bug in configure, even if someone "fixed" this for the FC5 RPM.
BTW, I originally tried building on CentOS4.3 and found the same problem.
I've subsequently added the xattrs.diff patch. I then build with options: --enable-acl-support --enable-xattr-support.
After I did the necessary manual intervention (moving some files into the libs directory), this did result in an rsync on both CentOS 4.3 and Fedora Core 5 which at least recognized the -A option.
So perhaps it's not a bug if Fedora/CentOS ACLs require xattr support (which, thinking about it, does make sense to me).
So this would be my 3rd thought on the subject?
The --with-acl-support option was changed to --enable-acl-support in 2.6.7, and --with-acl-support now has no effect. So if you gave --with-acl-support to rsync 2.6.8, you shouldn't expect it to configure for ACLs.
ACLs are usually implemented using extended attributes, but rsync shouldn't need xattrs.diff to make use of the system's ACL library, which handles the details of accessing the extended attributes. I patched rsync 2.6.8 with acls.diff and configured with --enable-acl-support, and it correctly preserved ACLs when given -A. Try this, and if it doesn't work for you, then we should be concerned.
By the way: you should give the -p1 option to patch so that it obeys the subdirectories specified in acls.diff. Then, no "manual intervention" will be necessary.
If the rsync on the other machine is patched but not configured for ACLs, rsync gives a message like this:
rsync: ACLs are not supported on this server
rsync error: syntax or usage error (code 1) at main.c(1231) [server=2.6.8]
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(453) [sender=2.6.9cvs]