Patch bugzilla so that it will cache bz_locations() and not memorize it.
Clean up our own patch to Bugzilla/Constants.pm so that the PROJECT environment variable can be used.
This commit is contained in:
parent
13c90d7775
commit
bc9a72be42
2 changed files with 49 additions and 2 deletions
41
bugzilla-project-mod_perl.patch
Normal file
41
bugzilla-project-mod_perl.patch
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
diff -up ./Bugzilla/Constants.pm.orig ./Bugzilla/Constants.pm
|
||||
--- ./Bugzilla/Constants.pm.orig 2013-11-14 23:21:44.947050044 +0100
|
||||
+++ ./Bugzilla/Constants.pm 2013-11-14 23:23:55.873245730 +0100
|
||||
@@ -591,6 +591,13 @@ use constant AUDIT_CREATE => '__create__
|
||||
use constant AUDIT_REMOVE => '__remove__';
|
||||
|
||||
sub bz_locations {
|
||||
+ # Force memoize() to re-compute data per project, to avoid
|
||||
+ # sharing the same data across different installations.
|
||||
+ return _bz_locations($ENV{'PROJECT'});
|
||||
+}
|
||||
+
|
||||
+sub _bz_locations {
|
||||
+ my $project = shift;
|
||||
# We know that Bugzilla/Constants.pm must be in %INC at this point.
|
||||
# So the only question is, what's the name of the directory
|
||||
# above it? This is the most reliable way to get our current working
|
||||
@@ -607,12 +614,13 @@ sub bz_locations {
|
||||
$libpath =~ /(.*)/;
|
||||
$libpath = $1;
|
||||
|
||||
- my ($project, $localconfig, $datadir);
|
||||
- if ($ENV{'PROJECT'} && $ENV{'PROJECT'} =~ /^(\w+)$/) {
|
||||
+ my ($localconfig, $datadir);
|
||||
+ if ($project && $project =~ /^(\w+)$/) {
|
||||
$project = $1;
|
||||
$localconfig = "localconfig.$project";
|
||||
$datadir = "data/$project";
|
||||
} else {
|
||||
+ $project = undef;
|
||||
$localconfig = "localconfig";
|
||||
$datadir = "data";
|
||||
}
|
||||
@@ -647,6 +655,6 @@ sub bz_locations {
|
||||
|
||||
# This makes us not re-compute all the bz_locations data every time it's
|
||||
# called.
|
||||
-BEGIN { memoize('bz_locations') };
|
||||
+BEGIN { memoize('_bz_locations') };
|
||||
|
||||
1;
|
||||
|
|
@ -6,7 +6,7 @@ URL: http://www.bugzilla.org/
|
|||
Name: bugzilla
|
||||
Version: 4.2.7
|
||||
Group: Applications/Publishing
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
License: MPLv1.1
|
||||
Source0: http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-%{version}.tar.gz
|
||||
Source1: bugzilla-httpd-conf
|
||||
|
|
@ -14,6 +14,7 @@ Source2: README.fedora.bugzilla
|
|||
Source3: bugzilla.cron-daily
|
||||
Patch0: bugzilla-rw-paths.patch
|
||||
Patch1: bugzilla-yum.patch
|
||||
Patch2: bugzilla-project-mod_perl.patch
|
||||
|
||||
BuildArch: noarch
|
||||
Requires: webserver, patchutils, perl(SOAP::Lite), which
|
||||
|
|
@ -104,6 +105,7 @@ Contributed scripts and functions for Bugzilla
|
|||
%setup -q -n %{name}-%{version}
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
rm -f Bugzilla/Constants.pm.orig
|
||||
rm -f Bugzilla/Install/Requirements.pm.orig
|
||||
# Remove bundled libs
|
||||
|
|
@ -215,7 +217,11 @@ popd > /dev/null)
|
|||
%{bzinstallprefix}/bugzilla/contrib/syncLDAP.pl
|
||||
|
||||
%changelog
|
||||
* Thu Oct 17 2013 Emmanuel Seyman <emmanuel@seyman.fr> - 4.2.6-6
|
||||
* Thu Nov 14 2013 Emmanuel Seyman <emmanuel@seyman.fr> - 4.2.7-2
|
||||
- Add patch to cache bz_locations() (bmo #843457)
|
||||
- Fix constants patch to honor the PROJECT environment variable (#911943)
|
||||
|
||||
* Thu Oct 17 2013 Emmanuel Seyman <emmanuel@seyman.fr> - 4.2.7-1
|
||||
- Update to 4.2.7 (security updates)
|
||||
- Patch bugzilla to write compiled templates under /var (#949130)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue