Bug 17951: (follow-up) Make Makefile.PL handle template_cache_dir config
authorTomas Cohen Arazi <tomascohen@theke.io>
Tue, 25 Apr 2017 15:25:32 +0000 (12:25 -0300)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Fri, 22 Dec 2017 16:15:39 +0000 (13:15 -0300)
This patch adds Makefile.PL the capability of handling the template_cache_dir configuration entry.
To do so, it:
- Adds the --template-cache-dir option switch (consistency with koha-create)
- Sets a default value for template_cache_dir to '/tmp/koha'
- Adds a dialog requesting the path for the template cache dir to Makefile.PL
- It tweaks etc/koha-conf.xml so it is correctly changed by rewrite-config.PL

To test:
- Apply this patch
- Run:
  $ perl Makefile.PL --template-cache-dir your/favourite/dir
=> SUCCESS: The dialogs don't ask for template cache dir
=> SUCCESS: The resulting Makefile contains an entry for TEMPLATE_CACHE_DIR which value
            matches what we passed to --template-cache-dir
- Run:
  $ perl Makefile.PL
- When prompted for a template cache dir, introduce whatever you want
=> SUCCESS: The default you are offered is /tmp/koha
=> SUCCESS: At the end of the process, Makefile contains what we put in there
- Run:
  $ sudo make install
=> SUCCESS: The resulting koha-conf.xml contains a <template_cache_dir> entry containing
            whatever you picked for that purpose.
- Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Makefile.PL
etc/koha-conf.xml
rewrite-config.PL

index ada4224..ecd4297 100644 (file)
@@ -101,6 +101,7 @@ Makefile.PL - Koha packager and installer
     --font_dir                   Location of fonts (e.g. /usr/share/fonts/truetype/ttf-dejavu)
     --run_database_tests         Run database dependent tests (yes, no)
     --install_base               Base directory of installation (e.g. /usr/share/koha)
+    --template-cache-dir         Specify a template cache directory (e.g. /var/cache/koha)
     --help                       Display this help message
 
 =head1 DESCRIPTION
@@ -485,6 +486,7 @@ my %config_defaults = (
   'USE_MEMCACHED'     => 'no',
   'MEMCACHED_SERVERS' => '127.0.0.1:11211',
   'MEMCACHED_NAMESPACE' => 'KOHA',
+  'TEMPLATE_CACHE_DIR' => '/tmp/koha',
   'FONT_DIR'          => '/usr/share/fonts/truetype/ttf-dejavu'
 );
 
@@ -546,6 +548,7 @@ my $cli_koha_use_memcached = "";
 my $cli_koha_font_dir = "";
 my $cli_koha_run_database_tests = "";
 my $cli_koha_install_base = "";
+my $cli_koha_template_cache_dir = "";
 Getopt::Long::Configure('pass_through');
 my $results = GetOptions(
     "prev-install-log=s"           => \$koha_install_log,
@@ -574,6 +577,7 @@ my $results = GetOptions(
     "font_dir=s"                   => \$cli_koha_font_dir,
     "run_database_tests=s"         => \$cli_koha_run_database_tests,
     "install_base=s"               => \$cli_koha_install_base,
+    "template-cache-dir=s"         => \$cli_koha_template_cache_dir,
     "help"                         => sub { HelpMessage(0) },
 ) or HelpMessage(1);
 
@@ -861,7 +865,8 @@ sub get_cli_values {
         USE_MEMCACHED              => $cli_koha_use_memcached,
         FONT_DIR                   => $cli_koha_font_dir,
         RUN_DATABASE_TESTS         => $cli_koha_run_database_tests,
-        INSTALL_BASE               => $cli_koha_install_base
+        INSTALL_BASE               => $cli_koha_install_base,
+        TEMPLATE_CACHE_DIR         => $cli_koha_template_cache_dir
     };
     foreach my $key (keys %{$map}) {
         $values->{$key} = $map->{$key} if ($map->{$key});
@@ -1242,6 +1247,10 @@ Memcached namespace?);
   }
 
   $msg = q(
+Template cache directory?);
+  $config{'TEMPLATE_CACHE_DIR'} = _get_value('TEMPLATE_CACHE_DIR', $msg, $defaults->{'TEMPLATE_CACHE_DIR'}, $valid_values, $install_log_values);
+
+  $msg = q(
 Path to DejaVu fonts?);
   $config{'FONT_DIR'} = _get_value('FONT_DIR', $msg, $defaults->{'FONT_DIR'}, $valid_values, $install_log_values);
 
index 067e978..268175d 100644 (file)
@@ -122,10 +122,7 @@ __PAZPAR2_TOGGLE_XML_POST__
  <log4perl_conf>__KOHA_CONF_DIR__/log4perl.conf</log4perl_conf>
  <memcached_servers>__MEMCACHED_SERVERS__</memcached_servers>
  <memcached_namespace>__MEMCACHED_NAMESPACE__</memcached_namespace>
- <!-- Uncomment the following line if you want to use template caching
-      That will bring a performance boost
-      <template_cache_dir>/tmp</template_cache_dir>
- -->
+ <template_cache_dir>__TEMPLATE_CACHE_DIR__</template_cache_dir>
 
  <!-- Secret passphrase used by Mojolicious for signed cookies -->
  <api_secret_passphrase>CHANGEME</api_secret_passphrase>
index d827106..5366493 100644 (file)
@@ -153,6 +153,7 @@ $prefix = $ENV{'INSTALL_BASE'} || "/usr";
   "__MEMCACHED_SERVERS__" => "",
   "__MEMCACHED_NAMESPACE__" => "",
   "__FONT_DIR__" => "/usr/share/fonts/truetype/ttf-dejavu",
+  "__TEMPLATE_CACHE_DIR__" => "/tmp/koha"
 );
 
 # Override configuration from the environment