From b69f1c7ed2ef55993a3c7b3c0042e50377787e24 Mon Sep 17 00:00:00 2001 From: Simon Story Date: Fri, 18 Nov 2011 14:52:09 +0000 Subject: [PATCH] Patches to bugs 6684 6997 4880 6684 koha-remove should check the number of arguments it gets 6997 koha-remove leaves system in inconsistent state if there is an error 4880 koha-remove sometimes fails because user is logged intkoha-remove sometimes fails because user is logged in Amended by chrisc@catalyst.net.nz Trying to resolve conflicts. --- debian/scripts/koha-remove | 33 ++++++++++++++++++++++++++++----- 1 files changed, 28 insertions(+), 5 deletions(-) diff --git a/debian/scripts/koha-remove b/debian/scripts/koha-remove index 09720ea..dad0945 100755 --- a/debian/scripts/koha-remove +++ b/debian/scripts/koha-remove @@ -30,21 +30,42 @@ do shift done +NAMES="$@" -for name in "$@" +SITECONFDIR="/etc/koha/sites" +# There has to be a better way of excluding '.' from find. But this works. +INSTANCES=`cd $SITECONFDIR && find . -type d -printf " %f" |sed s/\ .\ //` + +if [ -z $NAMES ] ; then + echo "Please specify a Koha instance name. Your choices are:" + echo "$INSTANCES" + exit 1 +fi + +for name in $NAMES do + # Does the directory (ie instance) name exist? + if [ ! -d $SITECONFDIR/$name ] ; then + echo Koha configuration directory for instance \"$name\" does not exist, please specify a valid Koha instance + exit 1 + fi + echo "Removing Koha instance $name" if [ "$keepmysql" != "1" ] then mysql --defaults-extra-file=/etc/mysql/koha-common.cnf < /dev/null && deluser --quiet "$name-koha" - a2dissite "$name" + # in case the site has already been disabled, we don't want to break the loop now. + a2dissite "$name" | /bin/true done service apache2 restart -- 1.7.5.4