Hi Gary, on Tue, 17 Feb 2004 21:22:28 -0800 you wrote:
> It seems that RPM's (from Redhat's up2date for example) interact poorly
> sometimes with CPAN installs. Why is that?
Probably because Red Hat supplies a number of CPAN modules in the
distribution, but they are packaged in the usual way as RPMs. If you are
using package management tools like up2date, then there is an implicit
assumption that you are using package management system-wide. If you have
some stuff package-managed and some stuff not-package-managed, or (worse)
overwrite package-managed stuff with un-managed stuff without removing the
package from your database first, then it's inevitable that trying to do
updates etc. using package management will be unpredictable at best.
Consider what happens if your base distribution includes the CPAN module
Foo::Bar. One day, you decide to update it with the "perl" command line to
a newer version. Now, Red Hat then release a new revision on the older
version. When you run up2date, up2date will have no idea that you have
overwritten the module files manually, and will therefore proceed to
downgrade you back to the "newer-older" packaged version.
> What's the cure?
Be consistent in your use of package management. Either install everything
from source without package management, or install everything as RPMs, but
don't do a mixture. In the case of CPAN modules, either remove all the Red
Hat CPAN RPMs and install everything using the perl/CPAN command line, or
(preferably, so as not to break your package management dependencies for
everything else) not use the perl/CPAN command line and instead install
all CPAN modules as RPMs. There are a number of packages floating around
that will automatically package a CPAN module as an RPM, including
"cpan2rpm", "perlmod2rpm" and (my favourite) "cpanflute2".
I hit the same problem myself a few years ago, at which point I made the
decision to use package management properly, and learnt how to build my
own RPM packages for software that I wanted to build from source. So now
absolutely *everything* on my systems is package managed, which makes
updates/rollbacks/whatever easy, predictable and reliable. You can see
some of the packaging I've put together/used at
http://www.timj.co.uk/linux/rpms.php Tim