From 7af20140f977dc08f1a5e2e01d2918d2960bfa1b Mon Sep 17 00:00:00 2001 From: Mason James Date: Fri, 26 Apr 2013 04:42:26 +1200 Subject: [PATCH] Bug 9979 - convert ./C4/Installer/PerlDependencies.pm into a YAML file to test... - run 'before' dependancy test ./koha_perl_deps.pl -a > aa - apply patch git bz 9979 - run 'after' dependancy test ./koha_perl_deps.pl -a > bb - test for 0 differences diff aa bb |wc -l 0 - run test perl ./t/Installer_PerlDependencies.t 1..3 ok 1 - use C4::Installer::PerlDependencies; ok 2 - PerlDependencies.yml file parsed with no errors ok 3 - Parsed YAML matches PerlDependencies.yml file Signed-off-by: Mirko Tietgen --- C4/Installer/PerlDependencies.pm | 693 +------------------------------------ C4/Installer/PerlDependencies.yml | 537 ++++++++++++++++++++++++++++ t/Installer_PerlDependencies.t | 41 ++- 3 files changed, 587 insertions(+), 684 deletions(-) create mode 100644 C4/Installer/PerlDependencies.yml diff --git a/C4/Installer/PerlDependencies.pm b/C4/Installer/PerlDependencies.pm index 5671b50..0f4ec08 100644 --- a/C4/Installer/PerlDependencies.pm +++ b/C4/Installer/PerlDependencies.pm @@ -3,683 +3,14 @@ package C4::Installer::PerlDependencies; use warnings; use strict; -our $PERL_DEPS = { - 'XML::LibXSLT' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.59' - }, - 'Text::CSV::Encoded' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.09' - }, - 'Storable' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '2.20' - }, - 'PDF::API2' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '2' - }, - 'Text::CSV_XS' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.32' - }, - 'Schedule::At' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.06' - }, - 'MIME::Lite' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '3' - }, - 'GD' => { - 'usage' => 'Patron Images Feature', - 'required' => '0', - 'min_ver' => '2.39' - }, - 'List::MoreUtils' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.21' - }, - 'DBI' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.53' - }, - 'Net::Z3950::ZOOM' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.16' - }, - 'Biblio::EndnoteStyle' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.05' - }, - 'Date::Calc' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '5.4' - }, - 'Mail::Sendmail' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.79' - }, - 'DBD::mysql' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '4.004' - }, - 'XML::LibXML' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.59' - }, - 'POE' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.9999' - }, - 'Email::Date' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.103' - }, - 'HTML::Scrubber' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.08' - }, - 'XML::Dumper' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.81' - }, - 'URI::Escape' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.36' - }, - 'Unicode::Normalize' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.32' - }, - 'Text::Wrap' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '2005.082401' - }, - 'Test' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.25' - }, - 'Locale::PO' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.17' - }, - 'LWP::Simple' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.41' - }, - 'DBD::SQLite2' => { - 'usage' => 'Offline Circulation Feature', - 'required' => '0', - 'min_ver' => '0.33' - }, - 'SMS::Send' => { - 'usage' => 'SMS Messaging Feature', - 'required' => '0', - 'min_ver' => '0.05' - }, - 'XML::SAX::ParserFactory' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.01' - }, - 'Test::Harness' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '2.56' - }, - 'PDF::API2::Util' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '2' - }, - 'Class::Accessor' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.3' - }, - 'HTTP::OAI' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '3.2' - }, - 'LWP::UserAgent' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '2.033' - }, - 'MIME::Base64' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '3.07' - }, - 'Algorithm::CheckDigits' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.5' - }, - 'Net::LDAP' => { - 'usage' => 'LDAP Interface Feature', - 'required' => '0', - 'min_ver' => '0.33' - }, - 'PDF::Reuse' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.33' - }, - 'DateTime' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.58' - }, - 'DateTime::TimeZone' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.20' - }, - 'DateTime::Format::DateParse' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.04' - }, - 'DateTime::Format::MySQL' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.04' - }, - 'DateTime::Set' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.28' - }, - 'DateTime::Event::ICal' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.08' - }, - 'Readonly' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.03' - }, - 'Readonly::XS' => { - 'usage' => 'Core', - 'required' => '0', - 'min_ver' => '1.02' - }, - 'Graphics::Magick' => { - 'usage' => 'Patron Card Creator Feature', - 'required' => '0', - 'min_ver' => '1.3.05' - }, - 'MARC::Charset' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.98' - }, - 'Memoize::Memcached' => { - 'usage' => 'Memcached Feature (Experimental)', - 'required' => '0', - 'min_ver' => '0.03' - }, - 'Cache::Memcached::Fast' => { - 'usage' => 'Caching', - 'required' => '0', - 'min_ver' => '0.17' - }, - 'Cache::FastMmap' => { - 'usage' => 'Caching', - 'required' => '0', - 'min_ver' => '1.34' - }, - 'Cache::Memory' => { - 'usage' => 'Caching', - 'required' => '0', - 'min_ver' => '2.04' - }, - 'Net::LDAP::Filter' => { - 'usage' => 'LDAP Interface Feature', - 'required' => '0', - 'min_ver' => '0.14' - }, - 'Text::CSV' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.01' - }, - 'PDF::Table' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.9.3' - }, - 'CGI' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '3.15' - }, - 'Class::Factory::Util' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.6' - }, - 'List::Util' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.18' - }, - 'Lingua::Stem::Snowball' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.952' - }, - 'Time::localtime' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.02' - }, - 'Digest::SHA' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '5.43' - }, - 'MARC::Crosswalk::DublinCore' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.02' - }, - 'CGI::Session::Serialize::yaml' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '4.2' - }, - 'CGI::Carp' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.29' - }, - 'Getopt::Long' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '2.35' - }, - 'Term::ANSIColor' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.1' - }, - 'Getopt::Std' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.05' - }, - 'Data::Dumper' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '2.121' - }, - 'Lingua::Stem' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.82' - }, - 'MIME::QuotedPrint' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '3.07' - }, - 'IPC::Cmd' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.46' - }, - 'HTTP::Cookies' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.39' - }, - 'HTTP::Request::Common' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.26' - }, - 'PDF::Reuse::Barcode' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.05' - }, - 'Test::More' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.8' - }, - 'GD::Barcode::UPCE' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.1' - }, - 'Text::Iconv' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.7' - }, - 'File::Temp' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.16' - }, - 'Date::Manip' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '5.44' - }, - 'Locale::Language' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '2.07' - }, - 'PDF::API2::Simple' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1' - }, - 'XML::RSS' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.31' - }, - 'XML::Simple' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '2.14' - }, - 'PDF::API2::Page' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '2' - }, - 'CGI::Session' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '4.2' - }, - 'CGI::Session::Driver::memcached' => { - 'usage' => 'Memcached Feature (Experimental)', - 'required' => '0', - 'min_ver' => '0.04', - }, - 'POSIX' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.09' - }, - 'Digest::MD5' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '2.36' - }, - 'Authen::CAS::Client' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.05' - }, - 'Data::ICal' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.13' - }, - 'MARC::Record' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '2' - }, - 'Locale::Currency::Format' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.28' - }, - 'Number::Format' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.52' - }, - 'YAML::Syck' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.71' - }, - 'Time::HiRes' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.86' - }, - 'MARC::File::XML' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.88' - }, - 'XML::SAX::Writer' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.44' - }, - 'JSON' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '2.07' - }, - 'YAML' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.71' - }, - 'UNIVERSAL::require' => { - 'usage' => 'SipServer', - 'required' => '0', - 'min_ver' => '0.13', - }, - 'Net::Server' => { - 'usage' => 'SipServer', - 'required' => '0', - 'min_ver' => '0.97', - }, - 'Business::ISBN' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '2.05', - }, - 'Template' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '2.22', - }, - 'Gravatar::URL' => { - 'usage' => 'Photos in OPAC reviews', - 'required' => '0', - 'min_ver' => '1.03', - }, - 'Modern::Perl' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.03', - }, - 'DateTime::Format::ICal' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.09', - }, - 'Template::Plugin::HtmlToText' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.03', - }, - 'Data::Paginator' => { - 'usage' => 'Core', - 'required' => '0', - 'min_ver' => '0.04', - }, - 'Data::Pagination' => { - 'usage' => 'Core', - 'required' => '0', - 'min_ver' => '0.44', - }, - 'JSON::Any' => { - 'usage' => 'Core', - 'required' => '0', - 'min_ver' => '1.28', - }, - 'MooseX::Storage' => { - 'usage' => 'Core', - 'required' => '0', - 'min_ver' => '0.30', - }, - 'MooseX::Types' => { - 'usage' => 'Core', - 'required' => '0', - 'min_ver' => '0.30', - }, - 'String::RewritePrefix' => { - 'usage' => 'Core', - 'required' => '0', - 'min_ver' => '0.006', - }, - 'Time::Progress' => { - 'usage' => 'Core', - 'required' => '0', - 'min_ver' => '1.7', - }, - 'DBD::Mock' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.39' - }, - 'Test::MockModule' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '0.05', - }, - 'Test::Warn' => { - 'usage' => 'Core', - 'required' => '0', - 'min_ver' => '0.21', - }, - 'Test::Strict' => { - 'usage' => 'Core', - 'required' => '0', - 'min_ver' => '0.14', - }, - 'Test::Deep' => { - 'usage' => 'Core', - 'required' => '0', - 'min_ver' => '0.106', - }, - 'Test::YAML::Valid' => { - 'usage' => 'Core', - 'required' => '0', - 'min_ver' => '0.04', - }, - 'Text::Unaccent' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.08', - }, - 'HTML::FormatText' => { - 'usage' => 'Core', - 'required' => '1', - 'min_ver' => '1.23', - }, - 'AnyEvent' => { - 'usage' => 'Command line scripts', - 'required' => '0', - 'min_ver' => '5.0', - }, - 'AnyEvent::HTTP' => { - 'usage' => 'Command line scripts', - 'required' => '0', - 'min_ver' => '2.13', - }, - 'Moose' => { - 'usage' => 'Core', - 'required' => '0', - 'min_ver' => '1.09', - }, - 'String::Random' => { - 'usage' => 'OpacSelfRegistration', - 'required' => '1', - 'min_ver' => '0.22', - }, - 'File::Temp' => { - 'usage' => 'Plugins', - 'required' => '0', - 'min_ver' => '0.22', - }, - 'File::Copy' => { - 'usage' => 'Plugins', - 'required' => '0', - 'min_ver' => '2.08', - }, - 'File::Path' => { - 'usage' => 'Plugins', - 'required' => '0', - 'min_ver' => '2.07', - }, - 'Archive::Extract' => { - 'usage' => 'Plugins', - 'required' => '0', - 'min_ver' => '0.60', - }, - 'Archive::Zip' => { - 'usage' => 'Plugins', - 'required' => '0', - 'min_ver' => '1.30', - }, - 'Module::Load::Conditional' => { - 'usage' => 'Plugins', - 'required' => '0', - 'min_ver' => '0.38', - }, - 'Module::Bundled::Files' => { - 'usage' => 'Plugins', - 'required' => '0', - 'min_ver' => '0.03', - }, - 'Module::Pluggable' => { - 'usage' => 'Plugins', - 'required' => '0', - 'min_ver' => '3.9', - }, - 'File::Slurp' => { - 'usage' => 'Command line scripts', - 'required' => '0', - 'min_ver' => '9999.13', - }, -}; +use YAML::Syck qw(LoadFile); +use Cwd 'abs_path'; +use File::Spec; + +my $abs_path = abs_path(__FILE__); +my ( $volume, $dir, $file ) = File::Spec->splitpath($abs_path); + +our $PERL_DEPS = LoadFile( $dir . '/PerlDependencies.yml' ); 1; @@ -695,8 +26,9 @@ A module for cataloging Koha Perl dependencies. =head1 SYNOPSIS -This module's sole purpose for existence is to provide a single location to catalog all Koha Perl dependencies. New dependencies should be added to the -end of the outer hash and follow the key/value pattern used in the other dependencies. +This module's sole purpose for existence is to provide a single location to catalog all Koha Perl dependencies. + +New dependencies should be added to the canonical 'C4/Installer/PerlDependencies.yml' file, which this module reads. =head2 Debian @@ -712,13 +44,14 @@ Chris Nighswonger =head1 COPYRIGHT Copyright 2010 Foundations Bible College. +Copyright 2013 KohaAloha. =head1 LICENSE This file is part of Koha. Koha is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software -Foundation; either version 2 of the License, or (at your option) any later version. +Foundation; either version 3 of the License, or (at your option) any later version. You should have received a copy of the GNU General Public License along with Koha; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. diff --git a/C4/Installer/PerlDependencies.yml b/C4/Installer/PerlDependencies.yml new file mode 100644 index 0000000..8e95664 --- /dev/null +++ b/C4/Installer/PerlDependencies.yml @@ -0,0 +1,537 @@ +--- +Algorithm::CheckDigits: + min_ver: 0.5 + required: 1 + usage: Core +AnyEvent: + min_ver: 5.0 + required: 0 + usage: Command line scripts +AnyEvent::HTTP: + min_ver: 2.13 + required: 0 + usage: Command line scripts +Archive::Extract: + min_ver: 0.60 + required: 0 + usage: Plugins +Archive::Zip: + min_ver: 1.30 + required: 0 + usage: Plugins +Authen::CAS::Client: + min_ver: 0.05 + required: 1 + usage: Core +Biblio::EndnoteStyle: + min_ver: 0.05 + required: 1 + usage: Core +Business::ISBN: + min_ver: 2.05 + required: 1 + usage: Core +CGI: + min_ver: 3.15 + required: 1 + usage: Core +CGI::Carp: + min_ver: 1.29 + required: 1 + usage: Core +CGI::Session: + min_ver: 4.2 + required: 1 + usage: Core +CGI::Session::Driver::memcached: + min_ver: 0.04 + required: 0 + usage: Memcached Feature (Experimental) +CGI::Session::Serialize::yaml: + min_ver: 4.2 + required: 1 + usage: Core +Cache::FastMmap: + min_ver: 1.34 + required: 0 + usage: Caching +Cache::Memcached::Fast: + min_ver: 0.17 + required: 0 + usage: Caching +Cache::Memory: + min_ver: 2.04 + required: 0 + usage: Caching +Class::Accessor: + min_ver: 0.3 + required: 1 + usage: Core +Class::Factory::Util: + min_ver: 1.6 + required: 1 + usage: Core +DBD::Mock: + min_ver: 1.39 + required: 1 + usage: Core +DBD::SQLite2: + min_ver: 0.33 + required: 0 + usage: Offline Circulation Feature +DBD::mysql: + min_ver: 4.004 + required: 1 + usage: Core +DBI: + min_ver: 1.53 + required: 1 + usage: Core +Data::Dumper: + min_ver: 2.121 + required: 1 + usage: Core +Data::ICal: + min_ver: 0.13 + required: 1 + usage: Core +Data::Pagination: + min_ver: 0.44 + required: 0 + usage: Core +Data::Paginator: + min_ver: 0.04 + required: 0 + usage: Core +Date::Calc: + min_ver: 5.4 + required: 1 + usage: Core +Date::Manip: + min_ver: 5.44 + required: 1 + usage: Core +DateTime: + min_ver: 0.58 + required: 1 + usage: Core +DateTime::Event::ICal: + min_ver: 0.08 + required: 1 + usage: Core +DateTime::Format::DateParse: + min_ver: 0.04 + required: 1 + usage: Core +DateTime::Format::ICal: + min_ver: 0.09 + required: 1 + usage: Core +DateTime::Format::MySQL: + min_ver: 0.04 + required: 1 + usage: Core +DateTime::Set: + min_ver: 0.28 + required: 1 + usage: Core +DateTime::TimeZone: + min_ver: 1.20 + required: 1 + usage: Core +Digest::MD5: + min_ver: 2.36 + required: 1 + usage: Core +Digest::SHA: + min_ver: 5.43 + required: 1 + usage: Core +Email::Date: + min_ver: 1.103 + required: 1 + usage: Core +File::Copy: + min_ver: 2.08 + required: 0 + usage: Plugins +File::Path: + min_ver: 2.07 + required: 0 + usage: Plugins +File::Slurp: + min_ver: 9999.13 + required: 0 + usage: Command line scripts +File::Temp: + min_ver: 0.22 + required: 0 + usage: Plugins +GD: + min_ver: 2.39 + required: 0 + usage: Patron Images Feature +GD::Barcode::UPCE: + min_ver: 1.1 + required: 1 + usage: Core +Getopt::Long: + min_ver: 2.35 + required: 1 + usage: Core +Getopt::Std: + min_ver: 1.05 + required: 1 + usage: Core +Graphics::Magick: + min_ver: 1.3.05 + required: 0 + usage: Patron Card Creator Feature +Gravatar::URL: + min_ver: 1.03 + required: 0 + usage: Photos in OPAC reviews +HTML::FormatText: + min_ver: 1.23 + required: 1 + usage: Core +HTML::Scrubber: + min_ver: 0.08 + required: 1 + usage: Core +HTTP::Cookies: + min_ver: 1.39 + required: 1 + usage: Core +HTTP::OAI: + min_ver: 3.2 + required: 1 + usage: Core +HTTP::Request::Common: + min_ver: 1.26 + required: 1 + usage: Core +IPC::Cmd: + min_ver: 0.46 + required: 1 + usage: Core +JSON: + min_ver: 2.07 + required: 1 + usage: Core +JSON::Any: + min_ver: 1.28 + required: 0 + usage: Core +LWP::Simple: + min_ver: 1.41 + required: 1 + usage: Core +LWP::UserAgent: + min_ver: 2.033 + required: 1 + usage: Core +Lingua::Stem: + min_ver: 0.82 + required: 1 + usage: Core +Lingua::Stem::Snowball: + min_ver: 0.952 + required: 1 + usage: Core +List::MoreUtils: + min_ver: 0.21 + required: 1 + usage: Core +List::Util: + min_ver: 1.18 + required: 1 + usage: Core +Locale::Currency::Format: + min_ver: 1.28 + required: 1 + usage: Core +Locale::Language: + min_ver: 2.07 + required: 1 + usage: Core +Locale::PO: + min_ver: 0.17 + required: 1 + usage: Core +MARC::Charset: + min_ver: 0.98 + required: 1 + usage: Core +MARC::Crosswalk::DublinCore: + min_ver: 0.02 + required: 1 + usage: Core +MARC::File::XML: + min_ver: 0.88 + required: 1 + usage: Core +MARC::Record: + min_ver: 2 + required: 1 + usage: Core +MIME::Base64: + min_ver: 3.07 + required: 1 + usage: Core +MIME::Lite: + min_ver: 3 + required: 1 + usage: Core +MIME::QuotedPrint: + min_ver: 3.07 + required: 1 + usage: Core +Mail::Sendmail: + min_ver: 0.79 + required: 1 + usage: Core +Memoize::Memcached: + min_ver: 0.03 + required: 0 + usage: Memcached Feature (Experimental) +Modern::Perl: + min_ver: 1.03 + required: 1 + usage: Core +Module::Bundled::Files: + min_ver: 0.03 + required: 0 + usage: Plugins +Module::Load::Conditional: + min_ver: 0.38 + required: 0 + usage: Plugins +Module::Pluggable: + min_ver: 3.9 + required: 0 + usage: Plugins +Moose: + min_ver: 1.09 + required: 0 + usage: Core +MooseX::Storage: + min_ver: 0.30 + required: 0 + usage: Core +MooseX::Types: + min_ver: 0.30 + required: 0 + usage: Core +Net::LDAP: + min_ver: 0.33 + required: 0 + usage: LDAP Interface Feature +Net::LDAP::Filter: + min_ver: 0.14 + required: 0 + usage: LDAP Interface Feature +Net::Server: + min_ver: 0.97 + required: 0 + usage: SipServer +Net::Z3950::ZOOM: + min_ver: 1.16 + required: 1 + usage: Core +Number::Format: + min_ver: 1.52 + required: 1 + usage: Core +PDF::API2: + min_ver: 2 + required: 1 + usage: Core +PDF::API2::Page: + min_ver: 2 + required: 1 + usage: Core +PDF::API2::Simple: + min_ver: 1 + required: 1 + usage: Core +PDF::API2::Util: + min_ver: 2 + required: 1 + usage: Core +PDF::Reuse: + min_ver: 0.33 + required: 1 + usage: Core +PDF::Reuse::Barcode: + min_ver: 0.05 + required: 1 + usage: Core +PDF::Table: + min_ver: 0.9.3 + required: 1 + usage: Core +POE: + min_ver: 0.9999 + required: 1 + usage: Core +POSIX: + min_ver: 1.09 + required: 1 + usage: Core +Readonly: + min_ver: 1.03 + required: 1 + usage: Core +Readonly::XS: + min_ver: 1.02 + required: 0 + usage: Core +SMS::Send: + min_ver: 0.05 + required: 0 + usage: SMS Messaging Feature +Schedule::At: + min_ver: 1.06 + required: 1 + usage: Core +Storable: + min_ver: 2.20 + required: 1 + usage: Core +String::Random: + min_ver: 0.22 + required: 1 + usage: OpacSelfRegistration +String::RewritePrefix: + min_ver: 0.006 + required: 0 + usage: Core +Template: + min_ver: 2.22 + required: 1 + usage: Core +Template::Plugin::HtmlToText: + min_ver: 0.03 + required: 1 + usage: Core +Term::ANSIColor: + min_ver: 1.1 + required: 1 + usage: Core +Test: + min_ver: 1.25 + required: 1 + usage: Core +Test::Deep: + min_ver: 0.106 + required: 0 + usage: Core +Test::Harness: + min_ver: 2.56 + required: 1 + usage: Core +Test::MockModule: + min_ver: 0.05 + required: 1 + usage: Core +Test::More: + min_ver: 0.8 + required: 1 + usage: Core +Test::Strict: + min_ver: 0.14 + required: 0 + usage: Core +Test::Warn: + min_ver: 0.21 + required: 0 + usage: Core +Test::YAML::Valid: + min_ver: 0.04 + required: 0 + usage: Core +Text::CSV: + min_ver: 0.01 + required: 1 + usage: Core +Text::CSV::Encoded: + min_ver: 0.09 + required: 1 + usage: Core +Text::CSV_XS: + min_ver: 0.32 + required: 1 + usage: Core +Text::Iconv: + min_ver: 1.7 + required: 1 + usage: Core +Text::Unaccent: + min_ver: 1.08 + required: 1 + usage: Core +Text::Wrap: + min_ver: 2005.082401 + required: 1 + usage: Core +Time::HiRes: + min_ver: 1.86 + required: 1 + usage: Core +Time::Progress: + min_ver: 1.7 + required: 0 + usage: Core +Time::localtime: + min_ver: 1.02 + required: 1 + usage: Core +UNIVERSAL::require: + min_ver: 0.13 + required: 0 + usage: SipServer +URI::Escape: + min_ver: 1.36 + required: 1 + usage: Core +Unicode::Normalize: + min_ver: 0.32 + required: 1 + usage: Core +XML::Dumper: + min_ver: 0.81 + required: 1 + usage: Core +XML::LibXML: + min_ver: 1.59 + required: 1 + usage: Core +XML::LibXSLT: + min_ver: 1.59 + required: 1 + usage: Core +XML::RSS: + min_ver: 1.31 + required: 1 + usage: Core +XML::SAX::ParserFactory: + min_ver: 1.01 + required: 1 + usage: Core +XML::SAX::Writer: + min_ver: 0.44 + required: 1 + usage: Core +XML::Simple: + min_ver: 2.14 + required: 1 + usage: Core +YAML: + min_ver: 0.71 + required: 1 + usage: Core +YAML::Syck: + min_ver: 0.71 + required: 1 + usage: Core diff --git a/t/Installer_PerlDependencies.t b/t/Installer_PerlDependencies.t index 45dc1f1..9071e04 100755 --- a/t/Installer_PerlDependencies.t +++ b/t/Installer_PerlDependencies.t @@ -1,14 +1,47 @@ #!/usr/bin/perl + +# Copyright KohaAloha 2013 +# +# This file is part of Koha. +# +# Koha is free software; you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 3 of the License, or (at your option) any later +# version. # -# This Koha test module is a stub! -# Add more tests here!!! +# Koha is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. use strict; use warnings; -use Test::More tests => 1; +use YAML qw(LoadFile); +use Cwd 'abs_path'; +use File::Spec; +use File::Slurp; + +use Test::More tests => 3; BEGIN { - use_ok('C4::Installer::PerlDependencies'); + use_ok('C4::Installer::PerlDependencies'); } +my $file = './C4/Installer/PerlDependencies.yml'; +my $yml_file; +my $raw_file; + +eval { $yml_file = YAML::LoadFile($file); }; + +is( $@, '', "PerlDependencies.yml file parsed with no errors" ); + +$raw_file = read_file($file); + +ok( YAML::Dump($yml_file) eq $raw_file, + "Parsed YAML matches PerlDependencies.yml file" ); + +1; -- 1.7.2.5