Bugzilla – Attachment 17626 Details for
Bug 10104
koha-disable error handling
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 10104 - make koha-disable more robust
Bug-10104---make-koha-disable-more-robust.patch (text/plain), 4.02 KB, created by
Tomás Cohen Arazi (tcohen)
on 2013-04-23 16:34:50 UTC
(
hide
)
Description:
Bug 10104 - make koha-disable more robust
Filename:
MIME Type:
Creator:
Tomás Cohen Arazi (tcohen)
Created:
2013-04-23 16:34:50 UTC
Size:
4.02 KB
patch
obsolete
>From e8d6fe8593743053bc5cefefba0a3748436dfacd Mon Sep 17 00:00:00 2001 >From: Tomas Cohen Arazi <tomascohen@gmail.com> >Date: Tue, 23 Apr 2013 13:29:02 -0300 >Subject: [PATCH] Bug 10104 - make koha-disable more robust >MIME-Version: 1.0 >Content-Type: text/plain; charset=UTF-8 >Content-Transfer-Encoding: 8bit > >koha-disable now: > >- checks for the existence of the instance before any actions on it. >- checks if the instance is already disabled before touching anything (warns otherwise) >- only reloads apache if needed >- handles more than one instance name. >- changed the docs to acknowledge the previous item. > >To test: >- Apply the patch, build your package >- Run koha-disable on > - Non existent instance (try names that are prefix and suffix of a valid one too please) > - Already disabled instance name. > - Enabled instance name. > >It should work as expected and warn the user on the expected wrong cases. > >Regards >To+ > >Sponsored-by: Universidad Nacional de Córdoba >--- > debian/docs/koha-disable.xml | 6 ++-- > debian/scripts/koha-disable | 72 ++++++++++++++++++++++++++++++++++++++---- > 2 files changed, 69 insertions(+), 9 deletions(-) > >diff --git a/debian/docs/koha-disable.xml b/debian/docs/koha-disable.xml >index 1bc9ca3..593a6a5 100644 >--- a/debian/docs/koha-disable.xml >+++ b/debian/docs/koha-disable.xml >@@ -17,18 +17,18 @@ > > <refnamediv> > <refname>koha-disable</refname> >- <refpurpose>Disable a Koha instance.</refpurpose> >+ <refpurpose>Disable Koha instances.</refpurpose> > <refclass>UNIX/Linux</refclass> > </refnamediv> > > <refsynopsisdiv> > <cmdsynopsis> >- <command>koha-disable</command> <arg choice="req" rep="norepeat"><replaceable>instancename</replaceable></arg> >+ <command>koha-disable</command> <arg choice="req" rep="repeat"><replaceable>instancename</replaceable></arg> > </cmdsynopsis> > </refsynopsisdiv> > > <refsect1><title>Description</title> >- <para>Disable a Koha instance.</para> >+ <para>Disable Koha instances.</para> > </refsect1> > > <refsect1><title>See also</title> >diff --git a/debian/scripts/koha-disable b/debian/scripts/koha-disable >index 5d7aa36..7affe5e 100755 >--- a/debian/scripts/koha-disable >+++ b/debian/scripts/koha-disable >@@ -1,6 +1,6 @@ > #!/bin/sh > # >-# koha-disable -- disable a Koha instance. >+# koha-disable -- disable Koha instances. > # Copyright 2010 Catalyst IT, Ltd > # > # This program is free software: you can redistribute it and/or modify >@@ -20,20 +20,80 @@ > 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 >+} >+ >+disable_instance() >+{ >+ local instancename=$1 >+ >+ if is_enabled $instancename; then >+ sed -i 's:^\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*#\(\s*Include /etc/koha/apache-shared-disable.conf\)$:\1:' \ >- "/etc/apache2/sites-available/$name" >+ if is_instance $name ; then >+ if disable_instance $name; then >+ restart_apache="yes" >+ else >+ warn "Instance $name already disabled." >+ 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 10104
:
17626
|
17775
|
17812
|
17819
|
17837
|
17838