Subversion 1.5 for debian Etch

The Subversion team released version 1.5 recently, with some really tight features such as changelist and merge tracking.

In our shop we standardized on Debian, and it's very likely going to take till 5.0 (lenny) until we get access. Normally I would just do a compile from source, but since this will have to be done on multiple servers, I decided to backport subversion from Lenny to create a nice little .deb package.

Here are my steps, (tested on just my machine, so please try at your own risk).

  1. We'll start off by creating a directory for this process.
    1. mkdir subversion
  2. Next, download the source packages from the debian packages site.. They're on the right.
  3. Now, unzip them.
    1. gunzip subversion_1.5.0dfsg1-4.diff.gz
    2. tar xfvz subversion_1.5.0dfsg1.orig.tar.gz
  4. The first file was patch with debian specific changes, we'll need to apply this patch to the source tree.
    1. patch -p0 < subversion_1.5.0dfsg1-4.diff
  5. Enter the source directory
    1. cd subversion-1.5.0dfsg1/
  6. We'll need to change some file permissions to make this work.
    1. chmod 755 debian/rules
  7. Now we switch to the root user, because we need to install some dependencies.
    1. # Assuming you're root
    2. apt-get build-dep subversion
    3. apt-get install python-all-dev libneon26-dev quilt libsasl2-dev fakeroot debhelper
  8. Switch back from root to your normal user.
  9. I've had some issues making creating the java hooks. To get around this, we'll need to disable them. Do this by opening the 'debian/rules' file and change the line that says 'ENABLE_JAVAHL' to no. For me this was on line 21.
    1. ENABLE_JAVAHL := no
  10. Now we can get started building the package.
    1. dpkg-buildpackage -rfakeroot -uc -b -d

  11. Compiling!
  12. If everything went well, you should have ended up with about 10 .deb packages in the directory right above the source directory. You can simply install all of them with:
    1. dpkg -i *.deb

18 Responses to Subversion 1.5 for debian Etch

  1. 659 Chris 2008-08-02 7:18 pm

    Thanks for your work and for publishing it! Worked flawlessly on my etch system. Exactly what the doctor ordered...

  2. 657 Sven 2008-08-05 2:41 pm

    But your solution doesn't solve the problem that bugfixes won't be installed to your installation any more. That's really bad, espacially because debian etch claims to be a well tested system, etc.

    There's nothing better than Gentoo:
    # echo "subversion" >> /etc/portage/package.keywords
    # emerge subversion
    And you'll get the latest well tested version of subversion (which means of the 1.5 branch and later, but no devel version). Always. ;-)

  3. 658 Evert 2008-08-05 3:28 pm

    Sven,

    You can simply repeat this process for newer versions.

    Great that gentoo does it with a 2 simple commands, however, I wouldn't trust it for our production machines.

    Evert

  4. 655 Felixdv 2008-08-06 11:10 am

    You would need the fakeroot and debhelper packages too, to do this.

  5. 656 Evert 2008-08-06 12:15 pm

    Thanks! I already had those on my system, so I added it to the instructions

  6. 660 Martijn 2008-08-14 6:40 am

    Hey sven, check this out:

    http://funroll-loops.info/

    Many interesting Gentoo quotes, but this is my all time favorite:
    "I'm currently isntalling Gentoo from stage 1 on 300Mhz laptop with 128 megs of RAM. And the compilation is not an issue. That guy sounds like he plans to do all the compiling during the time he would normally be using the computer. Why not do like I did? I started the bootstrap when I was on my way to bed. In the morning, it was finished. Before I went to work, I emerged system. When I got back home, it was done. X and Fluxbox were both installed during the night, no problems there. I didn't lose any time compiling all that software."

  7. 654 PJ 2008-08-27 7:29 pm

    One tip:

    Instead of manually unpacking the .orig.gz and applying the patch(es), you can do

    dpkg-source -x .dsc

    and it will be done for you.

  8. 662 Jerry Loggins 2008-09-01 12:06 pm

    I love your "compiling" cartoon! Too funny!

  9. 663 Evert 2008-09-01 6:34 pm

    Can't take credit for that! I love XKCD

  10. 661 Michael 2008-09-24 10:03 am

    I needed to install a bunch of other things as well, including:

    swig, libapr1, libapr1-dev, libaprutil1, libaprutil1-dev

    It also asked for apxs, which I disabled in debian/rules

  11. 653 kL 2008-10-06 1:57 pm

    aaargh, make failed because it lacked *doxygen*!

  12. 652 kL 2008-10-06 3:57 pm

    aaargh, make failed because it lacked *doxygen*!

  13. 651 Dominic Hargreaves 2008-10-08 2:18 pm

    I've done almost exactly this (without java support, hence not on backports.org):

    http://people.debian.org/~dom/ - etch-backports repository there

    Feel free to use!

  14. 650 Thomas Einwaller 2008-12-06 3:51 pm

    do not forget to run svnadmin upgrade on all your repositories after installing the new version - I always got "Retrieval of mergeinfo unsupported ..." before I did that

  15. 664 jose 2009-01-26 7:22 am

    hi,
    quick question: after the built my deb packages seem to be built for an AMD64 platform whereas my server is an intel platform, anything I missed here or I can go ahead with those ?

    thank you

  16. 665 Evert 2009-01-26 3:32 pm

    Jose,

    The 'amd64' identifier is also used for intel chips. Basically any 'intel-compatible' 64bit architecture is named amd64, because they just followed intel's spec.

    http://en.wikipedia.org/wiki/Amd64

    Evert

  17. 666 jose 2009-01-26 3:56 pm

    thank you evert

  18. 667 steve 2009-02-12 10:46 pm

    You can also do
    DEB_BUILD_OPTIONS="no-javahl" dpkg-buildpackage -rfakeroot -uc -b -d
    (and more opts to reduce the number of needed packages:
    no-apache no-ruby
    This avoids editing the debian/rules...



About

My name is Evert, and I've been writing semi-regularly on this blog since 2006.

I'm currently available for contract work.

more info.

Subscribe

Dropbox

Dropbox is a simple cross-platform online backup and sync application. The first 2GB of space is free, and both you and me get an extra 250MB extra space if you sign up through this link.