Alien-SVN
view release on metacpan or search on metacpan
src/subversion/INSTALL view on Meta::CPAN
critical dependency for all of Subversion; it's the layer
that allows Subversion clients and servers to run on
different operating systems.
* SQLite (REQUIRED for client and server)
Subversion uses SQLite to manage some internal databases.
* libz (REQUIRED for client and server)
Subversion uses zlib for compressing binary differences.
These diff streams are used everywhere -- over the network,
in the repository, and in the client's working copy.
* libserf (OPTIONAL for client)
The Serf library allows the Subversion client to send HTTP
requests. This is necessary if you want your client to access
a repository served by the Apache HTTP server. There is an
alternate 'svnserve' server as well, though, and clients
automatically know how to speak the svnserve protocol.
Thus it's not strictly necessary for your client to be able
to speak HTTP... though we still recommend that your client
be built to speak both HTTP and svnserve protocols.
* OpenSSL (OPTIONAL for client and server)
OpenSSL enables your client to access SSL-encrypted https://
URLs (using libserf) in addition to unencrypted http:// URLs.
To use SSL with Subversion's WebDAV server, Apache needs to be
compiled with OpenSSL as well.
* Berkeley DB (OPTIONAL for client and server)
There are two different repository 'back-end'
implementations. One implementation stores data in a flat
filesystem (known as FSFS); the other implementation stores
data in a Berkeley DB database (known as BDB). When you
create a repository, you have the option of specifying a
storage back-end. The Berkeley DB back-end will only be
available if the BDB libraries are discovered at compile
time.
* libsasl (OPTIONAL for client and server)
If the Cyrus SASL library is detected at compile time, then
the svn client (and svnserve server) will be able to utilize
SASL to do various forms of authentication when speaking the
svnserve protocol.
* Python, Perl, Java, Ruby (OPTIONAL)
Subversion is mostly a collection of C libraries with
well-defined APIs, with a small collection of programs that
use the APIs. If you want to build Subversion API bindings
for other languages, you need to have those languages
available at build time.
* KDELibs, GNOME Keyring (OPTIONAL for client)
Subversion contains optional support for storing passwords in
KWallet (KDE 4) or GNOME Keyring.
* libmagic
If the libmagic library is detected at compile time,
it will be used to determine mime-types of binary files
which are added to version control. Note that mime-types
configured via auto-props or the mime-types-file option
take precedence.
C. Dependencies in Detail
Subversion depends on a number of third party tools and libraries.
Some of them are only required to run a Subversion server; others
are necessary just for a Subversion client. This section explains
what other tools and libraries will be required so that Subversion
can be built with the set of features you want.
On Unix systems, the './configure' script will tell you if you are
missing the correct version of any of the required libraries or
tools, so if you are in a real hurry to get building, you can skip
straight to section II. If you want to gather the pieces you will
need before starting out, however, you should read the following.
If you're just installing a Subversion client, the Subversion
team has created a script that downloads the minimal prerequisite
libraries (Apache Portable Runtime, Sqlite, and Zlib). The script,
'get-deps.sh', is available in the same directory as this file.
When run, it will place 'apr', 'apr-util', 'serf', 'zlib', and
'sqlite-amalgamation' directories directly into your unpacked Subversion
distribution. With the exception of sqlite-amalgamation, they will
still need to be configured, built and installed explicitly, and
Subversion's own configure script may need to be told where to find
them, if they were not installed in standard system locations.
Note: there are optional dependencies (such as openssl, swig, and httpd)
which get-deps.sh does not download.
Note: Because previous builds of Subversion may have installed older
versions of these libraries, you may want to run some of the cleanup
commands described in section II.B before installing the following.
1. Apache Portable Runtime 0.9.7 or 1.X.X (REQUIRED)
Whenever you want to build any part of Subversion, you need the
Apache Portable Runtime (APR) and the APR Utility (APR-util)
libraries.
****************************************************************
** IMPORTANT ISSUE ABOUT APR VERSIONS: READ THIS. **
** **
****************************************************************
| |
| APR 0.9.X and 1.X are binary-incompatible. |
| |
| This means: |
| |
| - if you are already using Subversion with APR 0.9.X, and |
src/subversion/INSTALL view on Meta::CPAN
11. Perl 5.8 or newer (Windows only) (OPTIONAL)
To build Subversion under any of the MS Windows platforms, you
will also need Perl 5.8 or newer to run apr-util's w32locatedb.pl
script.
12. MASM 6 or newer (Windows only, OPTIONAL)
The Windows build scripts for Subversion can use the Microsoft
Macro Assembler (MASM) to build an optimized version of the ZLib
library. Make sure that the version of MASM you use is compatible
with the C compiler. If you're using MSVC 6, and don't have MASM 6,
a free MASM-compatible assembler is available here:
http://www.masm32.com/
You only need ML.EXE and ML.ERR from this distribution.
The VS.NET installation already contains MASM (but note, that
version if MASM is not compatible with MSVC 6).
13. SQLite (REQUIRED)
Subversion 1.8 requires SQLite version 3.7.12 or above. You can meet
this dependency several ways:
* Use an SQLite amalgamation file.
* Specify an SQLite installation to use.
* Let Subversion find an installed SQLite.
To use an SQLite-provided amalgamation, just drop sqlite3.c into
Subversion's sqlite-amalgamation/ directory, or point to it with the
--with-sqlite configure option. This file also ships with the Subversion
dependencies distribution, or you can download it from SQLite:
http://www.sqlite.org/download.html
14. pkg-config (Unix only, OPTIONAL)
Subversion uses pkg-config to find appropriate options used
at build time.
15. D-Bus (Unix only, OPTIONAL)
D-Bus is a message bus system. D-Bus is required for support for KWallet
and GNOME Keyring. pkg-config is needed to find D-Bus headers and library.
16. Qt 4 (Unix only, OPTIONAL)
Qt is a cross-platform application framework. QtCore, QtDBus and QtGui
modules are required for support for KWallet. pkg-config is needed
to find Qt headers and libraries.
17. KDELibs 4 (Unix only, OPTIONAL)
Subversion contains optional support for storing passwords in KWallet.
KDELibs contains core KDE libraries. Subversion uses libkdecore and libkdeui
libraries when support for KWallet is enabled. kde4-config is used to get
some necessary options. pkg-config, D-Bus and Qt 4 are also required.
If you want to build support for KWallet, then pass the '--with-kwallet'
option to `configure`. If KDE is installed in a non-standard prefix, then
use:
--with-kwallet=/path/to/KDE/prefix
18. GLib 2 (Unix only, OPTIONAL)
GLib is a general-purpose utility library. GLib is required for support
for GNOME Keyring. pkg-config is needed to find GLib headers and library.
19. GNOME Keyring (Unix only, OPTIONAL)
Subversion contains optional support for storing passwords in GNOME Keyring.
pkg-config is needed to find GNOME Keyring headers and library. D-Bus and
GLib are also required. If you want to build support for GNOME Keyring,
then pass the '--with-gnome-keyring' option to `configure`.
20. Ctypesgen (OPTIONAL)
Ctypesgen is Python wrapper generator for ctypes. It is used to generate
a part of Subversion Ctypes Python bindings (CSVN). If you want to build
CSVN, then pass the '--with-ctypesgen' option to `configure`. If ctypesgen.py
is installed in a non-standard place, then use:
--with-ctypesgen=/path/to/ctypesgen.py
For more information on CSVN, see subversion/bindings/ctypes-python/README.
21. libmagic (OPTIONAL)
Subversion's configure script attempts to find libmagic automatically.
If it is installed in a non-standard location, then use:
--with-libmagic=/path/to/libmagic/prefix
The files include/magic.h and lib/libmagic.so.1.0 (or similar)
are expected beneath this prefix directory. If they cannot be
found Subversion will be compiled without support for libmagic.
If libmagic is installed but support for it should not be compiled
in, then use:
--with-libmagic=no
If configure should fail when libmagic is not present, but only
the default locations should be searched, then use:
--with-libmagic
D. Documentation
The primary documentation for Subversion is the free book
"Version Control with Subversion", a.k.a. "The Subversion Book",
obtainable from http://svnbook.red-bean.com/.
Various additional documentation exists in the doc/ subdirectory of
the Subversion source. See the file doc/README for more information.
II. INSTALLATION
============
A. Building from a Tarball or RPM
------------------------------
1. Building from a Tarball
Download the most recent distribution tarball from:
http://subversion.apache.org/download/
( run in 2.011 seconds using v1.01-cache-2.11-cpan-524268b4103 )