Kwalitee Issues

has_readme

Add a README to the distribution. It should contain a quick description of your module and how to install it.

has_meta_yml

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

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'

no_broken_module_install

Upgrade the bundled version of Module::Install to the most current release. Alternatively, you can switch to another build system / installer that does not suffer from this problem. (ExtUtils::MakeMaker, Module::Build both of which have their own set of problems.)

no_broken_auto_install

Upgrade the bundled version of Module::Install to at least 0.89, but preferably to the most current release. Alternatively, you can switch to another build system / installer that does not suffer from this problem. (ExtUtils::MakeMaker, Module::Build both of which have their own set of problems.)

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: Module::Install::Base

prereq_matches_use

List all used modules in META.yml requires

Error:

  • DBI
  • DateTime::Format::ISO8601
  • HoneyClient::Util::Config
  • Log::Log4perl

main_module_version_matches_dist_version

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

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: thirdparty/inc/Module/AutoInstall.pm, thirdparty/inc/Module/Install.pm, thirdparty/inc/Module/Install/AutoInstall.pm, thirdparty/inc/Module/Install/Base.pm, thirdparty/inc/Module/Install/Can.pm, thirdparty/inc/Module/Install/Fetch.pm, thirdparty/inc/Module/Install/Include.pm, thirdparty/inc/Module/Install/Makefile.pm, thirdparty/inc/Module/Install/Metadata.pm, thirdparty/inc/Module/Install/Win32.pm, thirdparty/inc/Module/Install/WriteAll.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: HoneyClient::DB::File, HoneyClient::DB::Fingerprint, HoneyClient::DB::Note, HoneyClient::DB::Regkey, Module::AutoInstall, Module::Install, Module::Install::AutoInstall, Module::Install::Base, Module::Install::Can, Module::Install::Fetch, Module::Install::Include, Module::Install::Makefile, Module::Install::Metadata, Module::Install::Win32, Module::Install::WriteAll

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:

  • Module::AutoInstall
  • Module::Install
  • Module::Install::AutoInstall
  • Module::Install::Base
  • Module::Install::Base::FakeAdmin
  • Module::Install::Can
  • Module::Install::Fetch
  • Module::Install::Include
  • Module::Install::Makefile
  • Module::Install::Metadata
  • Module::Install::Win32
  • Module::Install::WriteAll

consistent_version

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

Error: 0.63,0.98,1.02

Modules

Name Abstract Version View
HoneyClient::DB Perl extension to provide an abstract interface for storing HoneyClient data into a database. 0.98 metacpan
HoneyClient::DB::File metacpan
HoneyClient::DB::Fingerprint HoneyClient Compromise Fingerprint Object metacpan
HoneyClient::DB::Note metacpan
HoneyClient::DB::Regkey metacpan
Module::AutoInstall 1.02 metacpan
Module::Install 0.63 metacpan
Module::Install::AutoInstall 0.63 metacpan
Module::Install::Base 0.63 metacpan
Module::Install::Can 0.63 metacpan
Module::Install::Fetch 0.63 metacpan
Module::Install::Include 0.63 metacpan
Module::Install::Makefile 0.63 metacpan
Module::Install::Metadata 0.63 metacpan
Module::Install::Win32 0.63 metacpan
Module::Install::WriteAll 0.63 metacpan

Provides

Name File View
HoneyClient::DB::File::Content lib/HoneyClient/DB/File.pm metacpan
HoneyClient::DB::Regkey::Entry lib/HoneyClient/DB/Regkey.pm metacpan
Module::Install::Base::FakeAdmin thirdparty/inc/Module/Install/Base.pm metacpan

Other Files

MANIFEST metacpan
Makefile.PL metacpan