From: Mike Rylander Date: Wed, 17 Aug 2016 17:25:35 +0000 (-0400) Subject: LP#1638377: Allow perl to be installed in non-standard locations X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=d95079f6f3d77505288eeb72892901e570d51869;p=evergreen%2Fmasslnc.git LP#1638377: Allow perl to be installed in non-standard locations 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 --with-perlbase /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/perlmods, then run sudo ./Build install. Verify that it remembers the --with-perlbase directory and installs the updated module there. Signed-off-by: Mike Rylander Signed-off-by: Chris Sharp Signed-off-by: Galen Charlton --- diff --git a/Makefile.am b/Makefile.am index 51b512c8f7..e11134c790 100644 --- a/Makefile.am +++ b/Makefile.am @@ -23,6 +23,7 @@ export REPORTERDIR=@localstatedir@/reporter export SOCK=@localstatedir@/lock export PID=@localstatedir@/run export LOG=@localstatedir@/log +export PERL_BASE=@PERL_BASE@ diff --git a/Open-ILS/src/perlmods/Makefile.am b/Open-ILS/src/perlmods/Makefile.am index b4431101ff..ea27663717 100644 --- a/Open-ILS/src/perlmods/Makefile.am +++ b/Open-ILS/src/perlmods/Makefile.am @@ -32,7 +32,7 @@ install: build-perl ./Build install build-perl: lib/OpenILS/Utils/Cronscript.pm - 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; lib/OpenILS/Utils/Cronscript.pm: Makefile lib/OpenILS/Utils/Cronscript.pm.in $(do_subst) lib/OpenILS/Utils/Cronscript.pm.in > "$@" diff --git a/configure.ac b/configure.ac index 74e6b3b885..d49a437472 100644 --- a/configure.ac +++ b/configure.ac @@ -218,6 +218,12 @@ AC_ARG_WITH([dbi], [DBI_LIBS=${withval}], [DBI_LIBS=/usr/lib/x86_64-linux-gnu/dbd/]) +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]) + # If the passed in value doesn't work, fall back to reasonable defaults # Distributions are starting to package a good version of libdbi / libdbd if ! test -d "$DBI_LIBS"; then