[Koha-devel] Sorting out Koha's dependecies

MJ Ray mjr at phonecoop.coop
Fri Jul 22 16:57:43 CEST 2011


Edgar Fuß wrote:
> In the course of importing Koha 3.4.2 into the NetBSD pkgsrc collection, I tried to sort out the required Perl modules.
> I compared a hand-crafted list (obtained by grep'ing) with C4/Installer/PerlDependencies.pm and it looks like I've found some mis-matches.

OK, let's see what we can do about this.

> 1. The following modules are listed in $PERL_DEPS, but I can't find any place where they are actually being used:
> 
> DBD::mysql

That one will be called by DBI and not explicit in the Koha code,
but is actually required until Koha supports other databases.

> DateTime
> Email::Date
> GD::Barcode::UPCE
> PDF::API2::Simple
> PDF::API2::Util

I don't know if the changes to label printer and notices will have
changed the modules being used.

> XML::RSS

I think this might have been used by cronjobs/rss/rss.pl in the
past, but could be removed now.

> 2. The following modules are NOT listed in $PERL_DEPS, though it appears to me they are, in fact, used (maybe in dead code?) in the listed file(s):
> 
> Archive::Zip	C4/ImportExportFramework.pm

Can someone remind me about C4/ImportExportFramework.pm?

> Cache::Memcached	C4/Auth.pm, C4/Cache/Memcached.pm

Does this get pulled in by other Memcached modules that are in DEPS?

> File::Slurp	misc/load_testing/benchmark_webservices.pl

Optional and rarely used.

> HTML::Entities	C4/Acquisition.pm, C4/ILSDI/Services.pm

Does this get pulled in by other HTML modules?

> HTML::Tree	misc/translator/text-extract.pl
> HTTPD::Bench::ApacheBench	misc/load_testing/benchmark_circulation.pl
> MARC::Lint	misc/cronjobs/MARC21_parse_test.pl
> Mail::RFC822::Address	misc/cronjobs/smsoverdues.pl

All four optional, some rarely used.

> SQL::Statement	C4/ImportExportFramework.pm
> Test::Class::Load	t/db_dependent/database_dependent.pl
> Test::Exception	selenium/PERL/Members/FilterMembers.pl, selenium/PERL/Members/AddMember.pl, selenium/PERL/Members/Searchmember.pl
> Test::WWW::Selenium	selenium/PERL/Members/FilterMembers.pl, selenium/PERL/Members/AddMember.pl, selenium/PERL/Members/Searchmember.pl

Tests, so not used on all installations.

> Unix::Syslog	misc/bin/zebraqueue_daemon.pl

Dead code. It may come back, but maybe it should use C4::Log instead?

> Win32::Process	sms/sms_listen_windows_start.pl

Platform-specific and rarely used?  (Does 3.4 run on Win32?)

> 3. The following CORE modules are listed in $PERL_DEPS. This may be intentional:
[...]
> 4. It appears to be inconsistent whether $PERL_DEPS lists the modules actually use'd or require'd (i.e., ZOOM) or those modules' base modules (i.e., Net::Z3950::ZOOM).

This is probably because the list has been built by grep at some point
in the past and I think also because the COREness or packaging of some
modules has changed during Koha's first decade.  Is there any benefit
in standardising either of those?  But I guess it will probably hurt
nothing if done right.

Hope that helps,
-- 
MJ Ray (slef), member of www.software.coop, a for-more-than-profit co-op.
http://koha-community.org supporter, web and LMS developer, statistician.
In My Opinion Only: see http://mjr.towers.org.uk/email.html
Available for hire for Koha work http://www.software.coop/products/koha


More information about the Koha-devel mailing list