Bugzilla – Attachment 38022 Details for
Bug 13876
Permission issues on updating via installer - dev installations
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
[PASSED QA] Bug 13876: [QA Follow-up] Resolve updatedatabase logfile issues
PASSED-QA-Bug-13876-QA-Follow-up-Resolve-updatedat.patch (text/plain), 2.76 KB, created by
Kyle M Hall (khall)
on 2015-04-17 10:28:07 UTC
(
hide
)
Description:
[PASSED QA] Bug 13876: [QA Follow-up] Resolve updatedatabase logfile issues
Filename:
MIME Type:
Creator:
Kyle M Hall (khall)
Created:
2015-04-17 10:28:07 UTC
Size:
2.76 KB
patch
obsolete
>From 28a607559c01e94d878f27cd58c9429c7a63600d Mon Sep 17 00:00:00 2001 >From: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> >Date: Fri, 20 Mar 2015 16:13:51 +0100 >Subject: [PATCH] [PASSED QA] Bug 13876: [QA Follow-up] Resolve updatedatabase logfile issues > >This patch removes the test on write permissions of the logdir. >It uses File::Temp to generate a file in the logdir or otherwise in >a system tmp dir. >This resolves issues with both write permissions as well as SELinux >denials. >Note that after generating an empty file, we are appending to it in >the system statement. > >Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> >Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de> > >Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> >Amended: only use File::Temp in the fallback case. Do not add the four >character suffix in the first attempt. > >Signed-off-by: Chris Nighswonger <cnighswonger@foundations.edu> > >Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> > >Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> >--- > installer/install.pl | 20 ++++++++++++++------ > 1 files changed, 14 insertions(+), 6 deletions(-) > >diff --git a/installer/install.pl b/installer/install.pl >index 63094ab..e43caa0 100755 >--- a/installer/install.pl >+++ b/installer/install.pl >@@ -7,7 +7,6 @@ use diagnostics; > use C4::InstallAuth; > use CGI qw ( -utf8 ); > use POSIX qw(strftime); >-use File::Temp qw( tempdir ); > > use C4::Context; > use C4::Output; >@@ -323,12 +322,9 @@ elsif ( $step && $step == 3 ) { > > my $now = POSIX::strftime( "%Y-%m-%dT%H:%M:%S", localtime() ); > my $logdir = C4::Context->config('logdir'); >- unless ( -w $logdir ) { >- $logdir = tempdir; >- } >- my ( $logfilepath, $logfilepath_errors ) = ( $logdir . "/updatedatabase_$now.log", $logdir . "/updatedatabase-error_$now.log" ); >+ my ( $logfilepath, $logfilepath_errors ) = ( chk_log($logdir, "updatedatabase_$now"), chk_log($logdir, "updatedatabase-error_$now") ); > >- my $cmd = C4::Context->config("intranetdir") . "/installer/data/$info{dbms}/updatedatabase.pl > $logfilepath 2> $logfilepath_errors"; >+ my $cmd = C4::Context->config("intranetdir") . "/installer/data/$info{dbms}/updatedatabase.pl >> $logfilepath 2>> $logfilepath_errors"; > > system($cmd ); > >@@ -423,3 +419,15 @@ else { > } > } > output_html_with_http_headers $query, $cookie, $template->output; >+ >+sub chk_log { #returns a logfile in $dir or - if that failed - in temp dir >+ my ($dir, $name) = @_; >+ my $fn=$dir.'/'.$name.'.log'; >+ if( ! open my $fh, '>', $fn ) { >+ $name.= '_XXXX'; >+ require File::Temp; >+ ($fh, $fn)= File::Temp::tempfile( $name, TMPDIR => 1, SUFFIX => '.log'); >+ #if this should not work, let croak take over >+ } >+ return $fn; >+} >-- >1.7.2.5
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 13876
:
37014
|
37022
|
37052
|
37053
|
37094
|
37095
|
37906
|
37965
|
37966
|
37999
|
38000
|
38001
|
38002
|
38004
|
38021
| 38022 |
38023