From d2c2cffc5b0a93190ea18e4efadf12f3491395ad Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Thu, 27 Apr 2017 11:37:27 -0300 Subject: [PATCH] Bug 18502: Make koha-shell set the right PERL5LIB on dev installs Bug 16749 introduced a nice way to have flexible paths. During the discussion on how to do it, we moved from having it contain the path to the git dir to just a boolean. The 'koha-shell' script didn't get attention it seems, and it is broken on dev installs. This was hidden by the fact that many of us run dev installs on kohadevbox, which sets a .bashrc file for de instance's user, containing the right path when opening the new shell. This patch changes the logic so on a dev install, intranetdir is picked as the right path. This is how it is handled in koha-functions.sh To test: - On kohadevbox, run: $ sudo koha-shell kohadev -c "perl misc4dev/populate_db.pl" => FAIL: C4/Installer.pm not found on PERL5LIB error. - Apply this patch - Replace /usr/bin/koha-shell with debian/scripts/koha-shell $ sudo cp kohaclone/debian/scripts/koha-shell /usr/bin/koha-shell - Run: $ sudo koha-shell kohadev -c "perl misc4dev/populate_db.pl" => SUCCESS: No warning about missing libs is raised. - Sign off :-D Signed-off-by: Tomas Cohen Arazi --- debian/scripts/koha-shell | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/debian/scripts/koha-shell b/debian/scripts/koha-shell index 0d747da..926c04d 100755 --- a/debian/scripts/koha-shell +++ b/debian/scripts/koha-shell @@ -83,7 +83,11 @@ sub read_perl5lib { $result =~ s/^PERL5LIB=\s*//; my $dev_install = `xmlstarlet sel -t -v 'yazgfs/config/dev_install' /etc/koha/sites/$instance/koha-conf.xml`; chomp $dev_install; - return $dev_install || $result; + if ( $dev_install ) { + # pick PERL5LIB from the intranetdir entry + $result = `xmlstarlet sel -t -v "yazgfs/config/intranetdir" /etc/koha/sites/$instance/koha-conf.xml`; + } + return $result; } __DATA__ -- 2.7.4