Kwalitee Issues

has_meta_yml

Add a META.yml to the distribution. Your buildtool should be able to autogenerate it.

no_files_to_be_skipped

Fix MANIFEST.SKIP or use an authoring tool which respects MANIFEST.SKIP. Note that each entry in MANIFEST.SKIP is a regular expression. You may need to add appropriate meta characters not to ignore necessary stuff.

Error: Changes,Makefile.PL,acconfig.h,binaries.mk.in,config.h.in,lib/Mail/SpamAssassin/ExposedMessage.pm,lib/Mail/SpamAssassin/TextCat.pm,masses/craig-evolve.c,masses/logs-to-c,masses/rewrite-cf-with-new-scores,masses/score-ranges-from-freqs,old/Changes.before-2002-06-18.gz,procmailrc.example,rules/30_text_de.cf,rules/30_text_es.cf,rules/30_text_fr.cf,rules/30_text_pl.cf,rules/50_scores.cf,rules/STATISTICS.txt,rules/triplets.txt,sample-nonspam.txt,sample-spam.txt,spamassassin.raw,spamassassin.spec,spamd/spamc.c,spamd/spamc.pod,spamd/spamd.raw,sql/spamassassin.sql,t/data/mime-subject.txt,t/data/nice/base64.txt,t/data/spam/badmime.txt,t/data/spam/base64.txt,t/spamd_maxchildren.t,t/spamd_maxsize.t

use_strict

Add 'use strict' (or its equivalents) to all modules, or convince us that your favorite module is well-known enough and people can easily see the modules are strictly written.

Error: Mail::ArchiveIterator, Mail::SpamAssassin, Mail::SpamAssassin::HTML, Mail::SpamAssassin::MailingList, Mail::SpamAssassin::NoMailAudit

prereq_matches_use

List all used modules in META.yml requires

Error:

  • HTML::Parser

no_pod_errors

Remove the POD errors. You can check for POD errors automatically by including Test::Pod to your test suite.

Error: Mail-SpamAssassin-2.44/lib/Mail/SpamAssassin/AutoWhitelist.pm -- Around line 40: '=item' outside of any '=over' =over without closing =back Mail-SpamAssassin-2.44/lib/Mail/SpamAssassin/ConfSourceSQL.pm -- Around line 41: '=item' outside of any '=over' =over without closing =back Mail-SpamAssassin-2.44/lib/Mail/SpamAssassin/PersistentAddrList.pm -- Around line 24: =over without closing =back Mail-SpamAssassin-2.44/masses/lib/Mail/ArchiveIterator.pm -- Around line 25: '=item' outside of any '=over' =over without closing =back

has_meta_json

Add a META.json to the distribution. Your buildtool should be able to autogenerate it.

proper_libs

Move your *.pm files in a directory named 'lib'. The directory structure should look like 'lib/Your/Module.pm' for a module named 'Your::Module'. If you need to provide additional files, e.g. for testing, that should not be considered for Kwalitee, then you should look at the 'provides' map in META.yml to limit the files scanned; or use the 'no_index' map to exclude parts of the distribution.

Error: masses/lib/Mail/ArchiveIterator.pm

meta_yml_has_license

Define the license if you are using in Build.PL. If you are using MakeMaker (Makefile.PL) you should upgrade to ExtUtils::MakeMaker version 6.31.

use_warnings

Add 'use warnings' (or its equivalents) to all modules, or convince us that your favorite module is well-known enough and people can easily see the modules warn when something bad happens.

Error: Mail::ArchiveIterator, Mail::SpamAssassin, Mail::SpamAssassin::AuditMessage, Mail::SpamAssassin::AutoWhitelist, Mail::SpamAssassin::Conf, Mail::SpamAssassin::ConfSourceSQL, Mail::SpamAssassin::DBBasedAddrList, Mail::SpamAssassin::Dns, Mail::SpamAssassin::EncappedMIME, Mail::SpamAssassin::EncappedMessage, Mail::SpamAssassin::EvalTests, Mail::SpamAssassin::ExposedMessage, Mail::SpamAssassin::HTML, Mail::SpamAssassin::Locales, Mail::SpamAssassin::MailingList, Mail::SpamAssassin::Message, Mail::SpamAssassin::NoMailAudit, Mail::SpamAssassin::PerMsgStatus, Mail::SpamAssassin::PersistentAddrList, Mail::SpamAssassin::PhraseFreqs, Mail::SpamAssassin::Replier, Mail::SpamAssassin::Reporter, Mail::SpamAssassin::SHA1, Mail::SpamAssassin::TextCat

no_unauthorized_packages

Ask the owner of the distribution (the one who released it first, or the one who is designated in x_authority) to give you a (co-)maintainer's permission.

Error:

  • Mail::ArchiveIterator

no_invalid_versions

Fix the version numbers so that version::is_lax($version) returns true.

Error:

  • lib/Mail/SpamAssassin/Conf.pm: HASH(0x560b64fa0e60)
  • lib/Mail/SpamAssassin/Dns.pm: HASH(0x560b64f70588)
  • lib/Mail/SpamAssassin/Reporter.pm: HASH(0x560b64dab760)

has_separate_license_file

This is not a critical issue. Currently mainly informative for the CPANTS authors. It might be removed later.

has_security_doc

Add SECURITY(.pod|md). See Software::Security::Policy.

security_doc_contains_contact

Add SECURITY(.pod|md) and add a contact address. See Software::Security::Policy.

has_contributing_doc

Add CONTRIBUTING(.pod|md). See https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors.

Modules

Name Abstract Version View
Mail::ArchiveIterator metacpan
Mail::SpamAssassin Mail::Audit spam detector plugin 2.44 metacpan
Mail::SpamAssassin::AuditMessage metacpan
Mail::SpamAssassin::AutoWhitelist metacpan
Mail::SpamAssassin::Conf SpamAssassin configuration file metacpan
Mail::SpamAssassin::ConfSourceSQL metacpan
Mail::SpamAssassin::DBBasedAddrList metacpan
Mail::SpamAssassin::Dns metacpan
Mail::SpamAssassin::EncappedMIME metacpan
Mail::SpamAssassin::EncappedMessage metacpan
Mail::SpamAssassin::EvalTests metacpan
Mail::SpamAssassin::ExposedMessage metacpan
Mail::SpamAssassin::HTML metacpan
Mail::SpamAssassin::Locales metacpan
Mail::SpamAssassin::MailingList metacpan
Mail::SpamAssassin::Message metacpan
Mail::SpamAssassin::NoMailAudit metacpan
Mail::SpamAssassin::PerMsgStatus per-message status (spam or not-spam) metacpan
Mail::SpamAssassin::PersistentAddrList persistent address list base class metacpan
Mail::SpamAssassin::PhraseFreqs metacpan
Mail::SpamAssassin::Replier metacpan
Mail::SpamAssassin::Reporter metacpan
Mail::SpamAssassin::SHA1 metacpan
Mail::SpamAssassin::TextCat metacpan

Other Files

Changes metacpan
MANIFEST metacpan
Makefile.PL metacpan
README metacpan