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

Reply via email to