X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=C4%2FInstaller.pm;h=304698ed0eb9f3daa1ac7d4fb135372a57d0c40e;hb=23de370b2d73babe7378d419f59e3af7a632e394;hp=a7eb1f6ed614b0d699eeeeb556e4f5a30a912e3e;hpb=d57da73c2f51d837cb7557d7e8ca368cd74fe5c4;p=koha.git diff --git a/C4/Installer.pm b/C4/Installer.pm index a7eb1f6ed6..304698ed0e 100644 --- a/C4/Installer.pm +++ b/C4/Installer.pm @@ -20,9 +20,9 @@ package C4::Installer; use strict; #use warnings; FIXME - Bug 2505 -our $VERSION = 3.00; +our $VERSION = 3.07.00.049; use C4::Context; -use C4::Installer::PerlModules 1.000000; +use C4::Installer::PerlModules; =head1 NAME @@ -154,8 +154,8 @@ sub marc_framework_sql_list { my @frameworklist; map { my $name = substr( $_, 0, -4 ); - open FILE, "<:utf8","$dir/$requirelevel/$name.txt"; - my $lines = ; + open my $fh, "<:encoding(UTF-8)", "$dir/$requirelevel/$name.txt"; + my $lines = <$fh>; $lines =~ s/\n|\r/
/g; use utf8; utf8::encode($lines) unless ( utf8::is_utf8($lines) ); @@ -232,8 +232,8 @@ sub sample_data_sql_list { my @frameworklist; map { my $name = substr( $_, 0, -4 ); - open FILE, "<:utf8","$dir/$requirelevel/$name.txt"; - my $lines = ; + open my $fh , "<:encoding(UTF-8)", "$dir/$requirelevel/$name.txt"; + my $lines = <$fh>; $lines =~ s/\n|\r/
/g; use utf8; utf8::encode($lines) unless ( utf8::is_utf8($lines) ); @@ -508,8 +508,13 @@ sub load_sql { my $datadir = C4::Context->config('intranetdir') . "/installer/data/$self->{dbms}"; my $error; my $strcmd; + my $cmd; if ( $self->{dbms} eq 'mysql' ) { - $strcmd = "mysql " + $cmd = qx(which mysql 2>/dev/null || whereis mysql 2>/dev/null); + chomp $cmd; + $cmd = $1 if ($cmd && $cmd =~ /^(.+?)[\r\n]+$/); + $cmd = 'mysql' if (!$cmd || !-x $cmd); + $strcmd = "$cmd " . ( $self->{hostname} ? " -h $self->{hostname} " : "" ) . ( $self->{port} ? " -P $self->{port} " : "" ) . ( $self->{user} ? " -u $self->{user} " : "" ) @@ -517,7 +522,11 @@ sub load_sql { . " $self->{dbname} "; $error = qx($strcmd --default-character-set=utf8 <$filename 2>&1 1>/dev/null); } elsif ( $self->{dbms} eq 'Pg' ) { - $strcmd = "psql " + $cmd = qx(which psql 2>/dev/null || whereis psql 2>/dev/null); + chomp $cmd; + $cmd = $1 if ($cmd && $cmd =~ /^(.+?)[\r\n]+$/); + $cmd = 'psql' if (!$cmd || !-x $cmd); + $strcmd = "$cmd " . ( $self->{hostname} ? " -h $self->{hostname} " : "" ) . ( $self->{port} ? " -p $self->{port} " : "" ) . ( $self->{user} ? " -U $self->{user} " : "" )