LP#1631520: configure install location of Perl modules
authorMike Rylander <mrylander@gmail.com>
Fri, 7 Oct 2016 16:19:52 +0000 (12:19 -0400)
committerGalen Charlton <gmc@esilibrary.com>
Mon, 31 Oct 2016 21:05:42 +0000 (17:05 -0400)
Add --with-perlbase configure option to specify
an alternative location for installing the Perl modules. This
can be useful for setups that want to run the Perl modules
from a shared filesystem or environments that need to run
multiple versions of OpenSRF simultaneously.

Users of --with-perlbase are responsible for ensuring that
PERL5LIB is set appropriately.

To test
-------
[1] Use --with-perlbase during the configure step, e.g.,

    ./configure --perl-base /tmp/perl

[2] Run make; make check; sudo make install
[3] Verify that the Perl modules are installed under
    /tmp/perl.
[4] Make a change to a Perl source file, then
    go to src/perl, then run sudo ./Build install. Verify
    that it remembers the --with-perlbase directory
    and installs the updated module there.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Makefile.am
configure.ac
src/perl/Makefile.am

index ed59a61..385115d 100644 (file)
@@ -30,6 +30,7 @@ export PID                      = @localstatedir@/run/opensrf
 export SOCK                     = @localstatedir@/lock/opensrf
 export LOG                      = @localstatedir@/log/opensrf
 export srcdir                   = @srcdir@
+export PERL_BASE                = @PERL_BASE@
 opensrfincludedir               = @includedir@/opensrf
 
 AM_CFLAGS = $(DEF_CFLAGS)
index dd5d3a7..76bc293 100644 (file)
@@ -202,6 +202,12 @@ if ! test -d "$APR_HEADERS"; then
 fi
 AC_SUBST([APR_HEADERS])
 
+AC_ARG_WITH([perlbase],
+[  --with-perlbase=path             base location to install Perl modules (default based on Config.pm)],
+[PERL_BASE=${withval}],
+[PERL_BASE=x])
+AC_SUBST([PERL_BASE])
+
 # The following Apache version detection code is adapted from
 # http://www.gnu.org/software/autoconf-archive/ax_prog_apache.html
 # licensed under version 2 of the GNU General Public License, or
index 4f49264..f42e1c1 100644 (file)
@@ -24,7 +24,7 @@ install: build-perl
        ./Build install
 
 build-perl:
-       perl Build.PL --destdir $(DESTDIR) || make -s build-perl-fail
+       @if [ "${PERL_BASE}" = 'x' ]; then perl Build.PL --destdir $(DESTDIR) || make -s build-perl-fail; else perl Build.PL --install_base ${PERL_BASE} --destdir $(DESTDIR) || make -s build-perl-fail; fi;
 
 build-perl-fail:
        echo