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.