Kwalitee Issues

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_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_tests

Add tests!

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'

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.

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

main_module_version_matches_dist_version

Make sure that the main module name and version are the same of the distribution.

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 number Around line 182: Expected text after =item, not a number Around line 186: Expected text after =item, not a number Around line 303: Expected text after =item, not a number Around line 307: Expected text after =item, not a number Around line 312: Expected text after =item, not a number Around line 317: Expected text after =item, not a number Around line 386: Expected text after =item, not a number Around line 390: Expected text after =item, not a number Around line 402: Expected text after =item, not a number Around line 407: Expected text after =item, not a number Around line 536: Expected text after =item, not a number Around line 542: Expected text after =item, not a number Around line 551: Expected text after =item, not a number Around line 555: Expected text after =item, not a number Around line 561: Expected text after =item, not a number Around line 601: Expected text after =item, not a number Around line 609: Expected text after =item, not a number Around line 616: Expected text after =item, not a number Around line 622: Expected text after =item, not a number Around line 629: Expected text after =item, not a number Around line 673: Expected text after =item, not a number Around line 679: Expected text after =item, not a number Around line 684: Expected text after =item, not a number Around line 690: Expected text after =item, not a number Around line 729: Expected text after =item, not a number Around line 733: Expected text after =item, not a number Around line 741: Expected text after =item, not a number Around line 748: Expected text after =item, not a number Around line 753: Expected text after =item, not a number Around line 760: Expected text after =item, not a number Around line 801: Expected text after =item, not a number Around line 809: Expected text after =item, not a number Around line 855: Expected text after =item, not a number Around line 860: Expected text after =item, not a number Around line 898: Expected text after =item, not a number Around line 903: Expected text after =item, not a number

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!

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

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

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

no_invalid_versions

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

Error:

  • cvs-web/lib/CGI/Base.pm: HASH(0x55a43dbf0b70)
  • cvs-web/lib/CGI/BasePlus.pm: HASH(0x55a43fb6b338)
  • cvs-web/lib/CGI/Form.pm: HASH(0x55a43fd4d5f0)
  • cvs-web/lib/CGI/MiniSvr.pm: HASH(0x55a43fab37e8)
  • cvs-web/lib/CGI/Request.pm: HASH(0x55a43fc25370)

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_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