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.0
platform.
Package Information
-
Download (HTTP):
http://archive.apache.org/dist/subversion/subversion-1.7.1.tar.bz2
-
Download MD5 sum: 8a4fa74385df85a9702141b6b68b8307
-
Download size: 5.7 MB
-
Estimated disk space required: 153 MB (additional 119 MB to
install all bindings and 750 MB to run all test suites)
-
Estimated build time: 1.6 SBU (add 2.7 SBU for bindings and
7.1 SBU to run test suites)
Subversion Dependencies
Required
SQLite-3.7.8, and Apache-2.2.21
(for the APR only) or Apache Portable Runtime
If you require the Berkeley DB
back-end hooks in Subversion to
build or support BDB based repositories, you must have Berkeley DB linked into the APR-util library. There is information in the
Apache-2.2.21 instructions that shows the
required parameters to pass to the configure script when building
any of the APR-util packages.
Optional
Python-2.7.2 (required to run the test suite),
Berkeley DB-5.2.36, SQLite-3.7.8,
Cyrus SASL-2.1.23, OpenSSL-1.0.0e, D-Bus
GLib Bindings-0.98, gnome-keyring-2.30.3, KWallet from KDE4,
Apache-2.2.21 (if you have Apache Portable Runtime installed), and
neon-0.29.6 or serf
Optional to Build the Java Bindings
One of IcedTea6-1.9.7, JDK-6 Update 18, Dante, or Jikes,
and JUnit-4.8.1 (to test the Java bindings)
Optional to Build the SWIG Bindings
SWIG**, Python-2.7.2,
and Ruby-1.9.2-p290
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/subversion
Installation of Subversion
Install Subversion by running the
following commands:
./configure --prefix=/usr &&
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
If you have the necessary dependencies installed and you wish to
build the Perl, Python and/or Ruby bindings, issue any or all of the
following commands:
make swig-pl &&
make swig-py &&
make swig-rb
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 &&
make check-swig-rb
Now, as the root
user:
make install &&
install -v -m755 -d /usr/share/doc/subversion-1.7.1 &&
cp -v -R doc/* \
/usr/share/doc/subversion-1.7.1
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 &&
make install-swig-rb
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.
Command Explanations
--with-apr=<prefix>
--with-apr-util=<prefix>
: These
options should be used if you wish to use the system-installed
version of the APR. Ensure you
identify the correct installation prefix.
--with-apxs=/usr/sbin/apxs
: This option
should be used to identify the system-installed version of the
apxs command
installed during the Apache HTTPD
installation as apxs
might not be in an unprivileged user's PATH
and won't be properly discovered.