From 7e98a39669f721d185c818b4197db1a576537891 Mon Sep 17 00:00:00 2001
From: Tomas Cohen Arazi <tomascohen@theke.io>
Date: Thu, 20 Oct 2016 11:58:32 -0300
Subject: [PATCH] Bug 4880: Make koha-remove stop all instance's services

This patch makes koha-remove stop all instance's services before
attempting to remove the system user,

Before this patch, only zebra was stopped.

To test:
- Run:
  $ sudo koha-create --created-db favourite_name
- Run:
  $ sudo koha-remove favourite_name
=> FAIL: koha-indexer is still running for user favourite_name-koha
- Run:
  $ sudo koha-create --created-db another_name
  $ sudo koha-plack --enable another_name
  $ sudo koha-plack --start another_name
  $ sudo koha-indexer --stop another_name
  $ sudo koha-remove another_name
=> FAIL: koha-plack is still running for user another_name-koha
- Apply the patch
- Repeat the previous tests, with new names
=> SUCCESS: Everything works as expected :-D
- Sign off :-D

Signed-off-by: Lucio Moraes <lmoraes@catalyst.net.nz>
---
 debian/scripts/koha-remove | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/debian/scripts/koha-remove b/debian/scripts/koha-remove
index 4342c5d..67e2402 100755
--- a/debian/scripts/koha-remove
+++ b/debian/scripts/koha-remove
@@ -75,9 +75,19 @@ DROP DATABASE IF EXISTS \`koha_$name\`;
 FLUSH PRIVILEGES;
 eof
     fi #`
-    
-    # If the daemon is not running already, we don't want to fail this loop. So bin the result code if this fails.
-    koha-stop-zebra $name || /bin/true
+
+    # Stop the Zebra server if needed
+    if is_zebra_running $name; then
+        koha-stop-zebra $name || /bin/true
+    fi
+    # Stop the indexer daemon if needed
+    if is_indexer_running $name; then
+        koha-indexer --stop $name || /bin/true
+    fi
+    # Stop the Plack server if needed
+    if is_plack_running $name; then
+        koha-plack --stop $name || /bin/true
+    fi
 
     instancefile=$(get_apache_config_for $name)
     le_opacdomain=$(letsencrypt_get_opacdomain_for $name)
-- 
2.1.4