Bug 16733: Add adjust_paths_dev_install to koha-functions.sh
authorMarcel de Rooy <m.de.rooy@rijksmuseum.nl>
Tue, 14 Jun 2016 14:00:58 +0000 (16:00 +0200)
committerKyle M Hall <kyle@bywatersolutions.com>
Fri, 20 Jan 2017 14:15:26 +0000 (14:15 +0000)
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>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

debian/scripts/koha-functions.sh

index fc1a329..167998e 100755 (executable)
@@ -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\