Because my working copies have been migrated to 1.7, I really need this Subversion version even after Debian upgrade to Wheezy. And of course, I am lasy, I have no time to waste in compiling and want my Debian system to be clean – so I just want a debian package. WanDisco provides one… but for Squeeze.
Here is the way to install latest Subversion 1.7.x from WanDisco repository on Debian:
wget -q -O - http://opensource.wandisco.com/wandisco-debian.gpg | sudo apt-key add -
echo "deb http://opensource.wandisco.com/debian/ squeeze svn17" > /etc/apt/sources.list.d/wandisco-subversion.list
apt-get install subversion subversion-tools
But this fails on Wheezy because Berkeley DB package (that no Subversion users use since years…)
libdb4.8 has been renamed into
db4.8-util and is declared as dependency for
libsvn1. I consider that dependency should be declared as recommended instead of mandatary… By the way, how to get it installed on Wheezy ?
equivs package, we will create an empty configuration package called
libdb4.8 to satisfy WanDisco
libsvn1 squeeze package.
apt-get install equivs
cat > libdb4.8-control-wheezy <<EOF
### Commented entries have reasonable defaults.
### Uncomment to edit them.
# Source: <source package name; defaults to package name>
# Homepage: <enter URL here; no default>
Maintainer: Yves Martin <firstname.lastname@example.org>
# Pre-Depends: <comma-separated list of packages>
# Recommends: <comma-separated list of packages>
# Suggests: <comma-separated list of packages>
# Provides: <comma-separated list of packages>
# Replaces: <comma-separated list of packages>
# Copyright: <copyright file; defaults to GPL2>
# Changelog: <changelog file; defaults to a generic changelog>
# Readme: <README.Debian file; defaults to a generic one>
# Extra-Files: <comma-separated list of additional files for the doc directory>
# Files: <pair of space-separated paths; First is file to include, second is destination>
# <more pairs, if there's more than one file to include. Notice the starting space>
Description: Link to new package name db4.8-util
apt-get install db4.8-util
dpkg -i libdb4.8_4.8.30-fake_all.deb
Of course the control file may be improved with more relevant information, but it does the job. Subversion 1.7 is now installed properly and running on Wheezy without compilation.
If you have a StackExchange account, please vote for the question « How to tell apt that dependencies are resolved manually » which was a great help to create this procedure.
Hope this help.
Remark: if your APT configuration uses pinning, you may get troubles with
libserf1. To avoid it, you shoud restrict pinning from WanDisco repository to subversion packages with patterns. Here is my
/etc/apt/preferences.d/wandisco-subversion.pref, you probably will have to tune it to your system.
Package: *subversion* *svn*
Pin: origin opensource.wandisco.com