Installing SVK

SVK is a set of Perl 5 modules written on top of Subversion's Perl bindings. In order to run SVK you will need to install Subversion with Perl bindings. Subversion itself is built on a portability layer called APR (Apache Portable Runtime library). This means SVK should work on any operating system that supports Perl 5 and the Apache httpd server runs on: Windows, Linux, all flavors of BSD, Mac OS X, Netware, and others.

The easiest way to get SVK is to download a binary package built for your operating system. SVK's website (http://svk.elixus.org) often has these packages available for download, posted by volunteers. The site usually contains graphical installer packages for users of Apple and Microsoft operating systems. If you run a Unix-like operating system, you can use your system's native package distribution system (RPMs, DEBs, the ports tree, etc.) to get SVK.

Alternately, you can build SVK directly from source code. Below are instructions from the SVK wiki at http://svk.elixus.org/index.php?BuildingSvkInYourHomeDirectory, on how to build SVK in your home directory without root access:

#!/bin/sh

# Install Perl
curl -O http://www.cpan.org/src/stable.tar.gz
tar xzf stable.tar.gz
cd perl-5*
sh Configure -ders -Dprefix=$HOME/local
make
make test # I didn't really do this step :P
make install
cd ..
export PATH=$HOME/local/bin:$PATH

# Install CPAN Modules
rm -f $HOME/local/lib/perl5/5.8.6/CPAN/Config.pm
rm -fr .cpan
perl -e 'print "\n\n\n\n\n\n\n\nfollow\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n5\n4\n1\n\nq\n"' > answers
perl -MCPAN -eshell < answers
rm answers
cpan Bundle::CPAN < /dev/null
cpan LWP < /dev/null
cpan ExtUtils::AutoInstall < /dev/null
cpan Module::Build < /dev/null
cpan Module::Install < /dev/null
cpan Module::Signature < /dev/null
cpan SVN::Simple::Edit < /dev/null
cpan version < /dev/null
cpan Sort::amic < /dev/null
cpan PerlIO::via::symlink < /dev/null
cpan IO::Digest < /dev/null
cpan Date::Parse < /dev/null
cpan File::Type < /dev/null
cpan PerlIO::eol < /dev/null
cpan Locale::Maketext::Simple < /dev/null
cpan Locale::Maketext::Lexicon < /dev/null
cpan FreezeThaw < /dev/null
cpan HTML::Element < /dev/null
cpan IPC::Run3 < /dev/null
cpan Pod::HTML_Elements < /dev/null
cpan Text::Diff < /dev/null
cpan XML::ValidWriter < /dev/null
cpan VCP::Dest::svk < /dev/null

# Install Apache 2.0
wget http://apache.mirrors.pair.com/httpd/httpd-2.0.52.tar.gz
tar xzf httpd-2.0.52.tar.gz 
./configure --prefix=$HOME/local/apache2 --enable-mods-shared='headers rewrite dav ssl'
make
make install
cd ..
# XXX Apache configuration/startup juju goes here...

# Install SWIG
wget http://optusnet.dl.sourceforge.net/sourceforge/swig/swig-1.3.19.tar.gz
tar xzf swig-1.3.24.tar.gz 
cd SWIG-1.3.24/
./configure --with-perl5=$HOME/local/bin/perl5.8.6 --prefix=$HOME/local
make
make install
cd ..

# Install Subversion
wget http://subversion.tigris.org/tarballs/subversion-1.2.1.tar.gz
tar xzf subversion-1.2.1.tar.gz 
cd subversion-1.2.1
./configure \
  SWIG=$HOME/local/bin/swig \
  PERL=$HOME/local/bin/perl5.8.6 \
  --prefix=$HOME/local \
  --with-apxs=$HOME/local/apache2/bin/apxs
make
make swig-pl
make check-swig-pl
make install
make install-swig-pl
cd ..

# Install SVN-Mirror
svn co svn://svn.clkao.org/member/clkao/modules/SVN-Mirror/ SVN-Mirror
cd SVN-Mirror
perl Makefile.PL
make
make test
make install
cd ..

# Install VCP
wget http://search.cpan.org/CPAN/authors/id/A/AU/AUTRIJUS/VCP-autrijus-snapshot-0.9-20050110.tar.gz
tar xzf VCP-autrijus-snapshot-0.9-20050110.tar.gz 
cd VCP-autrijus-snapshot-0.9-20050110
perl Makefile.PL
make
make test
make install
cd ..

# Install SVK
svn co svn://svn.clkao.org/svk/trunk svk
cd svk/
perl Makefile.PL
make
make test
make install
cd ..
rm -fr SVN-Mirror SWIG-1.3.24 perl-5.8.6 stable.tar.gz \
       subversion-1.2.1* svk swig-1.3.24.tar.gz 
svk help commands

# Done!