[CentOS] Older versions of packages disappearing from yum repos

Sun Mar 10 16:52:26 UTC 2013
Brian Lalor <blalor at bravo5.org>

I've been designing the infrastructure for a new team using CentOS 6 and Puppet.  I'm still learning Puppet, but thought I had things pretty well under control.  After this week, I'm beginning to wonder… :-)

In the last week I've had versions of three packages disappear from the yum repositories I'm using, both EPEL and the standard ones from a base CentOS 6.3 install.  Since I'm trying to install specific versions of packages with Puppet, this is a problem.  The most recent one that just turned up this morning is kernel-devel.  I have the following resource defined in one of my Puppet manifests:

   package {"kernel-devel-${::kernelrelease}":
       alias => 'kernel-devel',
   }

I'm trying to ensure that I've got the kernel-devel package installed that matches the kernel I'm currently using. I naively assumed that once a package was made available via the official CentOS mirrors that it would never disappear.  That doesn't appear to be the case.  I have  kernel-2.6.32-279.19.1.el6.x86_64 installed. kernel-devel-2.6.32-279.19.1.el6.x86_64 is gone, apparently replaced with kernel-devel-2.6.32-358.0.1.el6.x86_64. I have a couple of other packages that have given me problems, too, namely ngircd which was upgraded from 18 to 20.1.

How do I manage this problem?  Do I need to maintain my own mirrors?  That seems like a horrible solution.  Is there another CentOS repository I should be using?  Am I just going about this all wrong?

Thanks,
Brian

--
Brian Lalor
blalor at bravo5.org