diff options
author | Frédéric Buclin <LpSolit@gmail.com> | 2012-08-31 12:31:04 +0200 |
---|---|---|
committer | Frédéric Buclin <LpSolit@gmail.com> | 2012-08-31 12:31:04 +0200 |
commit | 3088b1d2724d7959ea87e84cab98963e2d2c3e72 (patch) | |
tree | 1e2d34957160e9375539f8e03a025e984455f7ab | |
parent | ab612efff307c445c25d010ac8a2eaba6fd93228 (diff) | |
download | bugzilla-3088b1d2724d7959ea87e84cab98963e2d2c3e72.tar.gz bugzilla-3088b1d2724d7959ea87e84cab98963e2d2c3e72.tar.xz |
Bug 655477: Bugzilla now requires Perl 5.10.1
r=mkanat a=LpSolit
-rw-r--r-- | Bugzilla/DB.pm | 8 | ||||
-rw-r--r-- | Bugzilla/Install/CPAN.pm | 13 | ||||
-rw-r--r-- | Bugzilla/Install/Requirements.pm | 12 | ||||
-rw-r--r-- | Bugzilla/Util.pm | 21 | ||||
-rwxr-xr-x | checksetup.pl | 2 | ||||
-rw-r--r-- | docs/en/xml/installation.xml | 28 | ||||
-rw-r--r-- | docs/en/xml/modules.xml | 7 | ||||
-rw-r--r-- | t/001compile.t | 2 | ||||
-rw-r--r-- | template/en/default/email/flagmail.txt.tmpl | 2 | ||||
-rw-r--r-- | template/en/default/setup/strings.txt.pl | 9 |
10 files changed, 21 insertions, 83 deletions
diff --git a/Bugzilla/DB.pm b/Bugzilla/DB.pm index 89a0140d7..7d289aaa1 100644 --- a/Bugzilla/DB.pm +++ b/Bugzilla/DB.pm @@ -1246,11 +1246,9 @@ sub db_new { ShowErrorStatement => 1, HandleError => \&_handle_error, TaintIn => 1, - FetchHashKeyName => 'NAME', - # Note: NAME_lc causes crash on ActiveState Perl - # 5.8.4 (see Bug 253696) - # XXX - This will likely cause problems in DB - # back ends that twiddle column case (Oracle?) + # See https://rt.perl.org/rt3/Public/Bug/Display.html?id=30933 + # for the reason to use NAME instead of NAME_lc (bug 253696). + FetchHashKeyName => 'NAME', }; if ($override_attrs) { diff --git a/Bugzilla/Install/CPAN.pm b/Bugzilla/Install/CPAN.pm index 92ab5a267..10e0cce66 100644 --- a/Bugzilla/Install/CPAN.pm +++ b/Bugzilla/Install/CPAN.pm @@ -167,20 +167,9 @@ sub install_module { if (!$module) { die install_string('no_such_module', { module => $name }) . "\n"; } - my $version = $module->cpan_version; - my $module_name = $name; - - if ($name eq 'LWP::UserAgent' && $^V lt v5.8.8) { - # LWP 6.x requires Perl 5.8.8 or newer. - # As PAUSE only indexes the very last version of each module, - # we have to specify the path to the tarball ourselves. - $name = 'GAAS/libwww-perl-5.837.tar.gz'; - # This tarball contains LWP::UserAgent 5.835. - $version = '5.835'; - } print install_string('install_module', - { module => $module_name, version => $version }) . "\n"; + { module => $name, version => $module->cpan_version }) . "\n"; if ($test) { CPAN::Shell->force('install', $name); diff --git a/Bugzilla/Install/Requirements.pm b/Bugzilla/Install/Requirements.pm index c5abf1986..24aa1cb82 100644 --- a/Bugzilla/Install/Requirements.pm +++ b/Bugzilla/Install/Requirements.pm @@ -562,21 +562,11 @@ sub print_module_instructions { # We only print the PPM repository note if we have to. my $perl_ver = sprintf('%vd', $^V); if ($need_module_instructions && ON_ACTIVESTATE && vers_cmp($perl_ver, '5.12') < 0) { - # URL when running Perl 5.8.x. - my $url_to_theory58S = 'http://theoryx5.uwinnipeg.ca/ppms'; - # Packages for Perl 5.10 are not compatible with Perl 5.8. - if (vers_cmp($perl_ver, '5.10') > -1) { - $url_to_theory58S = 'http://cpan.uwinnipeg.ca/PPMPackages/10xx/'; - } + my $url_to_theory58S = 'http://cpan.uwinnipeg.ca/PPMPackages/10xx/'; print colored( install_string('ppm_repo_add', { theory_url => $url_to_theory58S }), COLOR_ERROR); - - # ActivePerls older than revision 819 require an additional command. - if (ON_ACTIVESTATE < 819) { - print install_string('ppm_repo_up'); - } } if ($need_module_instructions or @{ $check_results->{apache} }) { diff --git a/Bugzilla/Util.pm b/Bugzilla/Util.pm index 810c6972f..78ef21e1d 100644 --- a/Bugzilla/Util.pm +++ b/Bugzilla/Util.pm @@ -8,6 +8,7 @@ package Bugzilla::Util; use strict; +use feature ':5.10'; use base qw(Exporter); @Bugzilla::Util::EXPORT = qw(trick_taint detaint_natural detaint_signed @@ -404,13 +405,6 @@ sub diff_arrays { return (\@removed, \@added); } -# XXX - This is a temporary subroutine till we require Perl 5.10.1. -# This will happen before Bugzilla 5.0rc1. -sub say (@) { - print @_; - print "\n"; -} - sub trim { my ($str) = @_; if ($str) { @@ -437,11 +431,6 @@ sub wrap_comment { $wrappedcomment .= ($line . "\n"); } else { - # Due to a segfault in Text::Tabs::expand() when processing tabs with - # Unicode (see http://rt.perl.org/rt3/Public/Bug/Display.html?id=52104), - # we have to remove tabs before processing the comment. This restriction - # can go away when we require Perl 5.8.9 or newer. - $line =~ s/\t/ /g; $wrappedcomment .= (wrap('', '', $line) . "\n"); } } @@ -590,15 +579,9 @@ sub bz_crypt { if (Bugzilla->params->{'utf8'}) { utf8::encode($password) if utf8::is_utf8($password); } - + # Crypt the password. $crypted_password = crypt($password, $salt); - - # HACK: Perl has bug where returned crypted password is considered - # tainted. See http://rt.perl.org/rt3/Public/Bug/Display.html?id=59998 - unless(tainted($password) || tainted($salt)) { - trick_taint($crypted_password); - } } else { my $hasher = Digest->new($algorithm); diff --git a/checksetup.pl b/checksetup.pl index bcc1ad8ea..990672b14 100755 --- a/checksetup.pl +++ b/checksetup.pl @@ -13,7 +13,7 @@ ###################################################################### use strict; -use 5.008001; +use 5.10.1; use File::Basename; use Getopt::Long qw(:config bundling); use Pod::Usage; diff --git a/docs/en/xml/installation.xml b/docs/en/xml/installation.xml index 18de454b9..974415426 100644 --- a/docs/en/xml/installation.xml +++ b/docs/en/xml/installation.xml @@ -1559,7 +1559,7 @@ AddType application/rdf+xml .rdf</screen> You should be able to find a compiled binary at <ulink url="http://aspn.activestate.com/ASPN/Downloads/ActivePerl/" />. The following instructions assume that you are using version - 5.8.1 of ActiveState. + &min-perl-ver; of ActiveState. </para> <note> @@ -1589,32 +1589,20 @@ C:\perl> <command>ppm install <module name></command> </programlisting> <para> - The best source for the Windows PPM modules needed for Bugzilla - is probably the theory58S website, which you can add to your list - of repositories as follows (for Perl 5.8.x): + If you are using Perl 5.10.1, the best source for the Windows PPM modules + needed for Bugzilla is probably the theory58S website, which you can add + to your list of repositories as follows: </para> <programlisting> -<command>ppm repo add theory58S http://theoryx5.uwinnipeg.ca/ppms/</command> +<command>ppm repo add theory58S http://cpan.uwinnipeg.ca/PPMPackages/10xx/</command> </programlisting> <para> - If you are using Perl 5.10.x, you cannot use the same PPM modules as Perl - 5.8.x as they are incompatible. In this case, you should add the following - repository: + If you are using Perl 5.12 or newer, you no longer need to add + this repository. All modules you need are already available from + the ActiveState repository. </para> - <programlisting> -<command>ppm repo add theory58S http://cpan.uwinnipeg.ca/PPMPackages/10xx/</command> - </programlisting> - - <note> - <para> - In versions prior to 5.8.8 build 819 of PPM the command is - <programlisting> -<command>ppm repository add theory58S http://theoryx5.uwinnipeg.ca/ppms/</command> - </programlisting> - </para> - </note> <note> <para> The PPM repository stores modules in 'packages' that may have diff --git a/docs/en/xml/modules.xml b/docs/en/xml/modules.xml index 5017e241b..4ae77e9b6 100644 --- a/docs/en/xml/modules.xml +++ b/docs/en/xml/modules.xml @@ -54,11 +54,10 @@ <note> <para> Running Bugzilla on Windows requires the use of ActiveState - Perl 5.8.1 or higher. Many modules already exist in the core + Perl &min-perl-ver; or higher. Many modules already exist in the core distribution of ActiveState Perl. Additional modules can be downloaded - from <ulink url="http://theoryx5.uwinnipeg.ca/ppms/" /> if you use - Perl 5.8.x or from <ulink url="http://cpan.uwinnipeg.ca/PPMPackages/10xx/" /> - if you use Perl 5.10.x. + from <ulink url="http://cpan.uwinnipeg.ca/PPMPackages/10xx/" /> + if you use Perl 5.10.1. </para> </note> diff --git a/t/001compile.t b/t/001compile.t index a82b30a9e..186e2a8ee 100644 --- a/t/001compile.t +++ b/t/001compile.t @@ -11,7 +11,7 @@ ###Compilation### use strict; -use 5.008001; +use 5.10.1; use lib qw(. lib t); use Config; use Support::Files; diff --git a/template/en/default/email/flagmail.txt.tmpl b/template/en/default/email/flagmail.txt.tmpl index cdda8d677..411c4e641 100644 --- a/template/en/default/email/flagmail.txt.tmpl +++ b/template/en/default/email/flagmail.txt.tmpl @@ -65,7 +65,7 @@ Attachment [% attidsummary %] [%- FILTER bullet = wrap(80) %] [% USE Bugzilla %] -[%-# .defined is necessary to avoid a taint issue in Perl < 5.10.1, see bug 509794. %] +[%-# .defined is necessary to avoid a taint issue, see bug 509794. %] [% IF Bugzilla.cgi.param("comment").defined && Bugzilla.cgi.param("comment").length > 0 %] ------- Additional Comments from [% user.identity %] [%+ Bugzilla.cgi.param("comment") %] diff --git a/template/en/default/setup/strings.txt.pl b/template/en/default/setup/strings.txt.pl index 3512ab03d..f6f32e5a1 100644 --- a/template/en/default/setup/strings.txt.pl +++ b/template/en/default/setup/strings.txt.pl @@ -382,15 +382,6 @@ END * * * ppm repo add theory58S ##theory_url## EOT - ppm_repo_up => <<EOT, -* * -* Then you have to do (also as an Administrator): * -* * -* ppm repo up theory58S * -* * -* Do that last command over and over until you see "theory58S" at the * -* top of the displayed list. * -EOT template_precompile => "Precompiling templates...", template_removal_failed => <<END, WARNING: The directory '##template_cache##' could not be removed. |