On 9/8/06, Nigel Metheringham <Nigel.Metheringham@xxxxxxxxxxxxxxxxxxxxxx> wrote:
Ian Burrell wrote: > Do the modules have a separate life in CPAN? There are a few like CGI > and CPAN that are included in the perl but also distributed > separately. The perl RPM has obsoletes tp get rid of the old separate > packages. One solution is to modify the perl spec to remove the > obsolete (or make them versioned). There was a recent bug about doing > this for Fedora. Then you would build and install separate packages > for the newer version. An example of modules that I have problems with in RHEL/Centos (not Fedora as that has a much more recent version of perl) are:- * Test::Simple * Scalar::Util The last is particularly relevant as the one that ships with RHEL4 perl does not handle weaken, so some stuff just cannot work without it. Updating all of perl and keeping your own perl rpm maintained is a complete pain. And if you do drastically upgrade perl (ie use the Fedora 5 rpm rebuilt for RHEL) then you will probably have to rebuild a pile of the other rpms to match too. Being able to deal with individual packages would be far far better. Or being able to override stock modules with later versions without needing deep INC mangling magic would be good too.
Those both have separate distributions on CPAN in addition to being included in perl. Separate packages could be built from the newer releases. Unfortunately, there is a problem in getting them used. On RHEL 4 is that the include directories go (taking out multiple versions and binary directories): /usr/lib/perl5/5.8.5 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.5 If you install the separate packages in vendor_perl (this requires special options while building), they won't be used. If you install them in /usr/lib/perl5/5.8.5 (the default), the files will conflict with the perl RPM. The FC5 perl fixes the problem by changing the order so that the vendor_perl directory comes first. /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/5.8.8 My impression is that the RHEL 4 perl 5.8.5 is binary compatible with the FC5 5.8.8. This is controlled by the "perl(:MODULE_COMPAT_5.8.3)" requirements. And by the default INC including the 5.8.3/i386-linux-thread-multi and later direcrtories. - Ian