From 7961abefe60269920ad1668f7736b15f20783c70 Mon Sep 17 00:00:00 2001
From: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Date: Tue, 14 Jun 2016 16:00:58 +0200
Subject: [PATCH] Bug 16733: Add adjust_paths_dev_install to koha-functions.sh
Content-Type: text/plain; charset=utf-8

This new function checks koha-conf.xml for a given instance and if it
contains a dev_install line, it adjusts PERL5LIB and KOHA_HOME
accordingly. Otherwise it does not touch the values of these
variables as normally read from /etc/default/koha-common.

The function will be used in various debian scripts to allow for more
flexibility with dev installs. And at the same time aiming to make better
use of PERL5LIB and KOHA_HOME.

Test plan:
[1] Add <dev_install>/not/there</dev_install> to your koha-conf.xml.
[2] Run on the command line:
        PERL5LIB=test
        source [path-to-your-instance]/debian/scripts/koha-functions.sh
        echo $PERL5LIB
        adjust_paths_dev_install [name-of-your-instance]
        echo $PERL5LIB
    The last echo should be: /not/there
[3] Remove the <dev_install> line and repeat step 2.
    The last echo should be: test

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
---
 debian/scripts/koha-functions.sh |   19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/debian/scripts/koha-functions.sh b/debian/scripts/koha-functions.sh
index cf6835d..889fb10 100755
--- a/debian/scripts/koha-functions.sh
+++ b/debian/scripts/koha-functions.sh
@@ -216,6 +216,25 @@ is_plack_running()
     fi
 }
 
+adjust_paths_dev_install()
+{
+# Adjust KOHA_HOME, PERL5LIB for dev installs, as indicated by
+# corresponding tag in koha-conf.xml
+
+    local instancename=$1
+    local dev_install
+
+    if [ -e /etc/koha/sites/$instancename/koha-conf.xml ]; then
+        dev_install=$(xmlstarlet sel -t -v 'yazgfs/config/dev_install' /etc/koha/sites/$instancename/koha-conf.xml)
+    fi
+
+    if [ "$dev_install" != "" ]; then
+        DEV_INSTALL=1
+        KOHA_HOME=$dev_install
+        PERL5LIB=$dev_install
+    fi
+}
+
 get_instances()
 {
     find /etc/koha/sites -mindepth 1 -maxdepth 1\
-- 
1.7.10.4