I understand this is going to sound a retro & counter-intuitive:
"Use the source,Luke"
I've run into exactly these problems with almost every distro family:
Rpm-Yum-Centos-FC, Deb-Apt-Get-Ubuntu, Slack*, Bsd/& Gentoo. For me?
I created a source hierarchy and a few build scripts several years ago for our
needs and because of these we have 100% distro (& architecture) independence.
It takes < 3 hours to port (really just copy and make) our stuff onto
anybody's linux:RS Cloud, Slice, Ec2, generic dedicated hosts,etc.
Every few months I upgrade some part (php,httpd,mysql,etc)
For me the tradeoffs are well worth it. I don't have to worry
about upstream folks keeping the right stuff on hand. My build script checks
to see whether we have make and gcc installed and adds those if not,etc.
I find out the versions and features we need and also have some QA tests
for a build,but once you get set up with your own source hierarchy, and
have automated building testing and installation, life is easier for me.
I created it to help w/ my then nightmarish upgrade from apache 1.3.x. php5.0.x
(cgi mode no less) & mysql4 to apache 2.2.x,php5.2.5/mysql5.0 a few years
back. I think for going from php5.2.5 to php5.3.3 I had to only change a couple
I'm rather annoyed at the crazy dependencies that exist in most
of the main line repositories. If I want to install ImageMagick from
a package manager, I end up with all this Xwindows cruft,that has
no value to us at all.
You could even ... put your build stuff in your fave SCM (svn,git,etc) and
just check out your stuff and go. Or drive it all with chef,puppet or even
(don't laugh) expect :-)
Lastly,I try to keep machines in a farm at the same distro,and architecture,
and then I can just copy our binaries around.