The hardest part about installing SVK is perhaps getting Subversion compiled with Perl bindings. As of subversion-1.2.3 it is possible to use swig-1.3.25. For versions of Subversion from 1.1.4 though 1.2.1 use swig-1.3.24. For versions earlier than 1.1.3 use swig version 1.3.21 or 1.3.19.
As of 2004-03-17, devel/svk/ is now part of the FreeBSD ports ( http://www.freshports.org/devel/svk/ ). So you can just cvsup and install it via the ports tree, and it will Just Work.
For 3.6 -current or later, devel/svk is part of the OpenBSD ports (
http://www.openbsd.org/cgi-bin/cvsweb/ports/devel/svk/ ). Update and install it via
the ports tree.
devel/svk exists in pkgsrc ( http://www.pkgsrc.org/ ), both stable and HEAD.
Debian and Ubuntu
For Debian Sarge, Ubuntu Breezy or later, simply run
% apt-get install svk
For Woody, you'll have to do a bit more gym: see InstallingOnDebianWoody. But it's well worth it :-)
Svk is in the 'universe' repository on Ubuntu.
For Ubuntu Hoary, see http://web.wt.net/~volley/svk-installation.html (broken link as of 2007-10-04)
Red Hat Enterpise Linux 5 (or CentOS, etc.)
svk is available in the EPEL Repository.
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm yum install perl-SVK
Fedora Core 3
Using yum install:
Download the svk source and untar it. If CPAN is configured (or after it's been configured), perl Makefile.PL should download and install the perl requirements to complete the compile. If the make does not install the modules, they must be installed "by hand" using the CPAN console and performing an "install <module>" until all the dependancies are installed.
Typical perl dependencies are:
- SVN-Mirror (which is dependent on SVK...)
(Some of those are optional, rather than mandatory, dependencies.)
The latest portage contains an svk ebuild. However, it's still masked (~x86) and so are many of its dependencies. Thus, you'll either have to supply the ACCEPT_KEYWORDS override (bad idea, but easy) or edit /etc/portage/package.keywords to unmask the needed packages:
% ACCEPT_KEYWORDS="~x86" emerge dev-util/svk
OR add the following to /etc/portage/package.keywords:
dev-perl/Data-Hierarchy ~x86 dev-perl/File-Temp ~x86 dev-perl/File-Type ~x86 dev-perl/IO-Digest ~x86 dev-perl/Locale-Maketext-Lexicon ~x86 dev-perl/Locale-Maketext-Simple ~x86 dev-perl/PerlIO-eol ~x86 dev-perl/PerlIO-via-dynamic ~x86 dev-perl/PerlIO-via-symlink ~x86 dev-perl/SVN-Mirror ~x86 dev-perl/SVN-Simple ~x86 dev-util/svk ~x86
% emerge dev-util/svk
You'll also need to make sure that the subversion package has been compiled with USE="perl" to include the Perl bindings.
(update 2005/05/12 by CliffordCaoile)
I recently tried to emerge svk (ebuild version "0.29") with a reduced set of masked packages in /etc/portage/package.keywords. It seems to work with just this:
dev-perl/File-Type ~x86 dev-perl/SVN-Mirror ~x86 dev-perl/SVN-Simple ~x86 dev-util/svk ~x86
Then I manually upgrade to svk-1.00 using the canonical CPAN command:
perl -MCPAN -e 'install SVK'
You can also install it using Gentoos "g-cpan" program, which installs CPAN modules as ebuilds (i.e., it automatically converts the into ebuild packages on the fly and gets it mostly right and then your CPAN modules are managed by Gentoo more or less properly):
emerge -v app-portage/g-cpan g-cpan -i SVK
First, download those needed for installing, include:
*swig: redhat 9.0 has it's own, but it's too old. Get the latest one.
*Berkeley DB library(db4): I got a few faults with db4.1. While change to db4.0, everything's ok. So, recommend you using db4.0.
To install the db4 first, then swig, last is subversion. When you finish subversion install, please follow the steps of http://svn.collab.net/repos/svn/trunk/subversion/bindings/swig/INSTALL. There're statements about install the perl-binding of subvesion that needed for SVK.
If everything done, download SVK, install it, enjoy!
Cooker mandrake after 2004-04-02 contains a package of svk ( latest version usually ).
Just use urpmi to install it, with contribs sources added, as explained on http://urpmi.org/.
Mac OS X
For a standalone Universal binary installers of SVK go to svkbuilds.
A self contained source tarball from which the above distribution can be built is svkbuild-1.08.tar.bz2.
Darwinports also has a SVK port. 'sudo port install svk' should be enough to install everything you need to use svk. (Additionally, you may want to install the p5-vcp-dest-svk and p5-vcp-source-cvsbk ports).
(For those of you trying to install on 10.3, I suggest you just use the 1.02 dmg. The only problem I had with 1.02 is that I had to initialize the depot, delete the .svk folder, then initialize it again. I tried to build 1.06 from source in several different ways but ran into errors that were listed on the mailing lists a couple years ago. I even tried fink and darwinports but ran into problems just trying to get those to work properly and I didn't want to struggle with those systems [fink gave me permissions errors that I haven't had with anything else and darwinports was missing some curl library, maybe because I'm on 10.3.9?]. - Ajay on 2/8/06
Update - I recently tried to upgrade to 1.06-2 and 1.05-1 on Panther using the dmg files provided but I had problems with the enclosed svn and svk. I then tried SVK-1.04.dmg and it appears to work so far. - Ajay on 6/23/06
Cygwin on MS Windows
Cygwin is a UNIX emulation layer for MS Windows. The Subversion and Perl that comes with Cygwin appears
to have the correct bindings.
So is it as simple as following the Linux instructions?....
Rest to filled in
Actually its not quite that simple. Everything other than SVK installs fine. But in SVK, the tests fail left and right.
p.s. PerlIO-via-dynamic has a minor issue too. you have to remove inc/ to get it to compile. The version of Module::Build that is built into that distribution is old and doesn't work on cygwin either. The standard Module::Build works fine with it, though.
See http://web.wt.net/~volley/svk-installation.html (same link as above for Ubuntu Hoary) (broken link as of 2007-10-04).
RHEL 4 comes with subversion 1.1.4. SVN::Mirror needs 1.2.0 at least. You can get precompiled binaries of more recent versions at http://dag.wieers.com/rpm/packages/subversion/ or http://summersoft.fay.ar.us/pub/subversion/1.4.6/rhel-4/.
Building SVK by hand
You need subversion 0.36 release or newer (but 1.1.0 or above is preferred), with perl bindings support
to use svk.
svk uses the standard perl module install process:
% perl Makefile.PL % make % make test # make install
all in one tar.gz (i386)
% cd /tmp % wget -c http://soulinfo.com/~hugang/svk/bin/opt_svk_i386_all.tgz % cd / % tar -zxvf /tmp/opt_svk_i386_all.tgz % /opt/svk/perl5.8.4/bin/svk help - Hu gang <hugang at soulinfo.com>