Item12475: Move lib/CPAN/lib
modules to a separate CpanContrib
Priority: Urgent
Current State: Closed
Released In: 2.0.0
Target Release: major
Applies To: Engine
Component:
Branches: trunk unknown master
This is related to
MoveCPANLibToSeparateContrib, but marking this urgent since it's causing breakage on some systems.
The issue is that we have added dependencies in
lib/CPAN/lib
and now are getting version conflicts between the System CPAN lib versions and the Foswiki CPAN versions. In particular
Class::Load
has dependencies that require some XS modules. The lib/CPAN/lib versions were build to use the pure perl version of the dependencies, but if the local System version is found ahead of the Foswiki shipped version, the XS dependency is assumed and fails to load.
See further discussion in
MoveCPANLibToSeparateContrib
--
GeorgeClark - 19 Apr 2013
Talked about it on
FoswikiCamp2014, could not see the rationale behind the mechanism and therefore simplified the calculation of
@INC
.
Moved most of the CPAN deps to
CpanContrib and cleaned out core's
lib/CPAN/lib
. Leaving
CGI::Session
in there because otherwise
bin/configure
won't come up. The other failed dependencies are complained about in
bin/configure
.
--
OliverKrueger - 14 Mar 2014
I wonder if this should be closed. Have we worked out the packaging changes, and have the installation instructions caught up for sites needing our CPAN contrib?
--
GeorgeClark - 02 Apr 2014
I think we'll also need to leave CGI along with CGI::Session. It's being removed as a standard perl component, and some of the distros have already stripped it out to a separate package.
--
GeorgeClark - 11 May 2014
Reopening. And we should set it waiting for release once completed. This is a significant change and should be documented.
--
GeorgeClark - 04 Jun 2014
The two remaining modules we can't ship are Net::SSL and HTML::Parser. From the release meeting on 7 July 2014:
- CDot thought that HTML::Parser didn't require an XS module. Discovered it's a new dependency added in a recent version.
- ACTION gac410 needs to investigate if CpanContribcould provide the backlevel version or HTML::Parser
- XSLoader was added in 3.46, 2005-10-24. Maybe better than nothing, but this is probably too old. Newer versions deal with significant issues including perl breakages due to deprecations, etc.
- The pure perl version of HTML::Parser was dropped in Release 2.99_06 back in 1999. This is way too old, I don't think we have a solution here.
- Net::SSLeay will not be possible to include due to external requirements for openssl
--
GeorgeClark - 08 Jul 2014
Reopening one more time. Now that Configure is "just another" engine method, the reasoning to ship
CGI::Session
(So the user can get to the point of seeing dependencies report) is really not applicable.
So we should also remove CGI::Session and just ship with an empty lib/CPAN/lib.
--
GeorgeClark - 06 Nov 2014