X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=installer%2Finstall.pl;h=01360e636d3b9890cd402ac060df9bae0d369c6e;hb=72f9f2239f9d71eec5e2cd987f445a25618d8027;hp=419273a684fcdf51756c8681be9bbb1a9f10b9dd;hpb=a642b1c72aa25743796e6e032c8aab1a2a905e14;p=srvgit diff --git a/installer/install.pl b/installer/install.pl index 419273a684..01360e636d 100755 --- a/installer/install.pl +++ b/installer/install.pl @@ -185,7 +185,7 @@ elsif ( $step && $step == 3 ) { # we have finished, just redirect to mainpage. # print $query->redirect("/cgi-bin/koha/mainpage.pl"); - exit 1; + exit; } elsif ( $op && $op eq 'finish' ) { $installer->set_version_syspref(); @@ -312,20 +312,24 @@ elsif ( $step && $step == 3 ) { # Not 1st install, the only sub-step : update database # #Do updatedatabase And report - my $cmd = C4::Context->config("intranetdir") . "/installer/data/$info{dbms}/updatedatabase.pl"; - my ($success, $error_code, $full_buf, $stdout_buf, $stderr_buf) = IPC::Cmd::run(command => $cmd, verbose => 0); - - if (@$stdout_buf) { - $template->param(update_report => [ map { { line => $_ } } split(/\n/, join('', @$stdout_buf)) ] ); - $template->param(has_update_succeeds => 1); - } - if (@$stderr_buf) { - $template->param(update_errors => [ map { { line => $_ } } split(/\n/, join('', @$stderr_buf)) ] ); - $template->param(has_update_errors => 1); - warn "The following errors were returned while attempting to run the updatedatabase.pl script:\n"; - foreach my $line (@$stderr_buf) {warn "$line\n";} + if ( ! defined $ENV{PERL5LIB} ) { + my $find = "C4/Context.pm"; + my $path = $INC{$find}; + $path =~ s/\Q$find\E//; + $ENV{PERL5LIB} = "$path:$path/installer"; + warn "# plack? inserted PERL5LIB $ENV{PERL5LIB}\n"; } + my $koha39 = "3.0900028"; + my $cmd; + # Old updatedatabase method + my $current_version = C4::Context->preference('Version'); + if ( $current_version < $koha39 ) { + $cmd = C4::Context->config("intranetdir") . "/installer/data/$info{dbms}/updatedatabase.pl"; + my ($success, $error_code, $full_buf, $stdout_buf, $stderr_buf) = IPC::Cmd::run(command => $cmd, verbose => 0); + print_std( "updatedatabase.pl", $stdout_buf, $stderr_buf ); + $current_version= $koha39; + } $template->param( $op => 1 ); } else { @@ -397,4 +401,20 @@ else { } } } + +sub print_std { + my ( $script, $stdout_buf, $stderr_buf ) = @_; + if (@$stdout_buf) { + $template->param(update_report => [ map { { line => $_ } } split(/\n/, join('', @$stdout_buf)) ] ); + $template->param(has_update_succeeds => 1); + } + if (@$stderr_buf) { + $template->param(update_errors => [ map { { line => $_ } } split(/\n/, join('', @$stderr_buf)) ] ); + $template->param(has_update_errors => 1); + warn "The following errors were returned while attempting to run the $script script:\n"; + foreach my $line (@$stderr_buf) {warn "$line\n";} + } +} + + output_html_with_http_headers $query, $cookie, $template->output;