Bugzilla – Attachment 3532 Details for
Bug 6008
Installation might fail it user web doesn't have in its path the database command path
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Proposed patch to find the mysql/psql commands in Installer.pm with "which" and "whereis" before
0001-Bug-6008-Locating-mysql-psql-commands-on-Installer.p.patch (text/plain), 2.26 KB, created by
Salva Zaragoza Rubio
on 2011-03-30 16:21:19 UTC
(
hide
)
Description:
Proposed patch to find the mysql/psql commands in Installer.pm with "which" and "whereis" before
Filename:
MIME Type:
Creator:
Salva Zaragoza Rubio
Created:
2011-03-30 16:21:19 UTC
Size:
2.26 KB
patch
obsolete
>From af9db659eca419dbfa50c88c4672de0f02bd8e11 Mon Sep 17 00:00:00 2001 >From: Salvador Zaragoza Rubio <salvazm@masmedios.com> >Date: Wed, 30 Mar 2011 17:40:43 +0200 >Subject: [PATCH] Bug 6008 - Locating mysql/psql commands on Installer.pm >Content-Type: text/plain; charset="utf-8" > >In Installer.pm when is looking for the system command to dump a file into the database >it might fail if the web user doesn't have it in its path. So we add before a search with >"which" and "whereis" commands, if they fail the command is itself without path. > >E.g.: with OpenBSD 4.8 the web user "www" doesn't have the path to the installed mysql bin: >/usr/local/bin/mysql and fails in the web installer. >--- > C4/Installer.pm | 13 +++++++++++-- > 1 files changed, 11 insertions(+), 2 deletions(-) > mode change 100644 => 100755 C4/Installer.pm > >diff --git a/C4/Installer.pm b/C4/Installer.pm >old mode 100644 >new mode 100755 >index 80ef627..9a8beb3 >--- a/C4/Installer.pm >+++ b/C4/Installer.pm >@@ -505,8 +505,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} " : "" ) >@@ -514,7 +519,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} " : "" ) >-- >1.7.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 6008
:
3532
|
7747