Debian::Control::FromCPAN - fill debian/control from unpacked CPAN
distribution
my $c = Debian::Control::FromCPAN->new();
$c->discover_dependencies( { ... } );
$c->prune_perl_deps;
Debian::Control::FromCPAN inherits from L<Debian::Control>.
- 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::Parse::Available to be used when checking whether the
locally available package is the required version. For example:
my $available = DPKG::Parse::Available->new;
$available->parse;
- 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
dep hash[, 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::Parse::Available 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
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.
- module_name_to_pkg_name
- Receives a perl module name like
"Foo::Bar" and returns a suitable Debian
package name for it, like
"libfoo-bar-perl".
Copyright (C) 2009, 2010, 2012 Damyan Ivanov dmn@debian.org
Copyright (C) 2019, 2020 gregor herrmann gregoa@debian.org
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License version 2 as
published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.