From 3e9322da9c4fe4067bbc3e79c93cc60e622e7510 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Thu, 13 Aug 2015 14:54:58 -0300 Subject: [PATCH] Bug 13791: make koha-common init script aware of plack This patch makes the packages' koha-common script aware of plack. It does so by relying on koha-list --plack to know which instances have Plack configured, and uses the koha-plack script to manage the running daemons. It also introduces a plack_status function to check the status of the Plack daemon when called: $ servive koha-common status Regards --- debian/koha-common.init | 67 +++++++++++++++++++++++-------------------------- 1 file changed, 32 insertions(+), 35 deletions(-) diff --git a/debian/koha-common.init b/debian/koha-common.init index 241aaa6..ad41874 100755 --- a/debian/koha-common.init +++ b/debian/koha-common.init @@ -40,6 +40,14 @@ fi # Depend on lsb-base (>= 3.0-6) to ensure that this file is present. . /lib/lsb/init-functions +# include helper functions +if [ -f "/usr/share/koha/bin/koha-functions.sh" ]; then + . "/usr/share/koha/bin/koha-functions.sh" +else + echo "Error: /usr/share/koha/bin/koha-functions.sh not present." 1>&2 + exit 1 +fi + # # Function that starts the daemon/service # @@ -49,6 +57,7 @@ do_start() koha-create-dirs $(koha-list) koha-start-zebra $(koha-list --enabled) koha-start-sip $(koha-list --enabled) + koha-plack --start --quiet $(koha-list --enabled --plack) if [ "$USE_INDEXER_DAEMON" = "yes" ]; then koha-indexer --start --quiet $(koha-list --enabled) @@ -63,6 +72,7 @@ do_stop() # We stop everything, including disabled ones. koha-stop-zebra $(koha-list) || true koha-stop-sip $(koha-list) || true + koha-plack --stop --quiet $(koha-list --enabled --plack) if [ "$USE_INDEXER_DAEMON" = "yes" ]; then koha-indexer --stop --quiet $(koha-list --enabled) @@ -76,6 +86,7 @@ do_reload() { koha-restart-zebra $(koha-list --enabled) koha-stop-sip $(koha-list) || true koha-start-sip $(koha-list --enabled) + koha-plack --restart --quiet $(koha-list --enabled --plack) if [ "$USE_INDEXER_DAEMON" = "yes" ]; then koha-indexer --restart --quiet $(koha-list --enabled) @@ -83,39 +94,6 @@ do_reload() { } # -# Function that checks zebrasrv is running for the specified instance -# -is_zebra_running() -{ - local instancename=$1 - - if daemon --name="$instancename-koha-zebra" \ - --user="$instancename-koha.$instancename-koha" \ - --running ; then - return 0 - else - return 1 - fi -} - -# -# Function that checks SIP server is running for the specified instance -# -is_sip_running() -{ - local instancename=$1 - - if daemon --name="$instancename-koha-sip" \ - --pidfiles="/var/run/koha/$instancename" \ - --user="$instancename-koha.$instancename-koha" \ - --running ; then - return 0 - else - return 1 - fi -} - -# # Function that shows the status of the zebrasrv daemon for # enabled instances # @@ -123,7 +101,7 @@ zebra_status() { for instance in $(koha-list --enabled); do - log_daemon_msg "Zebra server running for instace $instance" + log_daemon_msg "Zebra server running for instance $instance" if is_zebra_running $instance ; then log_end_msg 0 @@ -141,7 +119,7 @@ sip_status() { for instance in $(koha-list --enabled --sip); do - log_daemon_msg "SIP server running for instace $instance" + log_daemon_msg "SIP server running for instance $instance" if is_sip_running $instance ; then log_end_msg 0 @@ -151,6 +129,24 @@ sip_status() done } +# +# Function that shows the status of the Plack server daemon for +# enabled instances +# +plack_status() +{ + for instance in $(koha-list --enabled --plack); do + + log_daemon_msg "Plack server running for instance ${instance}" + + if is_plack_running $instance ; then + log_end_msg 0 + else + log_end_msg 1 + fi + done +} + case "$1" in start) [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" @@ -192,6 +188,7 @@ case "$1" in status) zebra_status sip_status + plack_status ;; *) echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}" >&2 -- 2.5.0