From 9bf2ca0bd91c65975571064422701e2533b1f83a Mon Sep 17 00:00:00 2001 From: Itamar Reis Peixoto Date: Mar 05 2009 15:26:22 +0000 Subject: bugzilla 3.2.2 --- diff --git a/.cvsignore b/.cvsignore index f7af357..f09f584 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -bugzilla-3.0.8.tar.gz +bugzilla-3.2.2.tar.gz diff --git a/bugzilla-rw-paths.patch b/bugzilla-rw-paths.patch index d6441e9..a9ae59f 100644 --- a/bugzilla-rw-paths.patch +++ b/bugzilla-rw-paths.patch @@ -1,7 +1,6 @@ -diff -ru bugzilla-orig/Bugzilla/Constants.pm bugzilla-3.0.1/Bugzilla/Constants.pm ---- bugzilla-orig/Bugzilla/Constants.pm 2007-08-23 14:42:23.000000000 -0400 -+++ bugzilla-3.0.1/Bugzilla/Constants.pm 2007-08-27 08:50:50.000000000 -0400 -@@ -423,9 +423,9 @@ +--- bugzilla-3.2.2/Bugzilla/Constants.pm 2009-02-03 10:02:53.000000000 +0000 ++++ bugzilla-3.2.2-rw/Bugzilla/Constants.pm 2009-02-18 17:59:52.000000000 +0000 +@@ -465,9 +465,9 @@ 'cgi_path' => $libpath, 'templatedir' => "$libpath/template", 'project' => $project, @@ -12,9 +11,9 @@ diff -ru bugzilla-orig/Bugzilla/Constants.pm bugzilla-3.0.1/Bugzilla/Constants.p + 'datadir' => "/var/lib/bugzilla/$datadir", + 'attachdir' => "/var/lib/bugzilla/$datadir/attachments", 'skinsdir' => "$libpath/skins", - # $webdotdir must be in the webtree somewhere. Even if you use a + # $webdotdir must be in the web server's tree somewhere. Even if you use a # local dot, we output images to there. Also, if $webdotdir is -@@ -433,8 +433,8 @@ +@@ -475,8 +475,8 @@ # change showdependencygraph.cgi to set image_url to the correct # location. # The script should really generate these graphs directly... @@ -24,4 +23,4 @@ diff -ru bugzilla-orig/Bugzilla/Constants.pm bugzilla-3.0.1/Bugzilla/Constants.p + 'extensionsdir' => "/var/lib/bugzilla/extensions", }; } - + diff --git a/bugzilla.spec b/bugzilla.spec index 149bd53..8789999 100644 --- a/bugzilla.spec +++ b/bugzilla.spec @@ -4,17 +4,19 @@ Summary: Bug tracking system URL: http://www.bugzilla.org/ Name: bugzilla -Version: 3.0.8 +Version: 3.2.2 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 Source2: README.fedora.bugzilla Patch0: bugzilla-rw-paths.patch +Patch1: maxpacket-mysql-3.2.patch +# patch1 from https://bugzilla.mozilla.org/show_bug.cgi?id=480001 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch -Requires: webserver, patchutils, mod_perl, perl-SOAP-Lite, which +Requires: webserver, patchutils, mod_perl, perl(SOAP::Lite), which %package doc Summary: Bugzilla documentation @@ -23,11 +25,13 @@ Group: Documentation %package contrib Summary: Bugzilla contributed scripts Group: Applications/Publishing +BuildRequires: python %description -Bugzilla is a popular bug tracking system used by multiple open source -projects. It requires a database engine installed - either MySQL or -PostgreSQL. Without one of these database engines, Bugzilla will not work. +Bugzilla is a popular bug tracking system used by multiple open source projects +It requires a database engine installed - either MySQL, PostgreSQL or Oracle. +Without one of these database engines (local or remote), Bugzilla will not work +- see the Release Notes for details. %description doc Documentation distributed with the Bugzilla bug tracking system @@ -38,14 +42,18 @@ Contributed scripts and functions for Bugzilla %prep %setup -q -n %{name}-%{version} %patch0 -p1 +%patch1 -p0 -# Filter unwanted Requires: +# Filter unwanted Requires found by /usr/lib/rpm/perldeps.pl: +# create a wrapper script which runs the original perl_requires +# command and strips some of the output cat << \EOF > %{name}-req #!/bin/sh %{__perl_requires} $* |\ - sed -e '/perl(globals.pl)/d;/perl(BugzillaEmail)/d' +sed -e '/perl(Authen::Radius)/d;/perl(DBD::Pg)/d;/perl(DBD::Oracle)/d;/perl(sanitycheck.cgi)/d' EOF +# use that wrapper script instead of the original perl_requires script %define __perl_requires %{_builddir}/%{name}-%{version}/%{name}-req chmod +x %{__perl_requires} @@ -101,7 +109,6 @@ popd > /dev/null %defattr(-,root,root,-) %dir %{bzinstallprefix}/bugzilla %{bzinstallprefix}/bugzilla/*.cgi -%{bzinstallprefix}/bugzilla/*.js %{bzinstallprefix}/bugzilla/*.pl %{bzinstallprefix}/bugzilla/Bugzilla.pm %{bzinstallprefix}/bugzilla/bugzilla.dtd @@ -113,6 +120,8 @@ popd > /dev/null %{bzinstallprefix}/bugzilla/skins %{bzinstallprefix}/bugzilla/t %{bzinstallprefix}/bugzilla/template +%{bzinstallprefix}/bugzilla/extensions/example +%{bzinstallprefix}/bugzilla/lib/README %{bzinstallprefix}/bugzilla/cron.daily %{bzinstallprefix}/bugzilla/cron.whine %ghost %{bzinstallprefix}/bugzilla/bugzilla-req @@ -136,11 +145,24 @@ popd > /dev/null %{bzinstallprefix}/bugzilla/contrib %changelog +* Thu Mar 05 2009 Itamar Reis Peixoto 3.2.2-2 +- fix from BZ #474250 Comment #16, from Chris Eveleigh --> +- add python BR for contrib subpackage +- fix description +- change Requires perl-SOAP-Lite to perl(SOAP::Lite) according guidelines + +* Sun Mar 01 2009 Itamar Reis Peixoto 3.2.2-1 +- thanks to Chris Eveleigh +- for contributing with patches :-) +- Upgrade to upstream 3.2.2 to fix multiple security vulns +- Removed old perl_requires exclusions, added new ones for RADIUS, Oracle and sanitycheck.cgi +- Added Oracle to supported DBs in description (and moved line breaks) +- Include a patch to fix max_allowed_packet warnin when using with mysql + * Sat Feb 28 2009 Itamar Reis Peixoto 3.0.8-1 - Upgrade to 3.0.8, fix #466077 #438080 - fix macro in changelog rpmlint warning -- fix files-attr-not-set rpmlint warning for doc and contrib sub-packages - +- fix files-attr-not-set rpmlint warning for doc and contrib sub-packages * Mon Feb 23 2009 Fedora Release Engineering - 3.0.4-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild @@ -155,7 +177,7 @@ popd > /dev/null * Fri May 9 2008 John Berninger - 3.0.4-1 - Update to upstream 3.0.4 to fix multiple security vulns -- Change perms on /etc/bugzilla for bz 427981 +- Change perms on /etc/bugzilla for bz 427981 * Sun May 4 2008 John Berninger - 3.0.3-0 - Update to upstream 3.0.3 - bz 444669 diff --git a/import.log b/import.log index bb258bb..db3ebd1 100644 --- a/import.log +++ b/import.log @@ -1 +1,2 @@ bugzilla-3_0_8-1_fc11:F-9:bugzilla-3.0.8-1.fc11.src.rpm:1235878378 +bugzilla-3_2_2-2_fc10:F-9:bugzilla-3.2.2-2.fc10.src.rpm:1236266726 diff --git a/maxpacket-mysql-3.2.patch b/maxpacket-mysql-3.2.patch new file mode 100644 index 0000000..bf57151 --- /dev/null +++ b/maxpacket-mysql-3.2.patch @@ -0,0 +1,198 @@ +Index: Bugzilla/Config/Attachment.pm +=================================================================== +RCS file: /cvsroot/mozilla/webtools/bugzilla/Bugzilla/Config/Attachment.pm,v +retrieving revision 1.3.4.2 +diff -u -r1.3.4.2 Attachment.pm +--- Bugzilla/Config/Attachment.pm 2 Feb 2009 19:12:15 -0000 1.3.4.2 ++++ Bugzilla/Config/Attachment.pm 1 Mar 2009 23:56:15 -0000 +@@ -74,7 +74,7 @@ + name => 'maxattachmentsize', + type => 't', + default => '1000', +- checker => \&check_numeric ++ checker => \&check_maxattachmentsize + }, + + # The maximum size (in bytes) for patches and non-patch attachments. +Index: Bugzilla/Config/Common.pm +=================================================================== +RCS file: /cvsroot/mozilla/webtools/bugzilla/Bugzilla/Config/Common.pm,v +retrieving revision 1.21 +diff -u -r1.21 Common.pm +--- Bugzilla/Config/Common.pm 27 Mar 2008 00:23:41 -0000 1.21 ++++ Bugzilla/Config/Common.pm 1 Mar 2009 23:56:15 -0000 +@@ -50,7 +50,8 @@ + check_opsys check_shadowdb check_urlbase check_webdotbase + check_netmask check_user_verify_class check_image_converter + check_mail_delivery_method check_notification check_timezone check_utf8 +- check_bug_status check_smtp_auth ++ check_bug_status check_smtp_auth ++ check_maxattachmentsize + ); + + # Checking functions for the various values +@@ -320,6 +321,24 @@ + return ""; + } + ++sub check_maxattachmentsize { ++ my $check = check_numeric(@_); ++ return $check if $check; ++ my $size = shift; ++ my $dbh = Bugzilla->dbh; ++ if ($dbh->isa('Bugzilla::DB::Mysql')) { ++ my (undef, $max_packet) = $dbh->selectrow_array( ++ q{SHOW VARIABLES LIKE 'max\_allowed\_packet'}); ++ my $byte_size = $size * 1024; ++ if ($max_packet < $byte_size) { ++ return "You asked for a maxattachmentsize of $byte_size bytes," ++ . " but the max_allowed_packet setting in MySQL currently" ++ . " only allows packets up to $max_packet bytes"; ++ } ++ } ++ return ""; ++} ++ + sub check_notification { + my $option = shift; + my @current_version = +Index: Bugzilla/DB/Mysql.pm +=================================================================== +RCS file: /cvsroot/mozilla/webtools/bugzilla/Bugzilla/DB/Mysql.pm,v +retrieving revision 1.60.2.7 +diff -u -r1.60.2.7 Mysql.pm +--- Bugzilla/DB/Mysql.pm 7 Nov 2008 00:10:15 -0000 1.60.2.7 ++++ Bugzilla/DB/Mysql.pm 1 Mar 2009 23:56:15 -0000 +@@ -44,6 +44,7 @@ + use strict; + + use Bugzilla::Constants; ++use Bugzilla::Install::Util qw(install_string); + use Bugzilla::Util; + use Bugzilla::Error; + use Bugzilla::DB::Schema::Mysql; +@@ -97,20 +98,9 @@ + } + } + +- # The "comments" field of the bugs_fulltext table could easily exceed +- # MySQL's default max_allowed_packet. Also, MySQL should never have +- # a max_allowed_packet smaller than our max_attachment_size. However, +- # if we've already set a max_allowed_packet in MySQL bigger than all +- # of those, we should keep it. +- my (undef, $current_max_allowed) = $self->selectrow_array( +- q{SHOW VARIABLES LIKE 'max\_allowed\_packet'}); +- my $min_max_allowed_packet = MAX_COMMENTS * MAX_COMMENT_LENGTH; +- my $max_allowed_packet = max($min_max_allowed_packet, +- $current_max_allowed, +- # This parameter is not yet defined when the DB +- # is being built for the very first time. +- Bugzilla->params->{'maxattachmentsize'} || 0); +- $self->do("SET SESSION max_allowed_packet = $max_allowed_packet"); ++ # Allow large GROUP_CONCATs (largely for inserting comments ++ # into bugs_fulltext). ++ $self->do('SET SESSION group_concat_max_len = 128000000'); + + return $self; + } +@@ -244,6 +234,24 @@ + sub bz_setup_database { + my ($self) = @_; + ++ # The "comments" field of the bugs_fulltext table could easily exceed ++ # MySQL's default max_allowed_packet. Also, MySQL should never have ++ # a max_allowed_packet smaller than our max_attachment_size. So, we ++ # warn the user here if max_allowed_packet is too small. ++ my $min_max_allowed = MAX_COMMENTS * MAX_COMMENT_LENGTH; ++ my (undef, $current_max_allowed) = $self->selectrow_array( ++ q{SHOW VARIABLES LIKE 'max\_allowed\_packet'}); ++ # This parameter is not yet defined when the DB is being built for ++ # the very first time. The code below still works properly, however, ++ # because the default maxattachmentsize is smaller than $min_max_allowed. ++ my $max_attachment = (Bugzilla->params->{'maxattachmentsize'} || 0) * 1024; ++ my $needed_max_allowed = max($min_max_allowed, $max_attachment); ++ if ($current_max_allowed < $needed_max_allowed) { ++ warn install_string('max_allowed_packet', ++ { current => $current_max_allowed, ++ needed => $needed_max_allowed }) . "\n"; ++ } ++ + # Make sure the installation has InnoDB turned on, or we're going to be + # doing silly things like making foreign keys on MyISAM tables, which is + # hard to fix later. We do this up here because none of the code below +Index: Bugzilla/Install/DB.pm +=================================================================== +RCS file: /cvsroot/mozilla/webtools/bugzilla/Bugzilla/Install/DB.pm,v +retrieving revision 1.51.2.2 +diff -u -r1.51.2.2 DB.pm +--- Bugzilla/Install/DB.pm 27 Aug 2008 15:22:10 -0000 1.51.2.2 ++++ Bugzilla/Install/DB.pm 1 Mar 2009 23:56:15 -0000 +@@ -3009,11 +3009,6 @@ + if (UNIVERSAL::can($dbh, 'sql_group_concat')) { + print "Populating bugs_fulltext..."; + print " (this can take a long time.)\n"; +- # XXX This hack should probably be moved elsewhere. +- if ($dbh->isa('Bugzilla::DB::Mysql')) { +- $dbh->do('SET SESSION group_concat_max_len = 128000000'); +- $dbh->do('SET SESSION max_allowed_packet = 128000000'); +- } + $dbh->do( + q{INSERT INTO bugs_fulltext (bug_id, short_desc, comments, + comments_noprivate) +Index: docs/en/xml/installation.xml +=================================================================== +RCS file: /cvsroot/mozilla/webtools/bugzilla/docs/en/xml/installation.xml,v +retrieving revision 1.157.2.6 +diff -u -r1.157.2.6 installation.xml +--- docs/en/xml/installation.xml 8 Jan 2009 23:44:22 -0000 1.157.2.6 ++++ docs/en/xml/installation.xml 1 Mar 2009 23:56:15 -0000 +@@ -778,6 +778,28 @@ + improving your installation's security. + + ++ ++
++ Allow large attachments and many comments ++ ++ By default, MySQL will only allow you to insert things ++ into the database that are smaller than 64KB. Attachments ++ may be larger than this. Also, Bugzilla combines all comments ++ on a single bug into one field for full-text searching, and the ++ combination of all comments on a single bug are very likely to ++ be larger than 64KB. ++ ++ To change MySQL's default, you need to edit your MySQL ++ configuration file, which is usually /etc/my.cnf ++ on Linux. We recommend that you allow at least 4MB packets by ++ adding the "max_allowed_packet" parameter to your MySQL ++ configuration in the "[mysqld]" section, like this: ++ ++ [mysqld] ++# Allow packets up to 4MB ++max_allowed_packet=4M ++ ++
+ +
+ Allow small words in full-text indexes +Index: template/en/default/setup/strings.txt.pl +=================================================================== +RCS file: /cvsroot/mozilla/webtools/bugzilla/template/en/default/setup/strings.txt.pl,v +retrieving revision 1.8 +diff -u -r1.8 strings.txt.pl +--- template/en/default/setup/strings.txt.pl 28 Jan 2008 00:54:59 -0000 1.8 ++++ template/en/default/setup/strings.txt.pl 1 Mar 2009 23:56:15 -0000 +@@ -52,6 +52,12 @@ + + EOT + install_module => 'Installing ##module## version ##version##...', ++ max_allowed_packet => < "found v##ver##", + module_not_found => "not found", + module_ok => 'ok', + diff --git a/sources b/sources index a2bb921..56c909f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -fff5060b85bc50a40ea5f5de0f7b17b0 bugzilla-3.0.8.tar.gz +ad9eca21b6bafdd7a9a34e4c1b55281e bugzilla-3.2.2.tar.gz