Introduction to Subversion
Subversion is a version control
system that is designed to be a compelling replacement for
CVS in the open source community.
It extends and enhances CVS'
feature set, while maintaining a similar interface for those
already familiar with CVS. These
instructions install the client and server software used to
manipulate a Subversion
repository. Creation of a repository is covered at Running a
Subversion Server.
This package is known to build and work properly using an LFS-7.1
platform.
Package Information
Subversion Dependencies
Required
SQLite-3.7.11, Apr-Util-1.4.1 and
neon-0.29.6 or serf.
If you require the Berkeley DB
back-end hooks in Subversion to
build or support BDB based repositories, you must have APR-util linked to the Berkeley DB library.
Optional
Python-2.7.3 (required to run the test suite),
Berkeley DB-5.3.15, Cyrus
SASL-2.1.25, OpenSSL-1.0.1c, D-Bus
GLib Bindings-0.98, gnome-keyring-3.4.1, KWallet from KDE4
and Apache-2.4.1.
Optional (for the Java Bindings)
One of IcedTea6-1.9.7, Dante, or Jikes,
and JUnit-4.10 (to test the Java bindings)
Optional (for the SWIG Bindings)
SWIG and Python-2.7.3.
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/subversion
Installation of Subversion
If you have the current version of Apache installed Subversion will try to compile mod_dav_svn.so to use with Apache-2.4.1 and
the build will fail. Fix the bug with the following sed (not needed
with Apache 2.2):
sed -i 's#save_errno#aprerr#' subversion/mod_dav_svn/util.c
Install Subversion by running the
following commands:
./configure --prefix=/usr --disable-static &&
make
If you have Doxygen-1.7.5 installed and you wish to build
the API documentation, issue: doxygen
doc/doxygen.conf.
If you passed the --enable-javahl
parameter to configure and wish to build the
Java bindings, issue the following command:
make javahl
Perl and/or Python
If you have a multi core CPU and normally run make with multiple jobs (eg
make -j4) then a bug
in the Makefile will prevent the
Perl bindings compiling correctly.
Fix the Makefile with this sed:
sed -i 's#Makefile.PL.in$#& libsvn_swig_perl#' Makefile.in &&
To compile the Perl and/or
Python bindings issue any or all
of the following commands:
make swig-pl &&
make swig-py
To test the results, issue: make
check.
To test the results of the Java bindings build, issue make check-javahl. Note you must
have the JUnit testing framework
installed.
To test the results of any or all of the SWIG bindings, you can use the following
commands:
make check-swig-pl &&
make check-swig-py
Now, as the root user:
make install &&
install -v -m755 -d /usr/share/doc/subversion-1.7.4 &&
cp -v -R doc/* \
/usr/share/doc/subversion-1.7.4
If you built the Java bindings, issue the following command as the
root user to install them:
make install-javahl
If you built any of the SWIG
bindings, issue any or all of the following commands as the
root user to install them:
make install-swig-pl &&
make install-swig-py
In order for Python to
automatically discover the bindings, add /usr/lib/svn-python to the PYTHONPATH environment variable to the system or
personal profiles.