You are here: Foswiki>Tasks Web>Item9724 (29 Sep 2010, IngoKappler)Edit Attach

Item9724: Align perl modules listed in configure with the tables in the InstallationGuide.

pencil
Priority: Normal
Current State: Closed
Released In: 1.1.0
Target Release: minor
Applies To: Engine
Component:
Branches:
Reported By: IngoKappler
Waiting For: Main.IngoKappler
Last Change By: IngoKappler
This counts on 1.0.10 for:

Apache::Htpasswd (may be required for ApacheHtpasswd password manager)
B::Deparse (for base Foswiki)
Carp (for base Foswiki)
Digest::MD5 (for base Foswiki)
Digest::SHA
Encode (may be required for international characters; Required, for WysiwygPlugin)
Encode::compat (may be required for international characters)
Exporter (for base Foswiki)
File::Basename (for base Foswiki)
File::Glob (for base Foswiki)
File::Path (for base Foswiki)
File::Temp (for base Foswiki)
FindBin (required if you want to use the Extensions Installer in configure)
Getopt::Long (may be required for international characters)
HTML::Entities (for WysiwygPlugin)
HTML::Parser (for WysiwygPlugin)
I18N::Langinfo (may be required for international characters)
Lingua::EN::Sentence (may be required for generating new language files)
LWP (needed for the Configure Extensions installer, and for external URL based INCLUDEs)
MIME::Base64 (for base Foswiki)
POSIX (for base Foswiki)
Socket (for base Foswiki)
Symbol (may be required for international characters)
Win32::Console (may be required for Windows)

Uh, when I started I thought I find 2 or 3 now I have 24. I will update the related tables in trunk InstallationGuide#Required_CPAN_modules and in trunk InstallationGuide#Optional_CPAN_modulesbut wonder if we could have an automatic mechanism to align the stuff listed by configure automatically with what is listed in the InstallationGuide.

-- IngoKappler - 20 Sep 2010

Closed this task after adding the modules. In case someone has missing preferred version numbers they still could/should be added.

-- IngoKappler - 21 Sep 2010

Most of the modules you added are perl core. I thought we said it's stupid to add core perl modules to this list, unless we have some versions known to be bad (like for CGI).

Replied by email to svn@

-- OlivierRaginel - 21 Sep 2010

So according to the mails the suggestion is rather reducing the list than increasing it, of which I do not have an issue with. My goal was mainly to get in sync with what is listed in configure. So ultimately the InstallationGuide should only list modules which are:

  1. Not core from perl 5.8.8 while we do not care about lower perl versions.
  2. Require some extra comment.
  3. Required to get Foswiki running, especially the configure page.

Once configure is reached, people can look up the comments for the listed modules there and make up their mind accordingly. So I wonder if we should skip the table for optional modules alltogether and guide people to the list in configure where all necessary comments should be present.

After reducing tables I decided to rather merge them as not much is left. smile

So, based on the above I am proposing:

############################

CPAN modules

Most of the CPAN libraries used by Foswiki are part of a standard Perl installation >= 5.8.8. Please see Foswiki:Support.HowToInstallCpanModules for detailed information on how to install any CPAN libraries not yet present in your installation.

A more complete module status is listed in Foswiki configure. It is easier to deal with CPAN modules from this perspective.

The following Perl CPAN modules are shipped with Foswiki, require a comment or may optionally be needed.

Module Preferred version Required/Optional Description
Algorithm::Diff   Required Included with Foswiki
CGI Versions 2.89, 3.37, 3.43, and 3.47 must be avoided. Most version from 3.15 and onwards should work. Required  
Config >=0 Required Installation does not work with CPANPLUS
Error   Required Included with Foswiki
Text::Diff   Required Included with Foswiki
URI   Optional Required by the configure script
Win32::Console   Optional May be required for Windows

You can check version numbers from the command line (replace "ModuleName" with the name of the module):

perl -le 'use ModuleName; print "ModuleName"->VERSION' 
############################

-- IngoKappler - 21 Sep 2010

Another trial based on IRC discussion. Here is what configure checks:

if ( $] < 5.008 ) { $n .= $this->WARN(<<HERE); Perl version is older than 5.8.0. Recommended version 5.8.4 or later):

So whatever is decided on perl version check establishes what dep's need to be added/removed

############################

CPAN modules

Most of the CPAN libraries used by Foswiki are part of a standard Perl installation >=5.8.0, recommended >=5.8.4. Please see Foswiki:Support.HowToInstallCpanModules for detailed information on how to install any CPAN libraries not yet present in your installation.

A more complete module status is listed in Foswiki configure. It is easier to deal with CPAN modules from this perspective.

The following Perl CPAN modules are shipped with Foswiki, require a comment or may optionally be needed.

