Bugzilla – Attachment 60129 Details for
Bug 16749
Additional fixes for debian scripts
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 16749: Adjust xmlstarlet calls in koha-functions
Bug-16749-Adjust-xmlstarlet-calls-in-koha-function.patch (text/plain), 2.84 KB, created by
Marcel de Rooy
on 2017-02-12 13:58:59 UTC
(
hide
)
Description:
Bug 16749: Adjust xmlstarlet calls in koha-functions
Filename:
MIME Type:
Creator:
Marcel de Rooy
Created:
2017-02-12 13:58:59 UTC
Size:
2.84 KB
patch
obsolete
>From 68da2afb3fced319c386ccc347688576dc52e629 Mon Sep 17 00:00:00 2001 >From: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> >Date: Fri, 10 Feb 2017 09:37:13 +0100 >Subject: [PATCH] Bug 16749: Adjust xmlstarlet calls in koha-functions >Content-Type: text/plain; charset=utf-8 > >In various scripts we use xmlstarlet to extract values from koha-conf. >If we call xmlstarlet on non-existing entries in koha-conf, this may >however result in silently failing scripts (when set -e is in effect). > >A function run_safe_xmlstarlet is added for situations where the entry >might not exist. It will not halt execution. > >This patch only adjusts koha-functions.sh and modifies the xmlstarlet calls >for dev_install and zebra_loglevels. > >Note: The function does not need to check file existence. If the file does >not exist, xmlstarlet warns about it; the function returns empty string, >but does not set an error exit status. > >Test plan: See second patch ("koha-plack adjustments"). > >Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> >--- > debian/scripts/koha-functions.sh | 24 +++++++++++++++++------- > 1 file changed, 17 insertions(+), 7 deletions(-) > >diff --git a/debian/scripts/koha-functions.sh b/debian/scripts/koha-functions.sh >index 167998e..4c40ce5 100755 >--- a/debian/scripts/koha-functions.sh >+++ b/debian/scripts/koha-functions.sh >@@ -222,16 +222,14 @@ adjust_paths_dev_install() > # corresponding tag in koha-conf.xml > > local instancename=$1 >- local dev_install >- >- if [ -e /etc/koha/sites/$instancename/koha-conf.xml ]; then >- dev_install=$(xmlstarlet sel -t -v 'yazgfs/config/dev_install' /etc/koha/sites/$instancename/koha-conf.xml) >- fi >+ local dev_install=$(run_safe_xmlstarlet $instancename dev_install) > > if [ "$dev_install" != "" ]; then > DEV_INSTALL=1 > KOHA_HOME=$dev_install > PERL5LIB=$dev_install >+ else >+ DEV_INSTALL="" > fi > } > >@@ -244,13 +242,12 @@ get_instances() > get_loglevels() > { > local instancename=$1 >- local retval=$(xmlstarlet sel -t -v 'yazgfs/config/zebra_loglevels' /etc/koha/sites/$instancename/koha-conf.xml) >+ local retval=$(run_safe_xmlstarlet $instancename zebra_loglevels) > if [ "$retval" != "" ]; then > echo "$retval" > else > echo "none,fatal,warn" > fi >- > } > > get_tmpdir() >@@ -272,3 +269,16 @@ get_tmpdir() > fi > echo $(dirname $retval) > } >+ >+run_safe_xmlstarlet() >+{ >+ # When a bash script sets -e (errexit), calling xmlstarlet on an >+ # unexisting key would halt the script. This is resolved by calling >+ # this function in a subshell. It will always returns true, while not >+ # affecting the exec env of the caller. (Otherwise, errexit is cleared.) >+ local instancename=$1 >+ local myexpr=$2 >+ set +e; # stay on the safe side >+ echo $(xmlstarlet sel -t -v "yazgfs/config/$myexpr" /etc/koha/sites/$instancename/koha-conf.xml) >+ return 0 >+} >-- >2.1.4
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 16749
:
52561
|
55490
|
60064
|
60103
|
60106
|
60109
|
60110
|
60111
|
60112
|
60113
|
60114
|
60125
|
60126
|
60129
|
60130
|
60131
|
60132
|
60139
|
60140
|
60193
|
60194
|
60195
|
60196
|
60197
|
60335
|
60340
|
60343
|
60344
|
60345
|
60346
|
60347
|
60348
|
60349
|
60350