Debian has a wonderful package system. And it has a whole range of very useful tools to make backports easier - for example, by using debootstrap to set up a chroot environment where you can safely gather the packages you need for the build and then create a corresponding package. I've used the whole thing several times, it's really great.
However, it can sometimes drive you crazy. I wanted to install the latest SQLite from Debian Testing. To do that, I first need the necessary tools to build the package. Since I had just set up a new chroot environment, not everything was there yet - for example, I was missing cdbs, a very powerful (and by now widely used) tool for easy creation of Debian packages. I had ported it once before, but I thought the opportunity was good to build a current version.
Or so I thought. It started off quite harmlessly - for the documentation it needs springgraph - a tool for formatting graphs. The tool itself actually has no build dependencies (except for the mandatory debhelpers). Fine. It also builds very quickly. When installing it, it complains about missing Perl modules for the GD2 integration. Okay, porting Perl modules is often tedious, but this one actually looked quite simple. A series of build dependencies, sure, but otherwise harmless. Except for the fact that it needs cdbs to build.
Aaaaarghl!!!!
Okay, I know what you have to do. Still. Sometimes I get the feeling that the Debian maintainers secretly get together to drive me crazy.