]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 655477: Bugzilla now requires Perl 5.10.1
authorFrédéric Buclin <LpSolit@gmail.com>
Fri, 31 Aug 2012 10:31:04 +0000 (12:31 +0200)
committerFrédéric Buclin <LpSolit@gmail.com>
Fri, 31 Aug 2012 10:31:04 +0000 (12:31 +0200)
r=mkanat a=LpSolit

Bugzilla/DB.pm
Bugzilla/Install/CPAN.pm
Bugzilla/Install/Requirements.pm
Bugzilla/Util.pm
checksetup.pl
docs/en/xml/installation.xml
docs/en/xml/modules.xml
t/001compile.t
template/en/default/email/flagmail.txt.tmpl
template/en/default/setup/strings.txt.pl

index 89a0140d72240bf9e0b0e96a6b47e9f3898247c3..7d289aaa1177ac46c5d70080269f7b580b4ef864 100644 (file)
@@ -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) {
index 92ab5a267a0302f5b8748cc1549e63b4a426d4af..10e0cce6688be7e80ac29aee59ac47d0709ffeff 100644 (file)
@@ -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);
index c5abf1986a472862e087608aee7f173d5543a683..24aa1cb822b7c7fb1d632600095cbbaf60b124f7 100644 (file)
@@ -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} }) {
index 810c6972fea50b473658dac24704db33e413d1cd..78ef21e1d7242041f067e9f8690b85c6f2b7eaf8 100644 (file)
@@ -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);
index bcc1ad8ea34f088b85b62be9e9693ab6384d1e24..990672b14fe25402bdd859d164c2351b534fabe0 100755 (executable)
@@ -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;
index 18de454b9f426a6a8c91bdfd88e82feaae723459..9744154261895b54adaf351843e5c0d97fef0947 100644 (file)
@@ -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
index 5017e241b50f5641e0666e75894b925756e82b62..4ae77e9b6733a8fdf1e5fc27edc6b51b7f684b87 100644 (file)
     <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>
 
index a82b30a9ebf35d2328c14c5997b2c7db345dcd2e..186e2a8eef960cf067fdcc1948a3196b3c813750 100644 (file)
@@ -11,7 +11,7 @@
 ###Compilation###
 
 use strict;
-use 5.008001;
+use 5.10.1;
 use lib qw(. lib t);
 use Config;
 use Support::Files;
index cdda8d677a9398e075d06d8e0efdf079759c836c..411c4e64127a93af9b869bbc61fa40c38b641580 100644 (file)
@@ -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") %]
index 3512ab03d5055d3c48c8e811e72d3ef0f7dc6559..f6f32e5a1922afb21b939db2590ff253b6562ae9 100644 (file)
@@ -381,15 +381,6 @@ END
 * the following command as an Administrator:                          *
 *                                                                     *
 *   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,