Module Preferred version Required/Optional Description
Algorithm::Diff   Required Included with Foswiki
CGI Versions 2.89, 3.37, 3.43, and 3.47 must be avoided. Most version from 3.15 and onwards should work. Required  
Error   Required Included with Foswiki
Text::Diff   Required Included with Foswiki
Apache::Htpasswd   Optional May be required for ApacheHtpasswd password manager
Archive::Tar   Optional May be required by the Extensions Installer in configure if command line tar or unzip is not available
Archive::Zip   Optional Alternative to Archive::Tar, used by the Extensions Installer if Archive::Tar also unavailable
CGI::Cookie >=1.24 Optional Used for session support
Digest::SHA   Optional May be required for password encryption
Digest::SHA1   Optional  
Encode::compat   Optional May be required for international characters
HTML::Entities   Optional Required for Foswiki:Extensions.WysiwygPlugin
HTML::Parser   Optional Required for Foswiki:Extensions.WysiwygPlugin
Lingua::EN::Sentence   Optional May be required for generating new language files
Locale::Maketext::Lexicon >=0 Optional Used for I18N support
LWP   Optional Required for the Configure Extensions Installer, and for external URL based INCLUDEs
Net::SMTP >=2.29 Optional Used for sending mail
URI   Optional Required by the configure script
Win32::Console   Optional May be required for Windows

Most of these modules will probably already be present in your installation. You can check version numbers with the configure script, or if you're still trying to get to that point, check from the command line (replace "ModuleName" with the name of the module):

perl -le 'use ModuleName; print "ModuleName"->VERSION' 
############################

imho, we should recommend perl >= 5.8.8, but support perl >= 5.8.4

-- WillNorris - 21 Sep 2010

RHEL 4 uses 5.8.4 and it's end-of-life. Do you know anything which still uses that? I'd rather support 5.8.8 stating that it might work, though untested, on 5.8.4, because, as Paul pointed out, none of us test it.

-- OlivierRaginel - 21 Sep 2010


Hi Guys,

I wrote a small Perl script to get a better overview and this is the output:
$ ./foswiki-1.0.10_corelist.pl

Lists the Perl version when a module was introduced first time.

Processing modules listed in Foswiki 1.0.10 configure:
Apache::Htpasswd:
Archive::Tar:                   5.009003
B::Deparse:                     5.005
CGI:                            5.004
CGI::Cookie:                    5.00405
CGI::Session:
Carp:                           5
Config:                         5.00307
Cwd:                            5
Data::Dumper:                   5.005
Digest::MD5:                    5.007003
Digest::SHA:                    5.009003
Encode:                         5.007003
Encode::compat:
Error:
Exporter:                       5
File::Basename:                 5
File::Glob:                     5.006
File::Path:                     5.001
File::Spec:                     5.00405
File::Temp:                     5.006001
FileHandle:                     5
FindBin:                        5.00307
Getopt::Long:                   5
HTML::Entities:
HTML::Parser:
I18N::Langinfo:                 5.007003
Lingua::EN::Sentence:
Locale::Maketext::Lexicon:
LWP:
MIME::Base64:                   5.007003
Net::SMTP:                      5.007003
POSIX:                          5
Socket:                         5
Symbol:                         5.002
Unicode::MapUTF8:
Win32::Console:

Processing modules only listed in the Foswiki 1.0.10 InstallationGuide:
Algorithm::Diff:
CGI::Carp:                      5.004
Digest::base:                   5.008003
Digest::SHA1:
File::Copy:                     5.002
IO::File:                       5.00307
Jcode:
Text::Diff:
Time::Local:                    5
Unicode::Map:
Unicode::Map8:
Unicode::String:
URI:

Processing modules listed somewhere else but not necessarily part of an extension:
Archive::Zip:

Fot the new table in the InstallationGuide this should be done:
  1. Remove anything currently listed in the InstallationGuide with a version <=5.008
    1. This also includes modules listed only in the configure section of the above script output.
  2. Additionally remove all the Unicode stuff because we know it was only required up to 5.6.
  3. Also remove Jcode because it is only "Used for I18N support with perl 5.6"
  4. If missing add modules listed in configure but not part of the Perl core, e.g. CGI::Session; but except of Unicode::MapUTF8.

It results in:

############################

CPAN modules

Most of the CPAN libraries used by Foswiki are part of a standard Perl installation >=5.8.8 (recommended). A version >=5.8.4 and <5.8.8 may also work although untested. Please see Foswiki:Support.HowToInstallCpanModules for detailed information on how to install any CPAN libraries not yet present in your installation.

A more complete module status is listed in Foswiki configure (Foswiki 1.0.x: CGI Setup, 1.1.x: Web Server Environment > Perl modules). It should be easier to deal with CPAN modules from this perspective.

The following CPAN modules are shipped with Foswiki, require a comment or may optionally be needed. In case the standard Foswiki will be enhanced with Foswiki:Extensions, please look at the related extension page for dependencies which may require additional modules.

