Introduksjon til Subversion
Subversion er et
versjonskontrollsystem som er designet for å være en overbevisende
erstatning for CVS i åpen
kildekode fellesskapet. Det utvider og forsterker CVS' funksjonssett, samtidig som det
opprettholder et lignende grensesnitt for de som allerede er kjent
med CVS. Disse instruksjonene
installerer klient- og serverprogramvaren som brukes til manipulere
et Subversion depot. Opprettelse
av et depot er dekket i Kjøre en Subversion Server.
Denne pakken er kjent for å bygge og fungere riktig ved å bruke en
LFS 12.1 plattform.
Pakkeinformasjon
-
Nedlasting (HTTP):
https://archive.apache.org/dist/subversion/subversion-1.14.3.tar.bz2
-
Nedlasting MD5 sum: 19756a5ceb32a022698a66e48616ef6b
-
Nedlastingsstørrelse: 8.2 MB
-
Estimert diskplass som kreves: 193 MB (legg til 189 MB for
bindinger, 54 MB for dokumenter, 1,3 GB for tester)
-
Estimert byggetid: 0.5 SBU (Bruker parallellisme=4; legg til
2.0 SBU for bindinger, 30 SBU for tester)
Subversion Avhengigheter
Påkrevd
Apr-Util-1.6.3 og SQLite-3.45.1
Anbefalt
Serf-1.3.10 (for håndtering av http:// og
https:// URLs)
Valgfri
Apache-2.4.58, Boost-1.84.0, Cyrus
SASL-2.1.28, dbus-1.14.10, Doxygen-1.10.0 (for å
generere HTML dokumentasjon), gnome-keyring-42.1, libsecret-0.21.3, Py3c-1.4 (for
python bindinger og tester), Python-3.12.2 (med sqlite støtte for
testene), Ruby-3.3.0, SWIG-4.2.0 (for å bygge Perl, Python og Ruby
bindinger), LZ4, og UTF8proc
Valgfri (for Java bindinger)
En av OpenJDK-21.0.2, Dante eller Jikes, JUnit 4 (for å teste Java
bindingene) og apache-ant-1.10.14.
Installasjon av Subversion
Først må du tilpasse noen Python skript for å bruke python3:
grep -rl '^#!.*python$' | xargs sed -i '1s/python/&3/'
Tilpass deretter Ruby bindingene til Ruby-3.2 eller senere:
sed -e 's/File.exists?/File.exist?/' \
-i subversion/bindings/swig/ruby/svn/util.rb \
subversion/bindings/swig/ruby/test/test_wc.rb
Installer Subversion ved å kjøre
følgende kommandoer:
PYTHON=python3 \
./configure --prefix=/usr \
--disable-static \
--with-apache-libexecdir \
--with-lz4=internal \
--with-utf8proc=internal &&
make
Hvis du har Doxygen-1.10.0 installert og du ønsker å bygge
API dokumentasjon, kjør:
doxygen doc/doxygen.conf
Hvis du ønsker å bygge Java bindingene, send --enable-javahl
parameteren til configure kommandoen. I tillegg,
hvis du vil kjøre Java testpakken, må du spesifisere plasseringen
av JUnit filen ved å legge til
--with-junit=<path to junit jar>
(for eksempel --with-junit=/usr/local/java/lib/junit-4.13.jar
)
til configure. JUnit
jar filen er ikke lenger inkludert i apache-ant-1.10.14
og må lastes ned for seg selv. For å bygge Java bindingene, kjør
følgende kommando:
make -j1 javahl
Hvis du vil kompilere Perl,
Python, eller Ruby bindinger, kjør en av følgende
kommandoer:
make swig-pl # for Perl
make swig-py \
swig_pydir=/usr/lib/python3.12/site-packages/libsvn \
swig_pydir_extra=/usr/lib/python3.12/site-packages/svn # for Python
make swig-rb # for Ruby
For å teste resultatene, kjør: make
check. Fire tester i commit_tests.py
, prop_tests.py
, og update_tests.py
pakkene er kjent for å mislykkes.
På grunn av endringer i Python-3.12, kan du forvente å se rundt 200
syntaksadvarsler under testpakken på grunn av ugyldige escape
sekvenser.
For å teste resultatene av noen av SWIG bindinger, kan du bruke en av følgende
kommandoer: make
check-swig-pl, make
check-swig-py, or make check-swig-rb.
Nå, som root
bruker:
make install &&
install -v -m755 -d /usr/share/doc/subversion-1.14.3 &&
cp -v -R doc/* /usr/share/doc/subversion-1.14.3
Hvis du bygde Java bindingene, kjør følgende kommando som
root
brukeren for å installere dem:
make install-javahl
Hvis du bygde Perl, Python, eller Ruby bindinger, kjør noe av de følgende
kommandoer som root
bruker for å
installere dem:
make install-swig-pl
make install-swig-py \
swig_pydir=/usr/lib/python3.12/site-packages/libsvn \
swig_pydir_extra=/usr/lib/python3.12/site-packages/svn
make install-swig-rb
Java bindingene må installeres for at testene skal kjøre, siden
testene prøver å se etter dem i CLASSPATH. For å teste resultater
av Java bindingsbygget, kjør LANG=C
make check-javahl.
Parameterforklaringer
--disable-static
: Denne
bryteren forhindrer installasjon av statiske versjoner av
bibliotekene.
--with-apache-libexecdir
:
Hvis Apache-2.4.58 er installert, de delte
Apache moduler blir bygget. Denne
bryteren gjør det mulig å installere disse modulene i Apache sin konfigurert modul mappe i stedet
for /usr/libexec
. Det har ingen
effekt hvis Apache ikke er
installert.
--with-lz4=internal
--with-utf8proc=internal
:
Fjern disse bryterne hvis du har installert de valgfrie
avhengighetene.
--enable-javahl
: muliggjør kompilering
av Java høynivå bindinger. Kjøre make
javahl er nødvendig å gjøre kompilasjonen.
--with-junit=<location of the junit jar
file>
: gir plasseringen av junit jar, ellers kan javahl
testene ikke bli kjørt.
--disable-gmock
: Ikke bruk Googlemock
testing rammeverk.