Kwalitee Issues

has_buildtool

Add a Makefile.PL (for ExtUtils::MakeMaker/Module::Install) or a Build.PL (for Module::Build and its friends), or use a distribution builder such as Dist::Zilla, Dist::Milla, Minilla.

has_changelog

Add a Changelog (best named 'Changes') to the distribution. It should list at least major changes implemented in newer versions.

has_manifest

Add a MANIFEST to the distribution. Your buildtool should be able to autogenerate it (eg "make manifest" or "./Build manifest")

has_meta_yml

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

has_proper_version

Remove all letters from the version number. If you want to mark a release as a developer release, use the scheme 'Module-1.00_01'

has_tests

Add tests!

manifest_matches_dist

Run a proper command ("make manifest" or "./Build manifest", maybe with a force option), or use a distribution builder to generate the MANIFEST. Or update MANIFEST manually.

Error: Cannot find MANIFEST in dist.

no_pod_errors

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

Error: cvswebedit-v2.0b1/cvs-web/lib/CGI/Form.pm -- Around line 178: Expected text after =item, not a numberAround line 182: Expected text after =item, not a numberAround line 186: Expected text after =item, not a numberAround line 303: Expected text after =item, not a numberAround line 307: Expected text after =item, not a numberAround line 312: Expected text after =item, not a numberAround line 317: Expected text after =item, not a numberAround line 386: Expected text after =item, not a numberAround line 390: Expected text after =item, not a numberAround line 402: Expected text after =item, not a numberAround line 407: Expected text after =item, not a numberAround line 536: Expected text after =item, not a numberAround line 542: Expected text after =item, not a numberAround line 551: Expected text after =item, not a numberAround line 555: Expected text after =item, not a numberAround line 561: Expected text after =item, not a numberAround line 601: Expected text after =item, not a numberAround line 609: Expected text after =item, not a numberAround line 616: Expected text after =item, not a numberAround line 622: Expected text after =item, not a numberAround line 629: Expected text after =item, not a numberAround line 673: Expected text after =item, not a numberAround line 679: Expected text after =item, not a numberAround line 684: Expected text after =item, not a numberAround line 690: Expected text after =item, not a numberAround line 729: Expected text after =item, not a numberAround line 733: Expected text after =item, not a numberAround line 741: Expected text after =item, not a numberAround line 748: Expected text after =item, not a numberAround line 753: Expected text after =item, not a numberAround line 760: Expected text after =item, not a numberAround line 801: Expected text after =item, not a numberAround line 809: Expected text after =item, not a numberAround line 855: Expected text after =item, not a numberAround line 860: Expected text after =item, not a numberAround line 898: Expected text after =item, not a numberAround line 903: Expected text after =item, not a number

package_version_matches_dist_version

Fix the version(s).

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: CGI::Base, CGI::BasePlus, CGI::Carp, CGI::Cookie, CGI::Form, CGI::MiniSvr, Cgilog, URI::Escape

consistent_version

Split the distribution, or fix the version numbers to make them consistent (use the highest version number to avoid version downgrade).

Error: 1.06,1.10

has_meta_json

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

has_tests_in_t_dir

Add tests or move tests.pl to the t/ directory!

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.

no_invalid_versions

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

Error:

  • cvs-web/lib/CGI/Base.pm: HASH(0x86448f0)
  • cvs-web/lib/CGI/BasePlus.pm: HASH(0x8650198)
  • cvs-web/lib/CGI/Form.pm: HASH(0x8650270)
  • cvs-web/lib/CGI/MiniSvr.pm: HASH(0x865c398)
  • cvs-web/lib/CGI/Request.pm: HASH(0x8650150)

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:

  • CGI::Base
  • CGI::Base::timestamp
  • CGI::BasePlus
  • CGI::Carp
  • CGI::Cookie
  • CGI::Form
  • CGI::MiniSvr
  • CGI::Request
  • MultipartBuffer
  • TempFile
  • URI::Escape

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: cvs-web/lib/AuditLog.pm, cvs-web/lib/CGI/Base.pm, cvs-web/lib/CGI/BasePlus.pm, cvs-web/lib/CGI/Carp.pm, cvs-web/lib/CGI/Cookie.pm, cvs-web/lib/CGI/Form.pm, cvs-web/lib/CGI/MiniSvr.pm, cvs-web/lib/CGI/Request.pm, cvs-web/lib/Cgilog.pm, cvs-web/lib/URI/Escape.pm

use_warnings

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

Error: AuditLog, CGI::Base, CGI::BasePlus, CGI::Carp, CGI::Cookie, CGI::Form, CGI::MiniSvr, CGI::Request, Cgilog, URI::Escape

has_separate_license_file

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

Modules

Name Abstract Version View
AuditLog metacpan
CGI::Base HTTP Daemon Common Gateway Interface (CGI) Base Class metacpan
CGI::BasePlus HTTP CGI Base Class with Handling of Multipart Forms metacpan
CGI::Carp CGI routines for writing to the HTTPD (or other) error log 1.10 metacpan
CGI::Cookie Interface to Netscape Cookies 1.06 metacpan
CGI::Form Build Smart HTML Forms on Top of the CGI:: Modules metacpan
CGI::MiniSvr Adds to CGI::Base the ability for a CGI script to become a mini http server. metacpan
CGI::Request Parse client request via a CGI interface metacpan
Cgilog metacpan
URI::Escape metacpan

Provides

Name File View
CGI::Base::timestamp cvs-web/lib/CGI/Base.pm metacpan
MultipartBuffer cvs-web/lib/CGI/BasePlus.pm metacpan
TempFile cvs-web/lib/CGI/BasePlus.pm metacpan