the Fink project is an effort to port
popular Unix programs to Mac OS X
Package: librsync
Version: 0.9.7
Revision: 1004
Description: Algorithm for remote file synchronization
License: GPL
Homepage: http://librsync.sourceforge.net/
Maintainer: Evi Vanoost
# Dependencies.
Depends: %n-shlibs (= %v-%r)
BuildDepends: bzip2-dev (>= 1.0.2-12), popt (>= 1.7-1), libiconv-dev, libgettext8-dev, fink-package-precedence
BuildDependsOnly: true
GCC: 4.0
# Unpack Phase.
Source: mirror:sourceforge:librsync/%N-%v.tar.gz
Source-MD5: 24cdb6b78f45e0e83766903fd4f6bc84
# Patch Phase.
PatchFIle: %n.patch
PatchFile-MD5: 41d40afeceb725efff6311826f43dcca
PatchScript: <<
patch -p1 < %{PatchFile}
perl -pi.bak -e 's,hardcode_direct=yes,hardcode_direct=no,' configure
<<
# Compile Phase.
SetCFLAGS: -Os
SetLDFLAGS: -no-undefined
ConfigureParams: --enable-shared --mandir=%p/share/man
CompileScript: <<
%{default_script}
fink-package-precedence .
<<
# Install Phase.
InstallScript: <<
make install DESTDIR=%d
install -d -m 0755 %i/bin
install -m 0755 .libs/rdiff %i/bin/rdiff
<<
DocFiles: AUTHORS ChangeLog COPYING NEWS README README.CVS THANKS TODO
SplitOff: <<
Package: %N-shlibs
Depends: libiconv, libgettext8-shlibs, bzip2-shlibs (>= 1.0.2-12), popt-shlibs (>= 1.7-1)
Shlibs: %p/lib/librsync.1.dylib 2.0.0 %n (>= 0.9.6-1)
Files: lib/librsync.*.dylib
DocFiles: AUTHORS ChangeLog COPYING NEWS README README.CVS THANKS TODO
<<
SplitOff2: <<
Package: %N-bin
Depends: %N-shlibs (= %v-%r)
Files: bin share/man/man1
DocFiles: AUTHORS ChangeLog COPYING NEWS README README.CVS THANKS TODO
<<
# Documentation.
DescDetail: <<
librsync implements the rolling-checksum algorithm of remote file
synchronization that was popularized by the rsync utility and is used in
rproxy. This algorithm transfers the differences between 2 files without
needing both files on the same system.
It was originaly developed as part of rproxy, but is now used by other
applications and has its own project on sourceforge.
http://librsync.sourceforge.net/
This library was previously known as libhsync up to version 0.9.0.
<<
diff -urN librsync-0.9.7/mdfour.h librsync-0.9.7dev/mdfour.h
--- librsync-0.9.7/mdfour.h 2004-02-07 18:17:57.000000000 -0500
+++ librsync-0.9.7dev/mdfour.h 2006-03-06 03:21:46.000000000 -0500
@@ -24,7 +24,7 @@
#include "types.h"
struct rs_mdfour {
- int A, B, C, D;
+ unsigned int A, B, C, D;
#if HAVE_UINT64
uint64_t totalN;
#else
diff -urN librsync-0.9.7/patch.c librsync-0.9.7dev/patch.c
--- librsync-0.9.7/patch.c 2004-09-17 17:35:50.000000000 -0400
+++ librsync-0.9.7dev/patch.c 2006-03-06 03:21:06.000000000 -0500
@@ -214,12 +214,12 @@
void *buf, *ptr;
rs_buffers_t *buffs = job->stream;
- len = job->basis_len;
-
/* copy only as much as will fit in the output buffer, so that we
* don't have to block or store the input. */
- if (len > buffs->avail_out)
+ if (job->basis_len > buffs->avail_out)
len = buffs->avail_out;
+ else
+ len = job->basis_len;
if (!len)
return RS_BLOCKED;