Introduction à Subversion
Subversion est un système de
contrôle de version prévu pour être un superbe remplacement de
CVS dans la communauté du libre.
Il améliore et prend en charge les caractéristiques de CVS tout en conservant une interface identique
pour ceux à l'aise avec CVS. Ces
instructions installent les logiciels client et serveur utilisés
pour manipuler un dépôt Subversion. La création d'un dépôt est
couverte dans Exécuter un serveur
subversion.
Ce paquet est connu pour se construire correctement sur une
plateforme LFS-8.4.
Informations sur le paquet
-
Téléchargement (HTTP) :
https://archive.apache.org/dist/subversion/subversion-1.11.1.tar.bz2
-
Téléchargement (FTP) :
-
Somme de contrôle MD5 du téléchargement :
5797bf701d2d868fa964c7bbc4931267
-
Taille du téléchargement : 8.1 Mo
-
Estimation de l'espace disque requis : 174 Mo (plus 116
Mo pour les liaisons, 24 Mo pour les docs, 1.0 Go pour les
tests)
-
Estimation du temps de construction : 0.5 SBU (avec
parallélisme = 4 ; plus 2.0 SBU pour les liaisons, 5.5
SBU pour les tests)
Dépendances de Subversion
Requises
Apr-Util-1.6.1 et SQLite-3.27.1
Recommandées
Serf-1.3.9 (pour prendre en charge les URL http://
et https://)
Facultatives
Apache-2.4.38, Cyrus
SASL-2.1.27, dbus-1.12.12, libsecret-0.18.7, Python-2.7.15 (avec le
support de sqlite pour les tests), Ruby-2.6.1, SWIG-3.0.12 (pour construire les liaisons
Perl, Python et Ruby), LZ4 et UTF8proc
Facultatives (pour les bindings Java)
Un parmi OpenJDK-11.0.2, Dante et Jikes et JUnit 4 (pour tester les liaisons
Java). Remarquez que JUnit est inclus dans apache-ant-1.10.5.
Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/subversion
Installation de Subversion
Note
Ce paquet peut échouer pendant la phase de make quand on utilise
de multiples processeurs. Si cela se produit essayez de continuer
avec make -j1 ou
recommencez entièrement le processus de construction avec des
sources fraîches en utilisant -j1.
Installez Subversion en lançant
les commandes suivantes :
./configure --prefix=/usr \
--disable-static \
--with-apache-libexecdir \
--with-lz4=internal \
--with-utf8proc=internal &&
make
Si vous avez installé Doxygen-1.8.15 et si vous souhaitez construire
la documentation de l'API, lancez : doxygen doc/doxygen.conf.
Si vous avez passé le paramètre --enable-javahl
à configure et si vous souhaitez
construire les bindings Java, tapez la commande :
make javahl
Si vous voulez compiler les bindings Perl, Python2, ou Ruby, tapez les commandes suivantes :
make swig-pl # pour Perl
make swig-py \
swig_pydir=/usr/lib/python2.7/site-packages/libsvn \
swig_pydir_extra=/usr/lib/python2.7/site-packages/svn # pour Python
make swig-rb # pour Ruby
Pour tester les résultats lancez : make check.
Pour tester les résultats de la constructions des liaisons Java,
lancez make
check-javahl. L'outil de tests JUnit doit être installé, et l'emplacement du
jar de JUnit doit être spécifié en passant le paramètre
--with-junit=<chemin vers le jar de
junit>
à configure. Remarquez que
JUnit est inculs dans apache-ant-1.10.5 et on peut y accéder en
passant --with-junit=/opt/ant/lib/junit-4.12.jar
à
configure.
Pour tester les résultats de certaines des bindings SWIG, vous pouvez utiliser les commandes
suivantes : make
check-swig-pl, make
check-swig-py, ou make check-swig-rb.
Maintenant, en tant qu'utilisateur root
:
make install &&
install -v -m755 -d /usr/share/doc/subversion-1.11.1 &&
cp -v -R doc/* \
/usr/share/doc/subversion-1.11.1
Si vous construisez les liaisons Java, tapez les commandes
suivantes en tant qu'utilisateur root
pour les installer :
make install-javahl
Si vous construisez les bindings Perl, Python2, ou Ruby, tapez une des commandes suivantes en
tant qu'utilisateur root
pour les
installer :
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
Explication des commandes
--disable-static
: Ce
paramètre empêche l'installation des versions statiques des
bibliothèques.
--with-apache-libexecdir
: Si
Apache-2.4.38 est installé, les modules
partagés de Apache sont
construits. Ce paramètre permet d'avoir ces modules installé dans
le répertoire configuré de Apache
au lieu de /usr/libexec
. Il n'a pas
d'effet si Apache n'est pas
installé.
--with-lz4=internal,
--with-utf8proc=internal
: Supprimez-les si vous
avez installé les dépendances facultatives.
--enable-javahl
: active la
compilation des liaisons Java haut-niveau. Il est nécessaire de
lancer make javahl
pour effectuer la compilation.
--with-junit=<location of the junit jar
file>
: donne l'emplacement du jar de junit, sinon
les tests de javahl ne peuvent être lancés.
---disable-gmock
: Ne pas utiliser
l'outil de tests Googlemock.