.\" 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::ProcessableGroup 3" .TH Lintian::ProcessableGroup 3 "2019-10-22" "Lintian v2.29.0~bpo10+1" "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::ProcessableGroup \-\- A group of objects that Lintian can process .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& use Lintian::ProcessableGroup; \& \& my $group = Lintian::ProcessableGroup\->new(\*(Aqlintian_2.5.0_i386.changes\*(Aq); \& foreach my $proc ($group\->get_processables){ \& printf "%s %s (%s)\en", $proc\->pkg_name, \& $proc\->pkg_version, $proc\->pkg_type; \& } \& # etc. .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" Instances of this perl class are sets of processables. It allows at most one source and one changes or buildinfo package per set, but multiple binary packages (provided that the binary is not already in the set). .SH "METHODS" .IX Header "METHODS" .IP "Lintian::ProcessableGroup\->new ([LAB[, \s-1FILE\s0]])" 4 .IX Item "Lintian::ProcessableGroup->new ([LAB[, FILE]])" Creates a group and optionally add all processables from .changes or .buildinfo file \s-1FILE.\s0 .Sp If the \s-1LAB\s0 parameter is given, all processables added to this group will be stored as a lab entry from \s-1LAB.\s0 .ie n .IP "$group\->add_new_processable ($pkg_path[, $pkg_type])" 4 .el .IP "\f(CW$group\fR\->add_new_processable ($pkg_path[, \f(CW$pkg_type\fR])" 4 .IX Item "$group->add_new_processable ($pkg_path[, $pkg_type])" Adds a new processable of type \f(CW$pkg_type\fR from \f(CW$pkg_path\fR. If \f(CW$pkg_type\fR is not given, it will be determined by the file extension. .Sp This is short hand for: .Sp .Vb 2 \& $group\->add_processable( \& Lintian::Processable\->new ($pkg_path, $pkg_type)); .Ve .ie n .IP "$group\->add_processable($proc)" 4 .el .IP "\f(CW$group\fR\->add_processable($proc)" 4 .IX Item "$group->add_processable($proc)" Adds \f(CW$proc\fR to \f(CW$group\fR. At most one source and one changes \f(CW$proc\fR can be in a \f(CW$group\fR. There can be multiple binary \f(CW$proc\fR's, as long as they are all unique. Successive buildinfo \f(CW$proc\fR's are silently ignored. .Sp This will error out if an additional source or changes \f(CW$proc\fR is added to the group. Otherwise it will return a truth value if \f(CW$proc\fR was added. .ie n .IP "$group\->get_processables([$type])" 4 .el .IP "\f(CW$group\fR\->get_processables([$type])" 4 .IX Item "$group->get_processables([$type])" Returns an array of all processables in \f(CW$group\fR. The processables are returned in the following order: changes (if any), source (if any), all binaries (if any) and all udebs (if any). .Sp This order is based on the original order that Lintian processed packages in and some parts of the code relies on this order. .Sp Note if \f(CW$type\fR is given, then only processables of that type is returned. .ie n .IP "$group\->remove_processable($proc)" 4 .el .IP "\f(CW$group\fR\->remove_processable($proc)" 4 .IX Item "$group->remove_processable($proc)" Removes \f(CW$proc\fR from \f(CW$group\fR .ie n .IP "$group\->get_source_processable" 4 .el .IP "\f(CW$group\fR\->get_source_processable" 4 .IX Item "$group->get_source_processable" Returns the processable identified as the \*(L"source\*(R" package (e.g. the dsc). .Sp If \f(CW$group\fR does not have a source processable, this method returns \f(CW\*(C`undef\*(C'\fR. .ie n .IP "$group\->get_buildinfo_processable" 4 .el .IP "\f(CW$group\fR\->get_buildinfo_processable" 4 .IX Item "$group->get_buildinfo_processable" Returns the processable identified as the \*(L"buildinfo\*(R" processable (e.g. the buildinfo file). .Sp If \f(CW$group\fR does not have a buildinfo processable, this method returns \f(CW\*(C`undef\*(C'\fR. .ie n .IP "$group\->get_changes_processable" 4 .el .IP "\f(CW$group\fR\->get_changes_processable" 4 .IX Item "$group->get_changes_processable" Returns the processable identified as the \*(L"changes\*(R" processable (e.g. the changes file). .Sp If \f(CW$group\fR does not have a changes processable, this method returns \f(CW\*(C`undef\*(C'\fR. .ie n .IP "$group\->get_binary_processables" 4 .el .IP "\f(CW$group\fR\->get_binary_processables" 4 .IX Item "$group->get_binary_processables" Returns all binary (and udeb) processables in \f(CW$group\fR. .Sp If \f(CW$group\fR does not have any binary processables then an empty list is returned. .ie n .IP "$group\->info" 4 .el .IP "\f(CW$group\fR\->info" 4 .IX Item "$group->info" Returns \f(CW$info\fR element for this group. .ie n .IP "$group\->init_shared_cache" 4 .el .IP "\f(CW$group\fR\->init_shared_cache" 4 .IX Item "$group->init_shared_cache" Prepare a shared memory cache for all current members of the group. This is solely a memory saving optimization and is not required for correct performance. .ie n .IP "$group\->clear_cache" 4 .el .IP "\f(CW$group\fR\->clear_cache" 4 .IX Item "$group->clear_cache" Discard the info element of all members of this group, so the memory used by it can be reclaimed. Mostly useful when checking a lot of packages (e.g. on lintian.d.o). .SH "AUTHOR" .IX Header "AUTHOR" Originally written by Niels Thykier for Lintian. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBlintian\fR\|(1) .PP Lintian::Processable