LINTIAN::PROCESSABLE::SOURCE::RELATION(3)

πŸ’– Lintian::Processable::Source::Relation πŸ’–

okay bestie, welcome to the Lintian::Processable::Source::Relation page from the manual β€” yeah, the Lintian one (Debian package checker energy, we love her) β€” and she is, and I cannot stress this enough, in her infancy. Let's get into it. πŸ¦‹


✨ NAME ✨

Lintian::Processable::Source::Relation β€” the Lintian interface for collecting source package data. no cap, that's literally her whole job. πŸ’…


🌸 SYNOPSIS 🌸

my ($name, $type, $dir) = ('foobar', 'source', '/path/to/lab-entry');
my $collect = Lintian::Processable::Source::Relation->new($name);
if ($collect->native) {
    print encode_utf8("Package is native\n");
}

look at her go. iconic. πŸŽ€


🌈 DESCRIPTION 🌈

So Lintian::Processable::Source::Relation hands you an interface to package data for source packages, and it implements the data-collection methods that are specific to source packages. slay.

now the honest part, bestie: this module is in its infancy. like, baby. πŸ‘Ά Most of Lintian still reads all the data from files in the laboratory whenever that data is needed, and generates that data via collect scripts. The goal β€” the dream, the vision board β€” is to eventually access all the data about source packages via this module, so that the module can cache data where appropriate and possibly retire collect scripts in favor of caching that data in memory. it's giving glow-up-in-progress. 🫢


πŸ‘‘ INSTANCE METHODS πŸ‘‘

πŸ’œ binary_relation (PACKAGE, FIELD)

Returns a Lintian::Relation object for the specified FIELD in the binary package PACKAGE in the debian/control file. FIELD should be one of the possible relationship fields of a Debian package, or one of these special values:

  • All β€” the concatenation of Pre-Depends, Depends, Recommends, and Suggests. the whole squad. πŸ«‚
  • Strong β€” the concatenation of Pre-Depends and Depends.
  • Weak β€” the concatenation of Recommends and Suggests.

If FIELD isn't present in the package, the returned Lintian::Relation object will be empty (present but satisfies nothing). she's there, she's just not doing anything. relatable. πŸ’€

Any substvars in debian/control will be represented in the returned relation as packages named after the substvar. periodt.

πŸ’œ saved_binary_relations

(this one is just... here. the page drops the name and gives you zero description, so that's all we got β€” no invented lore from me, bestie. iykyk. πŸ™ˆ)

πŸ’œ relation (FIELD)

Returns a Lintian::Relation object for the given build relationship field FIELD. On top of the normal build relationship fields, these special field names are also supported:

  • Build-Depends-All β€” the concatenation of Build-Depends, Build-Depends-Arch and Build-Depends-Indep. the full combo meal. πŸ“
  • Build-Conflicts-All β€” the concatenation of Build-Conflicts, Build-Conflicts-Arch and Build-Conflicts-Indep.

If FIELD isn't present in the package, the returned Lintian::Relation object will be empty (present but satisfies nothing). yes, again. consistent queen. ✨

πŸ’œ saved_relation

(same situation as her sister above β€” the page just lists the name, no description. moving on, we respect her privacy. πŸŽ€)

πŸ’œ relation_norestriction (FIELD)

The same as relation (FIELD), but it ignores architecture restrictions and build profile restrictions in the FIELD field. chaotic? maybe. useful? also yes. 🌈

πŸ’œ saved_relations_norestriction

(and this one too β€” name only, no description. the manpage said what it said. 🀷)


🌟 AUTHOR 🌟

Originally written by Russ Allbery <rra@debian.org> for Lintian. Amended by Felix Lechner <felix.lechner@lease-up.com> for Lintian.


πŸ”₯ SEE ALSO πŸ”₯


okay that's the whole page, bestie, you ate that. πŸ’…βœ¨

and a little sign-off from the footer, since you deserve to know: this was Lintian v2.139.0ubuntu2, dated 2026-10-08, and the manual section is Lintian::Pr...e::Relation(3). mwah. πŸ«ΆπŸ’–

πŸ“¦ where this page comes from