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!

no_generated_files

Remove the offending files/directories!

Error: Makefile

portable_filenames

Rename those files with alphanumerical characters, or maybe remove them because in many cases they are automatically generated for local installation.

Error:

  • Apache::AccessLimitNum.texi
  • Apache::Authen.texi
  • Apache::AuthzAge.texi
  • Apache::CGI.texi
  • Apache::Debug.texi
  • Apache::MsqlProxy.texi
  • Apache::Options.texi
  • Apache::Registry.texi
  • Apache::SSI.texi
  • Apache::TieHandle.texi
  • B::Xref.texi
  • BSD::Resource.texi
  • C::Scan.texi
  • CGI::Base.texi
  • CGI::BasePlus.texi
  • CGI::Carp.texi
  • CGI::Fast.texi
  • CGI::Form.texi
  • CGI::Imagemap.texi
  • CGI::MiniSvr.texi
  • CGI::Out.texi
  • CGI::Request.texi
  • CGI::Response.texi
  • CGI::Switch.texi
  • CGI::Wrap.texi
  • CGI::XA.texi
  • Compress::Zlib.texi
  • Convert::UU.texi
  • Crypt::DES.texi
  • Crypt::IDEA.texi
  • DCE::Login.texi
  • DCE::Registry.texi
  • DCE::Status.texi
  • DCE::UUID.texi
  • DCE::login_base.texi
  • DCE::rgybase.texi
  • Data::Dumper.texi
  • Data::Flow.texi
  • Date::DateCalc.texi
  • Date::Format.texi
  • Date::Manip.texi
  • Date::Parse.texi
  • Devel::CoreStack.texi
  • Devel::DProf.texi
  • Devel::Peek.texi
  • Devel::SelfStubber.texi
  • Devel::Symdump.texi
  • Devel::TraceFuncs.texi
  • ExtUtils::Embed.texi
  • ExtUtils::Install.texi
  • ExtUtils::Liblist.texi
  • ExtUtils::MM_OS2.texi
  • ExtUtils::MM_Unix.texi
  • ExtUtils::MM_VMS.texi
  • ExtUtils::MakeMaker.texi
  • ExtUtils::Manifest.texi
  • ExtUtils::Miniperl.texi
  • ExtUtils::Mkbootstrap.texi
  • ExtUtils::Mksymlists.texi
  • ExtUtils::testlib.texi
  • File::Basename.texi
  • File::BasicFlock.texi
  • File::CheckTree.texi
  • File::Cmp.texi
  • File::Copy.texi
  • File::CounterFile.texi
  • File::Find.texi
  • File::Flock.texi
  • File::Listing.texi
  • File::Path.texi
  • File::PathConvert.texi
  • File::Recurse.texi
  • File::Slurp.texi
  • File::Tools.texi
  • Filter::Util::Call.texi
  • Filter::Util::Exec.texi
  • Filter::cpp.texi
  • Filter::decrypt.texi
  • Filter::exec.texi
  • Filter::sh.texi
  • Filter::tee.texi
  • Font::AFM.texi
  • Getopt::Long.texi
  • Getopt::Mixed.texi
  • Getopt::Regex.texi
  • Getopt::Std.texi
  • HTML::AsSubs.texi
  • HTML::Element.texi
  • HTML::Entities.texi
  • HTML::FormatPS.texi
  • HTML::FormatText.texi
  • HTML::Formatter.texi
  • HTML::HeadParser.texi
  • HTML::LinkExtor.texi
  • HTML::Parse.texi
  • HTML::Parser.texi
  • HTML::QuickCheck.texi
  • HTML::Stream.texi
  • HTML::TreeBuilder.texi
  • HTTP::Daemon.texi
  • HTTP::Date.texi
  • HTTP::Headers.texi
  • HTTP::Message.texi
  • HTTP::Negotiate.texi
  • HTTP::Request.texi
  • HTTP::Response.texi
  • HTTP::Status.texi
  • HTTPD::Authen.texi
  • HTTPD::GroupAdmin.texi
  • HTTPD::UserAdmin.texi
  • I18N::Collate.texi
  • IO::File.texi
  • IO::Handle.texi
  • IO::Pipe.texi
  • IO::Seekable.texi
  • IO::Select.texi
  • IO::Socket.texi
  • IPC::Open2.texi
  • IPC::Open3.texi
  • Image::Size.texi
  • LWP::Debug.texi
  • LWP::IO.texi
  • LWP::MediaTypes.texi
  • LWP::MemberMixin.texi
  • LWP::Protocol.texi
  • LWP::RobotUA.texi
  • LWP::Simple.texi
  • LWP::Socket.texi
  • LWP::TkIO.texi
  • LWP::UserAgent.texi
  • Log::Topics.texi
  • MIME::Base64.texi
  • MIME::Body.texi
  • MIME::Decoder.texi
  • MIME::Entity.texi
  • MIME::Field::ConTraEnc.texi
  • MIME::Field::ContDisp.texi
  • MIME::Field::ContType.texi
  • MIME::Field::ParamVal.texi
  • MIME::Head.texi
  • MIME::IO.texi
  • MIME::Latin1.texi
  • MIME::OLD::ParserUtil.texi
  • MIME::Parser.texi
  • MIME::ParserBase.texi
  • MIME::QuotedPrint.texi
  • MIME::ToolUtils.texi
  • Mail::Address.texi
  • Mail::Cap.texi
  • Mail::Field.texi
  • Mail::Folder.texi
  • Mail::Folder::Emaul.texi
  • Mail::Folder::Mbox.texi
  • Mail::Header.texi
  • Mail::Internet.texi
  • Mail::MIME.texi
  • Mail::Mailer.texi
  • Mail::POP3Client.texi
  • Mail::Send.texi
  • Mail::Util.texi
  • Math::Amoeba.texi
  • Math::Approx.texi
  • Math::BigFloat.texi
  • Math::BigInt.texi
  • Math::BigInteger.texi
  • Math::Brent.texi
  • Math::Complex.texi
  • Math::DVector.texi
  • Math::Derivative.texi
  • Math::Fortran.texi
  • Math::Matrix.texi
  • Math::PRSG.texi
  • Math::Spline.texi
  • Math::Trig.texi
  • Math::TrulyRandom.texi
  • Math::VecStat.texi
  • Msql::RDBMS.texi
  • NNML::Server.texi
  • Net::Cmd.texi
  • Net::Domain.texi
  • Net::DummyInetd.texi
  • Net::FTP.texi
  • Net::NIS.texi
  • Net::NISPlus::Table.texi
  • Net::NISTable.texi
  • Net::NNTP.texi
  • Net::Netrc.texi
  • Net::POP3.texi
  • Net::Ping.texi
  • Net::SMTP.texi
  • Net::SNPP.texi
  • Net::SSLeay.texi
  • Net::Socket.texi
  • Net::Telnet.texi
  • Net::Time.texi
  • News::NNTPClient.texi
  • News::Newsrc.texi
  • OS2::Attrib.texi
  • OS2::SoftInstaller.texi
  • Penguin::Easy.texi
  • Pod::Parse.texi
  • Pod::Parser.texi
  • Pod::Select.texi
  • Pod::Text.texi
  • Pod::Usage.texi
  • Pod::foo.texi
  • Pod::newrun.texi
  • Pod::newvar.texi
  • Pod::newvar2.texi
  • Pod::test.texi
  • Proc::Forkfunc.texi
  • Proc::Simple.texi
  • Remedy::Ar.texi
  • Search::Base.texi
  • Search::Dict.texi
  • Set::IntSpan.texi
  • Sort::Versions.texi
  • Statistics::ChiSquare.texi
  • Statistics::LTU.texi
  • String::Scanf.texi
  • Sybase::BCP.texi
  • Sybase::Login.texi
  • Sys::Hostname.texi
  • Sys::Syslog.texi
  • SyslogScan::ByGroup.texi
  • SyslogScan::Delivery.texi
  • SyslogScan::DeliveryIterator.texi
  • SyslogScan::SendmailLine.texi
  • SyslogScan::SendmailLineFrom.texi
  • SyslogScan::SendmailLineTo.texi
  • SyslogScan::SendmailUtil.texi
  • SyslogScan::Summary.texi
  • SyslogScan::SyslogEntry.texi
  • SyslogScan::Usage.texi
  • SyslogScan::WhereIs.texi
  • Tcl::Tk.texi
  • Term::Cap.texi
  • Term::Complete.texi
  • Term::ReadKey.texi
  • Term::ReadLine.texi
  • Test::Harness.texi
  • Text::Abbrev.texi
  • Text::English.texi
  • Text::German.texi
  • Text::ParseWords.texi
  • Text::Soundex.texi
  • Text::Tabs.texi
  • Text::Template.texi
  • Text::Wrap.texi
  • Tie::Dir.texi
  • Tie::Hash.texi
  • Tie::Scalar.texi
  • Tie::SubstrHash.texi
  • Tie::Watch.texi
  • Time::CTime.texi
  • Time::DaysInMonth.texi
  • Time::HiRes.texi
  • Time::JulianDay.texi
  • Time::Local.texi
  • Time::ParseDate.texi
  • Time::Timezone.texi
  • Time::Zone.texi
  • Tk::FileDialog.texi
  • Tk::SelFile.texi
  • Tk::WaitBox.texi
  • URI::Escape.texi
  • URI::URL.texi
  • VRML::VRML1.texi
  • VRML::VRML1::Standard.texi
  • WWW::RobotRules.texi
  • WWW::RobotRules::AnyDBM_File.texi
  • WWW::Search.texi
  • WWW::Search::AltaVista.texi
  • WWW::SearchResult.texi

