CVS Instructions for librsync
If you're building from CVS, things are slightly more complicated than usual. I hope these instructions will tell you all you need to know. Please mail <librsync-devel@lists.sourceforge.net> if they are unclear or incorrect. Also read HACKING for a description of development conventions used by the project.
The librsync project is currently hosted on sourceforge. Everything, including CVS, can be found at;
http://sourceforge.net/projects/librsync/
>> Requirements
To build from CVS you will probably need at least automake 1.7, autoconf 2.53, and libtool 1.4.3, plus a compiler, make and so on. You might get away with earlier versions of the autotools stuff, but these versions are known to work. On Debian, you can simply say
# apt-get install automake1.7 autoconf libtool
To generate API documentation, you will need Doxygen, Latex and GhostView:
# apt-get install doxygen gs tetex
To generate the ChangeLog needed when creating a distribution, you will need cvs2cl;
# apt-get install cvs2cl
>> Downloading
$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/librsync login [When prompted for a password, simply press the Enter key] $ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/librsync \ -d YOUR_DIRECTORY co librsync
You can choose the name of the directory that will hold the source here. If you have no opinion, just omit the `-d YOUR_DIRECTORY' and it will go into `librsync'. For more details, see the web site.
>> Building
$ cd YOUR_DIRECTORY
$ ./autogen.sh [OPTIONS]
$ ./configure
$ make all check
You can pass all the ./configure options to autogen, including --help.
>> Debugging
If you are using GNU libc, you might like to use
MALLOC_CHECK_=2 ./rdiff
to detect some allocation bugs. Report any bugs you find to the bug tracker.
>> Sending patches
If you make a change to the source and would like to contribute it back, do this:
$ cvs diff -u -N >/tmp/my.librsync.patch
and submit to the patch tracker.
>> Releasing
Make sure you have cvs2cl installed to generate ChangeLog. Before a formal release, make sure that the following files have been updated to reflect the new version:
- AUTHORS - make sure all significant authors are included.
- NEWS - make sure the top "Changes in X.Y.Z" is correct.
- THANKS - make sure the bottom "Contributors for X.Y.Z" is correct.
- configure.ac - make sure AC_INIT and librsync_libversion are right.
- libversions.txt - make sure libversion is added.
- librsync.spec - make sure version and URL are right.
- PCBuild/config.h,librsync-config.h - update using configure.msc using cygwin.
Do a complete configure and distcheck to ensure everything is properly configured, built, and tested:
$ ./autogen.sh [OPTIONS]
$ ./configure
$ make distcheck
$Id: README.CVS,v 1.16 2003/12/15 06:18:07 abo Exp $
