NAME
    Dist::Util::Debian - Utilities related to Perl distribution and Debian

VERSION
    This document describes version 0.007 of Dist::Util::Debian (from Perl
    distribution Dist-Util-Debian), released on 2018-10-23.

SYNOPSIS
     use Dist::Util::Debian qw(
         dist2deb
         deb_exists
         dist_has_deb
         deb_ver
         dist_deb_ver
     );

     say dist2deb("HTTP-Tiny"); # -> libhttp-tiny-perl

     say dist_has_deb("HTTP-Tiny"); # -> 1
     say dist_has_deb("Foo");       # -> 0
     say dist_has_deb({use_allpackages=>1}, "HTTP-Tiny", "Foo"); # -> (1, 0)

     say dist_deb_ver("HTTP-Tiny"); # -> "0.070-1"
     say dist_deb_ver("Foo");       # -> undef
     say dist_deb_ver({use_allpackages=>1}, "HTTP-Tiny", "Foo"); # -> ("0.070-1", undef)

DESCRIPTION
FUNCTIONS
  dist2deb($dist, ...) => list
    It uses the simple rule of turning $dist to lowercase and adds "lib" +
    "-perl" prefix and suffix. A small percentage of distributions do not
    follow this rule.

  dist_has_deb([ \%opts, ] $dist, ...) => bool|list[bool]
    Return true if distribution named $dist has a corresponding Debian
    package. Currently the way the routine checks this is rather naive: it
    checks the corresponding Debian package against this URL:
    <https://packages.debian.org/sid/$package>.

    Will warn and return undef on error, e.g. the URL cannot be checked or
    does not contain negative/positive indicator of existence.

    Can accept multiple dists and will return a list of bools in that case.

    Known options:

    *   use_allpackages => bool

        If you need to check a lot of distributions (hundreds or more) then
        the default way of checking each distribution against a URL might be
        too slow. An alternative way, enabled if you set this option to
        true, is to download
        <https://packages.debian.org/unstable/allpackages?format=txt.gz> (at
        the time of this writing, Jan 2017, the size is about 1.7M) then
        parse it locally. The file will be cached to a temporary file and
        reused for a day.

        Function will return undef if the allpackages index cannot be
        donwloaded.

  deb_exists([ \%opts, ] $deb, ...) => bool|list[bool]
  deb_ver([ \%opts, ] $deb, ...) => str|list[str]
  dist_deb_ver([ \%opts, ] $deb, ...) => str|list[str]
HOMEPAGE
    Please visit the project's homepage at
    <https://metacpan.org/release/Dist-Util-Debian>.

SOURCE
    Source repository is at
    <https://github.com/perlancar/perl-Dist-Util-Debian>.

BUGS
    Please report any bugs or feature requests on the bugtracker website
    <https://rt.cpan.org/Public/Dist/Display.html?Name=Dist-Util-Debian>

    When submitting a bug or request, please include a test-file or a patch
    to an existing test-file that illustrates the bug or desired feature.

AUTHOR
    perlancar <perlancar@cpan.org>

COPYRIGHT AND LICENSE
    This software is copyright (c) 2018, 2017 by perlancar@cpan.org.

    This is free software; you can redistribute it and/or modify it under
    the same terms as the Perl 5 programming language system itself.