diff options
author | Dave Lawrence <dlawrence@mozilla.com> | 2013-10-31 09:32:46 +0100 |
---|---|---|
committer | Byron Jones <bjones@mozilla.com> | 2013-10-31 09:32:46 +0100 |
commit | 1522e48c854046b947284dbe50296cc0e159be4c (patch) | |
tree | b88f7641b7d5e21f73e56ca07423fe646e25ff50 /contrib | |
parent | 69d8d262406f29b742c61850cd1d4932909277b5 (diff) | |
download | bugzilla-1522e48c854046b947284dbe50296cc0e159be4c.tar.gz bugzilla-1522e48c854046b947284dbe50296cc0e159be4c.tar.xz |
Bug 887117: Move the compiled template cache dir to a directory in the document root to avoid storing on NFS
Diffstat (limited to 'contrib')
-rwxr-xr-x | contrib/compile-templates.pl | 47 |
1 files changed, 47 insertions, 0 deletions
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"); |