Bug#694979: debbugs: get_bugs() should allow specifying binary versions of packages

"Francesco Poli \(wintermute\)" <[email protected]>
Newsgroups gmane.linux.debian.devel.debbugs
Message-ID <20121202213850.7268.49117.reportbug__37223.4637536623$1354484555$gmane$org@homebrew>
Package: debbugs
Severity: wishlist

Hello,
as discussed via private e-mail with Don Armstrong, I would need the
following enhancement in the BTS SOAP interface, in order to enhance
apt-listbugs (which I maintain).


Currently, one of the procedures that apt-listbugs calls via SOAP is
get_bugs(), with arguments like (in Ruby):

('severity', ["critical", "grave"], 'package', ["pkg1", "pkg2", "pkg3"])

which results in the following SOAP request:

<?xml version="1.0" encoding="utf-8" ?>
<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
  <env:Body>
    <n1:get_bugs env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
        xmlns:n1="Debbugs/SOAP/">
      <keyvalue xmlns:n2="http://schemas.xmlsoap.org/soap/encoding/"
          n2:arrayType="xsd:anyType[4]"
          xsi:type="n2:Array">
        <item xsi:type="xsd:string">severity</item>
        <item n2:arrayType="xsd:anyType[2]"
            xsi:type="n2:Array">
          <item xsi:type="xsd:string">critical</item>
          <item xsi:type="xsd:string">grave</item>
        </item>
        <item xsi:type="xsd:string">package</item>
        <item n2:arrayType="xsd:anyType[3]"
            xsi:type="n2:Array">
          <item xsi:type="xsd:string">pkg1</item>
          <item xsi:type="xsd:string">pkg2</item>
          <item xsi:type="xsd:string">pkg3</item>
        </item>
      </keyvalue>
    </n1:get_bugs>
  </env:Body>
</env:Envelope>

This returns an array with all the (unarchived) bug-numbers that are
assigned to one of the mentioned binary packages and have one of the
mentioned severities.

In order to get over a limitation of apt-listbugs (which gets
confused [1] about version tracking info whenever the source version
of a package differs from the corresponding binary version)
and in order to fix another bug (apt-listbugs gets confused [2]
about version tracking info in certain cases where a bug is assigned
to more than one package), I would need to call the procedure
differently, as explained below.

[1] http://bugs.debian.org/257873#24
[2] http://bugs.debian.org/693291

I would need to call get_bugs() so that it returned an array with
all the (unarchived) bug-numbers that apply to the specified binary
version of one of the mentioned binary packages and have one of
the mentioned severities.
Something like:

get_bugs('severity', ["critical", "grave"],
         'package', ["pkg1/x.y-z", "pkg2", "pkg3/a.b.c-d"])

which would request the bugs that apply to binary version x.y-z of
binary package pkg1, the bugs that apply to any version of binary
package pkg2, and the bugs that apply to binary version a.b.c-d of
binary package pkg3.
Or some other way to obtain the same result with a single procedure
call.

Of course, when I say that a bug "applies" to a given package version,
I mean that the bug is present in that binary version, as long as the
BTS version tracking knows.
I am convinced that the BTS has all the information needed to determine
which bugs apply to a given binary version of a binary package, and
hence it should be possible to ask it through the SOAP interface.

It would be really really great, if you could implement a way to obtain
what I described with one single get_bugs() SOAP request.
Please, please, think about it!

Thanks for your time, I really hope this can be implemented...

Bye.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.