Re: Updating perl modules inside the base perl package

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Legacy Announce]     [Fedora PHP Devel]     [Kernel Devel]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Big List of Linux Books]     [Gimp]     [Yosemite Information]
  Powered by Linux