'./changelanguage.pl' => 'INTRANET_CGI_DIR',
'./check_sysprefs.pl' => 'NONE',
'./circ' => 'INTRANET_CGI_DIR',
+ './offline_circ' => 'INTRANET_CGI_DIR',
'./edithelp.pl' => 'INTRANET_CGI_DIR',
'./etc' => { target => 'KOHA_CONF_DIR', trimdir => -1 },
'./etc/zebradb' => { target => 'ZEBRA_CONF_DIR', trimdir => -1 },
'./reviews' => 'INTRANET_CGI_DIR',
'./rewrite-config.PL' => 'NONE',
'./reviews' => 'INTRANET_CGI_DIR',
- './rss' => 'MISC_DIR',
'./serials' => 'INTRANET_CGI_DIR',
'./skel' => 'NONE',
'./skel/var/log/koha' => { target => 'LOG_DIR', trimdir => -1 },
'PATH_TO_ZEBRA' => '',
);
-# set some default configuratio options based on OS
+# 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
AUTHOR => 'Koha Developers <koha-devel@nongnu.org>',
NO_META => 1,
PREREQ_PM => {
- 'Algorithm::CheckDigits' => 0.50,
+ 'Algorithm::CheckDigits' => 0.50,
'Biblio::EndnoteStyle' => 0.05,
'CGI' => 3.15,
'CGI::Carp' => 1.29,
- 'CGI::Session' => '4.10',
+ 'CGI::Session' => 4.20,
+ 'CGI::Session::Serialize::yaml' => 4.20,
'Class::Factory::Util' => 1.6,
'Class::Accessor' => 0.30,
'DBD::mysql' => 4.004,
+ 'DBD::SQLite2' => 0.33, # optional, used for offline circulation
'DBI' => 1.53,
- 'Data::ICal' => 0.13,
'Data::Dumper' => 2.121,
+ 'Data::ICal' => 0.13,
'Date::Calc' => 5.4,
'Date::ICal' => 1.72,
'Date::Manip' => 5.44,
'Digest::MD5' => 2.36,
+ 'Email::Date' => 1.103,
'File::Temp' => 0.16,
'GD' => 2.39, #optional
'GD::Barcode::UPCE' => 1.1,
'HTML::Template::Pro' => 0.69,
'HTML::Scrubber' => 0.08,
'HTTP::Cookies' => 1.39,
+ 'HTTP::OAI' => 3.20,
'HTTP::Request::Common' => 1.26,
+ 'JSON' => 2.07, # Needed by admin/item_circulation_alerts.pl
'LWP::Simple' => 1.41,
'LWP::UserAgent' => 2.033,
'Lingua::Stem' => 0.82,
'XML::LibXML' => 1.59,
'XML::LibXSLT' => 1.59,
'XML::SAX::ParserFactory' => 1.01,
+ 'XML::SAX::Writer' => 0.44,
'XML::Simple' => 2.14,
'XML::RSS' => 1.31,
'YAML::Syck' => 0.71,
PM => $file_map,
# Man pages generated from POD
- INSTALLMAN1DIR => File::Spec->catdir($target_directories->{'MAN_DIR'}, 'man1'),
- INSTALLMAN3DIR => File::Spec->catdir($target_directories->{'MAN_DIR'}, 'man3'),
+ # ExtUtils::MakeMaker already manage $(DESTDIR)
+ INSTALLMAN1DIR => File::Spec->catdir(_strip_destdir($target_directories->{'MAN_DIR'}), 'man1'),
+ INSTALLMAN3DIR => File::Spec->catdir(_strip_destdir($target_directories->{'MAN_DIR'}), 'man3'),
PL_FILES => $pl_files,
);
_get_env_overrides(\%dirmap);
_get_argv_overrides(\%dirmap);
+ _add_destdir(\%dirmap);
return \%dirmap, \%skipdirs;
}
@ARGV = @new_argv;
}
+sub _strip_destdir {
+ my $dir = shift;
+ $dir =~ s/^\$\(DESTDIR\)//;
+ return $dir;
+}
+
+sub _add_destdir {
+ my $dirmap = shift;
+
+ foreach my $key (keys %$dirmap) {
+ $dirmap->{$key} = '$(DESTDIR)'.$dirmap->{$key};
+ }
+}
+
sub display_configuration {
my $config = shift;
my $dirmap = shift;
# installation and uninstallation targets.
# If installation is on Win32, we need to do permissions different from *nix
- if ( $^O =~ /darwin|linux|cygwin|freebsd/ ) { # this value needs to be verified for each platform and modified accordingly
+ 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 .= qq(
KOHA_INST_$key = blib/$key
$install .= "\n";
$install .= "set_koha_ownership ::\n";
+# Do not try to change ownership if DESTDIR is set
if ($config{'INSTALL_MODE'} eq 'standard' and $config{'KOHA_USER'} ne "root") {
foreach my $key (sort keys %$target_directories) {
- $install .= "\t\$(NOECHO) chown -R $config{'KOHA_USER'}:$config{'KOHA_GROUP'} \$(KOHA_DEST_$key)\n"
+ $install .= "\t\$(NOECHO) if test -z \"\$(DESTDIR)\"; then chown -R $config{'KOHA_USER'}:$config{'KOHA_GROUP'} \$(KOHA_DEST_$key); fi\n"
unless ($config{'INSTALL_ZEBRA'} ne "yes" and $key =~ /ZEBRA/) or exists $skip_directories->{$key};
}
} else {
# these directories will be relocated to the 't' directory
foreach my $dirname ( keys %$target_directories ) {
- my $dir = $target_directories->{$dirname};
+ my $dir = main::_strip_destdir( $target_directories->{$dirname} );
if ( exists $test_suite_override_dirs{$dirname} ) {
$dir = main::get_test_dir($dirname);
}