From: mkanat%bugzilla.org <> Date: Mon, 5 Nov 2007 01:30:58 +0000 (+0000) Subject: Bug 383522: mod_perl creates a separate template directory X-Git-Tag: bugzilla-3.1.3~477 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7d90e43e9879be068e563567995ffe2b5066bd61;p=thirdparty%2Fbugzilla.git Bug 383522: mod_perl creates a separate template directory Patch By Max Kanat-Alexander r=LpSolit, a=mkanat --- diff --git a/Bugzilla/Template.pm b/Bugzilla/Template.pm index 62334999d3..9be1180bca 100644 --- a/Bugzilla/Template.pm +++ b/Bugzilla/Template.pm @@ -790,17 +790,20 @@ sub precompile_templates { # *compiled* versions using the full absolute path under the data/template # directory. (Like data/template/var/www/html/mod_perl/.) To avoid # re-compiling templates under mod_perl, we symlink to the - # already-compiled templates. - my $abs_root = dirname(abs_path($templatedir)); - mkpath("$datadir/template$abs_root"); - my $todir = "$datadir/template$abs_root"; - # We use abs2rel so that the symlink will look like "../../../../template" - # which works, while just "data/template/template/" doesn't work. - my $fromdir = File::Spec->abs2rel("$datadir/template/template", $todir); - # We eval for systems (like Windows) that can't symlink, where "symlink" - # throws a fatal error. - eval { symlink($fromdir, "$todir/template") - or warn "Failed to symlink from $fromdir to $todir: $!" }; + # already-compiled templates. This doesn't work on Windows. + if (!ON_WINDOWS) { + my $abs_root = dirname(abs_path($templatedir)); + my $todir = "$datadir/template$abs_root"; + mkpath($todir); + # We use abs2rel so that the symlink will look like + # "../../../../template" which works, while just + # "data/template/template/" doesn't work. + my $fromdir = File::Spec->abs2rel("$datadir/template/template", $todir); + # We eval for systems that can't symlink at all, where "symlink" + # throws a fatal error. + eval { symlink($fromdir, "$todir/template") + or warn "Failed to symlink from $fromdir to $todir: $!" }; + } # If anything created a Template object before now, clear it out. delete Bugzilla->request_cache->{template};