On Sun, 2016-09-18 at 16:01 +0200, Santiago Vila wrote:
> On Sun, Sep 18, 2016 at 02:25:13PM +0100, Ben Hutchings wrote:
> > That depends on what you mean by 'after'. If you mean 'with a greater
> > version', then the answer is no. The BTS parses changelogs to
> > determine whether a version currently in the archive is derived from a
> > version where the bug was fixed.
> Are you really sure the BTS parses changelogs in full? I think it's
> more that the BTS parses the *.changes files being uploaded.
The BTS never sees .changes files, ttbomk.
> In fact, the closing feature is honored by the BTS not because of the
> "Closes:" word in the changelog itself, but because dpkg-genchanges
> parses the changelog and adds a "Closes:" header to the *.changes file,
> but this header could, in principle, be added by hand and be missing
> from the changelog itself.
We've deviated somewhat from the original discussion, and I think the
point under discussion may have become confused.
The list of bugs closed in a particular upload is derived from the
Closes: header in the .changes file, indeed - the action of closing them
occurs in dak, during upload processing.
In order to determine whether a particular upload is "descended" from
any other previous upload, the information used by the BTS is generated
by parsing changelogs and building a tree of uploads, with each stanza
being considered as the descendent of the stanza prior to it. This is
why an upload that does not include the changelog stanza from an NMU
will cause the BTS to consider that any bugs closed in the NMU have been
subsequently reintroduced in the later upload.
adam@jacala:~/code/debian/debbugs$ git grep -C1 changelog
Debbugs/Versions.pm-Gathering the version data is beyond the scope of this
module: in the case
Debbugs/Versions.pm:of Debian it is carried out by mechanical analysis of
Debbugs/Versions.pm-Debbugs::Versions takes version data for a package
generated by this or any