[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[PATCH] Add AppStream hints support to DistroTracker



(please keep me in CC, I am not subscribed to the list)

Hi!
The service on appstream.d.o is generating useful hints regarding
issues with (AppStream) metadata, which is used primarily for software
centers and to help e.g. tools to install missing firmware depending
on the detected hardware.
It also is pretty good to uncover bugs in e.g. .desktop files shipped
with GUI applications.

The AppStream generator publishes the issues it finds as HTML pages
(see [1] for an example), as well as machine-readable JSOn files (see
[2]).

I would find it very useful to have the issue information show up in
the PTS, so I wrote a patch against DistroTracker which makes it read
the necessary information and display it as action items.

It would be nice to get some early comments on that patch, I have a
few questions below.
You can view the changes on Github, as pure-text patch, or diff:
https://github.com/ximion/debian-distro-tracker/commit/2973d9c488b65ee6c50ab24276c220eb8f1b5060
or
https://github.com/ximion/debian-distro-tracker/commit/2973d9c488b65ee6c50ab24276c220eb8f1b5060.patch

(I don't like sending patches directly via email, but I can do that if
this is preferred).

The patch will only get AppStream hints for the unstable suite and
amd64 architecture, but for pretty much all packages, the data is the
same on all architectures.
Since we do not emit hints again on other architectures, if we already
did that on the first architecture we encountered and the metadata is
the same, I think in future it will make sense to drop the distinct
files per architecture, and rather add some information on which
architectures are affected by a specific hint.

One problem I am facing is that the issue hints are emitted per binary
package, so the DistroTracker will map them to a SourcePackageName and
store that in the database. In order to create a proper URL, I do need
to know the packages' archive-component though. Is there any way I can
obtain that information for a source package?
Or is there a better solution for this issue? (It's a bit of a pain to
have this in the first place, but the separation for sections makes a
lot of sense for asgen, and I don't want to drop it...)
For some context, take a look at
https://github.com/ximion/debian-distro-tracker/commit/2973d9c488b65ee6c50ab24276c220eb8f1b5060#diff-19e4aa8d8f9b7f3cb4eb2121346f576cR126

I don't consider the patch ready to be merged yet (tests pass though,
and I didn't encounter any issues), but please take a look at it
anyway - I have never touched the DistroTracker source code before,
and any feedback on improving the patch is very welcome!

If you want to know more about AppStream in Debian, I recommend the
wiki page[3].

Cheers,
    Matthias

[1]: https://appstream.debian.org/sid/main/issues/
[2]: https://appstream.debian.org/hints/sid/main/
[3]: https://wiki.debian.org/AppStream

-- 
I welcome VSRE emails. See http://vsre.info/


Reply to: