From 366f3611ae80c41a954a4035e0d3a48b832efdda Mon Sep 17 00:00:00 2001 From: Simon Story Date: Fri, 18 Nov 2011 14:52:09 +0000 Subject: [PATCH] Bug 6684: Fixes to koha-remove Fixes 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 in Amended by chrisc@catalyst.net.nz Trying to resolve conflicts. Signed-off-by: Jared Camins-Esakov Rebased on top of bug 7924. Signed-off-by: Paul Poulain Signed-off-by: Chris Cormack --- debian/scripts/koha-remove | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/debian/scripts/koha-remove b/debian/scripts/koha-remove index 567ead819e..8d7fc50901 100755 --- a/debian/scripts/koha-remove +++ b/debian/scripts/koha-remove @@ -31,20 +31,41 @@ do shift done -for name in "$@" +NAMES="$@" + +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 -- 2.39.5