diff options
author | Dylan William Hardison <dylan@hardison.net> | 2018-03-16 17:53:01 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-16 17:53:01 +0100 |
commit | 6353a89495e1a6e68bc9e09a771bb879531f510f (patch) | |
tree | 7da012c60016b9603b42dc43665741833feaaf2a | |
parent | 973b61c083c83927b552c8985c1d8febe6847f72 (diff) | |
download | bugzilla-6353a89495e1a6e68bc9e09a771bb879531f510f.tar.gz bugzilla-6353a89495e1a6e68bc9e09a771bb879531f510f.tar.xz |
Bug 1446156 - mkdir template_cache: Permission denied
-rw-r--r-- | Bugzilla/Template.pm | 2 | ||||
-rwxr-xr-x | checksetup.pl | 11 |
2 files changed, 13 insertions, 0 deletions
diff --git a/Bugzilla/Template.pm b/Bugzilla/Template.pm index 7a97f6da2..ae4f9bbad 100644 --- a/Bugzilla/Template.pm +++ b/Bugzilla/Template.pm @@ -1074,6 +1074,8 @@ our %_templates_to_precompile; sub precompile_templates { my ($output) = @_; + return unless is_webserver_group(); + # Remove the compiled templates. my $cache_dir = bz_locations()->{'template_cache'}; my $datadir = bz_locations()->{'datadir'}; diff --git a/checksetup.pl b/checksetup.pl index 6cea8549d..d3f08e024 100755 --- a/checksetup.pl +++ b/checksetup.pl @@ -30,6 +30,7 @@ use Pod::Usage; # Bug 1270550 - Tie::Hash::NamedCapture must be loaded before Safe. use Tie::Hash::NamedCapture; use Safe; +use English qw(-no_match_vars $EUID $EGID); use Bugzilla::Constants; use Bugzilla::Install::Requirements; @@ -155,6 +156,16 @@ unless ($ENV{LOCALCONFIG_ENV}) { } my $lc_hash = Bugzilla->localconfig; +if ( $EUID == 0 && $lc_hash->{webservergroup} && !ON_WINDOWS ) { + # So checksetup was run as root, and we have a webserver group set. + # Let's assume the user wants us to make files that are writable + # by the webserver group. + + $EGID = getgrnam $lc_hash->{webservergroup}; ## no critic (Variables::RequireLocalizedPunctuationVars) + umask 002 + or die "failed to set umask 002: $!"; +} + unless ($switch{'no-database'}) { die "urlbase is not set\n" unless $lc_hash->{urlbase}; die "urlbase must end with slash\n" unless $lc_hash->{urlbase} =~ m{/$}ms; |