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.10
platform.
Package Information
-
Download (HTTP):
http://www.apache.org/dist/subversion/subversion-1.9.4.tar.bz2
-
Download MD5 sum: 29121a038f87641055a8183f49e9739f
-
Download size: 7.6 MB
-
Estimated disk space required: 165 MB (add 165 MB for
bindings, 24 MB for docs, reportedly 800 MB for tests)
-
Estimated build time: 1.5 SBU (add 1.7 SBU for bindings,
reportedly 67 SBU for tests)
Subversion Dependencies
Required
Apr-Util-1.5.4 and SQLite-3.14.1
Recommended
Serf-1.3.8 (for handling http:// and https://
URLs)
Optional
Apache-2.4.23, Cyrus
SASL-2.1.26, D-Bus-1.10.10, Python-2.7.12 (with sqlite
support for the tests), Ruby-2.3.1, and SWIG-3.0.10 (for building Perl, Python and
Ruby bindings)
Optional (for the Java Bindings)
One of OpenJDK-1.8.0.102, Dante or Jikes, and JUnit-4.11 (to test the
Java bindings)
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/subversion
Installation of Subversion
Note
This package may fail during the make phase when using multiple
processors. If this occurs try continuing with make -j1 or redo the entire build
process with fresh sources using -j1.
Install Subversion by running the
following commands:
sed -i "/seems to be moved/s/^/#/" build/ltmain.sh &&
./configure --prefix=/usr \
--disable-static \
--with-apache-libexecdir &&
make
If you have Doxygen-1.8.11 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
If you want to compile Perl,
Python2, or Ruby bindings, issue any of the following
command:
make swig-pl # for Perl
make swig-py \
swig_pydir=/usr/lib/python2.7/site-packages/libsvn \
swig_pydir_extra=/usr/lib/python2.7/site-packages/svn # for Python
make swig-rb # for Ruby
To test the results, issue: make
check.
The Java bindings test, make
check-javahl, fails due to errors in the test
suite.
To test the results of any of the SWIG bindings, you can use any of the
following commands: make
check-swig-pl, make
check-swig-py, or make check-swig-rb.
The Ruby bindings test, make
check-swig-rb, fails due to errors in the test
suite.
Now, as the root
user:
make install &&
install -v -m755 -d /usr/share/doc/subversion-1.9.4 &&
cp -v -R doc/* \
/usr/share/doc/subversion-1.9.4
If you built the Java bindings, issue the following command as the
root
user to install them:
make install-javahl
If you built the Perl,
Python2, or Ruby bindings, issue any of the following
commands as the root
user to
install them:
make install-swig-pl
make install-swig-py \
swig_pydir=/usr/lib/python2.7/site-packages/libsvn \
swig_pydir_extra=/usr/lib/python2.7/site-packages/svn
make install-swig-rb
Command Explanations
sed -i ...
build/ltmain.sh: This sed silences several annoying
and useless warnings emitted from libtool.
--disable-static
: This
switch prevents installation of static versions of the libraries.
--with-apache-libexecdir
:
If Apache-2.4.23 is installed, the shared
Apache modules are built. This
switch allows to have those modules installed to Apache's configured module dir instead of
/usr/libexec
. It has no effect if
Apache is not installed.
---disable-gmock
: Do not use the
Googlemock testing framework.