X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=Makefile.PL;h=967540443ed24e8e82a8f8e0e7d069e1ad5c5595;hb=6ea413ed7565f3dc2ca32ab8cbe46db535b43f08;hp=23dff96377333f2944da75478711608f6ac6b014;hpb=b168f4a2e9a03ed56ce857353d4dde940980caba;p=koha-ffzg.git diff --git a/Makefile.PL b/Makefile.PL index 23dff96377..967540443e 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -83,7 +83,7 @@ Makefile.PL - Koha packager and installer --db_name Database name (e.g. koha) --db_user Database user (e.g. kohaadmin) --db_pass Database password (e.g. katikoan) - --zebra_marc_format Zebra MARC format (marc21, normarc, unimarc) + --zebra_marc_format Zebra MARC format (marc21, unimarc) --zebra_language Zebra language (e.g. en) --zebra_tokenizer Zebra tokenizer (chr, icu) --zebra_user Zebra user (e.g. kohauser) @@ -94,9 +94,8 @@ Makefile.PL - Koha packager and installer --koha_user Koha Unix user (e.g. koha) --koha_group Koha Unix group (e.g. koha) --install_sru Install the SRU server (yes, no) - --install_pazpar2 Install PazPar2 (yes, no) --use_memcached Use Memcached (yes, no) - --font_dir Location of fonts (e.g. /usr/share/fonts/truetype/ttf-dejavu) + --font_dir Location of fonts (e.g. /usr/share/fonts/truetype/dejavu) --run_database_tests Run database dependent tests (yes, no) --install_base Base directory of installation (e.g. /usr/share/koha) --template-cache-dir Specify a template cache directory (e.g. /var/cache/koha) @@ -280,10 +279,6 @@ Directory for backup files produced by Koha. Directory for external Koha plugins. -=item PAZPAR2_CONF_DIR - -Directory for PazPar2 configuration files. - =item FONT_DIR Directory where DejaVu fonts are installed. @@ -305,8 +300,10 @@ my $target_map = { './acqui' => 'INTRANET_CGI_DIR', './admin' => 'INTRANET_CGI_DIR', './api' => { target => 'API_CGI_DIR', trimdir => -1 }, + './app.psgi' => 'SCRIPT_DIR', './authorities' => 'INTRANET_CGI_DIR', './basket' => 'INTRANET_CGI_DIR', + './bin' => { target => 'SCRIPT_DIR', trimdir => -1 }, './C4' => 'PERL_MODULE_DIR', './C4/SIP/t' => 'NONE', './C4/SIP/koha_test' => 'NONE', @@ -326,7 +323,6 @@ my $target_map = { './etc' => { target => 'KOHA_CONF_DIR', trimdir => -1 }, './etc/zebradb' => { target => 'ZEBRA_CONF_DIR', trimdir => -1 }, './etc/z3950' => { target => 'Z3950_CONF_DIR', trimdir => -1 }, - './etc/pazpar2' => { target => 'PAZPAR2_CONF_DIR', trimdir => -1 }, './help.pl' => 'INTRANET_CGI_DIR', './ill' => 'INTRANET_CGI_DIR', './installer-CPAN.pl' => 'NONE', @@ -338,6 +334,7 @@ my $target_map = { './koha-tmpl/opac-tmpl' => {target => 'OPAC_TMPL_DIR', trimdir => -1}, './kohaversion.pl' => 'INTRANET_CGI_DIR', './labels' => 'INTRANET_CGI_DIR', + './lib' => {target => 'PERL_MODULE_LIB_DIR', trimdir => -1}, './mainpage.pl' => 'INTRANET_CGI_DIR', './Makefile.PL' => 'NONE', './MANIFEST.SKIP' => 'NONE', @@ -354,6 +351,8 @@ my $target_map = { './patroncards' => 'INTRANET_CGI_DIR', './patron_lists' => 'INTRANET_CGI_DIR', './plugins' => 'INTRANET_CGI_DIR', + './pos' => 'INTRANET_CGI_DIR', + './recalls' => 'INTRANET_CGI_DIR', './reports' => 'INTRANET_CGI_DIR', './reserve' => 'INTRANET_CGI_DIR', './reviews' => 'INTRANET_CGI_DIR', @@ -383,6 +382,7 @@ my $target_map = { './suggestion' => 'INTRANET_CGI_DIR', './svc' => 'INTRANET_CGI_DIR', './t' => 'NONE', + './xt' => 'NONE', './tags' => 'INTRANET_CGI_DIR', './tmp' => 'NONE', # FIXME need to determine whether # Koha generates any persistent temp files @@ -469,6 +469,34 @@ System user account that will own Koha's files. System group that will own Koha's files. +=item SMTP_HOST + +SMTP server host name (default: localhost) + +=item SMTP_PORT + +SMTP server port (default: 25) + +=item SMTP_TIMEOUT + +Connection timeour in seconds (default: 120) + +=item SMTP_SSL_MODE + +SSL mode. Options are 'disabled' (default), 'ssl' and 'starttls' + +=item SMTP_USER_NAME + +SMTP authentication user name + +=item SMTP_PASSWORD + +SMTP authentication password + +=item SMTP_DEBUG + +Enable debug mode for SMTP (default: no) + =back =cut @@ -485,7 +513,6 @@ my %config_defaults = ( 'DB_TLS_CLIENT_CERTIFICATE' => '/etc/mysql-ssl/client-cert.pem', 'DB_TLS_CLIENT_KEY' => '/etc/mysql-ssl/client-key.pem', 'INSTALL_SRU' => 'yes', - 'INSTALL_PAZPAR2' => 'no', 'ZEBRA_MARC_FORMAT' => 'marc21', 'ZEBRA_LANGUAGE' => 'en', 'ZEBRA_TOKENIZER' => 'chr', @@ -498,8 +525,6 @@ my %config_defaults = ( 'KOHA_GROUP' => 'koha', 'MERGE_SERVER_HOST' => 'localhost', 'MERGE_SERVER_PORT' => '11001', - 'PAZPAR2_HOST' => 'localhost', - 'PAZPAR2_PORT' => '11002', 'RUN_DATABASE_TESTS' => 'no', 'PATH_TO_ZEBRA' => '', 'USE_MEMCACHED' => 'yes', @@ -509,7 +534,14 @@ my %config_defaults = ( 'USE_ELASTICSEARCH' => 'no', 'ELASTICSEARCH_SERVERS' => 'localhost:9200', 'ELASTICSEARCH_INDEX' => 'koha', - 'FONT_DIR' => '/usr/share/fonts/truetype/ttf-dejavu' + 'FONT_DIR' => '/usr/share/fonts/truetype/dejavu', + 'SMTP_HOST' => 'localhost', + 'SMTP_PORT' => '25', + 'SMTP_TIMEOUT' => '120', + 'SMTP_SSL_MODE' => 'disabled', + 'SMTP_USER_NAME' => '', + 'SMTP_PASSWORD' => '', + 'SMTP_DEBUG' => 'no', ); # set some default configuration options based on OS @@ -534,12 +566,14 @@ my %valid_config_values = ( 'DB_TYPE' => { 'mysql' => 1, 'Pg' => 1 }, 'DB_USE_TLS' => {'yes', 'no'}, 'INSTALL_SRU' => { 'yes' => 1, 'no' => 1 }, - 'ZEBRA_MARC_FORMAT' => { 'marc21' => 1, 'normarc' => 1, 'unimarc' => 1 }, # FIXME should generate from contents of distributation + 'ZEBRA_MARC_FORMAT' => { 'marc21' => 1, 'unimarc' => 1 }, # FIXME should generate from contents of distributation 'ZEBRA_LANGUAGE' => { 'cs' => 1, 'el' => 1, 'en' => 1, 'es' => 1, 'fr' => 1, 'nb' => 1, 'ru' => 1, 'uk' => 1 }, # FIXME should generate from contents of distribution 'ZEBRA_TOKENIZER' => { chr => 1, icu => 1 }, 'RUN_DATABASE_TESTS' => { 'yes' => 1, 'no' => 1 }, 'USE_MEMCACHED' => { 'yes' => 1, 'no' => 1 }, 'USE_ELASTICSEARCH' => { 'yes' => 1, 'no' => 1 }, + 'SMTP_SSL_MODE' => { 'disabled' => 1, 'ssl' => 1, 'starttls' => 1 }, + 'SMTP_DEBUG' => { 'yes' => 1, 'no' => 1 }, ); # get settings from command-line @@ -562,12 +596,19 @@ my $cli_zebra_sru_auth_port = ""; my $cli_koha_user = ""; my $cli_koha_group = ""; my $cli_koha_install_sru = ""; -my $cli_koha_install_pazpar2 = ""; my $cli_koha_use_memcached = ""; my $cli_koha_font_dir = ""; my $cli_koha_run_database_tests = ""; my $cli_koha_install_base = ""; my $cli_koha_template_cache_dir = ""; +my $cli_smtp_host = ""; +my $cli_smtp_port = ""; +my $cli_smtp_timeout = ""; +my $cli_smtp_ssl_mode = ""; +my $cli_smtp_user_name = ""; +my $cli_smtp_password = ""; +my $cli_smtp_debug = ""; + Getopt::Long::Configure('pass_through'); my $results = GetOptions( "prev-install-log=s" => \$koha_install_log, @@ -589,12 +630,18 @@ my $results = GetOptions( "koha_user=s" => \$cli_koha_user, "koha_group=s" => \$cli_koha_group, "install_sru=s" => \$cli_koha_install_sru, - "install_pazpar2=s" => \$cli_koha_install_pazpar2, "use_memcached=s" => \$cli_koha_use_memcached, "font_dir=s" => \$cli_koha_font_dir, "run_database_tests=s" => \$cli_koha_run_database_tests, "install_base=s" => \$cli_koha_install_base, "template-cache-dir=s" => \$cli_koha_template_cache_dir, + "smtp-host=s" => \$cli_smtp_host, + "smtp-port=s" => \$cli_smtp_port, + "smtp-timeout=s" => \$cli_smtp_timeout, + "smtp-ssl-mode=s" => \$cli_smtp_ssl_mode, + "smtp-user-name=s" => \$cli_smtp_user_name, + "smtp-password=s" => \$cli_smtp_password, + "smtp-debug" => \$cli_smtp_debug, "help" => sub { HelpMessage(0) }, ) or HelpMessage(1); @@ -617,6 +664,7 @@ my $pl_files = { 'blib/KOHA_CONF_DIR/koha-conf.xml', 'blib/KOHA_CONF_DIR/koha-httpd.conf', 'blib/KOHA_CONF_DIR/log4perl.conf', + 'blib/KOHA_CONF_DIR/koha-worker.service', 'blib/ZEBRA_CONF_DIR/etc/default.idx', 'blib/MISC_DIR/koha-install-log' ], @@ -636,15 +684,8 @@ push @{ $pl_files->{'rewrite-config.PL'} }, ( ); push @{ $pl_files->{'rewrite-config.PL'} }, ( 'blib/SCRIPT_DIR/koha-zebra-ctl.sh', - 'blib/SCRIPT_DIR/koha-pazpar2-ctl.sh', 'blib/SCRIPT_DIR/koha-index-daemon-ctl.sh', ); -if ($config{'INSTALL_PAZPAR2'} eq 'yes') { - push @{ $pl_files->{'rewrite-config.PL'} }, ( - 'blib/PAZPAR2_CONF_DIR/koha-biblios.xml', - 'blib/PAZPAR2_CONF_DIR/pazpar2.xml' - ); -} $config{'ZEBRA_AUTH_CFG'} = 'zebra-authorities-dom.cfg'; $config{'ZEBRA_BIB_CFG'} = 'zebra-biblios-dom.cfg'; $config{'AUTH_RETRIEVAL_CFG'} = 'retrieval-info-auth-dom.xml'; @@ -653,7 +694,6 @@ $config{'BIB_RETRIEVAL_CFG'} = 'retrieval-info-bib-dom.xml'; if ($config{'INSTALL_MODE'} ne "dev") { push @{ $pl_files->{'rewrite-config.PL'} }, ( 'blib/PERL_MODULE_DIR/C4/Context.pm', - 'blib/SCRIPT_NONDEV_DIR/kohalib.pl' ); } @@ -683,7 +723,7 @@ WriteMakefile( #VERSION => strftime('2.9.%Y%m%d%H',gmtime), VERSION_FROM => 'kohaversion.pl', ABSTRACT => 'Award-winning integrated library system (ILS) and Web OPAC', - AUTHOR => 'Koha Contributors ', + AUTHOR => 'Koha Contributors ', NO_META => 1, PREREQ_PM => $koha_pm->prereq_pm, @@ -865,12 +905,18 @@ sub get_cli_values { KOHA_USER => $cli_koha_user, KOHA_GROUP => $cli_koha_group, INSTALL_SRU => $cli_koha_install_sru, - INSTALL_PAZPAR2 => $cli_koha_install_pazpar2, USE_MEMCACHED => $cli_koha_use_memcached, FONT_DIR => $cli_koha_font_dir, RUN_DATABASE_TESTS => $cli_koha_run_database_tests, INSTALL_BASE => $cli_koha_install_base, - TEMPLATE_CACHE_DIR => $cli_koha_template_cache_dir + TEMPLATE_CACHE_DIR => $cli_koha_template_cache_dir, + SMTP_HOST => $cli_smtp_host, + SMTP_PORT => $cli_smtp_port, + SMTP_TIMEOUT => $cli_smtp_timeout, + SMTP_SSL_MODE => $cli_smtp_ssl_mode, + SMTP_USER_NAME => $cli_smtp_user_name, + SMTP_PASSWORD => $cli_smtp_password, + SMTP_DEBUG => (defined $cli_smtp_debug) ? ( $cli_smtp_debug ? 'yes' : 'no' ) : $values->{SMTP_DEBUG}, }; foreach my $key (keys %{$map}) { $values->{$key} = $map->{$key} if ($map->{$key}); @@ -1105,7 +1151,7 @@ You must specify the primary MARC format of the records to be indexed by Zebra. Koha provides Zebra configuration files for MARC21, -NORMARC and UNIMARC. +and UNIMARC. MARC format for Zebra indexing); $msg .= _add_valid_values_disp('ZEBRA_MARC_FORMAT', $valid_values); @@ -1169,41 +1215,6 @@ SRU port for authority data?); } - $msg = q( -Along with Zebra, you can also choose to install PazPar2, -which is a metasearch tool. With PazPar2, -Koha can perform on-the-fly merging of bibliographic -records during searching, allowing for FRBRization of -the results list. - -Install the PazPar2 configuration files?); - $msg .= _add_valid_values_disp('INSTALL_PAZPAR2', $valid_values); - $config{'INSTALL_PAZPAR2'} = _get_value('INSTALL_PAZPAR2', $msg, $defaults->{'INSTALL_PAZPAR2'}, $valid_values, $install_log_values); - - if ($config{'INSTALL_PAZPAR2'} eq 'yes') { - $msg = q( -Since you've chosen to configure PazPar2, you must -specify the host and port(s) that PazPar2 -uses: -); - $msg = q( -Zebra bibliographic server host?); - $config{'MERGE_SERVER_HOST'} = _get_value('MERGE_SERVER_HOST', $msg, $defaults->{'MERGE_SERVER_HOST'}, $valid_values, $install_log_values); - - $msg = q( -Zebra bibliographic port for PazPar2 to use?); - $config{'MERGE_SERVER_PORT'} = _get_value('MERGE_SERVER_PORT', $msg, $defaults->{'MERGE_SERVER_PORT'}, $valid_values, $install_log_values); - - $msg = q( -PazPar2 host?); - $config{'PAZPAR2_HOST'} = _get_value('PAZPAR2_HOST', $msg, $defaults->{'PAZPAR2_HOST'}, $valid_values, $install_log_values); - - $msg = q( -PazPar2 port?); - $config{'PAZPAR2_PORT'} = _get_value('PAZPAR2_PORT', $msg, $defaults->{'PAZPAR2_PORT'}, $valid_values, $install_log_values); - - } - $msg = q( Use memcached to cache the results of some function calls? This provides a significant performance improvement. @@ -1254,6 +1265,40 @@ Template cache directory?); Path to DejaVu fonts?); $config{'FONT_DIR'} = _get_value('FONT_DIR', $msg, $defaults->{'FONT_DIR'}, $valid_values, $install_log_values); + $msg = q( +SMTP settings +You will be able to set your default SMTP configuration.); + $msg .= q{ +SMTP host name?}; + $config{'SMTP_HOST'} = _get_value('SMTP_HOST', $msg, $defaults->{'SMTP_HOST'}, $valid_values, $install_log_values); + + $msg = q{ +SMTP port?}; + $config{'SMTP_PORT'} = _get_value('SMTP_PORT', $msg, $defaults->{'SMTP_PORT'}, $valid_values, $install_log_values); + + $msg = q{ +SMTP timeout (in seconds)?}; + $config{'SMTP_TIMEOUT'} = _get_value('SMTP_TIMEOUT', $msg, $defaults->{'SMTP_TIMEOUT'}, $valid_values, $install_log_values); + + $msg = q{ +SMTP SSL mode?}; + $msg .= _add_valid_values_disp('SMTP_SSL_MODE', $valid_values); + $config{'SMTP_SSL_MODE'} = _get_value('SMTP_SSL_MODE', $msg, $defaults->{'SMTP_SSL_MODE'}, $valid_values, $install_log_values); + + $msg = q{ +SMTP user name?}; + $config{'SMTP_USER_NAME'} = _get_value('SMTP_USER_NAME', $msg, $defaults->{'SMTP_USER_NAME'}, $valid_values, $install_log_values); + + $msg = q{ +SMTP password?}; + $config{'SMTP_PASSWORD'} = _get_value('SMTP_PASSWORD', $msg, $defaults->{'SMTP_PASSWORD'}, $valid_values, $install_log_values); + + $msg = q{ +SMTP debug mode?}; + $msg .= _add_valid_values_disp('SMTP_DEBUG', $valid_values); + $config{'SMTP_DEBUG'} = _get_value('SMTP_DEBUG', $msg, $defaults->{'SMTP_DEBUG'}, $valid_values, $install_log_values); + + $config{'SMTP_DEBUG'} = ( $config{'SMTP_DEBUG'} eq 'yes' ) ? 1 : 0; $msg = q( Would you like to run the database-dependent test suite?); @@ -1389,10 +1434,10 @@ sub get_target_directories { $dirmap{'OPAC_TMPL_DIR'} = File::Spec->catdir(@basedir, $package, 'opac', 'htdocs', 'opac-tmpl'); $dirmap{'OPAC_WWW_DIR'} = File::Spec->catdir(@basedir, $package, 'opac', 'htdocs'); $dirmap{'PERL_MODULE_DIR'} = File::Spec->catdir(@basedir, $package, 'lib'); + $dirmap{'PERL_MODULE_LIB_DIR'} = File::Spec->catdir(@basedir, $package, 'lib'); $dirmap{'KOHA_CONF_DIR'} = File::Spec->catdir(@basedir, $package, 'etc'); $dirmap{'ZEBRA_CONF_DIR'} = File::Spec->catdir(@basedir, $package, 'etc', 'zebradb'); $dirmap{'Z3950_CONF_DIR'} = File::Spec->catdir(@basedir, $package, 'etc', 'z3950'); - $dirmap{'PAZPAR2_CONF_DIR'} = File::Spec->catdir(@basedir, $package, 'etc', 'pazpar2'); $dirmap{'MISC_DIR'} = File::Spec->catdir(@basedir, $package, 'misc'); $dirmap{'SCRIPT_DIR'} = File::Spec->catdir(@basedir, $package, 'bin'); $dirmap{'SCRIPT_NONDEV_DIR'} = $dirmap{'SCRIPT_DIR'}; @@ -1421,12 +1466,14 @@ sub get_target_directories { $skipdirs{'OPAC_TMPL_DIR'} = 1; $dirmap{'OPAC_WWW_DIR'} = File::Spec->catdir($curdir, 'koha-tmpl'); $skipdirs{'OPAC_WWW_DIR'} = 1; + #NOTE: We're hacking the dirmap here, so that PERL_MODULE_DIR tokens get rewritten correctly for git installs $dirmap{'PERL_MODULE_DIR'} = File::Spec->catdir($curdir); $skipdirs{'PERL_MODULE_DIR'} = 1; + $dirmap{'PERL_MODULE_LIB_DIR'} = File::Spec->catdir($curdir,'lib'); + $skipdirs{'PERL_MODULE_LIB_DIR'} = 1; $dirmap{'KOHA_CONF_DIR'} = File::Spec->catdir(@basedir, $package, 'etc'); $dirmap{'ZEBRA_CONF_DIR'} = File::Spec->catdir(@basedir, $package, 'etc', 'zebradb'); $dirmap{'Z3950_CONF_DIR'} = File::Spec->catdir(@basedir, $package, 'etc', 'z3950'); - $dirmap{'PAZPAR2_CONF_DIR'} = File::Spec->catdir(@basedir, $package, 'etc', 'pazpar2'); $dirmap{'MISC_DIR'} = File::Spec->catdir(@basedir, $package, 'misc'); $dirmap{'SCRIPT_DIR'} = File::Spec->catdir(@basedir, $package, 'bin'); #For dev install, point NONDEV_DIR to misc in current dir (not base) @@ -1452,10 +1499,10 @@ sub get_target_directories { $dirmap{'OPAC_TMPL_DIR'} = File::Spec->catdir(@basedir, $package, 'opac', 'htdocs', 'opac-tmpl'); $dirmap{'OPAC_WWW_DIR'} = File::Spec->catdir(@basedir, $package, 'opac', 'htdocs'); $dirmap{'PERL_MODULE_DIR'} = File::Spec->catdir(@basedir, $package, 'lib'); + $dirmap{'PERL_MODULE_LIB_DIR'} = File::Spec->catdir(@basedir, $package, 'lib'); $dirmap{'KOHA_CONF_DIR'} = File::Spec->catdir(File::Spec->rootdir(), 'etc', $package); $dirmap{'ZEBRA_CONF_DIR'} = File::Spec->catdir(File::Spec->rootdir(), 'etc', $package, 'zebradb'); $dirmap{'Z3950_CONF_DIR'} = File::Spec->catdir(File::Spec->rootdir(), 'etc', $package, 'z3950'); - $dirmap{'PAZPAR2_CONF_DIR'} = File::Spec->catdir(File::Spec->rootdir(), 'etc', $package, 'pazpar2'); $dirmap{'MISC_DIR'} = File::Spec->catdir(@basedir, $package, 'misc'); $dirmap{'SCRIPT_DIR'} = File::Spec->catdir(@basedir, $package, 'bin'); $dirmap{'SCRIPT_NONDEV_DIR'} = $dirmap{'SCRIPT_DIR'}; @@ -1605,6 +1652,8 @@ sub install { # This means that we're completely overriding EU::MM's default # installation and uninstallation targets. + my $perl5lib_dirs = _build_perl5lib_string({ target_dirs => $target_directories }); + # If installation is on Win32, we need to do permissions different from *nix if ( $^O =~ /darwin|linux|cygwin|freebsd|solaris/ ) { # this value needs to be verified for each platform and modified accordingly foreach my $key (sort keys %$target_directories) { @@ -1659,7 +1708,7 @@ install :: all install_koha set_koha_ownership set_koha_permissions warn_koha_en $install .= "\t\$(NOECHO) \$(ECHO) you should set the following environment variables:\n"; $install .= "\t\$(NOECHO) \$(ECHO)\n"; $install .= "\t\$(NOECHO) \$(ECHO) export KOHA_CONF=\$(KOHA_DEST_KOHA_CONF_DIR)/koha-conf.xml\n"; - $install .= "\t\$(NOECHO) \$(ECHO) export PERL5LIB=$target_directories->{'PERL_MODULE_DIR'}\n"; + $install .= "\t\$(NOECHO) \$(ECHO) export PERL5LIB=$perl5lib_dirs\n"; $install .= "\t\$(NOECHO) \$(ECHO)\n"; $install .= "\t\$(NOECHO) \$(ECHO) For other post-installation tasks, please consult the README.\n"; $install .= "\t\$(NOECHO) \$(ECHO)\n"; @@ -1685,8 +1734,6 @@ sub _update_zebra_conf_target { $target .= "\t\t\$(KOHA_INST_ZEBRA_CONF_DIR) \$(KOHA_DEST_ZEBRA_CONF_DIR) \n"; $target .= "\t\$(NOECHO) chmod -R u+w \$(KOHA_DEST_ZEBRA_CONF_DIR)\n"; $target .= "\tumask 022; \$(MOD_INSTALL) \\\n"; - $target .= "\t\t\$(KOHA_INST_PAZPAR2_CONF_DIR) \$(KOHA_DEST_PAZPAR2_CONF_DIR) \n"; - $target .= "\t\$(NOECHO) chmod -R u+w \$(KOHA_DEST_PAZPAR2_CONF_DIR)\n"; return $target; } @@ -1712,7 +1759,7 @@ make_upgrade_backup :: \t\$(NOECHO) umask 022; \$(MOD_BACKUP) \\ /; foreach my $key (qw/KOHA_CONF_DIR INTRANET_TMPL_DIR INTRANET_WWW_DIR OPAC_TMPL_DIR OPAC_WWW_DIR - PAZPAR2_CONF_DIR ZEBRA_CONF_DIR PLUGINS_DIR/) { + ZEBRA_CONF_DIR PLUGINS_DIR/) { $upgrade .= "\t\t\$(KOHA_INST_$key) \$(KOHA_DEST_$key) \\\n" unless exists $skip_directories->{$key} or not exists $target_directories->{$key}; @@ -1728,9 +1775,16 @@ sub postamble { # rewrite-confg.PL my $env; + + #NOTE: Build __PERL5LIB_DIRS__ for rewrite-config.PL + my $perl5lib_dirs = _build_perl5lib_string({ target_dirs => $target_directories }); + if ($perl5lib_dirs){ + $env .= "export __PERL5LIB_DIRS__ := $perl5lib_dirs\n" + } + # Hereagain, we must alter syntax per platform... { - $env = join("\n", map { "export __${_}__ := $target_directories->{$_}" } keys %$target_directories); + $env .= join("\n", map { "export __${_}__ := $target_directories->{$_}" } keys %$target_directories); $env .= "\n\n"; $env .= join("\n", map { "export __${_}__ := $config{$_}" } keys %config); } @@ -1738,6 +1792,26 @@ sub postamble { return "$env\n"; } +sub _build_perl5lib_string { + my ($args) = @_; + my %unique_map = (); + my $perl5lib_str; + my $target_dirs = $args->{target_dirs}; + my @dir_codes = ("PERL_MODULE_DIR","PERL_MODULE_LIB_DIR"); + if ($target_dirs){ + foreach my $code (@dir_codes){ + my $path = $target_dirs->{ $code }; + if ($path){ + $unique_map{$path} = 1 unless $unique_map{$path}; + } + } + my @paths = sort keys %unique_map; + if (@paths){ + $perl5lib_str = join(':',@paths); + } + } + return $perl5lib_str; +} __END__