Making rsync compile under Mac OS X 10.3.9 with extended attributes

Vitorio Machado v.machado at permanence-informatique.fr
Sat Jan 26 14:38:05 GMT 2008


Sorry, I've misread your mail.

But don't give up, I think that if we correct the headers in 10.3, we  
have a chance to make it compile. We should look at the ACL and xattr  
code and see if there are only constant and variable definition on  
the system headers that are not found in 10.3 or if it's more deep  
lied to the 10.4 API. In this case it represents much more work, but  
we have the chance that the basic system layer (Darwin) of 10.4 is  
released open source... So maybe we could take some code from there  
to have our xattr on 10.3...

So, if nobody have a better idea, I think we should proceed like this:

1) Look on ACL and xattr code to understand what code they expect  
from the system

2a) If it's just a definition stuff (variable declaration, constants,  
etc) we can try a workaround of the configure script or something to  
put another header for 10.3 systems giving all those stuff that  
aren't built-in in the system headers. This shouldn't represent a lot  
of work

2b) If xattr and ACL code expect to use system fonctions, it won't be  
so simple... We can try patching the 10.3 system with some code of  
Darwin 8 (system code of 10.4 OS) hoping not have to go too deep, but  
just getting 1 or 2 files from it.

3) compile rsync with xattr support successfully with our little  
hacking.

I will start looking into the code to try to figure out xattr and acl  
dependencies on the system. But I don't have Mac OS 10.3 here, only  
10.4. It will be impossible for me to make any test today.

Chin up, we can do it!

Vitorio

Le 26 janv. 08 à 13:47, Robert DuToit a écrit :

> Hi Vitorio,
>
> Well, actually, it only compiles only with --disable-acl-support -- 
> disable-xattr-support. which kind of defeats the whole purpose  
> since xattrs are out of the picture.
>
>
> Rob
>
>
>
> On Jan 26, 2008, at 7:24 AM, Vitorio Machado wrote:
>
>> Interesting,
>>
>> So patched rsync compiles with  --disable-acl-support --enable- 
>> xattr-support.
>> Can you give an output of rsync --version to see if it says that  
>> xattr is enabled on capabilities?
>>
>> Best regards,
>>
>> Vitorio
>>
>> Le 26 janv. 08 à 12:36, Robert DuToit a écrit :
>>
>>> Hi Matt,
>>>
>>> I tried
>>>
>>> ./configure --disable-acl-support --enable-xattr-support
>>>
>>> and got
>>>
>>> `XATTR_NOFOLLOW' undeclared (first use in this function)
>>>
>>> so then
>>>
>>> /configure --disable-acl-support --disable-xattr-support
>>>
>>> which worked
>>>
>>> then added patches
>>>
>>> patch -p1 <patches/flags.diff
>>> patch -p1 <patches/osx-create-time.diff
>>> ./configure --disable-acl-support --enable-xattr-support
>>> make
>>>
>>> OK this time. Then I tried some simple tests on OS10.3X
>>>
>>> mypathto/rsync -a --fileflags testdir destdir  (no AX of course!)
>>>
>>> It works and flags seem to work at least for locked files.  
>>> Creation time was not saved though.....
>>>
>>> any thoughts on xattrs or creation dates?   Quite a few people  
>>> still ask me to make support scripts on OS 10.3.9. Acls probably  
>>> not such an issue on OS 10.3 and earlier.
>>>
>>> Thanks Rob
>>>
>>
>



More information about the rsync mailing list