Debbugs::SOAP(3pm)
π NAME π
bestie. welcome. you've stumbled into Debbugs::SOAP(3pm) β yeah, the User Contributed Perl Documentation one β and honestly? she's serving. this is the SOAP interface to debbugs, and the description of the module itself is, uh, a dramatic pause. iconic of her. π
β¨ SYNOPSIS β¨
no synopsis, bestie. nothing here. she simply showed up. π¦
πΈ DESCRIPTION πΈ
also nothing here. the whole thing is the functions below. main character energy, zero exposition. periodt. π
π BUGS π
None known.
slay. no known bugs. we love a clean record. β¨
π get_usertag π
my %ut = get_usertag('don@donarmstrong.com','this-bug-sucks','eat-this-bug');
my %ut = get_usertag('don@donarmstrong.com');
okay so here's the tea: this hands you back a hashref of all the bugs that have the usertags you asked for, for whichever user you passed in.
and in that second case β the one where you only pass the user? she gives you every usertag that user has. all of them. the full collection. obsessed. π
π¦ get_status π¦
my @statuses = get_status(@bugs);
my @statuses = get_status([bug => 304234,
dist => 'unstable',
],
[bug => 304233,
dist => 'unstable',
],
)
returns an arrayref of hashrefs that spills the status for whatever specific sets of bugs you handed her.
case one: literally no options get passed to Debbugs::Status::get_bug_status other than the bug number itself. that's it. plain, simple, cute.
case two: the bug, dist, arch, bugusertags, sourceversions, and version parameters all get passed along β but only if they're actually present. she's not passing undef for funsies.
and here's the special case, bc some SOAP implementations are, and I quote, suboptimal π β if you pass only one argument to get_status, and that argument is an arrayref which is either empty, or has a number as its first element, or contains an arrayref as its first element, then the outer arrayref gets dereferenced and processed exactly like the examples above. it's a vibe check for bad SOAP libs.
want the real details? go read Debbugs::Status::get_bug_status. π
π get_bugs π
my @bugs = get_bugs(...);
my @bugs = get_bugs([...]);
returns a list of bugs. in that second case you get to specify the variable parameters as an array reference β specifically in case your favorite language's SOAP implementation is craptacular. no cap, that's the actual stated reason.
and what does ... actually mean? bestie, go read Debbugs::Bugs::get_bugs for the details on that. π
β newest_bugs β
my @bugs = newest_bugs(5);
returns a list of the newest bugs. fire. π₯
heads up though: [Note that all bugs are not guaranteed to exist, but they should in the most common cases.]
π§ get_bug_log π§
my $bug_log = get_bug_log($bug);
my $bug_log = get_bug_log($bug,$msg_num);
gives you back a parsed set of the bug log β an array of hashes shaped exactly like this:
[{html => '',
header => '',
body => '',
attachments => [],
msg_num => 5,
},
{html => '',
header => '',
body => '',
attachments => [],
},
]
and the funny part? currently $msg_num is completely ignored. she's just sitting there in the signature, doing absolutely nothing, living her best life. π
π binary_to_source π
binary_to_source($binary_name,$binary_version,$binary_architecture)
returns a reference to the source package name + version pair that matches the binary package name, version, and architecture you gave her. πΈ
if you pass undef as the architecture, she gives you a list of references to all the possible pairs of source package names and versions across all architectures β and any duplicates are removed. tidy queen.
as of compatibility version 2, this changed to use the more powerful binary_to_source routine, which lets you return source only, concatenated scalars, and other useful features. upgrade era. β¨
go read the docs for Debbugs::Packages::binary_to_source for the details.
π source_to_binary π
source_to_binary($source_name,$source_version);
returns a reference to an array of references to binary package name, version, and architecture corresponding to a given source package name and version.
if the name and version you gave can't be found? she consults the unversioned package-to-source map instead β and the architecture just doesn't come back. no arch for you. π
(this function corresponds to Debbugs::Packages::sourcetobinary.)
π get_versions π
get_version(package=>'foopkg',
dist => 'unstable',
arch => 'i386',
);
returns a list of the versions of a package in the distributions and architectures listed. this routine only returns unique values. no repeats, we're not doing that. β¨
packageβ package to return list of versionsdistβ distribution (unstable,stable,testing); can be an arrayrefarchβ architecture (i386,source, ...); can be an arrayreftimeβ returns aversion=>timehash at which the newest package matching this version was uploadedsourceβ returns source/version instead of just versionsno_source_archβ discards the source architecture whenarchis not passed. [Used for finding the versions of binary packages only.] Defaults to0, which does not discard the source architecture. (This may change in the future, so if you care, please code accordingly.) β οΈreturn_archsβ returns aversion=>[archs]hash indicating which architectures are at which versions.
this function corresponds to Debbugs::Packages::get_versions.
π VERSION COMPATIBILITY π
the functionality provided by the SOAP interface will change over time. that's just the way it is, bestie.
to the greatest extent possible, we will attempt to provide backwards compatibility with previous versions. however β and this is the important bit β in order to have backwards compatibility, you need to specify the version with which you are compatible. you have to say it out loud. declare your era. π«Ά
no cap: skip the version and you're on your own, girl.
and that's the whole page, babe. π this slice of perfection brought to you by perl v5.40.1, dated 2026-04-27, from the Debbugs::SOAP(3pm) manual. go forth and SOAP responsibly. periodt. πβ¨
π¦ where this page comes from
- ubuntu stonking: libdebbugs-perl 2.6.5
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms