@@ -, +, @@
setup
-q to make koha-inxeder quiet (useful for the init script).
---
debian/docs/koha-common.xml | 7 ++
debian/docs/koha-indexer.xml | 86 +++++++++++++
debian/koha-common.cron.d | 1 +
debian/koha-common.default | 20 ++-
debian/koha-common.init | 12 ++
debian/koha-common.install | 1 +
debian/scripts/koha-create | 7 ++
debian/scripts/koha-indexer | 277 ++++++++++++++++++++++++++++++++++++++++++
8 files changed, 410 insertions(+), 1 deletion(-)
create mode 100644 debian/docs/koha-indexer.xml
create mode 100755 debian/scripts/koha-indexer
--- a/debian/docs/koha-common.xml
+++ a/debian/docs/koha-common.xml
@@ -145,6 +145,13 @@
Stop Zebra for named Koha instances.
+
+
+
+
+ Manage the indexer daemon for named Koha instances.
+
+
--- a/debian/docs/koha-indexer.xml
+++ a/debian/docs/koha-indexer.xml
@@ -0,0 +1,86 @@
+
+koha-indexer
+
+Koha is the first free software library automation package.
+
+ The Koha Community
+ http://koha-community.org/
+
+
+
+
+
+
+ koha-indexer
+ 8
+
+
+
+ koha-indexer
+ Manage the indexer daemon for Koha instances.
+ UNIX/Linux
+
+
+
+
+ koha-indexer
+ ||||||
+ instancename
+
+
+
+ Options
+
+
+
+
+
+
+ Start the indexer daemon for the desired Koha instances.
+
+
+
+
+
+
+ Stop the indexer daemon for the desired Koha instances.
+
+
+
+
+
+
+ Restart the indexer daemon for the desired Koha instances.
+
+
+
+
+
+
+ Make the script quiet about non existent instance names. Useful when calling koha-indexer from another scripts.
+
+
+
+
+
+
+ Show usage information.
+
+
+
+
+
+
+ Description
+ The koha-indexer script lets you manage your Koha instances indexer daemon.
+
+
+ See also
+
+ /etc/default/koha-common
+
+
+
+
+
+
--- a/debian/koha-common.cron.d
+++ a/debian/koha-common.cron.d
@@ -6,5 +6,6 @@
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+# Comment the following line if you want to use the experimental koha-index-daemon integration
*/5 * * * * root test -x /usr/sbin/koha-rebuild-zebra && koha-rebuild-zebra -q $(koha-list --enabled)
*/15 * * * * root koha-foreach --enabled --email /usr/share/koha/bin/cronjobs/process_message_queue.pl
--- a/debian/koha-common.default
+++ a/debian/koha-common.default
@@ -1,3 +1,21 @@
-## General koha-common default options
+## General koha-common default options file
PERL5LIB="/usr/share/koha/lib"
+
+# If you want to use the koha-index-daemon script that is part of the
+# Koha::Contrib::Tamil package instead of the cronjob, set USE_INDEXER_DAEMON
+# to "yes". More information can be found here:
+# http://wiki.koha-community.org/wiki/PackagesIndexDaemon
+# Note: You should comment the relevant line in /etc/cron.d/koha-common
+#
+# The default value is "no"
+USE_INDEXER_DAEMON="no"
+
+# Indexer daemon script. The default is to use Tamil's
+INDEXER_DAEMON="koha-index-daemon"
+
+# If you are using the koha-index-daemon you can set the frecquency (in sec)
+# of the indexes update.
+#
+# The default value is 30
+INDEXER_TIMEOUT=30
--- a/debian/koha-common.init
+++ a/debian/koha-common.init
@@ -49,6 +49,10 @@ do_start()
koha-create-dirs $(koha-list)
koha-start-zebra $(koha-list --enabled)
koha-start-sip $(koha-list --enabled)
+
+ if [ "$USE_INDEXER_DAEMON" = "yes" ]; then
+ koha-indexer --start --quiet $(koha-list --enabled)
+ fi
}
#
@@ -59,6 +63,10 @@ do_stop()
# We stop everything, including disabled ones.
koha-stop-zebra $(koha-list) || true
koha-stop-sip $(koha-list) || true
+
+ if [ "$USE_INDEXER_DAEMON" = "yes" ]; then
+ koha-indexer --stop --quiet $(koha-list --enabled)
+ fi
}
#
@@ -68,6 +76,10 @@ do_reload() {
koha-restart-zebra $(koha-list --enabled)
koha-stop-sip $(koha-list) || true
koha-start-sip $(koha-list --enabled)
+
+ if [ "$USE_INDEXER_DAEMON" = "yes" ]; then
+ koha-indexer --restart --quiet $(koha-list --enabled)
+ fi
}
case "$1" in
--- a/debian/koha-common.install
+++ a/debian/koha-common.install
@@ -16,6 +16,7 @@ debian/scripts/koha-email-disable usr/sbin
debian/scripts/koha-email-enable usr/sbin
debian/scripts/koha-enable usr/sbin
debian/scripts/koha-foreach usr/sbin
+debian/scripts/koha-indexer usr/sbin
debian/scripts/koha-list usr/sbin
debian/scripts/koha-mysql usr/sbin
debian/scripts/koha-rebuild-zebra usr/sbin
--- a/debian/scripts/koha-create
+++ a/debian/scripts/koha-create
@@ -16,6 +16,8 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
+# Read configuration variable file if it is present
+[ -r /etc/default/koha-common ] && . /etc/default/koha-common
set -e
@@ -450,6 +452,11 @@ then
# Start Zebra.
koha-start-zebra "$name"
+
+ if [ "$USE_INDEXER_DAEMON" = "yes" ]; then
+ # Start Indexer daemon
+ koha-indexer --start "$name"
+ fi
fi
--- a/debian/scripts/koha-indexer
+++ a/debian/scripts/koha-indexer
@@ -0,0 +1,277 @@
+#!/bin/bash
+#
+# koha-indexer - Manage Indexer Daemons for Koha instances
+# Copyright 2012 Tomás Cohen Arazi @ Universidad Nacional de Córdoba
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+
+set -e
+
+. /lib/lsb/init-functions
+
+# Read configuration variable file if it is present
+[ -r /etc/default/koha-common ] && . /etc/default/koha-common
+
+warn()
+{
+ echo "$@" 1>&2
+}
+
+die()
+{
+ echo "$@" 1>&2
+ exit 1
+}
+
+usage()
+{
+ local scriptname=$(basename $0)
+
+ cat <