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>.
Discovers module dependencies and fills the dependency fields in debian/control accordingly.
Options:
An instance of Debian::AptContents to be used when locating to which package a required module belongs.
my $available = DPKG::Parse::Available->new; $available->parse;
The directory where the cpan distribution was unpacked.
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.
If true, causes the method to die if some a package for some dependency cannot be found. Otherwise only a warning is issued.
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.
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.
Perl core is searched first, then installed packages, then the APT contents.
If a DPKG::Parse::Available object is passed, also check the available package version
Input:
shall be a simple dependency (no alternatives)
true value indicates the dependency is a build-time one
The following checks are made
perl-modules*
These are replaced with perl as per Perl policy.
perl
perl-base
These are removed, unless they specify a version greater than the one available in oldstable or the dependency relation is not >= or >>.
oldstable
>=
>>
Return value:
if the dependency is redundant.
otherwise. perl-modules* replaced with perl.
Similar to "prune_simple_perl_dep", but supports alternative dependencies. If any of the alternatives is redundant, the whole dependency is considered redundant.
Remove redundant (build-)dependencies on perl, libperl, perl-modules and perl-base.
Receives a perl module name like Foo::Bar and returns a suitable Debian package name for it, like libfoo-bar-perl.
Foo::Bar
libfoo-bar-perl
Copyright (C) 2009, 2010, 2012 Damyan Ivanov dmn@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.
To install DhMakePerl, copy and paste the appropriate command in to your terminal.
cpanm
cpanm DhMakePerl
CPAN shell
perl -MCPAN -e shell install DhMakePerl
For more information on module installation, please visit the detailed CPAN module installation guide.