Bugzilla – Attachment 17618 Details for
Bug 10101
koha-enable error handling
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 10101 - make koha-enable more robust
Bug-10101---make-koha-enable-more-robust.patch (text/plain), 4.44 KB, created by
Tomás Cohen Arazi (tcohen)
on 2013-04-23 15:08:48 UTC
(
hide
)
Description:
Bug 10101 - make koha-enable more robust
Filename:
MIME Type:
Creator:
Tomás Cohen Arazi (tcohen)
Created:
2013-04-23 15:08:48 UTC
Size:
4.44 KB
patch
obsolete
>From c1371a522d67f3dbc1f195a05c65e372bfff9152 Mon Sep 17 00:00:00 2001 >From: Tomas Cohen Arazi <tomascohen@gmail.com> >Date: Tue, 23 Apr 2013 11:03:44 -0300 >Subject: [PATCH] Bug 10101 - make koha-enable more robust >MIME-Version: 1.0 >Content-Type: text/plain; charset=UTF-8 >Content-Transfer-Encoding: 8bit > >koha-enable now: > >- checks for the existence of the instance before any other action on it. >- checks if the instance is already enabled before changing stuff in the config files. >- only reloads apache if it is needed! >- handles more than one instance name as parameter (the code was there, a check for the cardinality of the args prevented it from working). >- documents this behaviour change in the docs >- doesn't break if the provided (invalid) instance name is a prefix/suffix of a real one (added -x to the relevant grep command). > >To test: >- Aplpy the patch, build your packages >- Run koha-enable on > - Non existent instance (try using a prefix or a suffix of an already created one too). > - Already enabled existent instance name. > - Disabled instance. > >Regards >To+ > >Sponsored-by: Universidad Nacional de Córdoba >--- > debian/docs/koha-enable.xml | 6 ++-- > debian/scripts/koha-enable | 68 +++++++++++++++++++++++++++++++++++++++---- > 2 files changed, 66 insertions(+), 8 deletions(-) > >diff --git a/debian/docs/koha-enable.xml b/debian/docs/koha-enable.xml >index db45daa..87f29ba 100644 >--- a/debian/docs/koha-enable.xml >+++ b/debian/docs/koha-enable.xml >@@ -17,18 +17,18 @@ > > <refnamediv> > <refname>koha-enable</refname> >- <refpurpose>Enable a Koha instance. New instances are enabled by default. You only need this command if you have previously disabled a site with koha-disable.</refpurpose> >+ <refpurpose>Enable one or more Koha instances. New instances are enabled by default. You only need this command if you have previously disabled an instance with koha-disable.</refpurpose> > <refclass>UNIX/Linux</refclass> > </refnamediv> > > <refsynopsisdiv> > <cmdsynopsis> >- <command>koha-enable</command> <arg choice="req" rep="norepeat"><replaceable>instancename</replaceable></arg> >+ <command>koha-enable</command> <arg choice="req" rep="repeat"><replaceable>instancename</replaceable></arg> > </cmdsynopsis> > </refsynopsisdiv> > > <refsect1><title>Description</title> >- <para>Enable a Koha instance. New instances are enabled by default. You only need this command if you have previously disabled a site with koha-disable.</para> >+ <para>Enable one or more Koha instances. New instances are enabled by default. You only need this command if you have previously disabled am instance with koha-disable.</para> > </refsect1> > > <refsect1><title>See also</title> >diff --git a/debian/scripts/koha-enable b/debian/scripts/koha-enable >index 3ceef2e..01c2a85 100755 >--- a/debian/scripts/koha-enable >+++ b/debian/scripts/koha-enable >@@ -20,20 +20,78 @@ > set -e > > >-die() { >+die() >+{ > echo "$@" 1>&2 > exit 1 > } > >+warn() >+{ >+ echo "$@" 1>&2 >+} >+ >+is_enabled() >+{ >+ local instancename=$1 >+ >+ if ! is_instance $instancename; then >+ return 1 >+ fi >+ >+ if grep -q '^[[:space:]]*Include /etc/koha/apache-shared-disable.conf' \ >+ "/etc/apache2/sites-available/$instancename" ; then >+ return 1 >+ else >+ return 0 >+ fi >+} > >+is_instance() >+{ >+ local instancename=$1 >+ >+ if find /etc/koha/sites -mindepth 1 -maxdepth 1 \ >+ -type d -printf '%f\n'\ >+ | grep -q -x $instancename ; then >+ return 0 >+ else >+ return 1 >+ fi >+} >+ >+enable_instance() >+{ >+ local instancename=$1 >+ >+ if ! is_enabled $instancename; then >+ sed -i 's:^\(\s*Include /etc/koha/apache-shared-disable.conf\)$:#\1:' \ >+ "/etc/apache2/sites-available/$instancename" >+ return 0 >+ else >+ return 1 >+ fi >+} > # Parse command line. >-[ "$#" = 1 ] || die "Usage: $0 instancename..." >+[ "$#" > 1 ] || die "Usage: $0 instancename..." > >+restart_apache="no" > > for name in "$@" > do >- sed -i 's:^\(\s*Include /etc/koha/apache-shared-disable.conf\)$:#\1:' \ >- "/etc/apache2/sites-available/$name" >+ if is_instance $name ; then >+ if enable_instance $name; then >+ restart_apache="yes" >+ else >+ warn "Instance $name already enabled." >+ fi >+ else >+ warn "Unknown instance $name." >+ fi > done > >-/etc/init.d/apache2 restart >+if [ "$restart_apache" = "yes" ]; then >+ /etc/init.d/apache2 restart >+fi >+ >+exit 0 >-- >1.7.9.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 10101
:
17618
|
17776
|
17811
|
17820
|
17834
|
17835
|
17836