Bug 18913: Allow symbolic link in /etc/koha/sites
authorPongtawat C <pongtawat@punsarn.asia>
Sun, 9 Jul 2017 16:34:17 +0000 (23:34 +0700)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Mon, 19 Feb 2018 19:41:00 +0000 (16:41 -0300)
This patch makes the koha-* scripts follow symbolic links when querying for
Koha instances. Without it, it is not possible to define instances outside the
/etc/koha/sites directory,

To test:
- Create a symlink in /etc/koha/sites:
  $ sudo ln -s /tmp /etc/koha/sites/test
- Test the original is_instance function:
  $ . /usr/share/koha/bin/koha-functions.sh
  $ is_instance test && echo success || echo failure
=> FAIL: symlinks are not considered instance names (i.e. failure is printed)
- Apply this patch
- Update the koha-functions.sh file:
  $ perl misc4dev/cp_debian_files.pl
- Test is_instance again:
  $ . /usr/share/koha/bin/koha-functions.sh
  $ is_instance test && echo success || echo failure
=> SUCCESS: symlinks are considered instance names (i.e. success is printed)
- Sign off :-D

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

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

debian/scripts/koha-functions.sh

index 256ae2b..6e189b6 100755 (executable)
@@ -104,7 +104,7 @@ is_instance()
 {
     local instancename=$1
 
-    if find /etc/koha/sites -mindepth 1 -maxdepth 1 \
+    if find -L /etc/koha/sites -mindepth 1 -maxdepth 1 \
                          -type d -printf '%f\n'\
           | grep -q -x "$instancename" ; then
         return 0
@@ -239,7 +239,7 @@ adjust_paths_dev_install()
 
 get_instances()
 {
-    find /etc/koha/sites -mindepth 1 -maxdepth 1\
+    find -L /etc/koha/sites -mindepth 1 -maxdepth 1\
                          -type d -printf '%f\n' | sort
 }