X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=Makefile.PL;h=96d2fb7fa767c4ea85a2a96412cd9a904ced0016;hb=7efd257e1a697fb3a2cf1f0421c927f25367a571;hp=1a3eb3c51a9eb5f62efbab7d2d8cc88b65d486fa;hpb=0b989fe0b2097d747da1fd6d04aa8aecc5652d06;p=koha-ffzg.git diff --git a/Makefile.PL b/Makefile.PL index 1a3eb3c51a..96d2fb7fa7 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -2,18 +2,18 @@ # # This file is part of Koha. # -# Koha is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. +# Koha is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. # -# Koha is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR -# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# Koha is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along -# with Koha; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# You should have received a copy of the GNU General Public License +# along with Koha; if not, see . # # Current maintainer MJR http://mjr.towers.org.uk/ # @@ -186,7 +186,9 @@ Directory for Zebra configuration files. =item ZEBRA_LOCK_DIR -Directory for Zebra's lock files. +Directory for Zebra's lock files. This includes subdirs for authorities, +biblios, and the zebra rebuild function. Any activity to reindex +zebra from koha should interlock here with rebuild_zebra.pl. =item ZEBRA_DATA_DIR @@ -277,6 +279,7 @@ my $target_map = { './installer' => 'INTRANET_CGI_DIR', './errors' => {target => 'INTRANET_CGI_DIR'}, './Koha' => 'PERL_MODULE_DIR', + './Koha.pm' => 'PERL_MODULE_DIR', './koha-tmpl/intranet-tmpl' => {target => 'INTRANET_TMPL_DIR', trimdir => -1}, './koha-tmpl/opac-tmpl' => {target => 'OPAC_TMPL_DIR', trimdir => -1}, './kohaversion.pl' => 'INTRANET_CGI_DIR', @@ -302,6 +305,7 @@ my $target_map = { './reviews' => 'INTRANET_CGI_DIR', './rewrite-config.PL' => 'NONE', './reviews' => 'INTRANET_CGI_DIR', + './rotating_collections' => 'INTRANET_CGI_DIR', './serials' => 'INTRANET_CGI_DIR', './services' => 'INTRANET_CGI_DIR', './skel' => 'NONE', @@ -318,6 +322,7 @@ my $target_map = { './skel/var/lib/koha/zebradb/biblios/register' => { target => 'ZEBRA_DATA_DIR', trimdir => 6 }, './skel/var/lib/koha/zebradb/biblios/shadow' => { target => 'ZEBRA_DATA_DIR', trimdir => 6 }, './skel/var/lib/koha/zebradb/biblios/tmp' => { target => 'ZEBRA_DATA_DIR', trimdir => 6 }, + './skel/var/lock/koha/zebradb/rebuild' => { target => 'ZEBRA_LOCK_DIR', trimdir => 6 }, './skel/var/lib/koha/plugins' => { target => 'PLUGINS_DIR', trimdir => 6 }, './sms' => 'INTRANET_CGI_DIR', './suggestion' => 'INTRANET_CGI_DIR', @@ -442,18 +447,10 @@ my %config_defaults = ( # set some default configuration options based on OS # more conditions need to be added for other OS's -# this should probably also incorporate usage of Win32::GetOSName() and/or Win32::GetOSVersion() -# to allow for more granular decisions based on which Win32 platform warn "Your platform appears to be $^O.\n" if $DEBUG; -if ( $^O eq 'MSWin32' ) { - # Most Unix2Win32 ports seem to poke everything into the Program Files directory - # this could be changed to put some files (ie. libraries) into system32, etc. - $config_defaults{'INSTALL_MODE'} = 'single'; - $config_defaults{'INSTALL_BASE'} = 'c:/progra~1/koha'; # Use 8.3 names to be safe... -} -elsif ( $^O eq 'cygwin' ) { +if ( $^O eq 'cygwin' ) { # Most Unix2Win32 ports seem to poke everything into the Program Files directory # this could be changed to put some files (ie. libraries) into system32, etc. $config_defaults{'INSTALL_MODE'} = 'single'; @@ -472,7 +469,7 @@ my %valid_config_values = ( 'AUTH_INDEX_MODE' => { 'grs1' => 1, 'dom' => 1 }, 'BIB_INDEX_MODE' => { 'grs1' => 1, 'dom' => 1 }, 'ZEBRA_MARC_FORMAT' => { 'marc21' => 1, 'normarc' => 1, 'unimarc' => 1 }, # FIXME should generate from contents of distributation - 'ZEBRA_LANGUAGE' => { 'en' => 1, 'es' => 1, 'fr' => 1, 'nb' => 1, 'ru' => 1, 'uk' => 1 }, # FIXME should generate from contents of distribution + 'ZEBRA_LANGUAGE' => { 'en' => 1, 'es' => 1, 'fr' => 1, 'gr' => 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 }, @@ -557,6 +554,10 @@ $config{ZEBRA_TOKENIZER_STMT} = $config{ZEBRA_TOKENIZER} eq 'icu' ? 'icuchain words-icu.xml' : 'charmap word-phrase-utf.chr'; +$config{ZEBRA_PTOKENIZER_STMT} = $config{ZEBRA_TOKENIZER} eq 'icu' + ? 'icuchain phrases-icu.xml' + : 'charmap word-phrase-utf.chr'; + my %test_suite_override_dirs = ( KOHA_CONF_DIR => ['etc'], ZEBRA_CONF_DIR => ['etc', 'zebradb'], @@ -912,8 +913,8 @@ database to be used by Koha); print q( Koha uses the Zebra search engine for high-performance -searching of bibliographic and authority records. If you -have installed the Zebra software +searching of bibliographic and authority records. Checking +to see if you have installed the Zebra software... ); if (defined(my $zebra_path = find_zebra())) { @@ -953,10 +954,10 @@ Primary language for Zebra indexing); Koha can use one of two different indexing modes for the MARC bibliographic records: -grs1 - uses the Zebra GRS-1 filter, available - for legacy support dom - uses the DOM XML filter; offers improved functionality. +grs1 - [DEPRECATED] uses the Zebra GRS-1 filter, + available for legacy support Bibliographic indexing mode); $msg .= _add_valid_values_disp('BIB_INDEX_MODE', $valid_values); @@ -967,10 +968,10 @@ Bibliographic indexing mode); Koha can use one of two different indexing modes for the MARC authorities records: -grs1 - uses the Zebra GRS-1 filter, available - for legacy support dom - uses the DOM XML filter; offers improved functionality. +grs1 - [DEPRECATED] uses the Zebra GRS-1 filter, + available for legacy support Authorities indexing mode); $msg .= _add_valid_values_disp('AUTH_INDEX_MODE', $valid_values); @@ -1200,9 +1201,7 @@ sub get_target_directories { my @basedir = File::Spec->splitdir($directories); - # for Win32 we need to prepend the volume to the directory path - if ( $^O eq 'MSWin32' ) { shift @basedir; unshift @basedir, $volume; } - elsif ( $^O eq 'cygwin' ) { shift @basedir; unshift @basedir, 'c:'; } # in a cygwin environment, $volume is returned empty + if ( $^O eq 'cygwin' ) { shift @basedir; unshift @basedir, 'c:'; } # in a cygwin environment, $volume is returned empty my $package = pop @basedir; @@ -1252,7 +1251,9 @@ sub get_target_directories { $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'}; + #For dev install, point NONDEV_DIR to misc in current dir (not base) + #Used by supportdir in koha-conf.xml (BZ 12031) + $dirmap{'SCRIPT_NONDEV_DIR'} = File::Spec->catdir($curdir, 'misc'); $skipdirs{'SCRIPT_NONDEV_DIR'} = 1; $dirmap{'MAN_DIR'} = File::Spec->catdir(@basedir, $package, 'man'); $dirmap{'DOC_DIR'} = File::Spec->catdir(@basedir, $package, 'doc'); @@ -1289,7 +1290,7 @@ sub get_target_directories { _get_env_overrides(\%dirmap); _get_argv_overrides(\%dirmap); - _add_destdir(\%dirmap) unless ($^O eq 'MSWin32'); + _add_destdir(\%dirmap); return \%dirmap, \%skipdirs; } @@ -1377,8 +1378,6 @@ sub display_configuration { print "perl Makefile.PL\n"; print "\nor\n\n"; print "DB_USER=my_koha DOC_DIR=/usr/local/info perl Makefile.PL\n\n"; - print "If installing on a Win32 platform, be sure to use:\n"; - print "'dmake -x MAXLINELENGTH=300000'\n\n"; } =head2 find_zebra @@ -1386,8 +1385,6 @@ sub display_configuration { Attempt to find Zebra - check user's PATH and a few other directories for zebrasrv and zebraidx. -FIXME: doesn't handle Win32 - =cut sub find_zebra { @@ -1409,8 +1406,6 @@ sub find_zebra { package MY; -# This will have to be reworked in order to accommodate Win32... - sub test { my $self = shift; my $test = $self->SUPER::test(@_); @@ -1471,26 +1466,7 @@ install :: all install_koha set_koha_ownership set_koha_permissions warn_koha_en unless exists $skip_directories->{$key}; } } - elsif ($^O eq 'MSWin32' ) { # On Win32, the install probably needs to be done under the user account koha will be running as... - # We can attempt some creative things with command line utils such as CACLS which allows permission - # management from Win32 cmd.exe, but permissions really only apply to NTFS. - foreach my $key (sort keys %$target_directories) { - $install .= qq( -KOHA_INST_$key = blib/$key -KOHA_DEST_$key = $target_directories->{$key} -) unless exists $skip_directories->{$key}; - } - $install .= qq( -install :: all install_koha warn_koha_env_vars -\t\$(NOECHO) \$(NOOP) -); - $install .= "install_koha ::\n"; - $install .= "\t\$(MOD_INSTALL) \\\n"; - foreach my $key (sort keys %$target_directories) { - $install .= "\t\t\$(KOHA_INST_$key) \$(KOHA_DEST_$key) \\\n" - unless exists $skip_directories->{$key}; - } - } + $install .= "\n"; $install .= "warn_koha_env_vars ::\n"; @@ -1525,10 +1501,10 @@ sub _update_zebra_conf_target { my $target = "\nupdate_zebra_conf ::\n"; $target .= "\tumask 022; \$(MOD_INSTALL) \\\n"; $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" unless $^O eq "MSWin32"; + $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" unless $^O eq "MSWin32"; + $target .= "\t\$(NOECHO) chmod -R u+w \$(KOHA_DEST_PAZPAR2_CONF_DIR)\n"; return $target; } @@ -1563,7 +1539,6 @@ make_upgrade_backup :: return $upgrade; } - sub postamble { # put directory mappings into Makefile # so that Make will export as environment @@ -1572,13 +1547,7 @@ sub postamble { my $env; # Hereagain, we must alter syntax per platform... - if ( $^O eq 'MSWin32' ) { - # NOTE: it is imperative that there be no whitespaces in ENV=value... - $env = join("\n", map { "__${_}__=$target_directories->{$_}" } keys %$target_directories); - $env .= "\n\n"; - $env .= join("\n", map { "__${_}__=$config{$_}" } keys %config); - } - else { + { $env = join("\n", map { "export __${_}__ := $target_directories->{$_}" } keys %$target_directories); $env .= "\n\n"; $env .= join("\n", map { "export __${_}__ := $config{$_}" } keys %config);