Dave Miller
2011-04-23 08:18:25 UTC
There's a bunch of perl modules in the extras repo that are there
because they are packaging newer versions of stuff that's included in
core Perl in RHEL. However, they're using the default install paths,
which causes most of them to not install without --force because of
conflicts with the core perl package already on the system.
I found a way to work around this:
Using this line to invoke Makefile.PL from the spec file:
(this is for RHEL5 - fix the perl version for RHEL6 of course)
%{__perl} Makefile.PL LIB="/usr/lib/perl5/vendor_perl/5.8.8"
INSTALLMAN1DIR="/usr/local/lib/man/man1"
INSTALLMAN3DIR="/usr/local/lib/man/man3" INSTALLBIN="/usr/local/bin"
INSTALLSCRIPT="/usr/local/bin" INSTALLDIRS=perl
I know putting stuff into /usr/local from an RPM is controversial, but
this way it lets it install stuff without conflicting with core
packages, and also puts the installed files first in your path, so you
can actually use them normally. And after all, this is the extras repo,
so you're intentionally trying to override core RHEL stuff by installing
from there anyway, right?
I'd recommend the majority of the Perl module packages in the extras
repo (especially the ones that are updating modules that are included in
RHEL's core perl package) be rebuilt with that line modified as such in
the spec file, so they can be installed without conflicts.
because they are packaging newer versions of stuff that's included in
core Perl in RHEL. However, they're using the default install paths,
which causes most of them to not install without --force because of
conflicts with the core perl package already on the system.
I found a way to work around this:
Using this line to invoke Makefile.PL from the spec file:
(this is for RHEL5 - fix the perl version for RHEL6 of course)
%{__perl} Makefile.PL LIB="/usr/lib/perl5/vendor_perl/5.8.8"
INSTALLMAN1DIR="/usr/local/lib/man/man1"
INSTALLMAN3DIR="/usr/local/lib/man/man3" INSTALLBIN="/usr/local/bin"
INSTALLSCRIPT="/usr/local/bin" INSTALLDIRS=perl
I know putting stuff into /usr/local from an RPM is controversial, but
this way it lets it install stuff without conflicting with core
packages, and also puts the installed files first in your path, so you
can actually use them normally. And after all, this is the extras repo,
so you're intentionally trying to override core RHEL stuff by installing
from there anyway, right?
I'd recommend the majority of the Perl module packages in the extras
repo (especially the ones that are updating modules that are included in
RHEL's core perl package) be rebuilt with that line modified as such in
the spec file, so they can be installed without conflicts.
--
Dave Miller http://www.justdave.net/
System Administrator, Mozilla Corporation http://www.mozilla.com/
Project Leader, Bugzilla Bug Tracking System http://www.bugzilla.org/
Dave Miller http://www.justdave.net/
System Administrator, Mozilla Corporation http://www.mozilla.com/
Project Leader, Bugzilla Bug Tracking System http://www.bugzilla.org/