https://issues.apache.org/SpamAssassin/show_bug.cgi?id=7008

            Bug ID: 7008
           Summary: Mail::SpamAssassin::Conf contains
                    HTML::Parser::Version causes Indexing issue with CPAN
           Product: Spamassassin
           Version: 3.4.0
          Hardware: PC
                OS: Windows 7
            Status: NEW
          Severity: blocker
          Priority: P2
         Component: Libraries
          Assignee: [email protected]
          Reporter: [email protected]

PAUSE issue is: Status: Version parsing problem
          ===============================

     module: Mail::SpamAssassin::Conf
          version: undef
          in file: Mail-SpamAssassin-3.4.0/lib/Mail/SpamAssassin/Conf.pm
          status: The PAUSE indexer was not able to parse the following line
             in that file: C< unless ($HTML::Parser::VERSION >= 3.46) {
             > Note: the indexer is running in a Safe compartement and
             cannot provide the full functionality of perl in the
             VERSION line. It is trying hard, but sometime it fails. As
             a workaround, please consider writing a META.yml that
             contains a 'provides' attribute or contact the CPAN admins
             to investigate (yet another) workaround against "Safe"
             limitations.)


>From discussions with David Golden, change 

 require HTML::Parser;
        unless ($HTML::Parser::VERSION >= 3.46) {
            $self->{parser}->lint_warn("config: normalize_charset requires
HTML::Parser 3.46 or later");
            return $INVALID_VALUE;
        }

to use this concept (needs to be eval because VERSION is an assertion):

    unless ( eval { HTML::Parser->VERSION(3.46) } ) {
        ...
    }


Also, here's the real-world impact from David Golden:

"As long as "Mail::SpamAssassin" was indexed, then people can install it.  The
things that failed to index did not get updated. So, for example, compare these
index entries:

    Mail::SpamAssassin             3.004000 
K/KM/KMCGRAIL/SpamAssassin/Mail-SpamAssassin-3.4.0.tar.gz
    Mail::SpamAssassin::Conf          bogus 
K/KM/KMCGRAIL/Mail-SpamAssassin-3.3.2.tar.gz

Should some crazy person do "cpan Mail::SpamAssassin::Conf" they would get the
3.3.2 tarball.

Realistically, you probably don't need to care."

Running make test on a fix right now of:

Index: lib/Mail/SpamAssassin/Conf.pm
===================================================================
--- lib/Mail/SpamAssassin/Conf.pm       (revision 1567764)
+++ lib/Mail/SpamAssassin/Conf.pm       (working copy)
@@ -1135,7 +1135,8 @@
            return $INVALID_VALUE;
        }
        require HTML::Parser;
-       unless ($HTML::Parser::VERSION >= 3.46) {
+        #changed to eval to use VERSION so that this version was not
incorrectly parsed for CPAN
+       unless ( eval { HTML::Parser->VERSION(3.46) } ) {
            $self->{parser}->lint_warn("config: normalize_charset requires
HTML::Parser 3.46 or later");
            return $INVALID_VALUE;
        }

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to