From 1522e48c854046b947284dbe50296cc0e159be4c Mon Sep 17 00:00:00 2001 From: Dave Lawrence Date: Thu, 31 Oct 2013 16:32:46 +0800 Subject: Bug 887117: Move the compiled template cache dir to a directory in the document root to avoid storing on NFS --- contrib/compile-templates.pl | 47 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100755 contrib/compile-templates.pl (limited to 'contrib') diff --git a/contrib/compile-templates.pl b/contrib/compile-templates.pl new file mode 100755 index 000000000..e39e0c338 --- /dev/null +++ b/contrib/compile-templates.pl @@ -0,0 +1,47 @@ +#!/usr/bin/perl -w + +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This Source Code Form is "Incompatible With Secondary Licenses", as +# defined by the Mozilla Public License, v. 2.0. + +use strict; +use warnings; +use lib qw(. lib); + +use Bugzilla; +use Bugzilla::Constants; +use Bugzilla::Install::Filesystem qw(fix_dir_permissions); +use Bugzilla::Template; +use File::Path qw(mkpath rmtree); + +Bugzilla->usage_mode(USAGE_MODE_CMDLINE); +$| = 1; + +# rename the current directory and create a new empty one +# this is quicker than the method used in precompile_templates + +my $path = bz_locations()->{'template_cache'}; +my $delete_path = "$path.deleteme"; + +print "Moving '$path' to '$delete_path'\n"; +rmtree("$delete_path") if -e "$delete_path"; +rename($path, $delete_path) + or die "renaming '$path' to '$delete_path' failed: $!\n"; + +print "Creating '$path'\n"; +mkpath($path) + or die "creating '$path' failed: $!\n"; +fix_dir_permissions($path); + +# pre-compile all templates + +Bugzilla::Template::precompile_templates(1); +fix_dir_permissions($path); + +# finally delete the temp directory (it's ok if this fails) + +print "Deleting $delete_path\n"; +rmtree("$delete_path"); -- cgit v1.2.3-24-g4f1b