summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrédéric Buclin <LpSolit@gmail.com>2012-08-31 12:31:04 +0200
committerFrédéric Buclin <LpSolit@gmail.com>2012-08-31 12:31:04 +0200
commit3088b1d2724d7959ea87e84cab98963e2d2c3e72 (patch)
tree1e2d34957160e9375539f8e03a025e984455f7ab
parentab612efff307c445c25d010ac8a2eaba6fd93228 (diff)
downloadbugzilla-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.pm8
-rw-r--r--Bugzilla/Install/CPAN.pm13
-rw-r--r--Bugzilla/Install/Requirements.pm12
-rw-r--r--Bugzilla/Util.pm21
-rwxr-xr-xchecksetup.pl2
-rw-r--r--docs/en/xml/installation.xml28
-rw-r--r--docs/en/xml/modules.xml7
-rw-r--r--t/001compile.t2
-rw-r--r--template/en/default/email/flagmail.txt.tmpl2
-rw-r--r--template/en/default/setup/strings.txt.pl9
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&gt; <command>ppm install &lt;module name&gt;</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.