Over on his blog, Raphael Pinson has a post about creating a package with “minimal dependencies.” In short, make the dependencies of the package the “real” dependencies, not just the latest and greatest version of the package you rely on.
I have been waiting way too long for someone to say this. This has especially bitten me when trying to back port things like Python modules. Both debhelper and python-central versions are automatically bumped to the latest, when they will compile and install just fine with versions that are one or two distro releases old.
Then, a request for backports is bounced with the message “too many dependencies” when in reality there wouldn’t be “too many” if the dependencies were really set to what they need to be and not just whatever version is in the latest release.
In the case of Ubuntu, I personally would like to see all packages test-compiled with the versions of software that comes with the current LTS releases. Then, if it truly cannot be compiled with those versions, but the dependency to what it needs to be, but not any higher.
Related gripe: I have seen bugs in Ubuntu closed when a fix is released for the latest version, but the LTS version of the package was ignored. Maintainers: LTS means “Long Term Support,” and as long as the support window is open for that release, the package should be supported and all bug fixes backported to the package (without having to enable backports, incedentally).
Thank you Raphael for bringing this up! Hopefully this will spark discussion and make it easier in the future to backport the “latest and greatest” to the current LTS release.