W ostatniej stabilnej wersji Debiana najnowszą dostępną wersją Subversion jest 1.6.12. Wersja 1.7 przynosi wiele udogodnień, m.in. informacje o kopii roboczej przechowywane są w katalogu „.svn” znajdującym się w głównym katalogu kopii roboczej. Wcześniejsze wersje tworzyły foldery „.svn” w każdym podkatalogu. Zmiana pozwala na uniknięcie wielu problemów związanych z przenoszeniem lub kopiowaniem plików w obrębie kopii roboczej.
Pobieramy, rozpakowujemy ostatnią stabilną wersję Subversion. Obecnie jest to wersja numer 1.7.4. Następnie uruchamiamy konfigurację.
wget http://apache.mirror.aussiehq.net.au/subversion/subversion-1.7.4.tar.gz tar xvzf subversion-1.7.4.tar.gz cd subversion-1.7.4 ./autogen.sh ./configure
Próba skonfigurowania źródeł prawdopodobnie zakończy się komunikatem o braku biblioteki sqlite.
checking sqlite library version (via pkg-config)... no An appropriate version of sqlite could not be found. We recommmend 3.7.6.3, but require at least 3.6.18. Please either install a newer sqlite on this system or get the sqlite 3.7.6.3 amalgamation from: http://www.sqlite.org/sqlite-amalgamation-3.7.6.3.tar.gz unpack the archive using tar/gunzip and copy sqlite3.c from the resulting directory to: /root/sources/subversion-1.7.4/sqlite-amalgamation/sqlite3.c
Pobieramy paczkę i kopiujemy plik sqlite.c do katalogu ze źródłami Subversion.
cd .. wget http://sqlite.org/sqlite-autoconf-3071000.tar.gz tar xvzf sqlite-autoconf-3071000.tar.gz mkdir subversion-1.7.4/sqlite-amalgamation cp sqlite-autoconf-3071000/sqlite3.c subversion-1.7.4/sqlite-amalgamation/sqlite3.c
Wracamy do Subversion.
cd subversion-1.7.4 ./configure
Możliwe, że otrzymamy informację o braku systemu plików BDB.
configure: WARNING: we have configured without BDB filesystem support You don't seem to have Berkeley DB version 4.0.14 or newer installed and linked to APR-UTIL. We have created Makefile which will build Subversion without support for the Berkeley DB back-end. You can find the latest version of Berkeley DB here: http://www.oracle.com/technology/software/products/berkeley-db/index.html
Ze strony wskazanej w komunikacie pobieramy plik db-5.3.15.tar.gz. Wymagane jest założenie konta oraz rejestracja, więc wspomniany plik udostępniam tutaj.
Po pobraniu, instalujemy Berkeley DB:
tar xvzf db-5.3.15.tar.gz cd db-5.3.15 ./dist/configure make make install
następnie apr:
wget http://ftp.tpnet.pl/vol/d1/apache/apr/apr-1.4.6.tar.gz tar xvzf apr-1.4.6.tar.gz cd apr-1.4.6 ./configure make make install
oraz apr-util:
wget http://ftp.tpnet.pl/vol/d1/apache/apr/apr-util-1.4.1.tar.gz tar xvzf apr-util-1.4.1.tar.gz cd apr-util-1.4.1 ./configure --with-apr=/usr/local/apr/ --with-berkeley-db=/usr/local/BerkeleyDB.5.3/bin/ make make install
Ponownie wracamy do katalogu Subversion i uruchamiamy konfigurację wskazując ścieżki do nowo zainstalowanych aplikacji.
cd ../subversion-1.7.4 ./configure --with-apr=/usr/local/apr/bin/ --with-apr-util=/usr/local/apr/bin/ make make install
Tym razem konfiguracja oraz instalacje przebiega pomyślnie. Zainstalowane aplikacje znajdują się w katalogu /usr/local/bin:
find /usr/local/bin -name svn*
Aktualizacja repozytoriów
Jeżeli na serwerze posiadamy repozytoria utworzone przy pomocy starszej wersji Subversion, to możemy je zaktulizować do nowszej wersji przy pomocy aplikacji svnadmin. Przy wykonaniem poniższego polecenia warto wykonać kopię każdego repozytorium.
svnadmin upgrade /path/to/repository
Od teraz wszystkie repozytoria będą w najnowszej wersji.
Uaktualnienie
Subversion można skonfigurować z opcją „–without-berkeley-db”, aby uniknąć konieczności instalowania Berkeley DB oraz „–with-neon „, aby zapewnić wsparcie dla protokołów HTTP i HTTPS.
apt-get install libneon27-dev ./configure --with-apr=/usr/local/apr/bin/ --with-apr-util=/usr/local/apr/bin/ --with-ssl --with-neon
Bez ostatniej opcji próba pobrania repozytorium przy pomocy np. modułu dav_svn do Apache’a zakończy się komunikatem błędu.
svn: E170000: Unrecognized URL scheme for 'https...
Linki
http://subversion.apache.org/download/
http://apr.apache.org/
http://sqlite.org/
http://www.oracle.com/technetwork/database/berkeleydb/downloads/index.html
http://www.docstoc.com/docs/21393790/How-to-install-Subversion-in-CentOS-5
http://plod.fann.im/t/267