rebuild_zebra.pl - add -y option
[koha_fer] / Makefile.PL
index 3b8db26..6750d2f 100644 (file)
@@ -48,10 +48,10 @@ Makefile.PL - Koha packager and installer
     sudo make install
 
 =head2 UPGRADE INSTALLATION
+    
+    NOTE: This option is only available if koha-install-log exists.
 
     perl Makefile.PL --prev-install-log /path/to/koha-install-log
-    -OR-
-    perl Makefile.PL # if no koha-install-log available
 
     make
     make test
@@ -250,7 +250,7 @@ my $target_map = {
   './help.pl'                   => 'INTRANET_CGI_DIR', 
   './installer-CPAN.pl'         => 'NONE',
   './installer'                 => 'INTRANET_CGI_DIR',
-  './koha-tmpl/errors'          => {target => 'INTRANET_CGI_DIR', trimdir => 2},
+  './errors'                    => {target => 'INTRANET_CGI_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', 
@@ -534,9 +534,10 @@ WriteMakefile(
 'GD::Barcode::UPCE' => 1.1,
 'Getopt::Long' => 2.35,
 'Getopt::Std' => 1.05,
-'HTML::Template::Pro' => 0.65,
+'HTML::Template::Pro' => 0.69,
 'HTTP::Cookies' => 1.39,
 'HTTP::Request::Common' => 1.26,
+'Image::Magick' => 6.2,
 'LWP::Simple' => 1.41,
 'LWP::UserAgent' => 2.033,
 'Lingua::Stem' => 0.82,
@@ -751,6 +752,7 @@ sub get_install_log_values {
         next if /^#/ or /^\s*$/;
         next if /^=/;
         next unless m/=/;
+        s/\s+$//g;
         my ($key, $value) = split /=/, $_, 2;
         $values->{$key} = $value;
     }
@@ -1248,6 +1250,8 @@ 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";
 }
 
 package MY;
@@ -1345,9 +1349,6 @@ install :: all install_koha warn_koha_env_vars
     $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)\n";
-    $install .= "\t\$(NOECHO) \$(ECHO) If installing on a Win32 platform, be sure to use:\n";
-    $install .= "\t\$(NOECHO) \$(ECHO) 'dmake -x MAXLINELENGTH=300000'\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";
 
@@ -1355,6 +1356,8 @@ install :: all install_koha warn_koha_env_vars
         $install .= _update_zebra_conf_target();
     }
 
+    $install .= upgrade();
+
     return $install;
 }
 
@@ -1378,6 +1381,38 @@ sub _update_zebra_conf_target {
     return $target;
 }
 
+sub upgrade {
+    my $upgrade = ""; 
+
+    my $backup_suffix;
+    if (exists $install_log_values{'KOHA_INSTALLED_VERSION'}) {
+        my $version = $install_log_values{'KOHA_INSTALLED_VERSION'};
+        $version =~ s/\./_/g;
+        $backup_suffix = "_koha_$version";
+    } else {
+        $backup_suffix = "_upgrade_backup";
+    }
+
+    $upgrade .= qq/
+MOD_BACKUP = \$(ABSPERLRUN) -Minstall_misc::UpgradeBackup -e 'backup_changed_files({\@ARGV}, '$backup_suffix', '\''\$(VERBINST)'\'', '\''\$(UNINST)'\'');' --
+
+upgrade :: make_upgrade_backup install
+\t\$(NOECHO) \$(NOOP)
+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/) {
+       $upgrade .= "\t\t\$(KOHA_INST_$key) \$(KOHA_DEST_$key) \\\n" 
+            unless ($config{'INSTALL_ZEBRA'} ne "yes" and $key =~ /ZEBRA/) or
+                   exists $skip_directories->{$key} or
+                   not exists $target_directories->{$key};
+    }
+    $upgrade =~ s/\\\n$/\n/;
+
+    return $upgrade;
+}
+
 sub postamble {
     # put directory mappings into Makefile
     # so that Make will export as environment