Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I've had a working Apache2 with SVN running for a long time. For some other reason I had to do a system upgrade:

apt-get upgrade

Everything seemed to go OK, except my Apache2 configuration. Now it won't start with DAV: SVN. I noticed that mod_dav_svn and mod_authz_svn were suddenly missing. So I tried to install them:

root@kolky:/etc/apache2# apt-get install libapache2-svn
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libapache2-svn : Depends: apache2.2-common but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

I can understand this is not working as my apache version is:

root@kolky:/etc/apache2# apache2 -v
Server version: Apache/2.4.4 (Debian)
Server built:   May 31 2013 10:04:32

root@kolky:/etc/apache2# svn --version
svn, version 1.7.9 (r1462340)

root@kolky:/etc/apache2# svnadmin --version
svnadmin, version 1.7.9 (r1462340)

root@kolky:/etc/apache2# cat /etc/issue
Debian GNU/Linux jessie/sid \n \l

root@kolky:/etc/apache2# uname -r
2.6.32-5-amd64

Is there a solution to this? Can I run Apache2.4.4 with mod_dav_svn somehow? Or will I have to downgrade my Apache?

share|improve this question

2 Answers 2

I will suggest you to use following repo - http://opensource.wandisco.com/debian/dists/

share|improve this answer
    
Their binaries might be right, but I still miss the apache2.2-common. –  Kolky Jun 17 '13 at 12:04

You may take a look at the bug description. Apparently you can make it work by compiling the package yourself. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=666794#17 Also, remember that you don't need to do an "apt-get upgrade" to upgrade some package. The "upgrade" operation upgrades every package you have installed. You can upgrade some package with "apt-get install package_name" instead.


Edit:

Here are the steps to do a manual build to keep web svn repositories working on:

As non root user:

cd /tmp
mkdir svn_tmp
cd svn_tmp
sudo apt-get install apache2-dev
sudo apt-get build-dep subversion
apt-get source --compile subversion

wait until the checking part begins. Then stop the process (Ctrl-C):

checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
... (Ctrl - C)

Let's edit some files. First, subversion-1.7.9/debian/control. Make sure that apache2-dev figures in Build-Depends sections (around line 7):

Build-Depends: debhelper, libneon27-gnutls-dev, libserf-dev (>= 1), zlib1g-dev,
               libapr1-dev, libaprutil1-dev, libdb5.1-dev,
               libsasl2-dev, apache2-dev,
               ...

Then, check if theres a section for libapache-2. If it's there, make sure to remove the apache2.2-common dependency. If not, add the complete section:

Package: libapache2-svn
Section: httpd
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Suggests: db5.1-util
Description: Subversion server modules for Apache
 This package provides the mod_dav_svn and mod_authz_svn modules for
 the Apache 2.2 web server.  These modules provide Subversion's WebDAV
 server backend, to serve repositories over the http and https
 protocols.  See the 'subversion' package for more information.

Then, edit subversion-1.7.9/debian/rules and make sure that ENABLE_APACHE is true:

ENABLE_APACHE        := yes

Now, we are ready to start the build process again:

cd /tmp/svn_tmp/subversion-1.7.9 && dpkg-buildpackage -b -uc

This process may take a long time. For me, has taken like 1 hour. Finally, we can install the package.

sudo dpkg -i /tmp/svn_tmp/libapache2-svn_1.7.9-1+nmu3_amd64.deb 
sudo a2enmod dav_svn
sudo a2enmod authz_svn
sudo service apache2 restart

And that's all.

share|improve this answer
    
Seems more people are fighting with this issue, strange that the package maintainer doesn't supply a solution. –  Kolky Jun 17 '13 at 12:12
    
I get E: You must put some 'source' URIs in your sources.list when calling sudo apt-get build-dep subversion –  rob Nov 15 '13 at 12:09
1  
@rob, add a deb-src line to your sources.list file. eg: If you have this line: deb http://ftp.us.debian.org/debian/ sid main non-free contrib you should add this one: deb-src http://ftp.us.debian.org/debian/ sid main non-free contrib –  glerendegui Nov 16 '13 at 16:57

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.