On Nov 16, 2007, at 10:08 AM, Daniel Maher wrote:
Thank you for your reply. My exact sequence is as follows:
$ tar -xzf rsync-2.6.9.tar.gz
$ cd rsync-2.6.9
$ patch -p1 < patches/acls.diff
$ patch -p1 < patches/xattrs.diff
$ patch -p1 < patches/fake-super.diff
Ok. I see now what's wrong. Somehow parts of the xattr patch are also
in the fake-super patch. At any rate, the config.h.in and configure
are both auto generated. Just run:
autoconf
autoheader
to create clean versions of them. The rsync.1 is just the manpage.
You can probably live without it.
The only "problem file" is then the proto.h. However, a quick
inspection shows that you just need to add the lines:
+ int get_stat_xattr(const char *fname, int fd, STRUCT_STAT *fst,
STRUCT_STAT *xst);
+ int set_stat_xattr(const char *fname, struct file_struct *file);
+ int x_stat(const char *fname, STRUCT_STAT *fst, STRUCT_STAT *xst);
+ int x_lstat(const char *fname, STRUCT_STAT *fst, STRUCT_STAT *xst);
+ int x_fstat(int fd, STRUCT_STAT *fst, STRUCT_STAT *xst);
I suspect the problem is that proto.h and rsync.1 are also both auto-
generated. Whoever prepared the patch probably just forgot to
recreate these files between patches when creating the fake-super.patch.
When I compile after adding these lines,
./configure --enable-xattr-support --enable-acl-support
make
I get (on osx) a few unused variable warnings (which I confirmed are
harmless), some minor signedness warnings (again harmless), and an
uninitialized variable (which only occurs in an error case where the
program quits).
I worry, though, that this won't solve your problem:
Internal error: wrong write used in receiver.
rsync error: protocol incompatibility (code 2) at io.c(1204)
[generator=2.6.9]
The missing prototypes should only matter on non-intel machines. I'd
give you the copy of 2.6.9 which I was using, but I deleted it when
3.0.0pre1 came out. :-( Just to make sure: you have the same patched
rsync on both sender and receiver, right? If you use -X or -A they
must match.
Also, if you are using osx (not linux), you must NOT enable acl
support. eg:
./configure --enable-xattr-support
Prior to v3, ACL support did not exist on osx. Even though the patch
is applied, you still don't enable it.
Hope this helps!
--
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html