On Mon, 30 Jun 2008, Peter Willis wrote:
Dag Wieers wrote:
On Mon, 30 Jun 2008, Peter Willis wrote:
Hi, there are a couple perl modules in rpmforge which upgrade older
versions in perl core, but the perl modules have man pages which exist in
perl core and prevent them from being installed. These seem to be
requirements for other perl modules so it is preventing yum from
installing other modules. Here are some example errors from yum:
file /usr/share/man/man3/IO::Socket::UNIX.3pm.gz from install of
perl-IO-1.2301-1.el5.rf conflicts with file from package
perl-5.8.8-10.el5_0.2
file /usr/bin/enc2xs from install of perl-Encode-2.25-1.el5.rf conflicts
with file from package perl-5.8.8-10.el5_0.2
file /usr/share/man/man3/Encode.3pm.gz from install of
perl-Encode-2.25-1.el5.rf conflicts with file from package
perl-5.8.8-10.el5_0.2
file /usr/share/man/man3/Getopt::Long.3pm.gz from install of
perl-Getopt-Long-2.37-1.el5.rf conflicts with file from package
perl-5.8.8-10.el5_0.2
file /usr/share/man/man3/Test::Harness.3pm.gz from install of
perl-Test-Harness-3.11-1.el5.rf conflicts with file from package
perl-5.8.8-10.el5_0.2
The solution is to disable building those packages on RHEL5, rather then to
remove the manpage.
I haven't yet researched the exact requirements of the dependent modules but
I think they are built because newer versions are required to obtain new
functionality/support for other 3rd-party modules. I think if they aren't
built the other modules will not build/install, which if true would simply
block support for those 3rd-party modules.
Correct. The message to anyone using perl modules is:
If you want your product to work on RHEL4, or RHEL5, then do not
require any newer versions of those perl modules.
We do not want to replace perl modules that come with RHEL because that
would invalidate that RHEL release.
The application should be written to work on RHEL, RHEL should not be
modified to assist an application. The main reason would be that otherwise
applications would not be able to coexist on a single RHEL. Maybe needing
incompatible versions of the same perl module.
And if you *do* want a certain application to run on a RHEL release, then
it should ship its own perl modules in its own perl-module path to not
affect the system itself.
The same is true for PHP, python and other languages. You build the
application to work on an OS and not the other way around.
Would changing the mandir to /usr/local/share/man be an acceptable fix? If
it's not already in the default MANPATH you could add an
/etc/profile.d/manpath.[c]sh which added it. For bindir files you could
rename those files (for the few perl modules that install files into bindir)
with a ".new" extension and add a %post section that for each non-symlink
file on a system which matched the original file name, mv the file to
file.bak and symlink the file.new to the base file name.
I'll first find out if upgrading these modules is required for any 3rd-party
modules already in rpmforge and reply to the list with the results.
Changing the manpath will not make a difference to the reason why we would
not like those perl modules in the first place. We are lucky they could
not be installed.
--
-- dag wieers, [EMAIL PROTECTED], http://dag.wieers.com/ --
[Any errors in spelling, tact or fact are transmission errors]
_______________________________________________
suggest mailing list
suggest@lists.rpmforge.net
http://lists.rpmforge.net/mailman/listinfo/suggest