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.