2

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?

3 Answers 3

1

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

1
  • Their binaries might be right, but I still miss the apache2.2-common.
    – Kolky
    Jun 17, 2013 at 12:04
1

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.

5
  • 1
    Seems more people are fighting with this issue, strange that the package maintainer doesn't supply a solution.
    – Kolky
    Jun 17, 2013 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, 2013 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 Nov 16, 2013 at 16:57
  • I get this error: checking whether Apache version is compatible with APR version... no configure: error: Apache version incompatible with APR version make: *** [debian/stamp-configure] Error 1 dpkg-buildpackage: error: debian/rules build gave error exit status 2
    – TJ L
    Feb 6, 2015 at 14:44
  • @tj111 The original question was about some specific issue with apache's 2.4.4 version. This problem is now fixed in the original package. Why are you trying to build this package? I suggest you to create another question. Feb 12, 2015 at 17:58
1

Adding ppa:ondrej/apache2 to your can help install missing Apache2 packages, especially if you've recently added the PHP 5 latest repository (from this answer):

sudo add-apt-repository ppa:ondrej/apache2
sudo apt-get update
sudo apt-get install libapache2-svn

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .