Bug 8271 teach SIPServer.pm to set its own lib path
authorColin Campbell <colin.campbell@ptfs-europe.com>
Tue, 19 Jun 2012 10:24:01 +0000 (11:24 +0100)
committerPaul Poulain <paul.poulain@biblibre.com>
Fri, 6 Jul 2012 16:28:11 +0000 (18:28 +0200)
SIPServer.pm requires that C4/SIP is added to its lib
path This has been done by passing this directory
to it via -I. By using FindBin it can set the path
for itself correctly. This will also work if the C4/SIP
directory tree is moved to a non-standard location
Removed the now redundant -I. from sip_run.sh

Added a variable to sip_run.sh for the koha tree to
highlight a problem with the script if you have multiple
directories in the PERL5LIB environment variable

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
C4/SIP/SIPServer.pm
misc/bin/sip_run.sh

index 4e714b3..44c58b4 100644 (file)
@@ -2,6 +2,8 @@ package SIPServer;
 
 use strict;
 use warnings;
+use FindBin qw($Bin);
+use lib "$Bin";
 # use Exporter;
 use Sys::Syslog qw(syslog);
 use Net::Server::PreFork;
index b1bc8d9..d270544 100755 (executable)
@@ -24,7 +24,10 @@ for x in HOME PERL5LIB KOHA_CONF ; do
        fi;
 done;
 unset x;
-cd $PERL5LIB/C4/SIP;
+# you should hard code this if you have multiple directories
+# in your PERL5LIB
+PERL_MODULE_DIR=$PERL5LIB
+cd $PERL_MODULE_DIR/C4/SIP;
 echo;
 
 sipconfig=${1};
@@ -34,8 +37,8 @@ errfile=${3:-$HOME/sip.err};
 if [ $sipconfig ]; then
        echo "Running with config file located in $sipconfig" ;
        echo "Calling (backgrounded):";
-       echo "perl -I./ ./SIPServer.pm $sipconfig >>$outfile 2>>$errfile";
-       perl -I./ ./SIPServer.pm $sipconfig >>$outfile 2>>$errfile &
+    echo "perl ./SIPServer.pm $sipconfig >>$outfile 2>>$errfile";
+    perl ./SIPServer.pm $sipconfig >>$outfile 2>>$errfile &
 
 else
        echo "Please specify a config file and try again."