From Mageia wiki
Jump to: navigation, search

Project AppStream

This page is meant to track information about the AppStream project and its impacts on Mageia, and list tasks and their progress.

The project

Blog post from misc on mageia.org : http://blog.mageia.org/?p=397

(from Vincent Untz) A quick foreword: with this project, the user experience is what matters to us. This means that our approach is application-centric instead of being package-centric. We do not want the end users we target here to have to learn about packages: they already know what an application is, and this is what they actually care about ("I want Inkscape"). It is in no way an attempt to kill packages; on the contrary, we'll build on top of them. But this application-centric focus has several impacts on the design of the architecture, from the user interface to metadata that we want to display to users.

See the announce on distributions@lists.freedesktop.org : http://lists.freedesktop.org/archives/distributions/2011-January/000411.html (you might want to join the mailing list if you are interested in the project : http://lists.freedesktop.org/mailman/listinfo/distributions)

Project site : http://distributions.freedesktop.org/wiki/AppStream

Architecture schema (details on http://distributions.freedesktop.org/wiki/AppStream/Implementation) :

Appstream architecture.png

What we need to do in Mageia as a part of this project

(for any information or question please contact misc or stormi)

Participate in the AppStream working group :

  • participate in the AppStream specifications process : Stormi + ?

Tasks that can already start

  • improve packagekit's urpmi back-end (see the feature matrix : http://www.packagekit.org/pk-matrix.html)
  • begin work on making the Ubuntu Software Center work on mageia, with Michaël Vogt's (main developer of the USC) and Richard Hugues' (packagekit) help
  • start creating the appdata.xml files in repositories, based on metadata extracted from the .desktop files. It won't be complete yet but it would be useful to have the production chain already in place, and mageia-app-db could use this information to differentiate applications from other packages (it's based on a fixed list at the moment). See http://gitorious.org/appstream/resources/blobs/master/appdata.xsd
  • adapt urpmi so that it downloads those metadata on the client system when adding or updating media
  • regularly (weekly ? daily ?) extract package data for mageia and other RPM-based distributions, from Sophie, so that Enrico Zini can produce the debian/mageia, debian/mandriva, etc. package name matching lists automatically


Pending tasks (waiting for progress on AppStream's definitions)

  • start contributing the needed metadata to upstream .desktop files (in a coordinated effort with other distributions)
  • extract icons and store them so that they can be used in a software center
  • application descriptions translations (needs a process, not ready from AppStream point of view at the moment)
  • (TODO : apt-xapian-index)
  • (TODO : debtags)
  • (TODO : OCS server : our own server ? Shared with other distributions ?)

Decisions to be taken :

  • OCS server : run our own server ? Use a common server with some other distributions ? Ie : do we want to share screenshots, ratings, comments with other distributions ?
    • middle way possible : use our server but fallback to another when information is not available in ours
  • screenshots : same questions (could be the same server)
  • Software center : use the Ubuntu Software center (if CLA issues are solved) ? Another software ?

Side-work : mageia-app-db

  • get icons from applications and groups, and display them in the application database
  • get debtags from Enrico Zini and integrate them into mageia-app-db
  • until we can use application identifiers, use the debian/mageia (and debian/mandriva) package name matching lists in order to query screenshots.debian.net with the good package names ?
  • until we have a good system for package translations, experiment using the translated package descriptions from debian ?
  • use an aggressive proxy for querying screenshots.debian.net, so that mageia-app-db doesn't load the server too much
  • deploy one instance per distribution, starting with :
  • use xapian index to speed things up (fulltext search for example) ?
  • use "strong" and "weak" suggests dependencies (strong = "Suggests", weak = "Enhances") to group applications and add-ons together
  • study OCS API and use OCS servers as soon as they are available (read-only to begin with)
  • help on UI design
  • any help is welcome, but priority should probably be given to tasks related to the development of the distribution itself ?

Side-work :

  • anything useful that could be made from the debian/mageia package name matching lists (patch comparisons, descriptions comparisons)

Work with the mandriva community

  • try to cooperate with Mandriva and other distributions (especially the RPM-based ones, but not only) where common implementations are possible (packagekit's urpmi backend for example ?)