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.