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

I want to use doxygen on my Debian Squeeze server, but I need the version from Debian Wheezy because this apparently contains the bugfix I need.

It's not in backports -- check packages.debian.org/search?suite=squeeze-backports&searchon=names&keywords=doxygen (I'm new here and wasn't allowed this as a proper link!)

I tried adding Wheezy to my sources.list file and running apt-get install -t wheezy doxygen but it wants to install too much from wheezy; This is a production server so can't afford this risk.

I'm assuming that compiling from source is going to want to compile all the rest of the above from source too?

Any other solutions? (e.g. some virtualisation or chrooting?) etc

share|improve this question

4 Answers 4

up vote 5 down vote accepted

Add to your /etc/apt/apt.conf:

APT::Default-release "stable";

And then you can run:

aptitude install doxygen/wheezy

(isn't the same thing as with -t)

share|improve this answer
    
Ok I had the default-release bit. I don't trust aptitude (I ran it once, it said it wanted to uninstall lots, like 'realpath'; I cancelled, ran it again and it was happy to just install doxygen...). But it worked, thanks. –  artfulrobot Oct 18 '11 at 16:28
    
with aptitude you have better dependency handling, especially when you install packages from different release, that with apt-get must be fixed by hand (like, downgrade a library package before installing a previously upgraded package). –  Giovanni Toraldo Oct 18 '11 at 18:26
    
Thanks @Giovanni –  artfulrobot Oct 18 '11 at 20:14

Compiling from source has a good chance of working. It's what backports does. When you compile a Debian package, the resulting binary package has a versioned dependency on all the libraries that the package's executables are linked against: the installed library versions may not be older than the versions used during compilation. If you recompile a wheezy package on a squeeze system, these dependencies will let you run the package on squeeze. That's assuming there isn't an explicit dependency against a package version that isn't in squeeze, which I haven't checked for the specific case of doxygen.

share|improve this answer

I would recommend using apt-pinning instead:

Add the following to /etc/apt/preferences or alternatively /etc/apt/preferences.d/pinning

Explanation: Uninstall or do not install any Debian-originated
Explanation: package versions other than those in the stable distro
Package: *
Pin: release a=stable
Pin-Priority: 900

Package: *
Pin: release o=Debian
Pin-Priority: -10

and the install the wheezy package as Giovanni pointed out:

apt-get install doxygen/wheezy
share|improve this answer
    
how is that better than Giovanni's suggestion? –  artfulrobot Apr 7 '12 at 19:52

I'm not 100% sure prevu works on debian, but it should: https://wiki.ubuntu.com/Prevu I've installed several packages with prevu from newer versions of ubuntu.

If you can't get it to work try compiling from source because maybe you won't need to compile all the libraries as they are probably already present, they are just older versions.

share|improve this answer
    
prevu looks great! but can't find it for debian :-( When you say try compiling, do you mean apt-get build-dep doxygen;apt-get source --compile doxygen;dpkg -i doxygen*.deb ? I'm sure that will draw in all the other stuff? –  artfulrobot Oct 18 '11 at 14:43

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.