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]

