Why not adopt me?
NAME
App::cpanm::meta::checker - Verify and sanity check your installation verses cpanm meta files
VERSION
version 0.001000
SYNOPSIS
cpanm-meta-checker --all --verbose
DESCRIPTION
cpanm
installs a few auxiliary files:
$SITELIB/.meta/DISTNAME-DISTVERSION/MYMETA.json
$SITELIB/.meta/DISTNAME-DISTVERSION/install.json
These files describe several things, such as dependencies declared by upstream, and sniffed extra context.
This tool exists to read those files, and verify that their dependencies are still holding true, that no new conflicting dependencies have been installed and are silently sitting there broken.
Also, as cpanm
's auxiliary files are really a prototype for what may eventually become a tool-chain standard, this tool is also a prototype for a tool-chain standard checker.
METHODS
check_path
->check_path('./foo/bar/baz');
Read the content from ./foo/bar/baz
and check its consistency.
check_release
->check_release('Moose-2.000000')
Read the meta-data for the exact release stated and perform checks on it.
check_distname
->check_distname('Moose')
Check meta-data for any dist(s)
named Moose
Note: There may be directories residual from past installs.
check_all
->check_all
Check meta-data for all installed distributions.
DEFAULT TEST SET
list_empty
list_duplicates
check_runtime_requires
check_runtime_recommends
check_runtime_suggests
check_runtime_conflicts
AVAILABLE TEST SET
list_duplicates
For now, it includes output about every instance where there are more than one set of meta files.
This occurs, because installing a new version of something doesn't purge the data ( or all the files ) of the old one.
list
This lists all distributions seen.
list_empty
This lists distributions that have a directory for a meta file, but have no meta file in them. ( Rare )
list_nonempty
This lists distributions that have meta files.
check_PHASE_TYPE
There is a check for each combination of:
PHASE: configure build runtime test develop
TYPE: requires recommends suggests conflicts
Each checks the meta-data for conforming dependencies.
For instance:
check_runtime_requires # Report Runtime requirements that are unsatisfied
check_develop_requires # Report Develop requiremetns that are unsatisifed
AUTHOR
Kent Fredric <kentfredric@gmail.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2014 by Kent Fredric <kentfredric@gmail.com>.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.