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).
- We'll start off by creating a directory for this process.
``` mkdir subversion ``` - Next, download the source packages from the debian packages site.. They're on the right.
- Now, unzip them.
``` gunzip subversion_1.5.0dfsg1-4.diff.gz tar xfvz subversion_1.5.0dfsg1.orig.tar.gz ``` - The first file was patch with debian specific changes, we'll need to apply this patch to the source tree.
``` patch -p0 < subversion_1.5.0dfsg1-4.diff ``` - Enter the source directory
``` cd subversion-1.5.0dfsg1/ ``` - We'll need to change some file permissions to make this work.
``` chmod 755 debian/rules ``` - Now we switch to the root user, because we need to install some dependencies.
``` # Assuming you're root apt-get build-dep subversion apt-get install python-all-dev libneon26-dev quilt libsasl2-dev fakeroot debhelper ``` - Switch back from root to your normal user.
- 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.
``` ENABLE_JAVAHL := no ``` - Now we can get started building the package.
``` dpkg-buildpackage -rfakeroot -uc -b -d ```
- 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:
``` dpkg -i *.deb ```
</ol>
Comments
Chris •
Thanks for your work and for publishing it! Worked flawlessly on my etch system. Exactly what the doctor ordered...Sven •
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. ;-)
Evert •
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
Felixdv •
You would need the fakeroot and debhelper packages too, to do this.Evert •
Thanks! I already had those on my system, so I added it to the instructionsMartijn •
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."
PJ •
One tip:Instead of manually unpacking the .orig.gz and applying the patch(es), you can do
dpkg-source -x
and it will be done for you.
Jerry Loggins •
I love your "compiling" cartoon! Too funny!Evert •
Can't take credit for that! I love XKCDMichael •
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
kL •
aaargh, make failed because it lacked *doxygen*!kL •
aaargh, make failed because it lacked *doxygen*!Dominic Hargreaves •
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!
Thomas Einwaller •
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 thatjose •
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
Evert •
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
jose •
thank you evertsteve •
You can also doDEB_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...