--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)
'./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',
'./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',
'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 },
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'
);
}
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);
$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');
$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{'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');
# 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) {
$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";
# 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);
}
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__