rsync stable port information

Package: rsync
Version: 3.0.9
Revision: 1
Maintainer: Remi Mommsen
CustomMirror: <<
A: http://samba.org/ftp/rsync/
B: http://samba.org/ftp/rsync/old-versions/
<<
Source: mirror:custom:%n-%v.tar.gz
Source-MD5: 5ee72266fe2c1822333c407e1761b92b
Source2: mirror:custom:%n-patches-%v.tar.gz
Source2-MD5: 992677c7f1ac2884d9469b3a0eff594a
PatchFile: %n.patch
PatchFile-MD5: 893ae99695b62ac9ce381f9840f487f3
PatchScript: <<
patch -p1 < patches/fileflags.diff
patch -p1 < patches/crtimes.diff
patch -p1 < patches/hfs-compression.diff
patch -p1 < patches/ignore-case.diff
patch -p1 < %{PatchFile}
./prepare-source
<<
SetCFLAGS: -Os
BuildAsNobody: false
ConfigureParams: --without-included-popt
DocFiles: COPYING NEWS OLDNEWS README TODO
Depends: popt-shlibs, libiconv
BuildDepends: popt, libiconv-dev, fink (>= 0.24.12)
Conflicts: applersync
Replaces: applersync
Description: Synchronize filesystems between hosts
DescDetail: <<
rsync is a replacement for rcp (and scp) that has many
more features. It uses the "rsync algorithm" which provides a very
fast method for remote files into sync. It does this by sending just
the differences in the files across the link, without requiring that
both sets of files are present at one of the ends of the link
beforehand.

(Description taken from the www.freshmeat.net listing of rsync)
<<
DescPackaging: <<
Versions up to 2.6.6 were kindly maintained by Bill Bumgarner.

Workaround for ACL bug (https://bugzilla.samba.org/show_bug.cgi?id=7382)
by John Lillibridge and Remko Scharroo.
<<
Homepage: http://rsync.samba.org/
License: GPL

InfoTest: <<
TestSuiteSize: small
TestDepends: backupbouncer
TestScript: <<
#!/bin/sh -ev
if [ $UID -ne 0 ]; then
echo "%n cannot be tested with --build-as-nobody"
exit 2
fi
error=0
{
%p/bin/bbouncer create-vol Src &&
%p/bin/bbouncer create-vol Dst &&
%p/bin/bbouncer create /Volumes/Src &&
%b/rsync -aNHAX --fileflags --force-change /Volumes/Src/ /Volumes/Dst/ &&
%p/bin/bbouncer verify -d /Volumes/Src /Volumes/Dst | /usr/bin/tee /tmp/rsync_test.$$
} || error=2
[[ `/usr/bin/grep -c FAIL /tmp/rsync_test.$$` -gt 0 ]] && error=2
/sbin/umount /Volumes/Src/ /Volumes/Dst/ || error=1
exit $error
<<
<<

rsync stable port .patch

diff -Naur rsync-3.0.8/acls.c rsync-3.0.8.new/acls.c
--- rsync-3.0.8/acls.c 2011-03-18 22:42:28.000000000 +0100
+++ rsync-3.0.8.new/acls.c 2011-07-29 15:11:20.000000000 +0200
@@ -278,7 +278,7 @@
id_access *ida;
if ((rc = sys_acl_get_info(entry, &tag_type, &access, &g_u_id)) != 0) {
errfun = "sys_acl_get_info";
- break;
+ rc = 0;
}
/* continue == done with entry; break == store in temporary ida list */
switch (tag_type) {
diff -Naur rsync-3.0.8/syscall.c rsync-3.0.8.new/syscall.c
--- rsync-3.0.8/syscall.c 2011-07-29 14:33:39.000000000 +0200
+++ rsync-3.0.8.new/syscall.c 2011-07-29 15:11:20.000000000 +0200
@@ -37,13 +37,6 @@
extern int preserve_perms;
extern int preserve_executability;

-#pragma pack(push, 4)
-struct create_time {
- uint32 length;
- struct timespec crtime;
-};
-#pragma pack(pop)
-
#define RETURN_ERROR_IF(x,e) \
do { \
if (x) { \
@@ -538,7 +531,8 @@

time_t get_create_time(const char *path)
{
- static struct create_time attrBuf;
+ static char attrBuf[sizeof(u_int32_t) + sizeof(struct timespec)];
+ static struct timespec *crtime = (struct timespec*)&attrBuf[sizeof(u_int32_t)];
struct attrlist attrList;

memset(&attrList, 0, sizeof attrList);
@@ -546,7 +540,7 @@
attrList.commonattr = ATTR_CMN_CRTIME;
if (getattrlist(path, &attrList, &attrBuf, sizeof attrBuf, FSOPT_NOFOLLOW) < 0)
return 0;
- return attrBuf.crtime.tv_sec;
+ return crtime->tv_sec;
}

int set_create_time(const char *path, time_t crtime)

rsync _unstable_ port .patch