MailScanner, CentOS 5 and perl-IO & perl-File-Temp

Julian Field MailScanner at ecs.soton.ac.uk
Sat Apr 11 16:55:53 IST 2009



On 11/4/09 02:24, Julian Field wrote:
>
>
> On 11/4/09 01:32, Julian Field wrote:
>>
>>
>> On 11/4/09 01:21, Julian Field wrote:
>>>
>>>
>>> On 7/4/09 16:31, Kai Schaetzl wrote:
>>>> Julian Field wrote on Sat, 04 Apr 2009 19:52:56 +0100:
>>>>
>>>>> That sounds ancient. If you check the ChangeLog on search.cpan.org I
>>>>> think you will find a whole host of bugs fixed since that version.
>>>> Who says that the important fixes are not in that version? The 
>>>> point about
>>>> enterprise distributions is that you keep a reliable system for a long
>>>> time that also gets security and serious bug fixes over this time.
> The enterprise distributions, in my experience, just upgrade the 
> version of the Perl module used to build the RPM, they don't actually 
> edit the source of the Perl code itself. So these old versions you are 
> seeing really are old versions of the code. Feel free to produce a 
> counter-example, with proof from the RPM file and/or the RedHat 
> changelog.
>
>>>>
>>>> What you are doing with your install script is about the same you 
>>>> did 5 or
>>>> more years ago. It may have been necessary back then.
> A lot of people still use old systems running RHEL3 or worse. And then 
> there's all the 5-year old Fedora systems still out there...
>
>>>> Nowadays the major
>>>> distributions are equipped with decent Perl support and with a slew 
>>>> of the
>>>> most important modules. And most other modules are usually 
>>>> available as
>>>> rpms from an external repository that specializes in that 
>>>> distribution.
>>>> Forcing rpms on top of the existing perl installation and included 
>>>> modules
>>>> is definitely something that one should not do. And it's easily 
>>>> avoidable.
>>> This is only partially true. Quite a few of the modules do not 
>>> "force install" on RHEL5 or CentOS 5 systems. One of the big 
>>> problems is that there are many Perl modules where the Makefile.PL 
>>> tells it to install in the core tree rather than the vendor or site 
>>> trees. If the module attempts to install in the core tree, there is 
>>> no alternative in the RPM built from that to "force install" it. 
>>> This is true of quite a few different Perl modules. So if you build 
>>> from CPAN you never see this. What do rpmforge and the like do about 
>>> this problem?
>>>
>>> Examples of this are bignum, File-Temp and IO, though there are 
>>> others too.
>>>
>>> You can see them in the big table of modules in the MailScanner RPM 
>>> install.sh script in the last column in the lines. This is the 
>>> "FORCE5" parameter where a "yes" makes it do a "force install" on 
>>> RHEL5/CentOS5 systems.
>> Okay, I can answer my own question. He builds them with various 
>> options to the "Makefile.PL" that I didn't know about, and over-rides 
>> the build dirs so they build into the vendor path instead of the core 
>> path.
>>
>> How about I pinch his *.spec file for each of the modules where I 
>> still "force install" on RHEL5/CentOS5 systems and stop doing the 
>> "force install" on those systems?
> I have done this, and have just released 4.76.4 which should not 
> "force install" any modules at all on a RHEL 5 or CentOS 5 system. 
> Hopefully after you have installed that, you should be able to "yum 
> update perl" on your system without any clashes at all.
>
>> Would you prefer me to do it for all the modules for RHEL4/CentOS4 
>> systems as well, or are you not bothered by that one?
> That would be a fair bigger bit of work, there are a lot of modules to 
> fix. But I'll do it if you think it is worth it.
>
> Your thoughts please... :)
>
It should now definitely install cleanly on RHEL5 and CentOS 5 without 
any problems, and without doing a "forced" install of any modules. This 
is with 4.76.6.
It won't force install any modules on any other version either, I just 
haven't had a chance to test it on these and iron out any problems yet. 
That's the next job.

I'm nearly there :) This is taking a hell of a lot of work on the 
installer, but will solve all the upgrade problems once and for all. 
There are interesting things like the fact that RedHat got the module 
path @INC totally wrong in their release of Perl in RHEL 5, with the 
result that a lot of modules simply cannot be over-ridden without doing 
a "forced" install of files to overwrite stuff in their RPM, unless of 
course you mess with @INC at the start of your Perl program (which is 
what I have done) so that the vendor and site-specific directories 
actually get consulted before the core Perl system directories.


Jules

-- 
Julian Field MEng CITP CEng
www.MailScanner.info
Buy the MailScanner book at www.MailScanner.info/store

MailScanner customisation, or any advanced system administration help?
Contact me at Jules at Jules.FM

PGP footprint: EE81 D763 3DB0 0BFD E1DC 7222 11F6 5947 1415 B654
PGP public key: http://www.jules.fm/julesfm.asc


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.



More information about the MailScanner mailing list