Item12191: Missing dependencies in Fosiki Foswiki Debian packages

pencil
Priority: Normal
Current State: New
Released In: n/a
Target Release: n/a
Applies To: Extension
Component: DebianPackage
Branches:
Reported By: RomanZimmermann
Waiting For:
Last Change By: RomanZimmermann
There are missing dependencies in some of the Fosiki Foswiki Debian packages. There's a set of mappings between CPAN module names to Debian package names in the =tools/dependencies_installer.pl. I've noticed that where a plugin's installer script lists a CPAN module that has a match in that mapping, that dependency shows up in the list of dependencies for the Debian package. Where a plugin's installer script lists a CPAN module that doesn't have a match in that mapping, I've noticed that the package doesn't get listed in the Debian package's "Depends:" section.

I became aware of the problem when I was putting together a Foswiki installation on a Debian wheezy box using Sven's Fosiki Foswiki Debian package repository. Amongst other things, I installed the foswiki-solrplugin package. After activating the plugin, I pointed my browser at SolrSearch and saw:

Foswiki detected an internal error - please check your Foswiki logs and webserver logs for more information.

Can't locate Moose.pm in @INC (@INC contains: path path . path path path path path path path path)

I ran apt-get install libmoose-perl. Pointing my browser once again at SolrSearch I received a different error:

Foswiki detected an internal error - please check your Foswiki logs and webserver logs for more information.

Can't locate XMLpath in @INC (@INC contains: path path . path path path path path path path path)

That error message was banished with apt-get install libxml-generator-perl, whereupon I received yet another error message:

Foswiki detected an internal error - please check your Foswiki logs and webserver logs for more information.

Can't locate Unicodepath in @INC (@INC contains: path path . path path path path path path path path)

This I fixed with apt-get install libunicode-maputf8-perl, at which point I saw the SolrSearch page with a message of "can't connect to solr server".

In investigating the missing Perl modules, I started looking at other plugins, the dependencies listed in their installer scripts, and whether they had been installed on my system. In putting together a list of missing dependencies, I came across tools/dependencies_installer.pl (which doesn't work by default in a Debian package installation because it lists the file lib/DEPENDENCIES as part of its expected environment, which doesn't exist under the Debian package install), looked at its internals, and saw the CPAN module to Debian package mapping.

As an example, the dependencies of StringifierContrib in the StringifierContrib installer are:

File::MMagic,>0,1,cpan,Required
Module::Pluggable,>0,1,cpan,Required
Spreadsheet::ParseExcel,>0,1,cpan,Required for =.xls= files
Spreadsheet::XLSX,>0,1,cpan,Required for =.xlsx= files
Encode,>0,1,cpan,Required
Error,>0,1,cpan,Required
ppthtml,>0,1,c,Required for indexing =.ppt= files. Part of xlhtml
pdftotext,>0,1,c,Required for indexing =.pdf=. Part of poppler-utils
antiword,>0,1,c,One of antiword, abiword or wvWare is required for =.doc= files
abiword,>0,1,c,One of antiword, abiword or wvWare is required for =.doc= files
wvWare,>0,1,c,One of antiword, abiword or wvWare is required for =.doc= files
html2text,>0,1,c,Required for indexing html files
odt2txt,>0,1,c,Required for indexing OpenDocument and StarOffice documents

The Foswiki package for Debian foswiki-stringifiercontrib lists the following as dependencies: Depends: foswiki, foswiki-core, libfile-mmagic-perl, libmodule-pluggable-perl, libspreadsheet-parseexcel-perl, liberror-perl, ppthtml, odt2txt

In tools/dependencies_installer.pl, I see that File::MMagic corresponds with libfile-mmagic-perl and has a listed package dependency of libfile-mmagic-perl. I see that Module::Pluggable corresponds with libmodule-pluggable-perl, which is not listed as a package dependency; however, libmodule-pluggable-perl appears to no longer exist as a separate package and has been rolled into =perl-modules. I see that Spreadsheet::ParseExcel corresponds with libspreadsheet-parseexcel-perl and has that as a listed package dependency. I see that Spreadsheet::XLSX does not have a mapping in tools/dependencies_installer.pl. A Google search for "Spreadsheet::XLSX perl debian" brings up libspreadsheet-xlsx-perl, which is not listed as a package dependency. So on and so forth.

What generates the package dependencies for the Debian packages?

-- RomanZimmermann - 25 Oct 2012


As a guess, I think the cause behind Tasks.Item8469 from 2010 is the same. According to the installer for ActionTrackerPlugin, the dependencies are:

Time::ParseDate,>=2003.0211,1,cpan,Required. Available from the CPAN archive.
Foswiki::Contrib::JSCalendarContrib,>=0.961,1,perl,Optional, used if installed. Used to display a neat calendar popup when editing actions. Available from the Foswiki:Extensions/JSCalendarContrib repository.
Foswiki::Plugins::JQueryPlugin,>=0,1,perl,Required, used for the action editor.
JSON,>=0,1,cpan,Required. Available from the CPAN archive.

The foswiki-actiontrackerplugin package lists these as its dependencies: Depends: foswiki, foswiki-core, foswiki-jqueryplugin, libjson-perl. Time::ParseDate doesn't have a match in the mapping section tools/dependencies_installer.pl script; howerever, a Google search for an appropriate Debian package brings up libtime-modules-perl, which is the package that solved the fellow's problem in Tasks.Item8469. The Perl module JSON does have a match in the mapping section of the tools/dependencies_installer.pl script and tthe Debian package for the plugin does list libjson-perl as a dependency.

-- RomanZimmermann - 25 Oct 2012


Tasks.Item8726 has the same cause.

-- RomanZimmermann - 25 Oct 2012
 

ItemTemplate edit

Summary Missing dependencies in Fosiki Foswiki Debian packages
ReportedBy RomanZimmermann
Codebase 1.1.5
SVN Range
AppliesTo Extension
Component DebianPackage
Priority Normal
CurrentState New
Checkins
TargetRelease n/a
ReleasedIn n/a
CheckinsOnBranches
trunkCheckins
Release01x01Checkins
Topic revision: r3 - 25 Oct 2012, RomanZimmermann
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