Bug 23677: Controller method and dependencies tweak
[koha.git] / C4 / Installer / PerlDependencies.pm
blob3c130d05d6f526f84e3a099d0f2fd2acddfd1d2e
1 package C4::Installer::PerlDependencies;
3 use warnings;
4 use strict;
6 our $PERL_DEPS = {
7 'Try::Tiny' => {
8 'usage' => 'Core',
9 'required' => '1',
10 'min_ver' => '0.22'
12 'Plack::Middleware::ReverseProxy' => {
13 'usage' => 'Plack',
14 'required' => '1',
15 'min_ver' => '0.14'
17 'XML::LibXSLT' => {
18 'usage' => 'Core',
19 'required' => '1',
20 'min_ver' => '1.59'
22 'Text::CSV::Encoded' => {
23 'usage' => 'Core',
24 'required' => '1',
25 'min_ver' => '0.09'
27 'Storable' => {
28 'usage' => 'Core',
29 'required' => '1',
30 'min_ver' => '2.20'
32 'PDF::API2' => {
33 'usage' => 'Core',
34 'required' => '1',
35 'min_ver' => '2'
37 'Text::CSV_XS' => {
38 'usage' => 'Core',
39 'required' => '1',
40 'min_ver' => '0.32'
42 'Schedule::At' => {
43 'usage' => 'Core',
44 'required' => '1',
45 'min_ver' => '1.06'
47 'MIME::Lite' => {
48 'usage' => 'Core',
49 'required' => '1',
50 'min_ver' => '3'
52 'GD' => {
53 'usage' => 'Patron Images Feature',
54 'required' => '0',
55 'min_ver' => '2.39'
57 'List::MoreUtils' => {
58 'usage' => 'Core',
59 'required' => '1',
60 'min_ver' => '0.21'
62 'DBI' => {
63 'usage' => 'Core',
64 'required' => '1',
65 'min_ver' => '1.53'
67 'DBIx::Class::Schema::Loader' => {
68 'usage' => 'Core',
69 'required' => '1',
70 'min_ver' => '0.07039'
72 'Net::Z3950::ZOOM' => {
73 'usage' => 'Core',
74 'required' => '1',
75 'min_ver' => '1.16'
77 'Biblio::EndnoteStyle' => {
78 'usage' => 'Core',
79 'required' => '1',
80 'min_ver' => '0.05'
82 'Date::Calc' => {
83 'usage' => 'Core',
84 'required' => '1',
85 'min_ver' => '5.4'
87 'Mail::Sendmail' => {
88 'usage' => 'Core',
89 'required' => '1',
90 'min_ver' => '0.79'
92 'DBD::mysql' => {
93 'usage' => 'Core',
94 'required' => '1',
95 'min_ver' => '4.004'
97 'XML::LibXML' => {
98 'usage' => 'Core',
99 'required' => '1',
100 'min_ver' => '1.59'
102 'Email::Date' => {
103 'usage' => 'Core',
104 'required' => '1',
105 'min_ver' => '1.103'
107 'Exception::Class' => {
108 'usage' => 'Core',
109 'required' => '1.38',
110 'min_ver' => '1.38'
112 'HTML::Scrubber' => {
113 'usage' => 'Core',
114 'required' => '1',
115 'min_ver' => '0.08'
117 'XML::Dumper' => {
118 'usage' => 'Core',
119 'required' => '1',
120 'min_ver' => '0.81'
122 'URI::Escape' => {
123 'usage' => 'Core',
124 'required' => '1',
125 'min_ver' => '3.31'
127 'Unicode::Normalize' => {
128 'usage' => 'Core',
129 'required' => '1',
130 'min_ver' => '0.32'
132 'Text::Wrap' => {
133 'usage' => 'Core',
134 'required' => '1',
135 'min_ver' => '2005.082401'
137 'Test' => {
138 'usage' => 'Core',
139 'required' => '1',
140 'min_ver' => '1.25'
142 'Locale::PO' => {
143 'usage' => 'Core',
144 'required' => '1',
145 'min_ver' => '0.17'
147 'LWP::Simple' => {
148 'usage' => 'Core',
149 'required' => '1',
150 'min_ver' => '1.41'
152 'DBD::SQLite2' => {
153 'usage' => 'Offline Circulation Feature',
154 'required' => '0',
155 'min_ver' => '0.33'
157 'SMS::Send' => {
158 'usage' => 'SMS Messaging Feature',
159 'required' => '0',
160 'min_ver' => '0.05'
162 'XML::SAX::ParserFactory' => {
163 'usage' => 'Core',
164 'required' => '1',
165 'min_ver' => '1.01'
167 'PDF::API2::Util' => {
168 'usage' => 'Core',
169 'required' => '1',
170 'min_ver' => '2'
172 'Class::Accessor' => {
173 'usage' => 'Core',
174 'required' => '1',
175 'min_ver' => '0.3'
177 'Class::Inspector' => {
178 'usage' => 'Plugins',
179 'required' => '1',
180 'min_ver' => '1.31'
182 'HTTP::OAI' => {
183 'usage' => 'Core',
184 'required' => '1',
185 'min_ver' => '3.2'
187 'LWP::UserAgent' => {
188 'usage' => 'Core',
189 'required' => '1',
190 'min_ver' => '2.033'
192 'MIME::Base64' => {
193 'usage' => 'Core',
194 'required' => '1',
195 'min_ver' => '3.07'
197 'Algorithm::CheckDigits' => {
198 'usage' => 'Core',
199 'required' => '1',
200 'min_ver' => '0.5'
202 'Net::LDAP' => {
203 'usage' => 'LDAP Interface Feature',
204 'required' => '0',
205 'min_ver' => '0.33'
207 'PDF::Reuse' => {
208 'usage' => 'Core',
209 'required' => '1',
210 'min_ver' => '0.36'
212 'Text::PDF' => {
213 'usage' => 'Core',
214 'required' => '1',
215 'min_ver' => '0.29',
216 # We don't use this directly, but it's not a required dependency for
217 # PDF::Reuse however we need it via that or tests fail.
219 'Font::TTF' => {
220 'usage' => 'Core',
221 'required' => '1',
222 'min_ver' => '0.45',
223 # Also needed for our use of PDF::Reuse
225 'DateTime' => {
226 'usage' => 'Core',
227 'required' => '1',
228 'min_ver' => '0.58'
230 'DateTime::TimeZone' => {
231 'usage' => 'Core',
232 'required' => '1',
233 'min_ver' => '1.20'
235 'DateTime::Format::MySQL' => {
236 'usage' => 'Core',
237 'required' => '1',
238 'min_ver' => '0.04'
240 'DateTime::Set' => {
241 'usage' => 'Core',
242 'required' => '1',
243 'min_ver' => '0.28'
245 'DateTime::Event::ICal' => {
246 'usage' => 'Core',
247 'required' => '1',
248 'min_ver' => '0.08'
250 'Graphics::Magick' => {
251 'usage' => 'Patron Card Creator Feature',
252 'required' => '0',
253 'min_ver' => '1.3.05'
255 'MARC::Charset' => {
256 'usage' => 'Core',
257 'required' => '1',
258 'min_ver' => '0.98'
260 'Cache::Memcached' => {
261 'usage' => 'Caching',
262 'required' => '1',
263 'min_ver' => '1.30'
265 'Cache::Memcached::Fast' => {
266 'usage' => 'Caching',
267 'required' => '0',
268 'min_ver' => '0.17'
270 'Cache::FastMmap' => {
271 'usage' => 'Caching',
272 'required' => '0',
273 'min_ver' => '1.34'
275 'Net::LDAP::Filter' => {
276 'usage' => 'LDAP Interface Feature',
277 'required' => '0',
278 'min_ver' => '0.14'
280 'Text::CSV' => {
281 'usage' => 'Core',
282 'required' => '1',
283 'min_ver' => '0.01'
285 'PDF::Table' => {
286 'usage' => 'Core',
287 'required' => '1',
288 'min_ver' => '0.9.3'
290 'CGI' => {
291 'usage' => 'Core',
292 'required' => '1',
293 'min_ver' => '3.15'
295 'Class::Factory::Util' => {
296 'usage' => 'Core',
297 'required' => '1',
298 'min_ver' => '1.6'
300 'List::Util' => {
301 'usage' => 'Core',
302 'required' => '1',
303 'min_ver' => '1.18'
305 'Lingua::Stem::Snowball' => {
306 'usage' => 'Core',
307 'required' => '1',
308 'min_ver' => '0.952'
310 'Time::localtime' => {
311 'usage' => 'Core',
312 'required' => '1',
313 'min_ver' => '1.02'
315 'Digest::SHA' => {
316 'usage' => 'Core',
317 'required' => '1',
318 'min_ver' => '5.43'
320 'CGI::Session::Serialize::yaml' => {
321 'usage' => 'Core',
322 'required' => '1',
323 'min_ver' => '4.2'
325 'CGI::Carp' => {
326 'usage' => 'Core',
327 'required' => '1',
328 'min_ver' => '1.29'
330 'Getopt::Long' => {
331 'usage' => 'Core',
332 'required' => '1',
333 'min_ver' => '2.35'
335 'Term::ANSIColor' => {
336 'usage' => 'Core',
337 'required' => '1',
338 'min_ver' => '1.1'
340 'Getopt::Std' => {
341 'usage' => 'Core',
342 'required' => '1',
343 'min_ver' => '1.05'
345 'Data::Dumper' => {
346 'usage' => 'Core',
347 'required' => '1',
348 'min_ver' => '2.121'
350 'Lingua::Stem' => {
351 'usage' => 'Core',
352 'required' => '1',
353 'min_ver' => '0.82'
355 'MIME::QuotedPrint' => {
356 'usage' => 'Core',
357 'required' => '1',
358 'min_ver' => '3.07'
360 'IPC::Cmd' => {
361 'usage' => 'Core',
362 'required' => '1',
363 'min_ver' => '0.46'
365 'HTTP::Cookies' => {
366 'usage' => 'Core',
367 'required' => '1',
368 'min_ver' => '1.39'
370 'HTTP::Request::Common' => {
371 'usage' => 'Core',
372 'required' => '1',
373 'min_ver' => '1.26'
375 'PDF::Reuse::Barcode' => {
376 'usage' => 'Core',
377 'required' => '1',
378 'min_ver' => '0.05'
380 'GD::Barcode::UPCE' => {
381 'usage' => 'Core',
382 'required' => '1',
383 'min_ver' => '1.1'
385 'Text::Iconv' => {
386 'usage' => 'Core',
387 'required' => '1',
388 'min_ver' => '1.7'
390 'File::Temp' => {
391 'usage' => 'Core',
392 'required' => '1',
393 'min_ver' => '0.16'
395 'Date::Manip' => {
396 'usage' => 'Core',
397 'required' => '1',
398 'min_ver' => '5.44'
400 'Locale::Language' => {
401 'usage' => 'Core',
402 'required' => '1',
403 'min_ver' => '2.07'
405 'PDF::API2::Simple' => {
406 'usage' => 'Core',
407 'required' => '1',
408 'min_ver' => '1'
410 'XML::RSS' => {
411 'usage' => 'Core',
412 'required' => '1',
413 'min_ver' => '1.31'
415 'XML::Simple' => {
416 'usage' => 'Core',
417 'required' => '1',
418 'min_ver' => '2.14'
420 'PDF::API2::Page' => {
421 'usage' => 'Core',
422 'required' => '1',
423 'min_ver' => '2'
425 'CGI::Session' => {
426 'usage' => 'Core',
427 'required' => '1',
428 'min_ver' => '4.2'
430 'CGI::Session::Driver::memcached' => {
431 'usage' => 'Memcached Feature (Experimental)',
432 'required' => '0',
433 'min_ver' => '0.04',
435 'POSIX' => {
436 'usage' => 'Core',
437 'required' => '1',
438 'min_ver' => '1.09'
440 'Digest::MD5' => {
441 'usage' => 'Core',
442 'required' => '1',
443 'min_ver' => '2.36'
445 'Authen::CAS::Client' => {
446 'usage' => 'Core',
447 'required' => '1',
448 'min_ver' => '0.05'
450 'Data::ICal' => {
451 'usage' => 'Core',
452 'required' => '1',
453 'min_ver' => '0.13'
455 'MARC::Record' => {
456 'usage' => 'Core',
457 'required' => '1',
458 'min_ver' => '2.0.6'
460 'Locale::Currency::Format' => {
461 'usage' => 'Core',
462 'required' => '1',
463 'min_ver' => '1.28'
465 'Number::Format' => {
466 'usage' => 'Core',
467 'required' => '1',
468 'min_ver' => '1.52'
470 'YAML::Syck' => {
471 'usage' => 'Core',
472 'required' => '1',
473 'min_ver' => '0.71'
475 'Time::HiRes' => {
476 'usage' => 'Core',
477 'required' => '1',
478 'min_ver' => '1.86'
480 'MARC::Record::MiJ' => {
481 'usage' => 'Core',
482 'required' => '1',
483 'min_ver' => '0.04'
485 'MARC::File::XML' => {
486 'usage' => 'Core',
487 'required' => '1',
488 'min_ver' => '1.0.1'
490 'XML::SAX::Writer' => {
491 'usage' => 'Core',
492 'required' => '1',
493 'min_ver' => '0.44'
495 'JSON' => {
496 'usage' => 'Core',
497 'required' => '1',
498 'min_ver' => '2.07'
500 'YAML' => {
501 'usage' => 'Core',
502 'required' => '1',
503 'min_ver' => '0.71'
505 'UNIVERSAL::require' => {
506 'usage' => 'SipServer',
507 'required' => '0',
508 'min_ver' => '0.13',
510 'Net::Server' => {
511 'usage' => 'SipServer',
512 'required' => '0',
513 'min_ver' => '0.97',
515 'Business::ISBN' => {
516 'usage' => 'Core',
517 'required' => '1',
518 'min_ver' => '2.05',
520 'Business::ISSN' => {
521 'usage' => 'Core',
522 'required' => '1',
523 'min_ver' => '0.91',
525 'Template' => {
526 'usage' => 'Core',
527 'required' => '1',
528 'min_ver' => '2.22',
530 'Template::Plugin::Stash' => {
531 'usage' => 'Debugging',
532 'required' => '0',
533 'min_ver' => '1.006',
535 'Gravatar::URL' => {
536 'usage' => 'Photos in OPAC reviews',
537 'required' => '0',
538 'min_ver' => '1.03',
540 'Modern::Perl' => {
541 'usage' => 'Core',
542 'required' => '1',
543 'min_ver' => '1.03',
545 'DateTime::Format::ICal' => {
546 'usage' => 'Core',
547 'required' => '1',
548 'min_ver' => '0.09',
550 'Template::Plugin::HtmlToText' => {
551 'usage' => 'Core',
552 'required' => '1',
553 'min_ver' => '0.03',
555 'Template::Plugin::JSON::Escape' => {
556 'usage' => 'Core',
557 'required' => '1',
558 'min_ver' => '0.02',
560 'DBD::Mock' => {
561 'usage' => 'Core',
562 'required' => '1',
563 'min_ver' => '1.39'
565 'Text::Bidi' => {
566 'usage' => 'Label batch PDF',
567 'required' => '1',
568 'min_ver' => '0.03',
570 'Test::DBIx::Class' => {
571 'usage' => 'Testing modules utilising DBIx::Class',
572 'required' => '0',
573 'min_ver' => '0.42',
575 'Test::Deep' => {
576 'usage' => 'Core',
577 'required' => '0',
578 'min_ver' => '0.106',
580 'Test::Exception' => {
581 'usage' => 'Core',
582 'required' => '0',
583 'min_ver' => '0.35',
585 'Test::Harness' => {
586 'usage' => 'Core',
587 'required' => '1',
588 'min_ver' => '2.56'
590 'Test::MockModule' => {
591 'usage' => 'Core',
592 'required' => '1',
593 'min_ver' => '0.05',
595 'Test::MockObject' => {
596 'usage' => 'Core',
597 'required' => '0',
598 'min_ver' => '1.09',
600 'Test::MockTime' => {
601 usage => 'Testing suite',
602 required => 0,
603 min_ver => '0.13',
605 'Test::More' => {
606 'usage' => 'Core',
607 'required' => '1',
608 'min_ver' => '1.302073'
610 'Test::Strict' => {
611 'usage' => 'Core',
612 'required' => '0',
613 'min_ver' => '0.14',
615 'Test::Warn' => {
616 'usage' => 'Core',
617 'required' => '0',
618 'min_ver' => '0.21',
620 'Test::YAML::Valid' => {
621 'usage' => 'Core',
622 'required' => '0',
623 'min_ver' => '0.04',
625 'Text::CSV::Unicode' => {
626 usage => 'Testing suite',
627 required => 0,
628 min_ver => '0.40'
630 'Text::Unaccent' => {
631 'usage' => 'Core',
632 'required' => '1',
633 'min_ver' => '1.08',
635 'Test::WWW::Mechanize' => {
636 'usage' => 'Testing suite',
637 'required' => '0',
638 'min_ver' => '1.42',
640 'HTML::FormatText' => {
641 'usage' => 'Core',
642 'required' => '1',
643 'min_ver' => '1.23',
645 'AnyEvent' => {
646 'usage' => 'Command line scripts',
647 'required' => '0',
648 'min_ver' => '5.0',
650 'AnyEvent::HTTP' => {
651 'usage' => 'Command line scripts',
652 'required' => '0',
653 'min_ver' => '2.13',
655 'Moo' => {
656 'usage' => 'Core',
657 'required' => '0',
658 'min_ver' => '1',
660 'String::Random' => {
661 'usage' => 'OpacSelfRegistration',
662 'required' => '1',
663 'min_ver' => '0.22',
665 'File::Temp' => {
666 'usage' => 'Plugins',
667 'required' => '0',
668 'min_ver' => '0.22',
670 'File::Copy' => {
671 'usage' => 'Plugins',
672 'required' => '0',
673 'min_ver' => '2.08',
675 'File::Path' => {
676 'usage' => 'Plugins',
677 'required' => '0',
678 'min_ver' => '2.07',
680 'Archive::Extract' => {
681 'usage' => 'Plugins',
682 'required' => '0',
683 'min_ver' => '0.60',
685 'Archive::Zip' => {
686 'usage' => 'Plugins',
687 'required' => '0',
688 'min_ver' => '1.30',
690 'Module::Load::Conditional' => {
691 'usage' => 'Plugins',
692 'required' => '0',
693 'min_ver' => '0.38',
695 'Module::Bundled::Files' => {
696 'usage' => 'Plugins',
697 'required' => '0',
698 'min_ver' => '0.03',
700 'Module::Pluggable' => {
701 'usage' => 'Plugins',
702 'required' => '0',
703 'min_ver' => '3.9',
705 'File::Slurp' => {
706 'usage' => 'Core',
707 'required' => '1',
708 'min_ver' => '9999.13',
710 'Library::CallNumber::LC' => {
711 'usage' => 'Core',
712 'required' => '1',
713 'min_ver' => '0.22',
715 'Crypt::Eksblowfish::Bcrypt' => {
716 'usage' => 'Password storage',
717 'required' => '1',
718 'min_ver' => '0.008',
720 'HTTPD::Bench::ApacheBench' => {
721 'usage' => 'Load testing',
722 'required' => '0',
723 'min_ver' => '0.73',
725 'Email::Valid' => {
726 'usage' => 'Core',
727 'required' => '1',
728 'min_ver' => '0.190',
730 'OpenOffice::OODoc' => {
731 usage => 'Export',
732 required => 1,
733 min_ver => '2.125',
735 'Locale::Messages' => {
736 'usage' => 'Core',
737 'required' => '1',
738 'min_ver' => '1.20',
740 'PPI' => {
741 'usage' => 'I18N',
742 'required' => '0',
743 'min_ver' => '1.215',
745 'LWP::Protocol::https' => {
746 'usage' => 'OverDrive integration',
747 'required' => '0',
748 'min_ver' => '5.836',
750 'PDF::FromHTML' => {
751 'usage' => 'Discharge generation',
752 'required' => '0',
753 'min_ver' => '0.31',
755 'Devel::Cover' => {
756 'usage' => 'Test code coverage',
757 'required' => '0',
758 'min_ver' => '0.89',
760 'Log::Log4perl' => {
761 'usage' => 'Core',
762 'required' => '1',
763 'min_ver' => '1.29',
765 'XML::Writer' => {
766 'usage' => 'Command line scripts',
767 'required' => '0',
768 'min_ver' => '0.614',
770 'UUID' => {
771 'usage' => 'Professional cataloging interface',
772 'required' => '1',
773 'min_ver' => '0.05',
775 'Mojolicious' => {
776 'usage' => 'REST API',
777 'required' => '1',
778 'min_ver' => '7.21',
780 'Mojolicious::Plugin::OpenAPI' => {
781 'usage' => 'REST API',
782 'required' => '1',
783 'min_ver' => '1.15',
785 'JSON::Validator' => {
786 'usage' => 'REST API',
787 'required' => '1',
788 'min_ver' => '0.97',
790 'UNIVERSAL::can' => {
791 'usage' => 'SIP',
792 'required' => '1',
793 'min_ver' => '1.10',
795 'WWW::YouTube::Download' => {
796 'usage' => 'HTML5Media streaming from YouTube',
797 'required' => '0',
798 'min_ver' => '0.56',
800 'Net::CIDR' => {
801 'usage' => 'Core',
802 'required' => '1',
803 'min_ver' => '0.17',
805 'Net::SFTP::Foreign' => {
806 'usage' => 'Edifact',
807 'required' => '0',
808 'min_ver' => '1.73',
810 'Text::Unidecode' => {
811 'usage' => 'Edifact',
812 'required' => '0',
813 'min_ver' => '0.04',
815 'Time::Fake' => {
816 'usage' => 'Test code coverage',
817 'required' => '0',
818 'min_ver' => '0.11',
820 'DBIx::RunSQL' => {
821 'usage' => 'Load SQL files',
822 'required' => '1',
823 'min_ver' => '0.14',
825 'Lingua::Ispell' => {
826 'usage' => 'Enhanced Content - Tagging',
827 'required' => '0',
828 'min_ver' => '0.07'
830 'WWW::CSRF' => {
831 usage => 'Core',
832 required => 1,
833 min_ver => '1.00',
835 'Selenium::Remote::Driver' => {
836 usage => 'Testing suite',
837 required => 0,
838 min_ver => '1.27'
840 'Sereal::Encoder' => {
841 'usage' => 'Caching',
842 'required' => '1',
843 'min_ver' => '3.0',
845 'Sereal::Decoder' => {
846 'usage' => 'Caching',
847 'required' => '1',
848 'min_ver' => '3.0',
850 'HTML::Entities' => {
851 usage => 'Core',
852 required => 1,
853 min_ver => '3.69', # same for Wheezy/Jessie
855 'Readonly' => {
856 'usage' => 'Make script happy',
857 'required' => '0',
858 'min_ver' => '0.01'
860 'Readonly::XS' => {
861 'usage' => 'Make script happy',
862 'required' => '0',
863 'min_ver' => '0.01'
865 'Bytes::Random::Secure' => {
866 usage => 'Core',
867 required => 1,
868 min_ver => '0.28',
870 'WebService::ILS' => {
871 'usage' => 'Interface third party systems',
872 'required' => '0',
873 'min_ver' => '0.17',
875 'Search::Elasticsearch' => {
876 'usage' => 'Elasticsearch integration',
877 'required' => '1',
878 'min_ver' => '5.01',
879 # also required for Zebra installs: about page: bug 20061
881 'Parallel::ForkManager' => {
882 usage => 'Testing suite',
883 required => 0,
884 min_ver => '0.75',
886 'Sys::CPU' => {
887 usage => 'Testing suite',
888 required => 0,
889 min_ver => '0.52',
891 'Net::OAuth2::AuthorizationServer' => {
892 usage => 'REST API',
893 required => '0',
894 min_ver => '0.16',
896 'CGI::Emulate::PSGI' => {
897 usage => 'Plack',
898 required => '1',
899 min_ver => '0.20',
901 'CGI::Compile' => {
902 usage => 'Plack',
903 required => '1',
904 min_ver => '0.17'
906 'Clone' => {
907 usage => 'ILL, Test suite, Elasticsearch integration',
908 required => '1',
909 min_ver => '0.37',
915 __END__
917 =head1 NAME
919 C4::Installer::PerlDependencies
921 =head1 ABSTRACT
923 A module for cataloging Koha Perl dependencies.
925 =head1 SYNOPSIS
927 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
928 end of the outer hash and follow the key/value pattern used in the other dependencies.
930 =head2 Debian
932 If you change the list of dependencies, and you use Debian, please also
933 run the debian/update-control script and commit the modified version of
934 debian/control into git as well. If you're not running Debian, don't
935 worry about it.
937 =head1 AUTHOR
939 Chris Nighswonger <cnighswonger AT foundations DOT edu>
941 =head1 COPYRIGHT
943 Copyright 2010 Foundations Bible College.
945 =head1 LICENSE
947 This file is part of Koha.
949 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
950 Foundation; either version 2 of the License, or (at your option) any later version.
952 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,
953 Fifth Floor, Boston, MA 02110-1301 USA.
955 =head1 DISCLAIMER OF WARRANTY
957 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
958 A PARTICULAR PURPOSE. See the GNU General Public License for more details.
960 =cut