Module Preferred version Required/Optional Description
Algorithm::Diff   Required Included with Foswiki
Apache::Htpasswd   Optional May be required for ApacheHtpasswd password manager
Archive::Tar   Optional May be required by the Extensions Installer in configure if command line tar or unzip is not available, since Perl 5.9.3 part of core.
Archive::Zip   Optional Alternative to Archive::Tar, used by the Extensions Installer if Archive::Tar also unavailable
CGI Versions 2.89, 3.37, 3.43, and 3.47 must be avoided. Most versions from 3.15 and onwards should work. Required Included with Perl core since Perl 5.4
CGI::Session   Optional Required for Sessions support, available from the CPAN archive
Error   Required Included with Foswiki
Digest::SHA   Optional May be required for password encryption, since Perl 5.9.3 part of core
Digest::SHA1   Optional  
Encode::compat   Optional May be required for international characters
HTML::Entities   Optional Required for Foswiki:Extensions.WysiwygPlugin
HTML::Parser   Optional Required for Foswiki:Extensions.WysiwygPlugin
Lingua::EN::Sentence   Optional May be required for generating new language files
Locale::Maketext::Lexicon >=0 Optional Used for I18N support
LWP   Optional Required for the Configure Extensions Installer, and for external URL based INCLUDEs
Text::Diff   Required Included with Foswiki
URI   Optional Required by the configure script
Win32::Console   Optional May be required for Windows

Most of these modules will probably already be present in your installation. You can check version numbers with the configure script, or if you're still trying to get to that point, check from the command line (replace "ModuleName" with the name of the module):

perl -le 'use ModuleName; print "ModuleName"->VERSION' 
############################

If there are no further objections, I will put this section instead of the 2 current ones.

There are now still a few modules listed only in the InstallationGuide (e.g. Algorithm::Diff, CGI::Carp, Archive::Zip, maybe more) but not yet in the configure overview. It could be yet another task to clearly specify what should be listed in configure because as of now configure seems to list everything, so these are missing. Alternatively configure could also be reduced to only list...?

-- IngoKappler - 22 Sep 2010

Just one minor suggestion: Sort the modules first by Required/Optional, then by name.

Or use something more visual to show which ones are optional. Should ask some UI guy... smile

-- OlivierRaginel - 22 Sep 2010

Ok, I am now sorting in addition to marking "Required" entries in blue. As of now, there is hardly a need to install required modules because they are either included or part of Perl since 5.4 (CGI).

############################

CPAN modules

Most of the CPAN libraries used by Foswiki are part of a standard Perl installation >=5.8.8 (recommended). A version >=5.8.4 and <5.8.8 may also work although untested. Please see Foswiki:Support.HowToInstallCpanModules for detailed information on how to install any CPAN libraries not yet present in your installation.

A more complete module status is listed in Foswiki configure (Foswiki 1.0.x: CGI Setup, 1.1.x: Web Server Environment > Perl modules). It should be easier to deal with CPAN modules from this perspective.

The following CPAN modules are shipped with Foswiki, require a comment or may optionally be needed. In case the standard Foswiki will be enhanced with Foswiki:Extensions, please look at the related extension page for dependencies which may require additional modules.

Module Preferred version Required/OptionalSorted ascending Description
Apache::Htpasswd   Optional May be required for ApacheHtpasswd password manager
Archive::Tar   Optional May be required by the Extensions Installer in configure if command line tar or unzip is not available, since Perl 5.9.3 part of core.
Archive::Zip   Optional Alternative to Archive::Tar, used by the Extensions Installer if Archive::Tar also unavailable
CGI::Session   Optional Required for Sessions support, available from the CPAN archive
Digest::SHA   Optional May be required for password encryption, since Perl 5.9.3 part of core
Digest::SHA1   Optional  
Encode::compat   Optional May be required for international characters
HTML::Entities   Optional Required for Foswiki:Extensions.WysiwygPlugin
HTML::Parser   Optional Required for Foswiki:Extensions.WysiwygPlugin
Lingua::EN::Sentence   Optional May be required for generating new language files
Locale::Maketext::Lexicon >=0 Optional Used for I18N support
LWP   Optional Required for the Configure Extensions Installer, and for external URL based INCLUDEs
URI   Optional Required by the configure script
Win32::Console   Optional May be required for Windows
Algorithm::Diff   Required Included with Foswiki
CGI Versions 2.89, 3.37, 3.43, and 3.47 must be avoided. Most versions from 3.15 and onwards should work. Required Included with Perl core since Perl 5.4
Error   Required Included with Foswiki
Text::Diff   Required Included with Foswiki

Most of these modules will probably already be present in your installation. You can check version numbers with the configure script, or if you're still trying to get to that point, check from the command line (replace "ModuleName" with the name of the module):

perl -le 'use ModuleName; print "ModuleName"->VERSION' 
############################

Looks perfect to me! Great work Ingo!

-- OlivierRaginel - 23 Sep 2010
 

ItemTemplate edit

Summary Align perl modules listed in configure with the tables in the InstallationGuide.
ReportedBy IngoKappler
Codebase 1.1.0 beta1, trunk
SVN Range
AppliesTo Engine
Component
Priority Normal
CurrentState Closed
WaitingFor IngoKappler
Checkins distro:eaa500a12e41 distro:8f4ad83eafc0 distro:039046e256ea distro:69a062ca3639
TargetRelease minor
ReleasedIn 1.1.0
Topic revision: r20 - 29 Sep 2010, IngoKappler
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy