discover_dependencies( [ { options hash } ] )
Discovers module dependencies and fills the dependency fields in debian/control accordingly.
Options:
apt_contents
An instance of Debian::AptContents to be used when locating to which package a required module
belongs.
dpkg_available
An instance of Dpkg::Index to be used when checking whether the locally available package is the
required version. For example:
my $available = Dpkg::Index->new(type => CTRL_INFO_PKG);
$available->load("$Dpkg::ADMINDIR/available");
dir The directory where the cpan distribution was unpacked.
intrusive
A flag indicating permission to use Module::Depends::Intrusive for discovering dependencies in
case Module::Depends fails. Since this requires loading all Perl modules in the distribution (and
running their BEGIN blocks (and the BEGIN blocks of their dependencies, recursively), it is
recommended to use this only when dealing with trusted sources.
require_deps
If true, causes the method to die if some a package for some dependency cannot be found.
Otherwise only a warning is issued.
verbose
wnpp_query
An instance of Debian::WNPP::Query to be used when checking for WNPP bugs of depended upon
packages.
Returns a list of module names for which no suitable Debian packages were found.
find_debs_for_modules dephash[, APT contents[, verbose[, DPKG available]]]
Scans the given hash of dependencies ( module => version ) and returns matching Debian package
dependency specification (as an instance of Debian::Dependencies class) and a list of missing
modules.
Installed packages and perl core are searched first, then the APT contents.
If a Dpkg::Index object is passed, also check the available package version.
prune_simple_perl_dep
Input:
dependency object
shall be a simple dependency (no alternatives)
(optional) build dependency flag
true value indicates the dependency is a build-time one
The following checks are made
dependencies on "perl-modules*" and "libperl*"
These are replaced with "perl" as per Perl policy.
dependencies on "perl-base" and build-dependencies on "perl" or "perl-base"
These are removed, unless they specify a version greater than the one available in "oldstable" or
the dependency relation is not ">=" or ">>".
Return value:
undef
if the dependency is redundant.
pruned dependency
otherwise. "perl-modules*" and "libperl*" replaced with "perl".
prune_perl_dep
Similar to "prune_simple_perl_dep", but supports alternative dependencies. If any of the
alternatives is redundant, the whole dependency is considered redundant.
prune_perl_deps
Remove redundant (build-)dependencies on perl, libperl, perl-modules and perl-base.