.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "DhMakePerl::Utils 3pm" .TH DhMakePerl::Utils 3pm 2024-03-14 "perl v5.38.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME DhMakePerl::Utils \- helper routines for dh\-make\-perl and alike .SH SYNOPSIS .IX Header "SYNOPSIS" .Vb 1 \& use DhMakePerl::Utils qw(is_core_module); \& \& my $v = is_core_module(\*(AqTest::More\*(Aq, \*(Aq1.002\*(Aq); \& my $v = nice_perl_ver(\*(Aq5.010001\*(Aq); .Ve .SH FUNCTIONS .IX Header "FUNCTIONS" None of he following functions is exported by default. .IP apt_cache 4 .IX Item "apt_cache" Evaluate the creation of an AptPkg::Cache, and return it on success .IP find_cpan_module 4 .IX Item "find_cpan_module" Returns CPAN::Module object that corresponds to the supplied argument. Returns undef if no module is found by CPAN. .Sp If the CPAN module needs to be configured in some way, that should be done before calling this function. .IP find_cpan_distribution 4 .IX Item "find_cpan_distribution" Returns CPAN::Distribution object that corresponds to the supplied argument. Returns undef if no distribution is found by CPAN. .Sp If the CPAN module needs to be configured in some way, that should be done before calling this function. .IP "is_core_perl_package \fIpackage\fR" 4 .IX Item "is_core_perl_package package" Returns true value if the given package is a core Perl package, i.e. one of \&\f(CW\*(C`perl\*(C'\fR, \f(CW\*(C`perl\-base\*(C'\fR, \f(CW\*(C`perl\-modules\-X.Y\*(C'\fR, \f(CW\*(C`libperlX.Y\*(C'\fR, and \f(CW\*(C`perl\-xs\-dev\*(C'\fR. .Sp Having this in a central routine makes it easier to add/remove packages in the list. .IP "is_core_module \fImodule\fR, \fIversion\fR" 4 .IX Item "is_core_module module, version" Returns the version of the \f(CW\*(C`perl\*(C'\fR package containing the given \fImodule\fR (at least version \fIversion\fR). .Sp Returns \f(CW\*(C`undef\*(C'\fR if \fImodule\fR is not a core module (anymore) in the current \&\f(CW\*(C`perl\*(C'\fR release. .IP "nice_perl_ver \fIversion_string\fR" 4 .IX Item "nice_perl_ver version_string" Re-formats perl version to match Debian's perl package versions. .Sp For example \f(CW5.010\fR (and \f(CW5.01\fR) is converted to \f(CW5.10\fR. .IP "core_module_perls \fImodule\fR[, \fImin-version\fR]" 4 .IX Item "core_module_perls module[, min-version]" Returns a list of Perl versions that have \fImodule\fR. If \fImin-version\fR is given, the list contains only Perl versions containing \fImodule\fR at least version \fImin-version\fR. .ie n .IP "find_core_perl_dependency( $module[, $version] )" 4 .el .IP "find_core_perl_dependency( \f(CW$module\fR[, \f(CW$version\fR] )" 4 .IX Item "find_core_perl_dependency( $module[, $version] )" return a dependency on perl containing the required module version. If the module is not available in any perl released by Debian, or if it is not in the current perl anymore, return undef. .IP "split_version_relation \fIstring\fR" 4 .IX Item "split_version_relation string" Splits the string, typically found in dependency fields' values in CPAN META into relation and version. If no relation is found in the string, \f(CW\*(C`>=\*(C'\fR is assumed. .Sp Returns a list of relation and version. The relation is suitable for using in Debian package dependency version requirements. .Sp For example .RS 4 .IP "split_version_relation('0.45') returns ( '>=', '0.45' )" 4 .IX Item "split_version_relation('0.45') returns ( '>=', '0.45' )" .PD 0 .IP "split_version_relation('< 0.56') returns ( '<<', '0.56' )" 4 .IX Item "split_version_relation('< 0.56') returns ( '<<', '0.56' )" .RE .RS 4 .RE .PD .SH "COPYRIGHT & LICENSE" .IX Header "COPYRIGHT & LICENSE" .IP "Copyright (C) 2008, 2009, 2010 Damyan Ivanov " 4 .IX Item "Copyright (C) 2008, 2009, 2010 Damyan Ivanov " .PP 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. .PP 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. See the GNU General Public License for more details. .PP You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA.