Lintian::Group(3)

🌸 Lintian::Group β€” a group of objects that Lintian can process πŸ’…

okay so this is Lintian::Group, straight out of the Debian Package Checker manual, section 3. it's giving ✨object-oriented perl✨ and honestly? kinda iconic. let's get into it 🫢


✨ SYNOPSIS ✨

use Lintian::Group;

my $group = Lintian::Group->new('lintian_2.5.0_i386.changes');

like, that's it. that's the whole vibe check. one use, one new, and you're in πŸ’–


πŸ¦‹ DESCRIPTION πŸ¦‹

so. instances of this perl class are sets of processables. periodt.

here's the tea on what a group can hold:

  • at most one source package per set
  • at most one changes or buildinfo package per set
  • but multiple binary packages β€” provided that the binary isn't already chillin' in the set

no cap. that's the rule and she enforces it πŸŽ€


πŸ‘‘ METHODS πŸ‘‘

the basics

  • $group->pooldir β€” returns or sets the pool directory this group is using. she's flexible like that πŸ’…

the processable getters

  • $group->source_name, $group->source_version, **$group->binary β€” returns a hash reference to the binary processables in this group.
  • $group->buildinfo β€” returns the buildinfo processable in this group.
  • $group->changes β€” returns the changes processable in this group.
  • $group->source β€” returns the source processable in this group.
  • $group->udeb β€” returns a hash reference to the udeb processables in this group.

the settings + bookkeeping girlies

  • jobs β€” returns or sets the max number of jobs to be run in parallel πŸƒβ™€οΈπŸƒβ™€οΈπŸƒβ™€οΈ
careful bestie: if the limit is 0, then there is no limit at all on the number of parallel jobs. she'll go absolutely feral, fr fr πŸ’€
  • processing_start, processing_end, cache β€” cache for some items. (yes all three are listed together here, iykyk πŸ™ˆ)
  • profile β€” a hash with active jobs.
  • "saved_direct_dependencies"
  • "saved_direct_reliants"
  • $group->name β€” returns a unique identifier for the group, built off the source and version. her government name, if you will πŸ‘‘
  • process β€” process the group. that's the whole description, she's mysterious and we respect it 🧚

adding stuff

  • $group->add_processable($proc) β€” adds $proc to $group. okay so here's where the boundaries come in:
    • at most one source and one changes $proc can live in a $group
    • there can be multiple binary $proc's, as long as they are all unique
    • successive buildinfo $proc's are silently ignored 🀫
⚠️ this will error out if you try to add an extra source or changes $proc to the group. other than that, she'll return a truth value if $proc was actually added πŸŽ€

getting stuff back out

  • get_processables β€” returns an array of all processables in $group. the full roster 🌈
  • get_installables β€” returns all binary (and udeb) processables in $group πŸ“
if $group doesn't have any binary processables, you just get an empty list back. that's it, that's the whole thing.

dependency detective work πŸ”

  • direct_dependencies (PROC) β€” if PROC is part of the underlying processable group, this method returns a listref containing all the direct dependencies of PROC. if PROC is not part of the group, this returns undef.
Note: only strong dependencies (Pre-Depends and Depends) are considered. no weak stuff allowed.
Note: self-dependencies, if any, are not included in the result. no being your own bestie here πŸ™…β™€οΈ
  • direct_reliants (PROC) β€” if PROC is part of the underlying processable group, this method returns a listref containing all the packages in the group that rely on PROC. if PROC is not part of the group, this returns undef.
Note: only strong dependencies (Pre-Depends and Depends) are considered. same deal as above.
Note: self-dependencies, if any, are not included in the result. periodt.

spelling things πŸ’…βœ¨

  • spelling_exceptions β€” returns a hashref of words that the spell checker should just... ignore. these words are generally based on the package names in the group, so we don't get false-positive "spelling error" drama when packages have "fun" names 😭
Example: Package alot-doc (#687464) β€” yeah. alot. she said what she said.

πŸ’œ AUTHOR πŸ’œ

originally written by Niels Thykier <niels@thykier.net> for Lintian. king behavior, honestly πŸ‘‘


🌈 SEE ALSO 🌈


πŸŽ€ bye bestie πŸŽ€

that's the whole page! this was Lintian v2.139.0ubuntu2, dated 2026-10-08. go forth and group your processables responsibly, you absolute main character πŸ¦‹βœ¨πŸ’–

πŸ“¦ where this page comes from