storing appdata in repos


I'd like to discuss how we can store appstream data for applications
in an xdg-app repository. Appstream data is what gnome-software needs
in order to present applications before they are installed. The
appstream data comes in several pieces:

- a single xml file that contains descriptions and other textual
metadata for all the applications in the repository
- icons for all the applications
- screenshots

Currently, Fedora ships the xml and icons in a single blob that gets
installed together with gnome-software, while the screenshots are
downloaded individually, from a different location.

When I first looked at this, I thought I would treat the xml like the
summary that ostree already has (just a plain file, not checked into
the repository), since it is somewhat similar: metadata about the
overall contents of the repository. But the prospect of downloading
all the application icons with individual http requests doesn't look
that appealing: essentially, we would do manually the same thing that
ostree already does for us.

Therefore, I've changed the approach to instead check both the xml and
the icons into a branch with a fixed name. The code for that is here:

With this approach, gnome-software can simply pull this ref and get
all it needs. And maybe more importantly, incremental updates to this
data can take advantage of any delta download improvements ostree
comes up with, as opposed to the Fedora approach, where we re-download
everything every time a single icon changes.

Screenshots are not included in this, and we would continue to treat
them as separately downloaded items.

Does this sound like a reasonable approach ?


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