X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=Makefile.PL;h=07e1a34135c7aadb3f6ecb861cbef5a10773e02c;hb=b19128eca15cecfe60fea21dc4bb9f686943c448;hp=91d4b3c36b9083924314c339f720752ce2c0b9ac;hpb=06a58fe56df512d6aa770a8a5478bed93e0a17fd;p=koha-ffzg.git diff --git a/Makefile.PL b/Makefile.PL index 91d4b3c36b..07e1a34135 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) @@ -320,6 +320,7 @@ my $target_map = { './docs/contributors.yaml' => { target => 'DOC_DIR', trimdir => -1 }, './docs/teams.yaml' => { target => 'DOC_DIR', trimdir => -1 }, './offline_circ' => 'INTRANET_CGI_DIR', + './erm' => 'INTRANET_CGI_DIR', './etc' => { target => 'KOHA_CONF_DIR', trimdir => -1 }, './etc/zebradb' => { target => 'ZEBRA_CONF_DIR', trimdir => -1 }, './etc/z3950' => { target => 'Z3950_CONF_DIR', trimdir => -1 }, @@ -334,6 +335,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', @@ -351,6 +353,7 @@ my $target_map = { './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', @@ -396,6 +399,9 @@ my $target_map = { 'gulpfile.js' => 'NONE', 'package.json' => 'NONE', 'yarn.lock' => 'NONE', + 'cypress.json' => 'NONE', + 'tsconfig.json' => 'NONE', + 'webpack.config.js' => 'NONE', }; =head1 CONFIGURATION OPTIONS @@ -564,7 +570,7 @@ 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 }, @@ -657,11 +663,29 @@ display_configuration(\%config, $target_directories); my $file_map = {}; get_file_map($target_map, $dirtree, $file_map); +#NOTE: List files generated by build-resources.PL, so that they're copied into blib for installation +#INTRANET_TMPL_DIR +$file_map->{'koha-tmpl/intranet-tmpl/prog/css/calendar.css'} = 'blib/INTRANET_TMPL_DIR/prog/css/calendar.css'; +$file_map->{'koha-tmpl/intranet-tmpl/prog/css/holds.css'} = 'blib/INTRANET_TMPL_DIR/prog/css/holds.css'; +$file_map->{'koha-tmpl/intranet-tmpl/prog/css/installer.css'} = 'blib/INTRANET_TMPL_DIR/prog/css/installer.css'; +$file_map->{'koha-tmpl/intranet-tmpl/prog/css/mainpage.css'} = 'blib/INTRANET_TMPL_DIR/prog/css/mainpage.css'; +$file_map->{'koha-tmpl/intranet-tmpl/prog/css/staff-global.css'} = 'blib/INTRANET_TMPL_DIR/prog/css/staff-global.css'; +$file_map->{'koha-tmpl/intranet-tmpl/prog/js/vue/dist/main.js'} = 'blib/INTRANET_TMPL_DIR/prog/js/vue/dist/main.js'; +$file_map->{'koha-tmpl/intranet-tmpl/prog/js/vue/dist/main.js.LICENSE.txt'} = 'blib/INTRANET_TMPL_DIR/prog/js/vue/dist/main.js.LICENSE.txt'; +#OPAC_TMPL_DIR +$file_map->{'koha-tmpl/opac-tmpl/bootstrap/css/opac.css'} = 'blib/OPAC_TMPL_DIR/bootstrap/css/opac.css'; +$file_map->{'koha-tmpl/opac-tmpl/bootstrap/css/opac-rtl.css'} = 'blib/OPAC_TMPL_DIR/bootstrap/css/opac-rtl.css'; +$file_map->{'koha-tmpl/opac-tmpl/bootstrap/css/print.css'} = 'blib/OPAC_TMPL_DIR/bootstrap/css/print.css'; +$file_map->{'koha-tmpl/opac-tmpl/bootstrap/css/print-rtl.css'} = 'blib/OPAC_TMPL_DIR/bootstrap/css/print-rtl.css'; +$file_map->{'koha-tmpl/opac-tmpl/bootstrap/css/sco.css'} = 'blib/OPAC_TMPL_DIR/bootstrap/css/sco.css'; +$file_map->{'koha-tmpl/opac-tmpl/bootstrap/css/sco-rtl.css'} = 'blib/OPAC_TMPL_DIR/bootstrap/css/sco-rtl.css'; + my $pl_files = { 'rewrite-config.PL' => [ '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' ], @@ -691,7 +715,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' ); } @@ -1149,7 +1172,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); @@ -1432,6 +1455,7 @@ 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'); @@ -1463,8 +1487,11 @@ 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'); @@ -1493,6 +1520,7 @@ 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'); @@ -1645,6 +1673,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) { @@ -1699,7 +1729,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"; @@ -1766,9 +1796,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); } @@ -1776,6 +1813,38 @@ sub postamble { return "$env\n"; } +sub top_targets { + my $inherited = shift->SUPER::top_targets(@_); + my $compile_step; + $compile_step .= "all :: compile_css_js\n"; + $compile_step .= "\t" . '$(NOECHO) $(NOOP)' . "\n"; + $compile_step .= "\n"; + $compile_step .= "compile_css_js:\n"; + $compile_step .= "\t" . '$(PERLRUN) build-resources.PL' . "\n"; + my $top_targets = $compile_step . "\n" . $inherited; + return $top_targets; +} + +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__