From 48dc1cb4b0520f195aa0f3eb86bb0a26067ed520 Mon Sep 17 00:00:00 2001 From: Chris Nighswonger Date: Mon, 11 Jan 2010 09:34:00 -0500 Subject: [PATCH] [25/30] Fixing up the installer to check for new optional dependencies --- Makefile.PL | 4 +-- installer/install.pl | 32 +++++++++++++------ .../prog/en/modules/installer/step1.tmpl | 13 ++++---- 3 files changed, 31 insertions(+), 18 deletions(-) diff --git a/Makefile.PL b/Makefile.PL index 005ab81a56..aa4591171b 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -556,9 +556,9 @@ WriteMakefile( 'Digest::SHA' => 5.43, 'Email::Date' => 1.103, 'File::Temp' => 0.16, - 'GD' => 2.39, #optional + 'GD' => 2.39, #optional, used for patron image feature 'GD::Barcode::UPCE' => 1.1, - 'Graphics::Magick' => 1.37 + 'Graphics::Magick' => 1.3.7, #optional, used for patron cards creator 'Getopt::Long' => 2.35, 'Getopt::Std' => 1.05, 'HTML::Template::Pro' => 0.69, diff --git a/installer/install.pl b/installer/install.pl index 9d2196207a..4142d06417 100755 --- a/installer/install.pl +++ b/installer/install.pl @@ -131,6 +131,18 @@ if ( $step && $step == 1 ) { { name => "GD::Barcode", usagebarcode => 1, usagespine => 1 }; } } + unless ( eval { require GD } ) { + if ( $#missing >= 0 ) { # only when $#missing >= 0 so this isn't fatal + push @missing, + { name => "GD", usagepatronimages => 1 }; + } + } + unless ( eval { require Graphics::Magick } ) { + if ( $#missing >= 0 ) { # only when $#missing >= 0 so this isn't fatal + push @missing, + { name => "Graphics::Magick", usagepatroncards => 1 }; + } + } unless ( eval { require Data::Random } ) { if ( $#missing >= 0 ) { # only when $#missing >= 0 so this isn't fatal push @missing, { name => "Data::Random", usagebarcode => 1 }; @@ -230,7 +242,7 @@ elsif ( $step && $step == 2 ) { } $template->param( "checkgrantaccess" => $grantaccess ); } # End mysql connect check... - + elsif ( $info{dbms} eq "Pg" ) { # Check if database has been created... my $rv = $dbh->do( "SELECT * FROM pg_catalog.pg_database WHERE datname = \'$info{dbname}\';" ); @@ -257,7 +269,7 @@ elsif ( $step && $step == 3 ) { # # STEP 3 : database setup # -# +# my $op = $query->param('op'); if ( $op && $op eq 'finished' ) { # @@ -298,7 +310,7 @@ elsif ( $step && $step == 3 ) { # # # (note that the term "selectframeworks is not correct. The user can select various files, not only frameworks) - + #Framework Selection #sql data for import are supposed to be located in installer/data// # Where is en|fr or any international abbreviation (provided language hash is updated... This will be a problem with internationlisation.) @@ -314,15 +326,15 @@ elsif ( $step && $step == 3 ) { my $marcflavour = $query->param('marcflavour'); if ($marcflavour){ $installer->set_marcflavour_syspref($marcflavour); - }; + }; $marcflavour = C4::Context->preference('marcflavour') unless ($marcflavour); #Insert into database the selected marcflavour - undef $/; + undef $/; my ($marc_defaulted_to_en, $fwklist) = $installer->marc_framework_sql_list($langchoice, $marcflavour); $template->param('en_marc_frameworks' => $marc_defaulted_to_en); $template->param( "frameworksloop" => $fwklist ); $template->param( "marcflavour" => ucfirst($marcflavour)); - + my ($sample_defaulted_to_en, $levellist) = $installer->sample_data_sql_list($langchoice, $marcflavour); $template->param( "en_sample_data" => $sample_defaulted_to_en); $template->param( "levelloop" => $levellist ); @@ -334,7 +346,7 @@ elsif ( $step && $step == 3 ) { # 1ST install, 2nd sub-step : show the user the marcflavour available. # # - + #Choose Marc Flavour #sql data are supposed to be located in installer/data///marcflavour/marcflavourname # Where is database type according to DBD syntax @@ -362,13 +374,13 @@ elsif ( $step && $step == 3 ) { } my @listdir = grep { !/^\./ && -d "$dir/$_" } readdir(MYDIR); closedir MYDIR; - my $marcflavour=C4::Context->preference("marcflavour"); + my $marcflavour=C4::Context->preference("marcflavour"); my @flavourlist; foreach my $marc (@listdir) { - my %cell=( + my %cell=( "label"=> ucfirst($marc), "code"=>uc($marc), - "checked"=> defined($marcflavour) ? uc($marc) eq $marcflavour : 0); + "checked"=> defined($marcflavour) ? uc($marc) eq $marcflavour : 0); # $cell{"description"}= do { local $/ = undef; open INPUT "<$dir/$marc.txt"||""; }; push @flavourlist, \%cell; } diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/installer/step1.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/installer/step1.tmpl index dcb90a438d..3226622153 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/installer/step1.tmpl +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/installer/step1.tmpl @@ -38,15 +38,16 @@ listed, please inform your systems administrator.


  • This module is used whenever Koha has to send email. - - +
    This module is needed if you intend to print barcodes. - - +
    This module is needed if you intend to print spine labels. - - +
    This module is needed if you intend to use LDAP for authentication. + +
    This module is needed if you intend to use patron images. + +
    This module is needed if you intend to use the patron card creator.
  • -- 2.39.5