Commit 3088b1d2 authored by Frédéric Buclin's avatar Frédéric Buclin

Bug 655477: Bugzilla now requires Perl 5.10.1

r=mkanat a=LpSolit
parent ab612eff
......@@ -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) {
......
......@@ -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);
......
......@@ -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} }) {
......
......@@ -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);
......
......@@ -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;
......
......@@ -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
......
......@@ -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>
......
......@@ -11,7 +11,7 @@
###Compilation###
use strict;
use 5.008001;
use 5.10.1;
use lib qw(. lib t);
use Config;
use Support::Files;
......
......@@ -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") %]
......
......@@ -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.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment