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

NAME

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

SYNOPSIS

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

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

METHODS

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

CLASS METHODS

       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 & LICENSE

       Copyright (C) 2009, 2010, 2012 Damyan Ivanov dmn@debian.org

       Copyright (C) 2019, 2020, 2024 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.

perl v5.40.1                                       2025-02-28                     Debian::Control::FromCPAN(3pm)