.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" 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 .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . 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 .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Lintian::Profile 3" .TH Lintian::Profile 3 "2019-05-26" "Lintian v2.15.0" "Debian Package Checker" .\" 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" Lintian::Profile \- Profile parser for Lintian .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 11 \& # Load the debian profile (if available) \& my $profile = Lintian::Profile\->new (\*(Aqdebian\*(Aq); \& # Load the debian profile using an explicit search path \& $profile = Lintian::Profile\->new (\*(Aqdebian\*(Aq, \& [\*(Aq/path/to/alt/root\*(Aq, $ENV{\*(AqLINTIAN_ROOT\*(Aq}]); \& # Load the "default" profile for the current vendor \& $profile = Lintian::Profile\->new; \& foreach my $tag ($profile\->tags) { \& print "Enabled tag: $tag\en"; \& } \& # ... .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" Lintian::Profile handles finding, parsing and implementation of Lintian Profiles as well as loading the relevant Lintian checks. .SH "CLASS METHODS" .IX Header "CLASS METHODS" .ie n .IP "Lintian::Profile\->new ([$profname[, $ipath[, $extra]]])" 4 .el .IP "Lintian::Profile\->new ([$profname[, \f(CW$ipath\fR[, \f(CW$extra\fR]]])" 4 .IX Item "Lintian::Profile->new ([$profname[, $ipath[, $extra]]])" Creates a new profile from the profile. \f(CW$profname\fR is the name of the profile and \f(CW$ipath\fR is a list reference containing the path to one (or more) Lintian \*(L"roots\*(R". .Sp If \f(CW$profname\fR is \f(CW\*(C`undef\*(C'\fR, the default vendor will be loaded based on Dpkg::Vendor::get_current_vendor. .Sp If \f(CW$ipath\fR is not given, a default one will be used. .ie n .IP "$prof\->profile_list" 4 .el .IP "\f(CW$prof\fR\->profile_list" 4 .IX Item "$prof->profile_list" Returns a list ref of the (normalized) names of the profile and its parents. The last element of the list is the name of the profile itself, the second last is its parent and so on. .Sp Note: This list reference and its contents should not be modified. .ie n .IP "$prof\->name" 4 .el .IP "\f(CW$prof\fR\->name" 4 .IX Item "$prof->name" Returns the name of the profile, which may differ from the name used to create this instance of the profile (e.g. due to symlinks). .ie n .IP "$prof\->tags([$known])" 4 .el .IP "\f(CW$prof\fR\->tags([$known])" 4 .IX Item "$prof->tags([$known])" Returns the list of tags in this profile. If \f(CW$known\fR is given and it is a truth value, the list of known tags is returned. Otherwise only the enabled tags will be returned. .Sp Note: The contents of this list should not be modified. .ie n .IP "$prof\->scripts ([$known])" 4 .el .IP "\f(CW$prof\fR\->scripts ([$known])" 4 .IX Item "$prof->scripts ([$known])" Returns the list of Check-Scripts in this profile. If \f(CW$known\fR is given and it is a truth value, the list of known Check-Scripts is returned. Otherwise only checks with an enabled tag will be enabled. .ie n .IP "$prof\->is_overridable ($tag)" 4 .el .IP "\f(CW$prof\fR\->is_overridable ($tag)" 4 .IX Item "$prof->is_overridable ($tag)" Returns a false value if the tag has been marked as \&\*(L"non-overridable\*(R". Otherwise it returns a truth value. .ie n .IP "$prof\->get_tag ($tag[, $known])" 4 .el .IP "\f(CW$prof\fR\->get_tag ($tag[, \f(CW$known\fR])" 4 .IX Item "$prof->get_tag ($tag[, $known])" Returns the Lintian::Tag::Info for \f(CW$tag\fR if it is enabled for the profile (or just a \*(L"known tag\*(R" if \f(CW$known\fR is given and a truth value). Otherwise it returns undef. .ie n .IP "$prof\->get_script ($script[, $known])" 4 .el .IP "\f(CW$prof\fR\->get_script ($script[, \f(CW$known\fR])" 4 .IX Item "$prof->get_script ($script[, $known])" Returns the Lintian::CheckScript for \f(CW$script\fR if it is enabled for the profile (or just a \*(L"known script\*(R" if \f(CW$known\fR is given and a truth value). Otherwise it returns undef. .Sp Note: A script is enabled as long as at least one of the tags it provides are enabled. .ie n .IP "$prof\->enable_tags (@tags)" 4 .el .IP "\f(CW$prof\fR\->enable_tags (@tags)" 4 .IX Item "$prof->enable_tags (@tags)" Enables all tags named in \f(CW@tags\fR. Croaks if an unknown tag is found. .ie n .IP "$prof\->disable_tags (@tags)" 4 .el .IP "\f(CW$prof\fR\->disable_tags (@tags)" 4 .IX Item "$prof->disable_tags (@tags)" Disable all tags named in \f(CW@tags\fR. Croaks if an unknown tag is found. .ie n .IP "$prof\->include_path ([$path])" 4 .el .IP "\f(CW$prof\fR\->include_path ([$path])" 4 .IX Item "$prof->include_path ([$path])" Returns an array of paths to the (partial) Lintian roots, which are used by this profile. The paths are ordered from \*(L"highest\*(R" to \&\*(L"lowest\*(R" priority (i.e. items in the earlier paths should shadow those in later ones). .Sp If \f(CW$path\fR is given, the array will contain the paths to the path in these roots denoted by \f(CW$path\fR. .Sp Paths returned are not guaranteed to exists. .SH "AUTHOR" .IX Header "AUTHOR" Originally written by Niels Thykier for Lintian. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBlintian\fR\|(1)