Provided by: dh-make-perl_0.109_all bug


       Debian::Control::FromCPAN - fill debian/control from unpacked CPAN distribution


           my $c = Debian::Control::FromCPAN->new();
           $c->discover_dependencies( { ... } );

           Debian::Control::FromCPAN inherits from L<Debian::Control>.


       discover_dependencies( [ { options hash } ] )
           Discovers module dependencies and fills the dependency fields in debian/control


               An instance of Debian::AptContents to be used when locating to which package a
               required module belongs.

               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;

           dir 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.

       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


           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:

               if the dependency is redundant.

           pruned dependency
               otherwise. "perl-modules*" and "libperl*" 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".


       Copyright (C) 2009, 2010, 2012 Damyan Ivanov

       Copyright (C) 2019 gregor herrmann

       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.