From 5265c01f12a634540eb15c00e092307438fd026d Mon Sep 17 00:00:00 2001 From: Jared Camins-Esakov Date: Mon, 10 Oct 2011 08:11:14 -0400 Subject: [PATCH] Bug 6997: Koha-remove leaves system in inconsistent state If you accidentally delete one of the files that koha-remove is supposed to remove, when koha-remove reaches that point in the script, it will die, leaving later removal steps undone. This patch fixes the problem by checking for the existence of each file prior to deleting it, so that short of an actual problem with removing the file, the script can continue. Note that the fix for bug 6929 is also needed to prevent any problems with stopping Zebra from killing koha-remove. Signed-off-by: Dobrica Pavlinusic --- debian/scripts/koha-remove | 32 +++++++++++++++++++++----------- 1 files changed, 21 insertions(+), 11 deletions(-) diff --git a/debian/scripts/koha-remove b/debian/scripts/koha-remove index 10a8b78..b9e5c2a 100755 --- a/debian/scripts/koha-remove +++ b/debian/scripts/koha-remove @@ -31,17 +31,27 @@ FLUSH PRIVILEGES; eof koha-stop-zebra $name - rm "/etc/apache2/sites-available/$name" - rm "/etc/koha/sites/$name/koha-conf.xml" - rm "/etc/koha/sites/$name/zebra-biblios.cfg" - rm "/etc/koha/sites/$name/zebra-authorities.cfg" - rm "/etc/koha/sites/$name/zebra-authorities-dom.cfg" - rm "/etc/koha/sites/$name/zebra.passwd" - rmdir "/etc/koha/sites/$name" - rm -r "/var/lock/koha/$name" - rm -r "/var/log/koha/$name" - rm -r "/var/run/koha/$name" - deluser --quiet "$name-koha" + [ -f "/etc/apache2/sites-available/$name" ] && \ + rm "/etc/apache2/sites-available/$name" + [ -f "/etc/koha/sites/$name/koha-conf.xml" ] && \ + rm "/etc/koha/sites/$name/koha-conf.xml" + [ -f "/etc/koha/sites/$name/zebra-biblios.cfg" ] && \ + rm "/etc/koha/sites/$name/zebra-biblios.cfg" + [ -f "/etc/koha/sites/$name/zebra-authorities.cfg" ] && \ + rm "/etc/koha/sites/$name/zebra-authorities.cfg" + [ -f "/etc/koha/sites/$name/zebra-authorities-dom.cfg" ] && \ + rm "/etc/koha/sites/$name/zebra-authorities-dom.cfg" + [ -f "/etc/koha/sites/$name/zebra.passwd" ] && \ + rm "/etc/koha/sites/$name/zebra.passwd" + [ -d "/etc/koha/sites/$name" ] && \ + rmdir "/etc/koha/sites/$name" + [ -d "/var/lock/koha/$name" ] && \ + rm -r "/var/lock/koha/$name" + [ -d "/var/log/koha/$name" ] && \ + rm -r "/var/log/koha/$name" + [ -d "/var/run/koha/$name" ] && \ + rm -r "/var/run/koha/$name" + getent passwd "$name-koha" > /dev/null && deluser --quiet "$name-koha" a2dissite "$name" done -- 1.7.2.5