MailScanner 4.66.5 woes on Centos 5.1

Tom G. Christensen tgc at statsbiblioteket.dk
Mon Feb 18 13:21:31 GMT 2008


Julian Field wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> 
> 
> Hugo van der Kooij wrote:
>> * PGP Signed by an unverified key: 02/17/08 at 16:16:02
>>
>> shuttlebox wrote:
>> | On Feb 17, 2008 3:33 PM, Julian Field <MailScanner at ecs.soton.ac.uk> 
>> wrote:
>> |> One other possibility is to much with the installation setup of 
>> each of
>> |> my required Perl modules, so that they are always installed in the
>> |> "site" tree which should be out of the way of CPAN and RPM. Not 
>> sure how
>> |> easy it is to do that though. Any thoughts?
>> |
>> | I've been dealing with this on Solaris and even though I packaged a IO
>> | 1.2301 module it used the older one from within Perl itself, it only
>> | searches the INC until it finds a match, it doesn't go through the
>> | whole INC and uses the latest module if there are more than one match.
>> | I had to use PERLLIB in a few places and didn't like it so I haven't
>> | officially released a 4.66 Blastwave package. Instead I have asked the
>> | maintainer of Perl to update the included IO which haven't happened
>> | yet. :-(
>>
>> In the case of the RPM version we need to find a way to add the files
>> without hitting the one from the main perl package. The rpmforge package
>> does not hit a conflict on any regular files. Just on the manual pages.
>>
>> If these are properly markes as documentation we just might get away
>> with it .... .... ..
>>
>> Right. First try to install it with yum. That will fail but download the
>> package anyway. Then install it without the documentation:
>>
>> rpm -Uvh
>> /var/cache/yum/rpmforge/packages/perl-IO-1.2301-1.el5.rf.i386.rpm
>> --excludedocs
>>
>> That installs the required package with an acceptable kludge. It does
>> satisfy my wish to avoid the --force option.
> Slight snag. This package was put together by someone who doesn't 
> actually understand what they are doing. They have got round the 
> clashing file problems by putting it into the "vendorperl" instead of 
> "perl" tree. But the "perl" tree is earlier in @INC than "vendorperl".
> 
Careful now. Dag is well aware of this issue and has stated many times 
that there is no good solution for RHEL < 5.
On rhel5 however this is nolonger an issue:
$ cat /etc/redhat-release
CentOS release 5 (Final)
$ perl -V
Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
<snip>
   Built under linux
   Compiled at Nov  8 2007 06:49:16
   @INC:
     /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi
     /usr/lib/perl5/site_perl/5.8.7/i386-linux-thread-multi
     /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi
     /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi
     /usr/lib/perl5/site_perl/5.8.8
     /usr/lib/perl5/site_perl/5.8.7
     /usr/lib/perl5/site_perl/5.8.6
     /usr/lib/perl5/site_perl/5.8.5
     /usr/lib/perl5/site_perl
     /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi
     /usr/lib/perl5/vendor_perl/5.8.7/i386-linux-thread-multi
     /usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi
     /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi
     /usr/lib/perl5/vendor_perl/5.8.8
     /usr/lib/perl5/vendor_perl/5.8.7
     /usr/lib/perl5/vendor_perl/5.8.6
     /usr/lib/perl5/vendor_perl/5.8.5
     /usr/lib/perl5/vendor_perl
     /usr/lib/perl5/5.8.8/i386-linux-thread-multi
     /usr/lib/perl5/5.8.8
     .

See?
It searches vendor_perl before the core paths.

> So the nice new version you just installed isn't actually used at all.
>
True on RHEL/CentOS < 5.

> To prove it to yourself...
> Try editing the code in the file (e.g. put a syntax error in it), and 
> then run this command. It should fail as there is a syntax error in 
> IO.pm which is where the perl-IO rpm is installed.
>     perl -MIO -e 'print $IO::VERSION;'
> You'll find it still works perfectly, as it isn't using the version you 
> just installed from dag.wieers.com.
> 
> Oops.
> 
> If it was that easy, I would have done it years ago :-)
> 
Did you actually try this on rhel5?

To avoid egg on my face I did, here's the result:
$ cat /etc/redhat-release
CentOS release 5 (Final)
# rpm --excludedocs -i perl-IO-1.2301-1.el5.rf.i386.rpm
# rpm -q perl perl-IO
perl-5.8.8-10.el5_0.2
perl-IO-1.2301-1.el5.rf
$ perl -MIO -e 'print $IO::VERSION;'
1.23
# rpm -e perl-IO
$ perl -MIO -e 'print $IO::VERSION;'
1.22

Seems to work okay to me.

-tgc


More information about the MailScanner mailing list