has_human_readable_license

Add a section called "LICENSE" to the documentation, or add a file named LICENSE to the distribution.

has_license_in_source_file

Add =head1 LICENSE and the text of the license to the main module in your code.

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.

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: pod2texi-0.1/perli18n.pod -- Around line 11: Non-ASCII character seen before =encoding in 'naïve'. Assuming CP1252 pod2texi-0.1/perltoc.pod -- Around line 19: '=item' outside of any '=over' Around line 58: You forgot a '=back' before '=head2' Around line 60: '=item' outside of any '=over' Around line 90: You forgot a '=back' before '=head2' Around line 92: '=item' outside of any '=over' Around line 131: You forgot a '=back' before '=head2' Around line 133: '=item' outside of any '=over' Around line 245: You forgot a '=back' before '=head2' Around line 247: '=item' outside of any '=over' Around line 273: You forgot a '=back' before '=head2' Around line 275: '=item' outside of any '=over' Around line 299: You forgot a '=back' before '=head2' Around line 301: '=item' outside of any '=over' Around line 350: You forgot a '=back' before '=head2' Around line 352: '=item' outside of any '=over' Around line 385: You forgot a '=back' before '=head2' Around line 387: '=item' outside of any '=over' Around line 426: You forgot a '=back' before '=head2' Around line 428: '=item' outside of any '=over' Around line 545: You forgot a '=back' before '=head2' Around line 547: '=item' outside of any '=over' Around line 571: You forgot a '=back' before '=head2' Around line 573: '=item' outside of any '=over' Around line 700: You forgot a '=back' before '=head2' Around line 702: '=item' outside of any '=over' Around line 726: You forgot a '=back' before '=head2' Around line 728: '=item' outside of any '=over' Around line 767: You forgot a '=back' before '=head2' Around line 769: '=item' outside of any '=over' Around line 814: You forgot a '=back' before '=head2' Around line 816: '=item' outside of any '=over' Around line 855: You forgot a '=back' before '=head2' Around line 857: '=item' outside of any '=over' Around line 887: You forgot a '=back' before '=head2' Around line 889: '=item' outside of any '=over' Around line 895: You forgot a '=back' before '=head2' Around line 897: '=item' outside of any '=over' Around line 930: You forgot a '=back' before '=head2' Around line 933: '=item' outside of any '=over' Around line 996: You forgot a '=back' before '=head2' Around line 998: '=item' outside of any '=over' Around line 1004: You forgot a '=back' before '=head2' Around line 1006: '=item' outside of any '=over' Around line 1036: You forgot a '=back' before '=head2' Around line 1038: '=item' outside of any '=over' Around line 1044: You forgot a '=back' before '=head2' Around line 1046: '=item' outside of any '=over' Around line 1169: You forgot a '=back' before '=head2' Around line 1171: '=item' outside of any '=over' Around line 1240: You forgot a '=back' before '=head2' Around line 1242: '=item' outside of any '=over' Around line 1343: You forgot a '=back' before '=head2' Around line 1345: '=item' outside of any '=over' Around line 1459: You forgot a '=back' before '=head2' Around line 1461: '=item' outside of any '=over' Around line 1504: You forgot a '=back' before '=head2' Around line 1506: '=item' outside of any '=over' Around line 1521: You forgot a '=back' before '=head2' Around line 1523: '=item' outside of any '=over' Around line 1529: You forgot a '=back' before '=head1' Around line 1537: '=item' outside of any '=over' Around line 1570: You forgot a '=back' before '=head2' Around line 1573: '=item' outside of any '=over' Around line 1582: You forgot a '=back' before '=head2' Around line 1585: '=item' outside of any '=over' Around line 1594: You forgot a '=back' before '=head2' Around line 1596: '=item' outside of any '=over' Around line 1626: You forgot a '=back' before '=head2' Around line 1628: '=item' outside of any '=over' Around line 1717: You forgot a '=back' before '=head2' Around line 1720: '=item' outside of any '=over' Around line 1729: You forgot a '=back' before '=head2' Around line 1731: '=item' outside of any '=over' Around line 1742: You forgot a '=back' before '=head2' Around line 1744: '=item' outside of any '=over' Around line 1753: You forgot a '=back' before '=head2' Around line 1755: '=item' outside of any '=over' Around line 1764: You forgot a '=back' before '=head1' Around line 1771: '=item' outside of any '=over' Around line 1794: You forgot a '=back' before '=head2' Around line 1796: '=item' outside of any '=over' Around line 1805: You forgot a '=back' before '=head2' Around line 1807: '=item' outside of any '=over' Around line 1816: You forgot a '=back' before '=head2' Around line 1818: '=item' outside of any '=over' Around line 1861: You forgot a '=back' before '=head2' Around line 1863: '=item' outside of any '=over' Around line 1872: You forgot a '=back' before '=head2' Around line 1874: '=item' outside of any '=over' Around line 1883: You forgot a '=back' before '=head2' Around line 1885: '=item' outside of any '=over' Around line 1958: You forgot a '=back' before '=head2' Around line 1960: '=item' outside of any '=over' Around line 1969: You forgot a '=back' before '=head2' Around line 1971: '=item' outside of any '=over' Around line 1980: You forgot a '=back' before '=head2' Around line 1982: '=item' outside of any '=over' Around line 1998: You forgot a '=back' before '=head2' Around line 2001: '=item' outside of any '=over' Around line 2010: You forgot a '=back' before '=head2' Around line 2012: '=item' outside of any '=over' Around line 2024: You forgot a '=back' before '=head2' Around line 2026: '=item' outside of any '=over' Around line 2056: You forgot a '=back' before '=head2' Around line 2058: '=item' outside of any '=over' Around line 2067: You forgot a '=back' before '=head2' Around line 2070: '=item' outside of any '=over' Around line 2102: You forgot a '=back' before '=head2' Around line 2105: '=item' outside of any '=over' Around line 2111: You forgot a '=back' before '=head2' Around line 2113: '=item' outside of any '=over' Around line 2159: You forgot a '=back' before '=head2' Around line 2162: '=item' outside of any '=over' Around line 2168: You forgot a '=back' before '=head2' Around line 2170: '=item' outside of any '=over' Around line 2257: You forgot a '=back' before '=head2' Around line 2260: '=item' outside of any '=over' Around line 2290: You forgot a '=back' before '=head2' Around line 2293: '=item' outside of any '=over' Around line 2302: You forgot a '=back' before '=head2' Around line 2305: '=item' outside of any '=over' Around line 2322: You forgot a '=back' before '=head2' Around line 2324: '=item' outside of any '=over' Around line 2336: You forgot a '=back' before '=head2' Around line 2338: '=item' outside of any '=over' Around line 2354: You forgot a '=back' before '=head2' Around line 2356: '=item' outside of any '=over' Around line 2365: You forgot a '=back' before '=head2' Around line 2367: '=item' outside of any '=over' Around line 2376: You forgot a '=back' before '=head2' Around line 2378: '=item' outside of any '=over' Around line 2393: You forgot a '=back' before '=head2' Around line 2395: '=item' outside of any '=over' Around line 2407: You forgot a '=back' before '=head2' Around line 2409: '=item' outside of any '=over' Around line 2426: You forgot a '=back' before '=head2' Around line 2428: '=item' outside of any '=over' Around line 2446: You forgot a '=back' before '=head2' Around line 2449: '=item' outside of any '=over' Around line 2494: You forgot a '=back' before '=head2' Around line 2497: '=item' outside of any '=over' Around line 2506: You forgot a '=back' before '=head2' Around line 2509: '=item' outside of any '=over' Around line 2518: You forgot a '=back' before '=head2' Around line 2520: '=item' outside of any '=over' Around line 2535: You forgot a '=back' before '=head2' Around line 2538: '=item' outside of any '=over' Around line 2547: You forgot a '=back' before '=head2' Around line 2549: '=item' outside of any '=over' Around line 2572: You forgot a '=back' before '=head2' Around line 2574: '=item' outside of any '=over' Around line 2719: You forgot a '=back' before '=head2' Around line 2721: '=item' outside of any '=over' Around line 2736: You forgot a '=back' before '=head2' Around line 2738: '=item' outside of any '=over' Around line 2771: You forgot a '=back' before '=head2' Around line 2773: '=item' outside of any '=over' Around line 2782: You forgot a '=back' before '=head2' Around line 2784: '=item' outside of any '=over' Around line 2793: You forgot a '=back' before '=head2' Around line 2795: '=item' outside of any '=over' Around line 2831: You forgot a '=back' before '=head2' Around line 2834: '=item' outside of any '=over' Around line 2849: You forgot a '=back' before '=head2' Around line 2851: '=item' outside of any '=over' Around line 2860: You forgot a '=back' before '=head2' Around line 2862: '=item' outside of any '=over' Around line 2874: You forgot a '=back' before '=head2' Around line 2877: '=item' outside of any '=over' Around line 2901: You forgot a '=back' before '=head2' Around line 2903: '=item' outside of any '=over' Around line 2915: You forgot a '=back' before '=head2' Around line 2917: '=item' outside of any '=over' Around line 2937: You forgot a '=back' before '=head2' Around line 2941: '=item' outside of any '=over' Around line 2959: You forgot a '=back' before '=head2' Around line 2961: '=item' outside of any '=over' Around line 2999: You forgot a '=back' before '=head2' Around line 3001: '=item' outside of any '=over' Around line 3013: You forgot a '=back' before '=head2' Around line 3016: '=item' outside of any '=over' Around line 3034: You forgot a '=back' before '=head2' Around line 3036: '=item' outside of any '=over' Around line 3048: You forgot a '=back' before '=head2' Around line 3050: '=item' outside of any '=over' Around line 3062: You forgot a '=back' before '=head2' Around line 3064: '=item' outside of any '=over' Around line 3083: You forgot a '=back' before '=head2' Around line 3086: '=item' outside of any '=over' Around line 3100: You forgot a '=back' before '=head2' Around line 3102: '=item' outside of any '=over' Around line 3114: You forgot a '=back' before '=head2' Around line 3116: '=item' outside of any '=over' Around line 3124: You forgot a '=back' before '=head1' Around line 3129: '=item' outside of any '=over' Around line 3148: You forgot a '=back' before '=head1'

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.

has_known_license_in_source_file

Add =head1 LICENSE and/or the proper text of the well-known license to the main module in your code.

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.

Other Files

README metacpan